I’m running into a channel attribution issue in HubSpot and hoping someone here can point me in the right direction.
Here’s the situation:
I’m running ads and organic campaigns with proper UTMs.
HubSpot is reading the UTMs correctly—when I check the traffic report, I see traffic attributed to Paid Search, Organic Social, etc.
I also know the UTMs are working because I’m using unique landing pages and unique HubSpot forms that can only be accessed through those campaigns.
I’m definitely getting leads from those campaigns.
The problem: When I look at the contacts, every single one shows their Original Source as “Direct Traffic.” I’m using first-touch attribution, so this breaks my reporting—I can’t accurately tell how many leads came from Paid Search vs Organic Social vs Organic Traffic.
Additional context:
I’m embedding HubSpot forms directly on my website.
After submission, users are redirected to another page.
From my understanding, the HubSpot tracking cookie should carry over, so I expected attribution to work.
HubSpot support mentioned differences between “Original Source,” “Latest Source,” and drill-down fields. But the data is inconsistent: some submissions show the right drill-down, others don’t.
At my previous company, we were able to attribute leads correctly to channels like Paid Search, Paid Social, Organic Social, etc. So I know it’s possible, but I can’t figure out why it isn’t working here.
Attribution is critical for us to understand channel performance, so any help would be greatly appreciated.
Hi @RAviles there are a lot of different reasons why this could be happening.
A few things to consider:
If you’re embedding HubSpot forms directly on your site and then redirecting, you’re relying on the tracking cookie to stitch everything together. If the cookie doesn’t fire before the form submission (ad blockers, cookie consent banners, cross-domain setup, page load timing issues), HubSpot can’t connect the dots and will fall back to “Direct.”
Make sure the HS tracking code is firing before the form submission script and on both the landing page and thank you page.
Are your landing pages and ty pages on different domains (or even subdomains)? If so, that could be causing issues with cookies not carrying over and you may need to adjust cross domain linking settings in HS.
Embedded forms can sometimes lose UTM/session data. A way around this is to pass the UTM variables as hidden fields in the forms.
Hi @RAviles there are a lot of different reasons why this could be happening.
A few things to consider:
If you’re embedding HubSpot forms directly on your site and then redirecting, you’re relying on the tracking cookie to stitch everything together. If the cookie doesn’t fire before the form submission (ad blockers, cookie consent banners, cross-domain setup, page load timing issues), HubSpot can’t connect the dots and will fall back to “Direct.”
Make sure the HS tracking code is firing before the form submission script and on both the landing page and thank you page.
Are your landing pages and ty pages on different domains (or even subdomains)? If so, that could be causing issues with cookies not carrying over and you may need to adjust cross domain linking settings in HS.
Embedded forms can sometimes lose UTM/session data. A way around this is to pass the UTM variables as hidden fields in the forms.