As a workaround, similar to auto-populating form fields with query strings, we can use the UTM parameter to auto-populate a hidden form field. When the form is submitted, the UTM parameters will be passed through to corresponding HubSpot properties.
Step 1: Create corresponding HubSpot properties
In your HubSpot account, click the settings icon in the main navigation bar.
In the left sidebar menu, navigate to ‘Properties’.
Check that the internal name of the parameter matches the UTM parameter exactly. The internal name will usually correspond to the label for the property.
For the Field type, click the dropdown and select Single-line text.
Confirm that the Show in forms checkbox is selected.
Click Create to create the property.
Repeat for each of the UTM parameters that you’d like to collect.
utm_source
utm_medium
utm_campaign
utm_term
utm_content
Step 2: Add the corresponding properties to your HubSpot form
In your HubSpot account, navigate to Marketing > Lead Capture > Forms.
Click the form field and set each of the properties as a hidden form field.
Click Publish or Update in the top-right corner of your page to publish your changes.
Moving forward, when a visitor is directed to your form page using a tracking URL appended with UTM parameters, these hidden fields should automatically populate. When the form is submitted, the contact’s new UTM property values will be updated.
Adding my comments here just in case others run into the same problem.
After you create your HubSpot forms, you can take the embed code and place that into the HTML section of WordPress.
Have you been able to retrieve the embed code? If not, to access the form embed code:
* In your HubSpot account, navigate to Marketing > Lead Capture > Forms. * Hover over a form and click Actions > Share. * Click Copy. Then, paste the embed code into the HTML module on your external page.
Next, copy the URL of the page and paste it into your tracking URL builder, as well as the values for your UTM parameters. When you share the tracking URL with others, this UTM information should then populate on the Contact record in HubSpot after they've submitted.
Hi. How would you do the same thing but with sales meetings, not forms. I have a hubspot calendar embedded in webflow. The UTMs are stored in a cookie. I can read the cookie but cannot pass to the form's hidden fields as there aren't any. Sales meetings forms do not have hidden fields. How shall I pass UTM values along with the contact that just scheduled a meeting? Thank you
We have an issue with embedding the form on a WordPress, whereas the form is working perfectly and it's collecting UTM parameters(but only on HubSpot itself). I was wondering if we are missing something since we can't embed it correctly on the WordPress landing page.
Adding my comments here just in case others run into the same problem.
After you create your HubSpot forms, you can take the embed code and place that into the HTML section of WordPress.
Have you been able to retrieve the embed code? If not, to access the form embed code:
* In your HubSpot account, navigate to Marketing > Lead Capture > Forms. * Hover over a form and click Actions > Share. * Click Copy. Then, paste the embed code into the HTML module on your external page.
Next, copy the URL of the page and paste it into your tracking URL builder, as well as the values for your UTM parameters. When you share the tracking URL with others, this UTM information should then populate on the Contact record in HubSpot after they've submitted.