How to associate hutk (anonymous web tracking history) with a contact that has no email address?

Hi, I’m hoping someone can confirm whether this is possible.

I’m creating/updating contacts via the CRM API (Create/Update Contact) for records that come from an external channel without an email address (in my case, LINE messaging). Instead of email, I use a custom unique property (e.g. line_user_id) as the identifying key for these contacts.

I’d like to retroactively associate the anonymous browsing history (page views, etc.) tracked under a visitor’s hubspotutk cookie with one of these existing contacts.

From what I’ve researched so far, my understanding is:

  • Submitting context.hutk via the Forms API only merges browsing history when the submission is matched by email (or one of the other default deduplication properties) — it does not work with an arbitrary custom unique property
  • The tracking code’s identify() function also only supports identifying a visitor by email

Is there any officially supported way to associate a hubspotutk’s browsing history with a specific existing contact when that contact has no email address? If this genuinely isn’t supported, a confirmation would also be very helpful.

Thanks in advance.

Short version: I would not build this assuming it is supported.

HubSpot’s analytics join is still based on the browser usertoken plus email. A custom unique contact property can help your CRM API upsert logic, but it does not become a second identity key for retroactively attaching anonymous page views.

The practical pattern I would use:

  1. Store hutk, first page, source, and LINE user ID on the contact as custom properties when you first see them.
  2. Write LINE activity as custom timeline/events against that contact.
  3. If you later collect an email, update the same contact with the email and test in a clean browser that future tracking attaches correctly.

I would treat a direct hutk -> existing contact without email merge as unsupported unless HubSpot Support confirms otherwise for your portal.