What Are UTM Parameters?
UTM parameters (Urchin Tracking Modules) are short text snippets appended to any destination URL as query string key-value pairs. When a visitor clicks a tagged link, Google Analytics 4 reads these parameters and stores the marketing context as session-level dimensions - enabling precise attribution to the exact campaign, channel, and creative that drove each conversion.
A fully tagged URL looks like this:
https://example.com/landing?utm_source=google&utm_medium=cpc&utm_campaign=spring_launch_2025&utm_content=search_ad_v1&utm_term=utm+builder+tool
UTM tags are the backbone of every digital marketing attribution model. Without them, organic and paid traffic is often misattributed - social clicks appear as Direct, newsletter traffic is lost, and ad spend cannot be confidently tied to revenue outcomes.
🔎 How GA4 Reads UTM Parameters
GA4 reads UTM parameters on page load via the JavaScript SDK. They are stored as session-scoped dimensions in BigQuery export and campaign reports. They persist for the duration of the session (30 minutes of inactivity by default) and influence both Last Click and Data-Driven attribution models.
Complete UTM Parameter Reference Table
Google Analytics 4 supports 6 standard UTM parameters. Each maps to a specific GA4 dimension name you can use in reports and explorations:
| Parameter |
Required? |
GA4 Dimension Name |
Max Length |
Accepted Characters |
utm_source |
Required |
Session source / First user source |
No hard limit (keep <100 chars) |
Lowercase alphanumeric, hyphens, underscores |
utm_medium |
Strongly Recommended |
Session medium / First user medium |
No hard limit (keep <50 chars) |
Lowercase alphanumeric, hyphens, underscores |
utm_campaign |
Recommended |
Session campaign / First user campaign |
No hard limit (keep <100 chars) |
Lowercase alphanumeric, hyphens, underscores |
utm_id |
Optional |
Campaign ID |
No hard limit |
Alphanumeric and common symbols |
utm_term |
Optional (Paid Search) |
Session manual ad term |
No hard limit |
Lowercase, URL-encoded spaces as + or %20 |
utm_content |
Optional (A/B testing) |
Session manual ad content |
No hard limit (keep <100 chars) |
Lowercase alphanumeric, hyphens, underscores |
utm_source - Campaign Source Parameter
Definition: Identifies the specific referrer, publisher, platform, or origin that sent traffic to your website. It answers the question: "Where did this visitor come from?"
GA4 Dimension: Session source and First user source
Recommended utm_source Values by Channel
| Platform / Origin |
Recommended utm_source Value |
Notes |
| Google Search Ads |
google |
GA4 recognizes this as a paid search source when paired with medium=cpc. |
| Bing / Microsoft Ads |
bing |
Use consistently; avoid microsoft or msn to prevent report fragmentation. |
| Facebook & Instagram Ads |
facebook |
GA4 recognizes facebook as a social network source. |
| LinkedIn Sponsored |
linkedin |
GA4 recognizes linkedin as a social network source. |
| Email Newsletter |
newsletter |
Use the specific list or tool name: mailchimp, klaviyo, weekly_digest. |
| Affiliate / Partner |
partner_name |
Use the specific affiliate or partner website name for granular attribution. |
| Print / Offline (QR Code) |
conference_booth |
Use descriptive offline identifiers: store_signage, event_badge. |
utm_medium - Campaign Medium Parameter
Definition: Identifies the broad marketing channel or advertising method. It answers: "What type of marketing activity drove this traffic?" This is the most critical parameter for GA4 Default Channel Grouping - it is evaluated against regular expressions to classify sessions.
GA4 Dimension: Session medium and First user medium
GA4 Default Channel Grouping - Accepted Medium Values
| GA4 Channel Group |
Valid utm_medium Values |
Invalid / Risky Values (Avoid) |
| Paid Search |
cpc, ppc, paid-search |
cpc-ads, paid_search, search |
| Paid Social |
paid_social, cpc, paid-social |
social_ad, social-media, facebook_ad |
| Organic Social |
social, social-network |
organic_social, instagram (as medium) |
| Email |
email |
email-blast, newsletter (as medium), mailing |
| Display |
display, banner, expandable |
display-ads, gdn, programmatic |
| Affiliates |
affiliate, affiliates |
partner, referral-partner |
| Referral |
referral, app |
link, blog |
⚠️ The Single Most Costly utm_medium Mistake
Using utm_medium=email as utm_source instead of utm_medium is the #1 error teams make. Source = where it came from (a specific newsletter name). Medium = what type of channel (email). They are different fields.
utm_campaign, utm_id, utm_term & utm_content
utm_campaign - Campaign Name
Names the specific marketing initiative. Use descriptive, structured values: product_launch_q4_2025, summer_sale_us, brand_awareness_emea.
GA4 Dimension: Session campaign & First user campaign
Best Practices: Never use spaces. Use underscores or hyphens as word separators. Include quarter and year for temporal filtering: campaign_name_q4_2025.
utm_id - Campaign Identifier
A unique alphanumeric ID that matches the campaign record in your ad platform, CRM, or data warehouse. Essential for GA4 Cost Data Import to tie advertising spend to conversion outcomes in GA4 Advertising reports.
GA4 Dimension: Campaign ID
Example: utm_id=meta_c00298171 - where the value matches your Meta Ads campaign ID.
utm_term - Keyword or Audience Targeting
Primarily used for paid search to capture the keyword that triggered the ad. In Google Ads, use the {keyword} ValueTrack macro to auto-populate. In display or social, use it to identify the audience segment or targeting criterion.
GA4 Dimension: Session manual ad term
utm_content - Creative Variant or CTA Label
Differentiates between multiple creatives, ad copy versions, or calls-to-action within the same campaign. Ideal for A/B creative testing: hero_image_blue vs hero_image_green.
GA4 Dimension: Session manual ad content
9 UTM Parameter Mistakes That Destroy Analytics
- Uppercase characters:
Google and google create two different rows in GA4 reports.
- Spaces in parameter values: Spaces must be replaced with hyphens or underscores to avoid URL encoding issues.
- Tagging internal links: Avoid campaign UTMs between pages on your own domain. GA4 does not start a new session, but mid-session campaign values can distort event-scoped attribution. Use internal-promotion events instead.
- Missing utm_medium: Sessions without a recognized medium value fall into (Unassigned) in the Default Channel Grouping report.
- Inventing custom mediums: Channels like
promo, organic_social, pdf, and blog_post do not match GA4's built-in regex rules and generate (Unassigned) rows.
- Using #hash anchors before UTM tags: Query parameters placed after a # hash fragment are never sent to the web server or analytics.
- Double-tagging redirected URLs: Adding UTMs to a URL that already has UTMs (e.g. via a redirect) creates duplicate or malformed parameter strings.
- URL-encoding the & delimiter: Some tools double-encode
& resulting in broken parameter strings.
- Inconsistent capitalization across the team: Without a shared taxonomy document, each team member invents their own casing and naming conventions, permanently fragmenting reports.
✅ Solve All 9 Problems Automatically
The UTMCraft Campaign URL Builder enforces lowercase, strips duplicate UTMs, validates GA4 channel compliance in real time, and warns you about each of these errors before you deploy your links.
Frequently Asked Questions About UTM Parameters
What does UTM stand for?
UTM stands for Urchin Tracking Module, named after Urchin Software, the web analytics company acquired by Google in 2005. Urchin's tracking technology became the foundation of Google Analytics.
Do UTM parameters affect SEO rankings?
No. UTM parameters carry no PageRank or ranking signals. However, if Google crawls and indexes UTM-parameterized URLs instead of clean canonical URLs, it may create duplicate content issues. Always set a canonical tag on landing pages and optionally configure Google Search Console's URL Parameters to ignore UTM variants.
Are UTM parameters visible to website visitors?
Yes. They appear in the browser's address bar after a visitor clicks a tagged link. This is normal. To hide them from end users in shared links, use the built-in URL shortener in UTMCraft, which creates a clean redirect with the full UTM string preserved behind the short link.
Can I use UTM parameters on non-Google Analytics platforms?
Yes. Many analytics platforms - including Adobe Analytics, Matomo, Heap, Amplitude, and Segment - support UTM parameter ingestion. While the specific dimension names may differ, the underlying URL structure is universal and platform-agnostic.
Does GA4 attribute conversions based on first click or last click UTMs?
By default, GA4 uses a Last Click model for standard reports. However, the Advertising reports use Data-Driven Attribution (DDA) when sufficient data exists, which distributes conversion credit proportionally across all touchpoints recorded during the conversion window.