UTM Builder

By · Updated

Build campaign-tagged URLs for GA4. Required fields are validated; uppercase and whitespace produce warnings — the two most common reasons UTM reports silently fragment.

UTM builder

Tagged URL

What each parameter means

The five GA4-recognised UTM parameters, with examples that pass every sanity check in the builder.

Parameter Required Purpose Example values
utm_source Yes Where the traffic came from — a referrer, platform, or partner. newsletter, google, twitter, partner-acme
utm_medium Yes The marketing channel — the 'how', not the 'where'. email, cpc, social, affiliate, referral
utm_campaign Yes The named campaign or initiative driving the click. spring-sale-2026, launch-week, q2-product-update
utm_term No Paid-search keyword or audience segment. Mostly used for cpc. url+slug+generator, retargeting-30d
utm_content No Differentiates two variants of the same campaign — A/B test arm, ad creative, link position. header-cta, image-ad, variant-b

A naming convention that survives the year

The most common UTM problem isn't picking the wrong parameter, it's picking slightly different values for the same thing across campaigns. Pick a convention and write it down — these four rules cover most of the value:

  • Lowercase only. GA4 is case-sensitive. The builder warns about this; the audit log is your reminder that a real production campaign once spent a week reporting half its clicks under Facebook and the other half under facebook.
  • Hyphens, not spaces. spring-sale-2026 reads better than spring%20sale%202026 and never collides with anything's idea of word-segmentation.
  • Bake the year into the campaign name. Next year you'll run the same campaign again, and you'll be glad you can compare them.
  • Treat utm_source and utm_medium as a small fixed set. Source is "where" — newsletter, twitter, google. Medium is "how" — email, cpc, social, referral. New values should be rare; if you find yourself inventing one weekly, the convention is slipping.

Frequently asked

What are UTM parameters?
UTM parameters are query string tags appended to a URL that tell analytics tools where a visitor came from and what brought them. They were introduced by Urchin (the U in UTM stands for Urchin Tracking Module) and are now the standard way of attributing traffic in GA4, Matomo, Plausible, and most other analytics platforms.
Which UTM parameters are required?
utm_source, utm_medium, and utm_campaign. They're the three GA4 uses to build its default acquisition reports — without them, traffic falls into the (not set) bucket. utm_term and utm_content are optional and useful when you need finer granularity within a campaign.
Why does case matter in UTM values?
GA4 treats utm_source=Newsletter and utm_source=newsletter as two different sources. The same is true for every UTM parameter. If half your team writes Newsletter and the other half writes newsletter, your reports silently fragment and you'll over- or under-count the channel. The convention is everything lowercase, hyphenated, no spaces — and this builder warns you when an input deviates.
Should I use spaces, plus signs, or underscores in UTM values?
None of the three is wrong, but the convention is hyphens (-) or underscores (_) instead of spaces. Spaces work technically — they get percent-encoded to %20 — but the encoded form is harder to read in reports. Hyphens win for readability; underscores are a defensible second choice. Pick one and document it for the team.
What's the difference between utm_term and utm_content?
utm_term is for keywords; utm_content is for differentiating versions of the same campaign. If you're running a Google Ads campaign with multiple keywords, the keyword goes in utm_term. If you're running the same email twice with a different subject line, the variant goes in utm_content. The two are independent: a paid-search ad with two creatives uses both.
Do UTM parameters hurt SEO?
No, in the sense that they don't directly affect rankings. They can dilute crawl signals if the same content is reachable at lots of UTM-tagged variants — that's what canonical tags are for. Standard practice: every campaign URL should point at a page that has a self-referencing canonical pointing at the clean version. Then Google indexes the clean URL and the analytics tags do their job for attribution.
Should I shorten UTM-tagged URLs?
For human-shared channels (social posts, printed QR codes, SMS), yes — the tags add noise and a shortener gives you a cleaner share asset plus a click counter. For machine-built links (newsletter buttons, ad platforms, partner integrations), no — the full URL is fine and shorteners add a redirect hop you don't need.
Does this builder send the URL anywhere?
No. Everything happens in your browser. The validation, the encoding, and the assembled output are produced by JavaScript that runs on your device. The URL is never logged or transmitted.
All tools →