What Are UTM Parameters?
The complete technical guide to campaign attribution, GA4 channel mapping rules, and URL parameter syntax standards.
Technical Overview
UTM parameters (Urchin Tracking Module parameters) are standardized query string key-value pairs appended to a URL to transmit campaign metadata to analytics and attribution engines. When a user clicks a UTM-tagged URL, client-side tracking libraries (such as Google Analytics 4 gtag.js, Segment, Snowplow, PostHog, or Matomo) parse the query parameters and record the session acquisition source without modifying page rendering.
5 Core + 3 GA4
RFC 3986 URI
Universal
Anatomy of a UTM-Tagged URL
Under the RFC 3986 Uniform Resource Identifier (URI) specification, a URL consists of distinct components: scheme, authority (domain), path, query string, and optional fragment. UTM parameters exist exclusively within the query string component.
Initiates the query string. A URL can contain only one question mark. All subsequent parameters must be delimited by ampersands.
Separates individual key-value pairs. Placing a second ? instead of & breaks parameter parsing.
Complete UTM Parameter Specification Matrix
Google Analytics 4 supports the 5 original Urchin parameters plus 3 modern parameters introduced for programmatic and omnichannel campaign tracking.
| Parameter | Status | Purpose & Scope | Compliant Example |
|---|---|---|---|
| utm_source | Required | Identifies the specific platform, publisher, or vendor sending traffic. | google, facebook, newsletter |
| utm_medium | Required for GA4 | The high-level marketing channel or advertising vehicle. Directs GA4 Channel Grouping. | cpc, email, paid_social, affiliate |
| utm_campaign | Recommended | Specific campaign name, promotional theme, or strategic objective. | summer_sale_2026, q3_retargeting |
| utm_term | Optional | Paid search keywords or targeted audience sub-segments. | running_shoes, crm_software |
| utm_content | Optional | Differentiates ad creative variants, copy versions, or distinct CTA buttons for A/B testing. | hero_blue_cta, carousel_v2 |
| utm_id | GA4 Extended | Unique Campaign ID used to join offline campaign cost data via Data Import. | camp_98214 |
| utm_source_platform | GA4 Extended | The platform responsible for directing traffic (e.g. Search Ads 360, DV360, manual). | sa360, meta_ads_manager |
| utm_creative_format | GA4 Extended | Identifies the creative asset type (e.g. video, carousel, dynamic product ad). | video_15s, carousel, story |
GA4 Default Channel Grouping Rules
Google Analytics 4 uses rigid regex matching on utm_medium and utm_source to categorize sessions into default channels. If you use non-standard medium names (like utm_medium=promoted_post), GA4 will dump the traffic into Unassigned, blinding your attribution reports.
| GA4 Channel Group | Required utm_medium Matching Rule | Common Valid Examples |
|---|---|---|
| Paid Search | cpc | ppc | paidsearch | utm_medium=cpc |
| Paid Social | paidsocial | paid_social | paid-social | utm_medium=paid_social |
| Paid Video | cpv | cpa | paid_video | video | utm_medium=cpv |
| email | e-mail | e_mail | newsletter | utm_medium=email | |
| Affiliates | affiliate | affiliates | partner | utm_medium=affiliate |
| Display / Banner | display | cpm | banner | utm_medium=display |
Multi-Platform Tagging Cheat Sheet
Copyable real-world UTM configurations formatted to GA4 specifications:
?utm_source=facebook&utm_medium=paid_social&utm_campaign=%7B%7Bcampaign.name%7D%7D&utm_content=%7B%7Bad.name%7D%7D?utm_source=klaviyo&utm_medium=email&utm_campaign=weekly_newsletter_2026_09&utm_content=header_cta?utm_source=tiktok&utm_medium=paid_social&utm_campaign=brand_awareness_genz&utm_content=ugc_video_01Critical UTM Implementation Traps
Internal Link Destruction
Never use UTM tags on internal buttons, navigation bars, or home page banners. Doing so immediately resets the visitor's session in GA4, wiping out original attribution from Google Ads or SEO and attributing the conversion to yourself.
Server 301 Redirect Parameter Stripping
If your short link or HTTP-to-HTTPS redirect strips query strings (e.g. http://example.com?utm_source=meta redirects to https://example.com without preserving parameters), your analytics tool records pure Direct traffic.
Case Sensitivity Fracturing
GA4 evaluates strings strictly. utm_source=Google, utm_source=google, and utm_source=GOOGLE will appear as 3 separate line items in reports, fragmenting channel performance. Always enforce lowercase.
Hash Fragment Misplacement (#)
Placing UTMs after anchor hashes (e.g., example.com/#pricing?utm_source=fb) causes server-side parsers and certain tag managers to ignore the query string completely. Place UTMs before the hash.
Frequently Asked Questions
Technical answers to complex marketing attribution and campaign tracking questions.
Audit Your Marketing Links Before Launch
Don't let syntax errors or case-sensitivity flaws corrupt your attribution. Use our free tools to build and validate campaign URLs.