💬 RevOps Discussions

Participant | Diamond Partner
Participant | Diamond Partner

Shopify + Salesforce + HubSpot + Analytics!!

We are trying our darn best to scrap together a solution that allows us to track UTM parameter success with a cobbled together solution. Due to the limitations of the HubSpot data model for nonprofits, we were forced to use both Salesforce and HubSpot. 


1. We have a Shopify site setup with the HubSpot tracking code installed 

2. We have the Salesforce-HubSpot integration set up 

3. We have a Zapier process that fires whenever there's a new order in Shopify. The Zap FIRST submits a form submission in HubSpot in order to create a contact 

4. Then the Zap syncs a Contact and Opportunity to Salesforce 

5. Then Salesforce syncs a Deal over to HubSpot 


When we run a test with UTM parameters, we're able to successfully see traffic to that UTM parameter, however the contact and customer conversions are not coming through. Also the original source on the Contact is Direct Traffic, even though we used the UTM parameters to navigate to the site (on a fresh browser, fresh cookies). 




Has anyone been able to cobble together analytics on these three platforms together in HubSpot?? 


1 Reply 1
HubSpot Employee
HubSpot Employee

Shopify + Salesforce + HubSpot + Analytics!!

Hi @ki392 - thanks for this question and for sharing this helpful information!  I wanted to chime in from HubSpot with some information on the process you’ve already described to begin the conversation, and I still encourage others to add in their thoughts or other solutions.  I would also recommend getting in touch with your Customer Success Manager, as they should be able to dive deeper into this topic with you. 
Based on the information that you shared, I would believe that the analytics from your screenshot aren't showing an increase in the number of New Contacts in the highlighted row because of the method used to create the contact, or possibly how the testing is being performed.  Below is some information you may already know, but wanted to share in case it helps your troubleshooting or solutions:
New Contacts will appear under the source (a row in the screenshot you provided) to which HubSpot can attribute their first interaction. Assuming someone has their browser cookies enabled, and assuming your HubSpot settings to allow cookie placement without requiring consent and you have the HubSpot tracking code on each website page, consider the following examples:  
  • If someone performed a Google search and landed on your website for the first time, and then filled out a HubSpot Form on one of your Hubspot-tracked pages, HubSpot would consider the original Source “Organic Search” (would see an increase in the "New Contacts" column) 
  • If someone clicked a link from a known social media platform, landed on your website for the first time and browsed but didn’t submit a form.... Then, a week later on the same browser, the visitor went directly to your website and filled out a form, HubSpot would consider the original source as “Social Media”. 
  • As a first visit to your website, if someone types your website directly into the URL address bar of their browser, or otherwise HubSpot was unable to infer a referring source, the contact would appear as "Direct Traffic" 
Regardless of the visitor’s past actions on your website, if the method used to add the contact to HubSpot doesn’t contain the visitor’s cookie (ie. if the method includes creating the contact via Import, or an employee submitting a form on behalf of the contact, etc) - this will all affect the original source displayed for the contact accordingly, which also affects the report from your screenshot as such. 
Therefore, if the form submission is due to a Zap, my hunch (though it's worth investigating to confirm or deny) is that the Zap is simply pushing information to HubSpot such as “First Name”, “email address”, etc. and not pushing the visitor’s actually Cookie, where Hubspot analytics would extrapolate the source of the original visit, which is reflected in reports.  It’s worth highlighting here that assuming the form submission did push over the visitor’s cookie information, the “new contact” column may not increase if the contact had already been attributed to another original source prior to this form submission (in other words, if the new contact is under the “Organic Search” category, and wouldn’t appear in more than 1 category).  
If the Zap is pushing cookie information, then perhaps the test was performed by going to the website directly first and then to the UTM parameters on the same cookied browser, allowing original source to appear as Direct, or if the test contact was already generated from Direct Traffic, prior to the test. 
As far as solutions go - here are some options: 
  1. Confirm testing conditions, analytic tracking, and cookie tracking information are all accurate/as expected (HubSpot Support should be able to assist here as well: help.hubspot.com) 
  2. It sounds like you have not integrated Shopify and HubSpot. If so, consider integrating with Shopify: https://knowledge.hubspot.com/integrations/connect-hubspot-and-shopify and modifying your process for creating Contacts and Deals. 
  3. Consider a process that allows the visitor to fill out a HubSpot Form directly on a HubSpot-tracked page, allowing the HubSpot Cookie and HubSpot Analytics to add the contact to the highlighted row (as long as Cookie tracking is turned on, and the visitor allows browser cookies, and doesn’t have a different original source prior to the submission).  
  4. Consider a process that submits the visitor’s cookie when sending the contact information to HubSpot (such as the Forms API): https://legacydocs.hubspot.com/docs/methods/forms/forms_overview
  5. Consider to simply add the UTM parameters to custom contact property via Zap or any other means, and run a custom report.  For example, ahead of time, you can create a custom single-line text property such as “last UTM parameters submitted” and in your Zap, you can send the UTM parameter value to that custom property.  Then, that report screenshot would likely remain as-is, but then you can pull a List or a custom report of the contacts who have a certain value for the “last UTM parameters submitted” property (knowing these could get overwritten if they submit multiple times).  Also worth mentioning you can pass this via Hidden Form fields on a HubSpot Form Submission - steps outlined in this non-HubSpot blog post: https://www.align.ly/blog/how-to-pass-utm-parameters-into-a-hubspot-form/
  6. If you are a Marketing Hub Enterprise customer, consider creating Behavioral Events on a go-forward basis to see Visited Pages containing UTM parameters: https://knowledge.hubspot.com/events/create-visited-url-events


In summary, I would recommend to first ensure the contact's cookie gets passed to HubSpot for HubSpot analytics to infer the original source and categorize the contact accordingly and if not possible, to explicitly set the UTM values to a custom contact property to use in custom reports.  Either way, these fields are possible to sync back to Salesforce to allow reporting in various ways. I want to highlight solutions #3 and #5 as generally being the most common solutions to the general query of tracking UTM parameters that I see. 


Look forward to your (and others) thoughts/questions on this! 

-Renee, Hubspot Customer Success Manager