How UTM tracking works for HubSpot marketing emails

HubSpot can add source tracking tags to marketing email links and use campaign and email identifiers in its reports. But the way those tags are applied is easy to misread.

Custom UTMs can be overwritten, email visits may appear as Direct Traffic, and the values used in campaign reporting do not automatically populate your custom contact properties. HubSpot’s email tracking is separate from the hidden-field setup used to store raw UTM values on contact records.

This guide explains how HubSpot’s source tracking settings work, how Campaign UTM values are created and edited, how to test email links, and where the setup can fail.


How HubSpot adds UTMs to marketing email links

Email links add another layer to HubSpot UTM tracking. The form setup above is about storing raw UTM values on contact records, while HubSpot email and campaign tracking are mainly for attribution and reporting inside HubSpot.

That distinction matters. A marketing email can be part of a HubSpot campaign report, but that does not mean your custom utm_source or utm_campaign contact properties will automatically be filled.

Check your email source tracking settings

Log in to your HubSpot account, then go to Settings > Marketing > Email > Tracking and review the Source tracking section. This controls whether HubSpot adds tracking tags to links in marketing emails.

HubSpot email tracking screen showing the recommended option for preserving existing UTM tags.

HubSpot Marketing Email tracking settings showing the three source tracking options for email links.

HubSpot gives you three options:

  • Add source tracking tags to all URLs

  • Add source tracking only if no existing tags in URL

  • Don’t add source tracking tags

If your team already adds custom UTMs to email links, the safest option is usually Add source tracking only if no existing tags in URL. That helps avoid HubSpot replacing tracking tags you have already added.

HubSpot also shows the default source tracking values it uses for email links. These include utm_medium=email, utm_source=hs_email for regular marketing emails, blog/RSS emails, and feedback survey emails, and utm_source=hs_automation for automated workflow emails.

It also uses utm_content for the internal HubSpot ID and utm_campaign for the campaign name. These values help HubSpot with email and campaign reporting, but they are still separate from the custom UTM contact properties you created for form capture.

Stop managing UTMs in a spreadsheet!

Uplifter gives your team a centralised UTM builder with locked dropdowns, a shared taxonomy, and a full audit trail, so clean data is the default, not the goal.

Review the campaign UTM value

HubSpot campaigns have a Campaign UTM value used for campaign attribution and reporting. When you create a new campaign, HubSpot automatically generates a unique campaign UTM by default.

If you want to turn that default behaviour off, go to Settings > Marketing > Campaigns, open the UTM tab, switch off Auto-generate unique identifiers for campaign UTMs, then click Save to change the default settings.

HubSpot settings screen for controlling automatic unique identifiers in campaign UTM values.

HubSpot campaign settings showing where to manage auto-generated UTM identifiers.

But we suggest keeping this setting on. If the default value does not match your naming convention, you can edit it before using the campaign in live links.

To change the Campaign UTM value for a specific campaign, go to Campaigns, open the campaign you want to update, then click the Campaign UTM field in the left panel and enter your new value. Click Save when you are done.

HubSpot campaign information panel with the Campaign UTM field highlighted for editing.

HubSpot campaign settings showing a custom Campaign UTM value being saved.

For example, a generated value may not match the campaign names your team uses in GA4, paid media, or reporting dashboards. A cleaner value, such as q1_webinar or summer_launch will be easier to recognise later.

Understand what email tracking does not do

HubSpot campaign UTMs and your custom UTM contact properties serve different purposes. Campaign UTMs support HubSpot campaign attribution and traffic reporting, while custom contact properties store raw UTM values from landing-page URLs after a form submission.

So if someone clicks a HubSpot email and submits a form, your hidden-field setup still matters. That is what gives HubSpot a way to write values such as utm_source, utm_medium, and utm_campaign onto the contact record.

Note: Treat HubSpot campaign reporting and contact-level UTM capture as two related but separate systems. Campaign reporting helps you measure email and campaign performance, while custom UTM fields help you store raw attribution values on contacts.


Where HubSpot shows marketing email UTM data

HubSpot can show email UTM data in more than one place. The right view depends on whether you want to measure website traffic, email engagement, or the wider campaign.

Web traffic analysis

HubSpot can also surface email-driven visits in its traffic reporting when it detects email-related source parameters. In that context, utm_campaign helps identify the campaign, while utm_content can help distinguish the specific email or link.

Use this view when you want to understand sessions, page activity, and traffic generated by email links.

Campaign and email performance

If you want email-specific metrics, go to Marketing Emails, click the name of a sent email, and review the email performance page. HubSpot uses this page to show performance data for sent and automated emails, and the documentation also notes that you can click See details at the top for more information about the send.

HubSpot sent email summary showing campaign details, the Performance tab, and the See details link

HubSpot marketing email report showing where to open performance data and detailed send information.

Use this view when you want metrics such as sends, opens, clicks, click-through rate, delivery outcomes, and top clicked links. Some detailed email analysis features are available only on higher Marketing Hub tiers, and HubSpot notes that revenue attribution for email performance requires Marketing Hub Enterprise.


How to test HubSpot marketing email UTMs before sending

You shouldn’t rely on the email editor alone. Test the tracking from a real delivered email so you can see the final URL and confirm that HubSpot records the visit as expected.

  1. Check the source tracking setting: Go to Settings > Marketing > Email > Tracking and confirm that the right source tracking option is selected.

  2. Review the Campaign UTM value: Open the associated campaign and check that its Campaign UTM matches your naming convention.

  3. Check the destination page: Make sure the HubSpot tracking code is installed on the page the email links to.

  4. Send the email to an internal test contact: Use an email address that already exists as a contact in HubSpot, or create a separate test record.

  5. Click the link from the delivered email: Follow the same path a recipient would take, rather than copying the destination URLs from the editor.

  6. Inspect the final URL: Check that the expected utm_source, utm_medium, utm_campaign, and utm_content values are still present after any redirects.

  7. Review the results in HubSpot: Check the email performance view, campaign record, or traffic report to confirm that the click and visit were recorded.

Note: If you also want the UTM values stored in custom contact properties, the click must lead to a page and form flow that captures those parameters through the hidden fields you set up earlier.


Common HubSpot email UTM problems

Most email UTM issues come down to the source tracking setting, the campaign setup, or the final landing page. These are the problems worth checking first.

Custom UTMs are being replaced

The Add source tracking tags to all URLs option can replace tracking parameters that are already on the link. If your team adds its own UTMs, use Add source tracking only if no existing tags in URL so HubSpot leaves them in place.

Email traffic is showing as Direct Traffic

This usually means HubSpot had no source information to work with. Open the delivered email, click the link, and check the final URL. If there is no utm_source, utm_medium, or utm_campaign, review the source tracking setting before the next send.

The campaign shows hs_email or hs_automation

These are HubSpot fallback values. They can appear when a regular marketing email or an automated workflow email is not tied to the campaign value you expected.

Review the email’s campaign association and Campaign UTM value before sending. If you use your own tags, check those as well.

A forwarded email click is attributed to the original recipient

Tracked clicks from a forwarded email can still be linked to the original contact. This is a limitation of how HubSpot identifies clicks from tracked marketing emails, not something you can fully prevent.

Keep this in mind when reviewing contact-level engagement. A click on the record does not always prove that the original recipient was the person who clicked.

A copied link contains duplicate tracking information

Reusing a link copied from an already sent email can add a second set of tracking parameters and create a long, untidy URL. Add the original destination URL to the email editor instead of pasting a previously tracked link.

Clicks are recorded but page activity is missing

HubSpot can record the email click even when it cannot track what happens on the landing page. Test the page itself and make sure the HubSpot tracking code loads properly. Consent controls, browser extensions, and redirects can all break the handover between the click and the page view.


Keep HubSpot email UTMs consistent

HubSpot can report on the UTM values it receives, but it cannot tidy up inconsistent campaign names after an email has been sent. Values such as Q1 Webinar, q1_webinar, and q1-webinar will appear as separate entries, even when they refer to the same campaign.

Use a consistent naming convention for email, paid media, GA4, and any other channel that feeds your reports. Agree on casing, separator, and campaign-name formats before creating links, then document those rules in a shared UTM naming convention.

How Uplifter solves this: For one-off email links, Uplifter’s free UTM builder provides a quick way to create a properly structured URL. When several marketers, agencies, or teams are creating links, the UTM management tool provides a shared place to apply consistent naming rules and manage campaign links.


Uplifter governs how campaign links are created and named before they are added to HubSpot. HubSpot remains responsible for email tracking, attribution, and CRM-side data capture.

Free download: UTM governance checklist

33 expert-backed steps to clean UTM data, including the exact spreadsheet structure and the governance layer that makes it work.

Download the checklist

Ready to replace your spreadsheet?

Uplifter gives your team a governed UTM builder with locked dropdowns, a shared taxonomy, and a full audit trail. Set up in minutes, not months.

Try Uplifter
Next
Next

How to get Hubspot first & latest touch UTM attribution