UTM parameters are not passing to the next page upon clicking the button


Hi, I need help to pass UTM parameters to the next page when we click a button on the home page. We are trying to track the users coming to our website through different sources like capterra or any other. Fortunately, we were successful to get the UTM params from capterra to the home page but if we click "Start a free trial" then the UTM params are not passed to the signup landing page which is quite important to have.
homepage url after coming from capterra:

and when we click "Start free trial" this is the URL coming on the signup page:

I dont know why it's coming, please help me sort this one.


Hi @Abhishek_Sharma, this may not be the best place to reach out about passing UTM parameters to a new page unless it has to do specifically with HubSpot, but I know many people use GTM for something like this: https://www.analyticsmania.com/post/transfer-utm-parameters-google-tag-manager. That said, I tried replicating the behavior on your site and was able to see that UTM parameters were passed to the next page.


Well, the question is all about hubspot as of now. I managed to pass UTM params to the other pages but there is one problem. Even if the UTM params are coming from other sources like capterra or facebook the hubspot is showing "direct traffic" in the contacts. Though sometimes it shows the right result but most of the time it's not showing the right traffic result. If you want I can share the JS written for passing the params but I am not able to track the traffic and it's a huge problem for us now.


Ah whoops, sorry @Abhishek_Sharma! For whatever reason, I originally thought that the page you linked was not HubSpot hosted. My fault. I'll dig into this issue further and get back to you when I have a good idea for what's going on.


Can you respond here with an example contact that does not have the correct source attributed to it as a result of this?


this is the link for the contact made https://app.hubspot.com/contacts/3906991/contact/8789901/

and I am also attaching a screenshot for the same.


Hi @Abhishek_Sharma, I got some clarification from the Analytics team on this. It looks like everything after the # is dropped (including all utm_* params). URLs are also capped to 1000 characters. That means applying a visited URL filter on any query with a document fragment won't match in Analytics.

The parameters would have to be between the root URL and the # for those analytics query parameters to be included. In your example contact above, for example, their "first page seen" property is set to this: https://app.fyle.in/#/pre_verification/persona?asset=webapp&utm_source=capterra&utm_medium=undefined&utm_campaign=Capterra%20-%20November%202018&email=abhishek.shrm3011@gmail.com

If this # rule was not in effect, your contact would have been bucketed under “Other Campaigns” per rule 8 in this article’s table (https://knowledge.hubspot.com/articles/KCS_Article/Reports/How-does-HubSpot-categorize-visits-contacts-and-customers-in-the-Sources-Report), but instead it’s only bucketed based on the URL preceding the /#/ fragment: https://app.fyle.in/. There aren't plans to change the behavior here.

Ultimately, as per RFC 3986, URIs should have query parameters included before the hash.


Hi Connor, I totally understand the point but the main problem is not when the user goes to app.fyle.in, the problem is when the user comes from a different source like capterra to the home page fylehq.com there only hubspot should tell us what is the source of traffic in the contacts. So, ultimately we need to update the correct source from where the user is coming to the home page and so forth.