UTM parameters are the cheapest attribution system you will ever own, and one of the easiest to break. One person tags a newsletter utm_medium=Email, another uses e-mail, a third forgets tags entirely - and a month later the channel report is fiction.
This note sets out a small set of rules that keeps campaign data clean in Google Analytics 4 and in any tool that reads the same parameters.
The parameters
| Parameter | Required? | Describes | Example |
|---|---|---|---|
utm_source |
Yes | Who sent the traffic |
google, meta, linkedin, newsletter
|
utm_medium |
Yes | The type of channel |
cpc, paid_social, email, referral
|
utm_campaign |
Yes | The campaign or initiative | 2026q4_audit_offer |
utm_content |
Optional | The specific creative or link |
carousel_v2, footer_link
|
utm_term |
Optional | Keyword (mainly paid search) | marketing_subscription |
utm_id |
Optional | A campaign ID that matches your ad platform or cost data | cmp_1042 |
GA4 also recognises utm_source_platform, utm_creative_format and utm_marketing_tactic if you need them.
Rule 1: lowercase everything
GA4 treats Email and email as different values. Agree that every UTM value is lowercase, with underscores instead of spaces.
Rule 2: utm_medium must match GA4's channel definitions
GA4's default channel grouping assigns sessions to channels such as Paid Search, Paid Social, Email and Organic Social largely by looking at the medium and the source. If your medium values do not match the patterns Google documents, sessions fall into Unassigned.
A safe, simple vocabulary:
| Channel you intend | utm_medium |
Notes |
|---|---|---|
| Paid search | cpc |
Auto-tagging (gclid) handles Google Ads; use UTMs for other search engines |
| Paid social | paid_social |
Pair with a recognised social utm_source such as facebook, instagram, linkedin
|
| Organic social | social |
For unpaid posts you publish yourself |
email |
Newsletters and automated sequences | |
| Display | display |
Programmatic and banner placements |
| Affiliates / partners |
affiliate or referral
|
Pick one and keep it |
Check the current channel definitions in Google's documentation before finalising your list.
Rule 3: a campaign naming pattern
A pattern makes campaigns sortable and self-explanatory:
<yyyy><q|mm>_<objective>_<offer-or-theme>[_<market>]
Examples: 2026q4_leads_audit_offer_uae, 202611_awareness_brand_film.
Rule 4: never tag internal links
UTMs on links between pages of your own site start a new session attribution and overwrite the original source. Use them only on links that bring people into the site from somewhere else.
Rule 5: one builder, one log
- Generate every tagged URL from a shared builder (a spreadsheet with data validation is enough).
- Keep a log: date, owner, channel, final URL, and where it was used.
- Validation dropdowns for
utm_sourceandutm_mediumremove most typos before they happen.
QA before launch
- Open the tagged URL in a private window and confirm the landing page loads without redirects that strip query strings.
- Check GA4 Realtime for the expected source / medium.
- Confirm consent tools and redirects preserve parameters.
- For paid platforms, check whether the platform's own tracking template or auto-tagging already adds parameters, so you do not double-tag.
Monthly clean-up
Review Traffic acquisition by session source / medium. Anything in "Unassigned" or with unexpected capitalisation points to a link that needs fixing at the source, not a report filter.
Further reading
- Google Analytics Help: Collect campaign data with custom URLs
- Google Analytics Help: Default channel group
- Clean attribution is the foundation of media optimisation. For how that foundation supports paid media, see Gorilla Vibe's performance marketing overview.
Top comments (0)