It seems that in order to associate analytics data with an existing contact, I must provide an
identify. However, from the documentation it seems like that shouldn't need to be the case.
I assume this is just an error on my part, but want to double check my understanding of all the moving parts:
I first identify users by calling
identify in the backend of my application (no access to any of the browser cookies). This creates the contact with the
My problem comes when I later want to associate the user's browser activity / analytics with that existing contact. This allows me to get better insight, and more importantly, do conversion tracking. e.g. seeing the effectiveness of paid search leading to new user signups, etc.
My understanding, is that when creating new contacts programmatically, the source is supposed to be "Offline Sources" . However, HubSpot will automatically associate the browser activity with an identified user later after they have submitted a form, clicked an email link, etc. 
However, when I try to use the
identify method later in the browser, it doesn't associate the analytics / user behavior with the user contact unless I specify
id doesn't seem to do the trick. I'd really like to just use the user ID if possible, so I don't need to send the user's email address to my application's frontend.
Is this scenario supported? i.e. a contact already exists, and I call
identify from the browser (so all of the tracking cookies are available) to associate browser activity with that contact?
From the documentation at https://developers.hubspot.com/docs/methods/tracking_code_api/identify_visitor, it sounds like passing the contact's ID in an
id field will do this. But after I do this, and refresh the contact's details in HubSpot, I don't see the browser activity. It is only after I call
identify passing both
Could it be I'm doing something wrong in my configuration? Or just misunderstanding what the API can do?