UTMs that don't break
your analytics.
One typo in utm_source splits your "Facebook" traffic into three different reports. The fix isn't a tool — it's a convention. Read the convention below, then build your URL.
Five rules. Memorize them and you'll never debug a campaign report again.
URL parameters Google Analytics reads.
UTMs (Urchin Tracking Module — yes, that's a 2005 reference) are ?utm_source=facebook&utm_medium=cpc tags appended to a link. When someone clicks, GA4 reads them and writes them to the session — so you can see exactly which campaign drove that visit, signup, or sale. Without UTMs, your "Direct" channel becomes a black hole that swallows half your traffic.
Three required, two optional.
The platform sending the traffic. facebook, google, linkedin, newsletter. Answers: "where did the click come from?"
The channel type. cpc (paid search), social (organic social), email, referral, display. Answers: "what kind of marketing?"
The specific initiative. spring-sale-2026, whatsapp-launch. Answers: "which promotion is this?"
The keyword you bid on. Mostly for Google Ads. Manual auto-tagging usually fills this in for you.
Differentiates two links to the same page. Use it for A/B tests, or to tell which button in your email someone clicked. hero-cta vs footer-cta.
Spring sale, Facebook ad, video creative.
https://yoursite.com/spring-sale
?utm_source=facebook
&utm_medium=cpc
&utm_campaign=spring-sale-2026
&utm_content=video-15s-v2 In your GA4 Acquisition reports, this click shows as Source: facebook · Medium: cpc · Campaign: spring-sale-2026 · Content: video-15s-v2. You can compare video-v1 vs video-v2 conversion rates side-by-side, three months from now, when you've forgotten which creative was which.
All-lowercase. Hyphens, not spaces.
UTM values are case-sensitive. Facebook, facebook, and FACEBOOK are three different sources in your reports. Pick one — always lowercase — and stick with it forever. Replace spaces with hyphens (spring-sale, not spring sale) so the URL stays clean. The builder below enforces both for you.
Four ways to wreck your data.
- ·Mixing case.
FacebookMonday andfacebookTuesday = two reports, half the truth. - ·Tagging internal links. Never put UTMs on links inside your own site — GA4 will reset the session and you'll lose the original source. UTMs are for inbound traffic only.
- ·Free-styling the medium. Stick to GA4's standard channels —
cpc,social,email,referral,organic,display,affiliate. Custom mediums fall into "Unassigned" in default channel groups. - ·Forgetting personal info is logged. Don't put email addresses, phone numbers, or any PII into UTM values. Anyone with read access to your GA can see them.
Build the URL.
Lowercase + hyphens are enforced automatically. Pick from the dropdowns when you can — that's how teams stay consistent across years of campaigns.
Optional parameters +
Found this useful? Share it — keeps the tool free + updated.
No login, no email gate. We just like knowing it’s being used.
Other free tools that fit the same workflow.
One URL is easy.
One thousand consistent ones is a system.
We build campaign-URL governance for agencies and in-house teams: shared dropdowns, validation rules, GA4 + CRM auto-mapping, naming conventions versioned in one place. Your reports stop lying. Your team stops arguing about why "Spring Sale" and "spring-sale" show up as two different campaigns.