HubSpot reads five traditional UTM parameters — utm_source, utm_medium, utm_campaign, utm_term, and utm_content — to attribute campaign traffic to a report, so the cleanest way to create UTM links for HubSpot campaigns is to build a URL with the three required tags (source, medium, campaign) and add utm_term and utm_content only when they describe a meaningful placement difference. HubSpot's own tracking-URL feature and Google Analytics campaign tagging both expect those five names spelled exactly that way, which means the same URL is portable between systems without renaming anything. A browser-based UTM Link Builder accepts a full https address, deletes only the five tags it owns, preserves every other query parameter and the page fragment, and returns a copy-ready URL. Nothing leaves the browser, so a sensitive internal landing page can be passed through without a server roundtrip. The output is a constructed URL, not a HubSpot integration: the tool does not check whether a HubSpot tracking pixel is loaded, whether a redirect preserves the parameters, or whether future traffic will show up in a HubSpot report. Test the finished link in your own HubSpot reporting view before publishing it.

how to create utm links in hubspot
how to create utm links in hubspot

Why HubSpot Marketers Need Clean UTM URLs

HubSpot's marketing reports slice traffic by source, medium, and campaign. Each label has to match exactly across every link that should land in the same row of a report. A stray uppercase letter, an extra underscore, or a duplicate utm_source on the same URL produces two rows instead of one, which silently fragments the data set and skews the totals. Hand-editing query strings in a spreadsheet invites that kind of inconsistency, especially when a landing page already carries language, referrer, or click-id parameters that must stay intact.

A focused builder removes those risks by accepting a complete destination, removing only the five UTM keys it manages, and outputting a deterministic string every time. The work happens entirely in the browser, so the destination URL and the campaign labels never reach a server. That is useful when the link points at an internal HubSpot page that should not be logged on an external system, or when a marketing team prefers not to paste customer-facing URLs into a third-party tool. Because the output uses ordinary URL query encoding, a campaign label with a space is encoded in a standard way and round-trips cleanly into HubSpot's report.

The Five UTM Parameters HubSpot Reads

The five tags below follow the standard manual-tagging conventions used by HubSpot and Google Analytics, so a link built with them works the same in both systems. HubSpot will accept any text you put into these fields, but it expects the five names to be spelled exactly as shown.

Parameter Required? What it describes Example value
utm_source Required The publisher, site, or network sending the traffic. linkedin, google, newsletter
utm_medium Required The marketing channel type, used as the broad bucket in HubSpot reports. cpc, email, social, referral
utm_campaign Required The campaign name, promotion, or product line the link belongs to. spring_launch, q1_webinar
utm_term Optional Paid keyword or term, usually reserved for paid search campaigns. running%20shoes
utm_content Optional Creative variant or placement, used to A/B test or distinguish buttons and banners. hero_banner, cta_blue

Source, medium, and campaign appear together in nearly every HubSpot traffic report. Term and content are usually left out unless a team needs to slice further; the builder leaves those parameters off entirely when their fields are blank, rather than adding an empty value, which keeps the final URL shorter and easier to inspect.

The shortest workflow for a HubSpot campaign link is three steps. Each step keeps the destination page unchanged so the same URL can be reused across ads, emails, social posts, and partner placements without retyping the path by hand.

  1. Paste the complete http or https destination URL. Use the full address of the HubSpot landing page or external page the link should resolve to, including the path and any parameters the page depends on. The builder will reject relative paths, mailto links, file-transfer links, and other non-web protocols because those are outside the scope of web campaign URLs.
  2. Enter campaign source, medium, and name; add term or content only when needed. Source, medium, and campaign are required so a generated link is never missing the core manual-campaign fields. Term and content are optional, and the builder leaves them out of the URL when the fields are blank.
  3. Build the URL, review the preserved parameters and fragment, then copy the result. The builder removes only existing copies of the five UTM keys it owns, keeps every other query parameter and any #fragment, and returns a copy-ready URL. Inspect the result before pasting it into HubSpot, an ad platform, or a QR code.

The builder accepts one absolute http or https URL at a time, trims accidental outer spaces from each campaign field, and applies ordinary URL query encoding so labels like spring launch become spring%20launch in the output. Signed URLs and pre-signed URLs should not be used because the browser URL API can normalize query encoding in a way that breaks the signature. The builder also rejects absolute URLs that contain username or password credentials.

Keep Parameters That Already Exist on the Page

Many HubSpot landing pages already include parameters that the page itself relies on — language selectors, internal ref tags, Google Click Identifier (gclid) values from paid ads, or custom application keys. Replacing those values by hand is where most UTM mistakes happen, because a marketer can overwrite an unrelated parameter while editing the query string.

The builder isolates its work to the five managed keys. If the destination URL already has any of them, the old values are deleted and replaced by whatever is in the form. If the destination URL has other parameters — such as ref=homepage, lang=en, or gclid=abc123 — those stay where they are, and any #fragment on the original URL is preserved at the end of the result. A link can therefore be reloaded into the builder later to refresh the campaign labels without rebuilding the destination address, and any change to the five UTM values is the only thing that changes in the output.

Test and Update a HubSpot Tracking URL Safely

Once a HubSpot campaign link is live, refreshing its labels is often simpler than starting from scratch. Paste the existing campaign URL back into the builder, replace the five managed fields with the new values, and rebuild. Unrelated parameters stay in place; the path stays the same; only the UTM values change. That workflow keeps a running campaign consistent when a medium changes (for example, moving a post from organic_social to paid_social) or when a campaign is renamed for a new quarter.

Before publishing, load the link in a browser yourself and watch the address bar. HubSpot may apply its own redirect when a tracking URL is set up through its built-in tracking-URL feature, and some external short-link services strip query strings rather than preserve them. The builder does not test redirects, attribution, or analytics; it only constructs the URL. Confirm the final address resolves to the intended page and that the five UTM keys appear exactly once in the string. If a redirect is in play, follow the link through it and confirm the parameters survive the hop.

Privacy and Naming Habits for HubSpot UTM Values

Query parameters are stored in browser history, in HubSpot's request logs, in referral data on the destination server, and often in shared screenshots and reports. Putting a name, email address, phone number, account number, or other personal detail into a UTM field is therefore a bad idea, even on a link that looks internal. Campaign labels should describe the marketing placement — for example, linkedin, cpc, spring_launch, hero_banner — rather than identify a person.

The builder preserves the text you supply after trimming accidental outer spaces, rather than inventing a taxonomy or changing case. Pick a documented naming policy for source, medium, and campaign, then stick to it. A simple record outside the link itself — a spreadsheet, a shared doc, or a note in the campaign brief — is the safest way to keep track of which label maps to which placement, since the URL itself is not a good place to store that meta-information.

For very long campaign URLs, a redirect or short-link service can shorten the visible string, but only after confirming that the service preserves the query string end-to-end. Shorteners that strip query parameters will quietly break HubSpot's attribution, so test the shortened link in a HubSpot reporting view before relying on it for a paid placement.