GA4 UTM Parameter Breakdown & Reporting Roles
Understanding the 7 standard campaign parameters recognized by Google Analytics 4
| Parameter Key | Requirement | Example Value | GA4 Reporting Dimension | Description & Use Case |
|---|---|---|---|---|
| utm_source | Required | google, facebook, newsletter | Session source / First user source | Identifies the specific platform, advertiser, or publisher referring traffic. |
| utm_medium | Required | cpc, paid-social, email | Session medium / Default Channel Group | Categorizes the high-level marketing mechanism used to acquire the visitor. |
| utm_campaign | Required | summer_launch_2026 | Session campaign | Names the individual marketing initiative, seasonal promo, or product launch. |
| utm_term | Optional | seo_tools_free | Session manual term | Tracks specific paid search keywords or audience segment targets. |
| utm_content | Optional | hero_btn_blue vs sidebar_cta | Session manual ad content | Differentiates between creative variations, ad formats, or button positions. |
| utm_id | Optional | camp_104 | Campaign ID | Links external ad spend data (Meta, TikTok) with GA4 revenue via Data Import. |
| utm_source_platform | Optional | Google Ads, Meta Ads | Source platform | Identifies the media-buying platform responsible for budgeting or ad delivery. |
GA4 Default Channel Grouping Matrix
Ensure your traffic is correctly categorized in Google Analytics reports without landing in "Unassigned"
| Default Channel Group | Required utm_medium Values | utm_source Requirements | Common Examples |
|---|---|---|---|
| Paid Search | cpc, ppc, paidsearch | Recognized search engines (google, bing, yahoo) | utm_source=google&utm_medium=cpc |
| Paid Social | paid-social, paidsocial, paid_social, cpc | Recognized social sites (facebook, instagram, linkedin, tiktok) | utm_source=facebook&utm_medium=paid-social |
| email, e-mail, e_mail, newsletter | Any source (newsletter, klaviyo, mailchimp) | utm_source=newsletter&utm_medium=email | |
| Affiliates | affiliate, affiliates, partner | Any partner or creator name | utm_source=influencer_name&utm_medium=affiliate |
| Display | display, banner, cpm | Ad networks or direct media buys | utm_source=adroll&utm_medium=display |
UTM Tracking Best Practices & Critical Anti-Patterns
Preserve clean session attribution and avoid common data fragmentation mistakes
CRITICAL RULE: Never Tag Internal Site Links with UTMs
UTM parameters are exclusively designed for inbound external marketing links. If you put UTM tags on an internal banner or header navigation on your own site, clicking that link immediately terminates the visitor's existing session, resets the attribution model, and credits all subsequent conversions to your internal tag rather than the original external campaign (Google Ads, Facebook, or Organic Search).
Next.js & SPA Client Routing Attribution Alert
Running a Next.js or React SPA? Avoid attribution loss caused by client-side navigation. Read our engineering breakdown: Why GA4 Strips UTM Parameters on SPA Route Transitions (And How to Fix It).
Prevent Duplicate Rows in GA4
In GA4, utm_source=Google and utm_source=google are treated as separate channels. Use our Auto-Sanitizer to convert every input to lowercase automatically.
Use Underscores or Hyphens
Never use spaces in parameter values, which get URL-encoded into messy %20 strings. Adopt a strict standard like summer_sale_2026 company-wide.
Avoid "Unassigned" Buckets
Always use standard medium values (e.g. cpc, paid-social, email). Custom arbitrary words like my_ad will be lumped into "Unassigned".
Frequently Asked Questions (FAQ)
Expert answers to Google Analytics 4 campaign URL tracking and UTM parameter best practices
What is a campaign URL builder?
A campaign URL builder is a specialized utility that appends standardized query string parameters (known as UTM parameters) to a destination website link. These parameters allow web analytics platforms like Google Analytics 4 (GA4) to track and attribute incoming visitor sessions, conversion rates, and revenue back to the exact marketing channel, campaign name, and creative variant.
How does GA4 record UTM parameters?
When a visitor lands on a website via a link with UTM parameters, Google Analytics 4 automatically extracts utm_source, utm_medium, utm_campaign, utm_term, and utm_content from the URL string. GA4 matches these values against its Default Channel Grouping regex rules (e.g., mapping utm_medium=cpc to Paid Search or utm_medium=email to Email) and records them in session-scoped and user-scoped attribution dimensions.
Can I shorten campaign URLs safely?
Yes, you can safely pass UTM-tagged URLs through URL shorteners (such as Bitly, TinyURL, or custom branded short domains) or QR codes. When a user clicks the shortened link, the server issues an HTTP 301 or 302 redirect that preserves the full destination URL including all UTM query parameters, allowing GA4 to capture attribution without data loss.
Are UTM parameters case-sensitive in Google Analytics 4 (GA4)?
Yes, UTM parameters are strictly case-sensitive in GA4. If you use 'utm_source=facebook', 'utm_source=Facebook', and 'utm_source=FACEBOOK', Google Analytics 4 will record these as three completely separate traffic sources, fragmenting your campaign reports. Always enforce lowercase conventions company-wide.
Why should you never use UTM parameters on internal website links?
Adding UTM parameters to internal site links (such as header navigation or internal blog links) immediately overwrites the visitor's original acquisition source and starts a new artificial session in GA4. This destroys your ability to track which marketing channel originally brought the user to your site and skews conversion attribution.
How does GA4 Default Channel Grouping classify utm_medium?
GA4 uses built-in regex rules to automatically map utm_medium values to Default Channel Groups. For example, 'cpc', 'ppc', or 'paidsearch' maps to Paid Search; 'email' maps to Email; 'paid-social' or 'paid_social' maps to Paid Social; and 'affiliate' maps to Affiliates. Using non-standard medium names causes traffic to be classified as 'Unassigned'.
What is the difference between utm_term and utm_content in GA4?
The 'utm_term' parameter is used primarily in paid search campaigns to record the specific keyword or search query that triggered an advertisement. The 'utm_content' parameter is used to differentiate between specific creative variants, banner sizes, or link locations (e.g. 'hero_cta' vs. 'footer_link') pointing to the same destination URL.
What is the utm_id parameter used for in Google Analytics 4?
The 'utm_id' parameter represents the Campaign ID. It is primarily used to stitch and import external cost and ad spend data (such as non-Google advertising costs from Facebook or LinkedIn) directly into GA4 via Data Import using a CSV spreadsheet or automated API connector.
Complementary SEO & Traffic Optimization Utilities
Supercharge your organic Google click-through rates and social sharing performance
Google SERP Simulator & Meta Pixel Counter
Test and optimize your SEO title and description with pixel accuracy against Google's 600px desktop and 580px mobile limits. Includes AI snippet generation powered by Google Gemini.
Open Graph & Social Card Simulator
Test and validate how your 1200x630 featured images, titles, and descriptions unfurl across Twitter (X), Facebook, LinkedIn, Discord, and messaging apps. Instant HTML meta tag export.
Why GA4 Strips UTM Parameters on SPA Route Transitions (And How to Fix It)
Diagnose why Next.js App Router and SPA client transitions lose UTM campaign attribution, causing paid traffic to register as (direct) / (none), with battle-tested session persistence fixes.