Home/Blog/Attribution
Attribution11 min read

GA4 UTM Parameters: The Complete 2026 Guide to Clean Attribution

Master UTM parameters in GA4. Learn correct utm_source, utm_medium, and utm_campaign values, channel grouping rules, and how broken UTMs silently corrupt your attribution reports.

UTM, attribution, GA4, channel grouping, campaign tracking

UTM parameters are the foundation of accurate attribution in GA4 — and the most consistently botched part of any analytics implementation. One marketer using utm_medium=Email, another using utm_medium=email, a third using utm_medium=Newsletter — and your channel grouping is already broken before a single report is opened.

This guide covers everything: correct UTM values, how GA4's default channel grouping reads them, common mistakes that silently corrupt your data, and how to govern UTM discipline across your team.

How GA4 Reads UTM Parameters

When a user arrives at your site with UTM parameters in the URL, GA4 reads those values and assigns the session to a channel based on its Default Channel Grouping rules. These rules match on combinations of session_source, session_medium, and session_campaign_id.

The critical point: GA4's channel grouping is case-sensitive and pattern-specific. utm_medium=email correctly attributes to the Email channel. utm_medium=Email (capital E) falls into Unassigned. This is a real, production bug that silently corrupts your traffic attribution — and it's in thousands of implementations right now.

The Standard UTM Values GA4 Expects

utm_source The originating platform or publisher. Always lowercase, no spaces.

CorrectIncorrect
googleGoogle, google.com
facebookFacebook, fb
newsletterNewsletter, email-newsletter
linkedinLinkedIn, linked_in

utm_medium The marketing channel type. This is the most critical field for channel grouping. GA4's default grouping looks for exact matches and patterns:

ChannelRequired utm_medium values
Paid Searchcpc, ppc, paidsearch
Organic Socialsocial, social-media, social_media, sm
Paid Socialpaid-social, paidsocial, cpm, cpv
Emailemail, e-mail, e_mail, em
Affiliateaffiliate, affiliates
Displaydisplay, banner, cpp, interstitial
Videovideo, cpv

The most dangerous mistake: Using `utm_medium=paid` for paid ads. There is no channel that matches just `paid`. Those sessions go to Unassigned.

utm_campaign Identifies the specific campaign. Use a consistent naming convention: ``` [product]_[audience]_[offer]_[date] example: pro-plan_agency-managers_free-trial_2026-q2 ```

Keep it lowercase with hyphens. Avoid spaces (they become %20 and create messy reports).

How GA4's Default Channel Grouping Actually Works

GA4's default channel grouping evaluates sessions in priority order. The first rule that matches wins. Here's a simplified version of the key rules:

  1. Direct — source exactly matches `(direct)` AND medium is `(none)` or `(not set)`
  2. Cross-network — campaign name contains "cross-network"
  3. Paid Shopping — campaign name matches shopping pattern AND medium is `^(.*cp.*|ppc|retargeting|paid.*)$`
  4. Paid Search — source matches major search engines AND medium matches `^(.*cp.*|ppc|retargeting|paid.*)$`
  5. Paid Social — source matches social platforms AND medium matches paid pattern
  6. Paid Video — source matches video platforms AND medium matches paid pattern
  7. Display — medium matches `^(display|cpm|banner)$`
  8. Paid Other — medium matches paid pattern (catches remaining paid)
  9. Organic Shopping — source matches shopping sites OR campaign name matches
  10. Organic Social — source matches social platforms AND medium is `social|social-media|sm|social_media`
  11. Organic Video — medium is `organic_video` OR source matches video platforms
  12. Organic Search — source matches search engines OR medium is `organic`
  13. Email — source/medium contains `email|e-mail|e_mail|em`
  14. Affiliates — medium matches `affiliate|affiliates`
  15. Referral — medium is `referral|app|link`
  16. Unassigned — everything else

The #1 insight from this list: you can fall into Unassigned surprisingly easily. Any typo in utm_medium, any new medium value not on the list, any forgot-to-add UTM session — all goes to Unassigned, which is often 10-30% of traffic in poorly governed implementations.

The Five Most Common UTM Mistakes

1. Inconsistent Casing `utm_medium=Email` vs `utm_medium=email` vs `utm_medium=EMAIL`. Pick one (lowercase) and enforce it. GA4 is case-sensitive for channel grouping rules.

2. Missing UTMs on Internal Campaigns Teams often carefully UTM-tag external campaigns but forget internal promotions — homepage banners, in-app notifications, internal newsletters to existing users. These sessions appear as Direct or Referral, masking the real attribution.

3. UTMs on Internal Links Never put UTM parameters on links between pages on your own site. `https://yourdomain.com/pricing?utm_source=homepage&utm_medium=nav` will trigger a new session every time a user clicks that link, making your session count artificially inflate and fragmenting attribution.

4. Social Sharing UTMs Stripped Some social platforms strip query parameters when users share links. If your organic social posts are showing as Direct in GA4, this is likely why. Consider using link shorteners that preserve UTMs, or check whether the platforms you share on have this stripping behavior.

5. Paid Campaigns Without utm_campaign Running Google Ads without auto-tagging enabled, or using manual UTMs without `utm_campaign`? Your channel grouping may work but campaign-level reporting will be empty. Always include campaign, and if using Google Ads, enable auto-tagging instead of manual UTMs.

Building a UTM Governance System

Attribution quality compounds over time. One team member using the wrong medium in Q1 means your annual report is wrong. Build governance into your process:

UTM Builder Spreadsheet — Create a shared Google Sheet that generates UTM-tagged URLs from dropdowns. Limit medium options to the approved list. Make campaign naming follow the convention.

UTM Audit Dashboard — Build a GA4 Exploration report that shows traffic by source/medium combinations and flags anything landing in Unassigned or with suspicious values. Review this weekly.

Pre-campaign Checklist — Before any campaign launches, someone must verify: UTMs are present, values are from the approved list, no internal pages are being UTM-tagged, campaign name follows convention.

Monitoring UTM Quality in GA4

In GA4, go to Reports → Acquisition → Traffic Acquisition. Change the primary dimension to Session default channel group. If Unassigned is more than 5% of your total sessions, you have a UTM problem worth investigating.

Drill into Unassigned sessions and look at the Session source/medium secondary dimension. This will reveal the exact malformed UTM values causing the misattribution.

Use our UTM Guardrail tool to automatically monitor your GA4 property for naming violations and flag problematic source/medium combinations before they compound.

Clean UTMs are the foundation of trustworthy attribution. Fix them once, govern them continuously, and your channel reporting becomes a reliable business intelligence tool instead of a source of endless debate. Connect your GA4 and check your UTM health →

Check your GA4 implementation

Run a free AI-powered audit to see how your tracking stacks up.

Start Free Audit