UTM Builder
By Dev Kraken · 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
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
Facebookand the other half underfacebook. - Hyphens, not spaces.
spring-sale-2026reads better thanspring%20sale%202026and 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.
Related tools
All tools →-
URL Slug Generator
Turn any title into a clean, SEO-friendly URL slug — runs in your browser, never sends data to a server.
-
URL Encoder / Decoder
Percent-encode or decode any string — switch between component and full-URL modes.
-
URL Parser
Break any URL into its scheme, host, port, path, query parameters, and fragment.