1,559 / 4,865 contacts are coming in via Offline Sources > API and not via the various fields in 'Original Source' for June 2018



Hi there,

1,559 / 4,865 contacts are coming in via Offline Sources > API and not via the various fields in 'Original Source' for June 2018.

This is a problem as want to have our leads go through the appropriate online channels (organic, social media etc.)

I've liaised with my developer on this and this is what he's told me:

When a user is created in hubspot through the website (assessment flow, landing pages forms...) we submit the DH Smile Assessment Form
Basically we send below info through the Hubspot Form API:

config('hubspot.portalId'), // 2522988
config('hubspot.freeAssessmentFormId'), // 5d7bacfb-fd53-40de-a7b0-81f2904c8ae8
'firstname' => $request->get('firstname'),
'lastname' => $request->get('lastname'),
'email' => $request->get('email'),
'ipLocation' => $request->ip(),
'phone' => $request->get('country-code').$request->get('phone'),
'hs_context' => json_encode([
'hutk' => $_COOKIE['hubspotutk'], // get hubspotutk from customer cookies
'ipAddress' => $request->ip(),
'pageUrl' => route('personal-info'),
'pageName' => 'Assessment Start',

We are using the following APIs:

We are recording data from six different markets from the same site:

We generate our leads from our smile assessment form:
Example: https://orders.yoursmiledirect.com/gb/assessment

Can you please provide some direction on this?

Can you let me know if you have any questions?




Hey guys,

We have a theory on why this is happening:

If you don't accept it, the original source will be filled as "offline sources" because the cookie on the web browser which contains that info won't be generated.

If you accept that message, then the cookie will be created on the customer web browser and the original source field will be filled correctly.

Please check the attached video where I show that behavior:

Can you guys please give me your thoughts on this?

I look forward to hearing back.




Hi guys,

Can we jump on a call with someone about this tomorrow?

Can you let me know your availability?




Hi @colmmckeown,

If a contact's original source is Offline Sources -> API, then that contact record was almost always originally created via the Contacts API. Contacts originally created via the Contacts API will always have Offline Sources as their original source, no matter what other processes are working to update the record (i.e. form submissions, tracking code API, etc.).

If a visitor is created via the Forms API and they have opted out of cookie tracking, their original source will be Direct Traffic; this is because HubSpot can tell that they were a visitor (due to the form submission) but otherwise cannot collect any analytics data.

In this specific case, it sounds like you're initially creating the records via the Contacts API, and then updating them via the Forms API, rather than the other way around. Can you let me know if this is the case? If not, I'll need to dig into a specific example record in order to better understand what might be going on.