Complete UTM Parameters Guide for GA4: Manual Campaign Dimensions & Best Practices

Find out what the nine GA4 UTM parameters do, how to format their values and which reporting limitations to check before using them.

Technical schematic detailing the 9 UTM parameters mapping to GA4 session and event dimensions
Table of Contents
  1. The Nine UTM Parameters in GA4
  2. How GA4 Maps Parameters to Manual Dimensions
  3. utm_creative_format & utm_marketing_tactic: Current Realities
  4. Syntax, Parameter Order & URL Encoding Rules
  5. UTM Parameters vs Click IDs (GCLID, FBCLID)
  6. Parameter Mistakes to Check
  7. Frequently Asked Questions

GA4 recognizes nine manual campaign parameters, though not all have the same reporting support. This guide explains what each parameter is for, how to format its value and where to check the resulting data.

Google documents the traditional manual parameters plus utm_source_platform, utm_creative_format, and utm_marketing_tactic; Google also separately documents and recommends utm_id. Google notes that utm_creative_format and utm_marketing_tactic are not currently reported in GA4 properties.

The six commonly used/core parameters are utm_source, utm_medium, utm_campaign, utm_id, utm_term, and utm_content. The three additional GA4 parameters are utm_source_platform, utm_creative_format, and utm_marketing_tactic.

The Nine UTM Parameters in GA4

The table below lists the nine UTM parameters, their uses and reporting limitations:

UTM Parameter Classification Requirement GA4 Dimension Reporting Status
utm_source Core Parameter Required Session source / First user source / Manual source Available in all standard reports
utm_medium Core Parameter Required Session medium / First user medium / Manual medium Available in all standard reports (determines channel grouping)
utm_campaign Core Parameter Recommended Session campaign / First user campaign / Manual campaign Available in all standard reports
utm_id Core Parameter Recommended by Google Campaign ID / Session campaign ID / Manual campaign ID Available in standard & Advertising reports; used for Cost Data Import
utm_term Core Parameter Optional Session manual ad term / Manual term Available in standard reports & Explorations
utm_content Core Parameter Optional Session manual ad content / Manual ad content Available in standard reports & Explorations
utm_source_platform Additional GA4 Parameter Optional Manual source platform Available in GA4 reports & BigQuery export
utm_creative_format Additional GA4 Parameter Optional Manual creative format Reporting limitation: Google notes this is not currently reported in GA4 properties
utm_marketing_tactic Additional GA4 Parameter Optional Manual marketing tactic Reporting limitation: Google notes this is not currently reported in GA4 properties

How GA4 Maps Parameters to Manual Dimensions

In GA4 reports, campaign data is exposed across three distinct dimension scopes:

  • First user scope: (e.g. First user source / medium) Attributes the user's very first lifetime session to the channel that initially acquired them.
  • Session scope: (e.g. Session source / medium) Attributes the specific session to the channel that drove that particular visit.
  • Manual event scope: (e.g. Manual source, Manual medium, Manual campaign) Captures the raw parameters passed explicitly in the landing page query string, independent of attribution modeling.

utm_creative_format & utm_marketing_tactic: Current Realities

Google introduced utm_creative_format and utm_marketing_tactic specifically for GA4. However, you must understand their current reporting limitations:

Reporting Limitation Notice

Google officially notes that utm_creative_format and utm_marketing_tactic are not currently reported in Google Analytics 4 properties. While GA4 captures these values on incoming hits and makes them available in the BigQuery Event Export and custom explorations (as Manual creative format and Manual marketing tactic), they do not appear in standard pre-built property reports and do not influence Default Channel Grouping rules.

Syntax, Parameter Order & URL Encoding Rules

A query string begins with a question mark (?) and chains key-value pairs with ampersands (&). While the order of parameters does not technically matter to web servers or the GA4 collection script, establishing a consistent parameter order makes debugging substantially easier:

https://example.com/landing?utm_source=google&utm_medium=cpc&utm_campaign=brand-search&utm_term={keyword}&utm_content=headline-a&utm_id=12345

URL Encoding Requirements

According to RFC 3986, characters outside the unreserved character set (letters, numbers, -, _, ., ~) must be percent-encoded:

  • Spaces become %20 or +. (Best practice: avoid spaces completely by using hyphens or underscores).
  • Ampersands inside parameter values must be encoded as %26. (e.g. utm_campaign=sales%26marketing).
  • Question marks inside values must be encoded as %3F.

UTM Parameters vs Click IDs (GCLID, FBCLID)

Feature UTM Parameters Platform Click IDs (e.g. GCLID)
Human Readable Yes (plain text key-value pairs) No (opaque click identifiers)
Platform Portability Universal across GA4, Adobe, Mixpanel, CRMs Proprietary to the issuing ad network
Data Richness Only captures values explicitly typed Unlocks auction cost, impressions, match types, ad groups
Privacy Degradation Resistant to link decoration stripping Frequently stripped by Safari ITP, Brave, iOS Mail Protection

UTM Parameters vs HTTP Referrer Data

When a visitor navigates to your site without UTM parameters, analytics platforms inspect the browser's HTTP Referer request header. However, referrer headers are increasingly unreliable:

  • Mobile apps (Instagram, TikTok, LinkedIn) frequently pass empty referrers when launching in-app webviews.
  • Privacy headers (Referrer-Policy: no-referrer) intentionally strip domain origins.
  • Navigating from HTTPS to HTTP strips the referrer header entirely.

UTM parameters override referrer data in GA4, ensuring attribution even when referrer headers are completely absent.

Parameter Mistakes to Check

Placing Anchor Hashes (#) Before Query Parameters (?)

Browsers treat everything after the hash # as a client-side fragment identifier, not server query parameters. If you format a link as:
https://example.com/#pricing?utm_source=google
Web servers and analytics tracking libraries will completely ignore the UTM parameters. The hash must always be placed at the very end:
https://example.com/?utm_source=google#pricing

Frequently Asked Questions

Are UTM parameters case-sensitive in Google Analytics 4?

GA4 default channel definitions are not case-sensitive. Differently capitalized manual source or campaign values can appear as separate values in reports, so using a consistent convention such as lowercase can make reporting easier to compare.

How can missing utm_source or utm_medium affect reporting?

If utm_source or utm_medium is missing, GA4 has less campaign information available for channel classification. It may use other information, such as referrer or advertising data, and can assign Unassigned when no applicable default channel definition matches. Check the collected source, medium, referrer, and other campaign information before diagnosing a session.

Why doesn't GA4 report utm_creative_format in standard campaign dashboards?

Google Analytics 4 collects utm_creative_format into the Manual creative format dimension. However, it does not currently map into standard Default Channel Groups or pre-configured Traffic Acquisition dashboard cards. To analyze it, you must build a custom report in GA4 Explorations or query the BigQuery Event Export.

What is the difference between utm_term and utm_content?

utm_term was originally designed for search keywords (e.g. crm+software or dynamic ValueTrack {keyword}). utm_content is designed for creative asset differentiation, such as A/B testing variations (e.g. blue-cta-btn vs green-cta-btn) or distinguishing header links from footer links in an email.

Choose a focused guide

Use these guides when you need to investigate a specific part of this topic.

References