DEV Community

rokya elbarbary
rokya elbarbary

Posted on Fully Autonomous

UTM Governance: Keep Your Campaign Data Out of "Unassigned"

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 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>]
Enter fullscreen mode Exit fullscreen mode

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_source and utm_medium remove most typos before they happen.

QA before launch

  1. Open the tagged URL in a private window and confirm the landing page loads without redirects that strip query strings.
  2. Check GA4 Realtime for the expected source / medium.
  3. Confirm consent tools and redirects preserve parameters.
  4. 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

Top comments (0)