Free UTM builder
Paste a URL, fill in the bits you need, copy the tagged link. No sign-up, no email, nothing to dismiss.
UTM Campaign URL Builder
Reference
What the parameters mean, and how to not make a mess of them.
Open what you need. The tool works fine without any of this.
The five parameters, in plain English
- utm_source — where the click came from. A named place:
google,linkedin,newsletter. - utm_medium — what kind of thing it was:
cpc,email,social,referral. - utm_campaign — which push this belongs to:
spring-sale,agm-2026. - utm_content — which version of the thing:
header-linkversusfooter-link. Optional, and the one that earns its keep when you’re testing two of something. - utm_term — the keyword, on paid search. Mostly you can ignore it.
Source and medium are the two that matter. Get those consistent and the rest is decoration.
Use lowercase, and pick your words once
GA4 is case-sensitive. Newsletter and newsletter are two different sources, sitting in two different rows, splitting one number in half. Nothing warns you — the report just quietly under-reports both.
Same goes for synonyms. email, e-mail and newsletter as three mediums will give you three answers to one question. Write your handful down somewhere, and make everyone who builds a link use that list — a shared doc is enough.
Hyphens over spaces and underscores, too. Spaces become + or %20 in the URL, which nobody wants to read back in a report.
The mistakes that cost you the data
- Tagging internal links. A UTM on a link from one of your pages to another starts a brand-new session and throws away the original source. The visit that came from Google gets filed under your own newsletter.
- Inconsistent source and medium. The lowercase problem above, plus everyone inventing their own vocabulary.
- Tagging things that already report themselves. Google Ads with auto-tagging on doesn’t need UTMs, and adding them can overwrite what Ads already knew.
- Putting anything private in a campaign name. UTMs are visible in the address bar, in shared screenshots, and in anyone’s history.
Where these turn up in GA4
Reports → Acquisition → Traffic acquisition, then switch the dimension to Session source / medium. That’s your tagged links, grouped by the two fields you were careful about.
Campaign sits alongside it as its own dimension, and utm_content shows up as Session manual ad content — useful when you’re comparing two versions of the same link.
Translation: if the numbers look wrong, it’s almost always the naming, not the tool.
If you’re hand-tagging links because you genuinely can’t tell what’s working, the tagging isn’t the problem — that’s what the free audit is for.
Built by Holler Digital · Edmonton