Complete List of GA4-Recognized utm_medium Values (2025 Guide)
The definitive reference for utm_medium values that GA4 actually recognizes. Includes regex patterns, channel mappings, and validation rules.
You're creating UTM parameters for a new campaign.
You type utm_medium=paid-social.
Will GA4 recognize it? Will it go to "Paid Social" or "Unassigned"?
Without a definitive reference list, you're guessing. And guessing wrong means broken attribution.
This is the complete, verified list of every utm_medium value that GA4 recognizes in 2025—with regex patterns, channel mappings, and real-world examples.
Bookmark this page. Use it before every campaign.
Table of contents
- How GA4 Channel Grouping Works
- Complete utmmedium Reference (Alphabetical)
- ✅ Recognized Values
- 🚫 Not Recognized (Common Mistakes)
- Channel-by-Channel Deep Dive
- Email Channel
- Paid Search Channel
- Paid Social Channel
- Organic Social Channel
- Display Channel
- Affiliates Channel
- Additional Channels
- Validation Testing: How to Verify utmmedium Works
- Method 1: Realtime Testing (Fastest)
- Method 2: Campaign URL Builder Preview
- Method 3: Regex Testing (Advanced)
- Quick Reference Cheat Sheet
- FAQ
- Why does "paid-social" (with hyphen) sometimes work?
- Can I use multiple medium values in one URL?
- What if I need more granular tracking than these channels provide?
- Does case matter?
- Can I create custom values and map them in GA4?
- How often does Google update these patterns?
- What about GA4 360 vs standard GA4?
🚨 Not sure what's breaking your tracking?
Run a free 60-second audit to check all 40+ ways UTM tracking can fail.
Scan Your Campaigns Free✓ No credit card ✓ See results instantly
How GA4 Channel Grouping Works
GA4 uses Default Channel Grouping rules to classify traffic into channels.
When a session arrives, GA4 checks UTM parameters against predefined regex patterns in this order:
- Paid Search - Highest priority
- Paid Social
- Paid Shopping
- Paid Video
- Display
- Paid Other
- Organic Search
- Organic Social
- Organic Video
- Affiliates
- Audio
- SMS
- Referral
- Direct
- Unassigned - Catch-all when nothing matches
Each channel has specific rules. If utm_medium doesn't match ANY rule, traffic goes to "Unassigned."
Complete utm_medium Reference (Alphabetical)
✅ Recognized Values
| utm_medium | Maps To Channel | Regex Pattern | Notes |
|---|---|---|---|
affiliate | Affiliates | Exact match: ^affiliate$ | Only exact match works |
audio | Audio | Exact match: ^audio$ | For podcast ads |
banner | Display | Exact match: ^banner$ | Singular, not "banners" |
cpc | Paid Search | Matches: cpc | Most common for paid search |
cpm | Display | Exact match: ^cpm$ | Cost per mille (1000 impressions) |
cpv | Paid Video | Contains: cpv | Cost per view (video ads) |
display | Display | Exact match: ^display$ | Standard display ads |
email | Exact match: ^email$ | Most reliable email value | |
e-mail | Exact match: ^e-mail$ | Hyphenated version (also works) | |
organic | Organic Search | Contains: organic | Usually auto-set by GA4 |
paidsearch | Paid Search | Exact match: ^paidsearch$ | Alternative to cpc/ppc |
paidsocial | Paid Social | Contains: paidsocial | Recommended for paid social |
ppc | Paid Search | Exact match: ^ppc$ | Pay-per-click |
referral | Referral | Exact match: ^referral$ | Usually auto-set |
sms | SMS | Exact match: ^sms$ | SMS marketing |
social | Organic Social | Contains: social | Organic social posts |
social-media | Organic Social | Exact match: ^social-media$ | Alternative |
social-network | Organic Social | Exact match: ^social-network$ | Alternative |
video | Organic Video | Contains: video | Organic video platforms |
🚫 Not Recognized (Common Mistakes)
| utm_medium | Intended Channel | Why It Fails | Use Instead |
|---|---|---|---|
newsletter | Not in pattern | email | |
paid-social | Paid Social | Hyphen may break pattern | paidsocial |
paid_social | Paid Social | Underscore not recognized | paidsocial |
retargeting | Display | Goes to "Paid Other" instead | display |
remarketing | Display | Not recognized | display |
partner | Affiliates | Not in pattern | affiliate |
influencer | Affiliates | Not recognized | affiliate |
banners | Display | Plural not recognized | banner (singular) |
sponsored | Affiliates/Display | Not recognized | affiliate or display |
PPC | Paid Search | Case-sensitive | ppc (lowercase) |
Email | Case-sensitive | email (lowercase) | |
socail | Social | Typo | social |
emai | Typo | email |
😰 Is this your only tracking issue?
This is just 1 of 40+ ways UTM tracking breaks. Most marketing teams have 8-12 critical issues they don't know about.
• 94% of sites have UTM errors
• Average: $8,400/month in wasted ad spend
• Fix time: 15 minutes with our report
✓ Connects directly to GA4 (read-only, secure)
✓ Scans 90 days of data in 2 minutes
✓ Prioritizes issues by revenue impact
✓ Shows exact sessions affected
Channel-by-Channel Deep Dive
Email Channel
Recognized utm_medium values:
email✅ (recommended)e-mail✅ (hyphenated version)
Regex pattern: Exact match ^(email|e-mail)$
Not recognized:
newsletter❌mail❌emails❌ (plural)e_mail❌ (underscore)Email❌ (uppercase)email-promotional❌ (has suffix)promo-email❌ (has prefix)
Examples:
✅ CORRECT
utm_source=mailchimp&utm_medium=email&utm_campaign=spring-sale
✅ CORRECT (hyphenated)
utm_source=newsletter&utm_medium=e-mail&utm_campaign=weekly-digest
❌ WRONG (creates Unassigned)
utm_source=mailchimp&utm_medium=newsletter&utm_campaign=spring-sale
❌ WRONG (case sensitive)
utm_source=mailchimp&utm_medium=Email&utm_campaign=spring-sale
Best practice: Always use utm_medium=email (no hyphen) for consistency.
Paid Search Channel
Recognized utm_medium values:
cpc✅ (most common)ppc✅ (alternative)paidsearch✅ (descriptive)
Regex pattern: Matches (cpc|ppc|paidsearch) anywhere in value
Additional pattern: Contains cp.* (anything starting with "cp")
Not recognized:
paid-search❌ (hyphen version)paid_search❌ (underscore)CPCorPPC❌ (uppercase)sem❌search❌ (alone)google-ads❌
Examples:
✅ CORRECT
utm_source=google&utm_medium=cpc&utm_campaign=brand-keywords
✅ CORRECT (alternative)
utm_source=bing&utm_medium=ppc&utm_campaign=competitor-keywords
✅ CORRECT (descriptive)
utm_source=google&utm_medium=paidsearch&utm_campaign=shopping
❌ WRONG (hyphen)
utm_source=google&utm_medium=paid-search&utm_campaign=brand
❌ WRONG (uppercase)
utm_source=google&utm_medium=CPC&utm_campaign=brand
Best practice: Use utm_medium=cpc for all paid search campaigns.
Paid Social Channel
Recognized utm_medium values:
paidsocial✅ (recommended, no hyphen)- Values matching pattern
.*cp.*with social utm_source ✅
Regex pattern:
- Contains
paidsocialOR - Contains
cp(like cpc) AND utm_source indicates social platform
Not recognized:
paid-social⚠️ (depends on GA4 version—avoid)paid_social❌ (underscore)social-paid❌facebook❌ (platform name)linkedin❌ (platform name)
Examples:
✅ CORRECT
utm_source=facebook&utm_medium=paidsocial&utm_campaign=spring-promo
✅ CORRECT (alternative with cpc pattern)
utm_source=linkedin&utm_medium=cpc&utm_campaign=lead-gen
❌ WRONG (hyphen—risky)
utm_source=facebook&utm_medium=paid-social&utm_campaign=spring-promo
❌ WRONG (platform in medium)
utm_source=spring-campaign&utm_medium=facebook&utm_campaign=promo
❌ WRONG (underscore)
utm_source=facebook&utm_medium=paid_social&utm_campaign=spring-promo
Best practice: Use utm_medium=paidsocial (no hyphen, no underscore) to ensure recognition across all GA4 versions.
Organic Social Channel
Recognized utm_medium values:
social✅ (most common)social-media✅ (alternative)social-network✅ (alternative)- Values containing
social✅
Regex pattern: Contains social
Not recognized:
sm❌ (abbreviation)socail❌ (typo)socialmedia❌ (no hyphen)
Examples:
✅ CORRECT
utm_source=twitter&utm_medium=social&utm_campaign=product-launch
✅ CORRECT (alternative)
utm_source=linkedin&utm_medium=social-media&utm_campaign=thought-leadership
❌ WRONG (abbreviation)
utm_source=facebook&utm_medium=sm&utm_campaign=organic-post
❌ WRONG (typo)
utm_source=twitter&utm_medium=socail&utm_campaign=announcement
Note: For organic social, you often don't need UTM parameters at all (GA4 will classify as "Organic Social" based on referrer). Use UTMs only when you need campaign-level tracking.
Display Channel
Recognized utm_medium values:
display✅ (recommended)cpm✅ (cost per thousand impressions)banner✅ (singular only)
Regex pattern: Exact match ^(display|cpm|banner)$
Not recognized:
banners❌ (plural)retargeting❌ (goes to "Paid Other" instead)remarketing❌programmatic❌native❌display-ads❌ (has suffix)
Examples:
✅ CORRECT
utm_source=google-display&utm_medium=display&utm_campaign=retargeting-cart-abandoners
✅ CORRECT (alternative)
utm_source=programmatic-platform&utm_medium=cpm&utm_campaign=awareness
✅ CORRECT (banner ads)
utm_source=ad-network&utm_medium=banner&utm_campaign=homepage-placement
❌ WRONG (plural)
utm_source=ad-network&utm_medium=banners&utm_campaign=homepage
❌ WRONG (not recognized—goes to Paid Other)
utm_source=google&utm_medium=retargeting&utm_campaign=cart-abandoners
Best practice: Use utm_medium=display for all display advertising, including retargeting.
Affiliates Channel
Recognized utm_medium values:
affiliate✅ (only this exact value works)
Regex pattern: Exact match ^affiliate$
Not recognized:
affiliates❌ (plural)partner❌influencer❌ambassador❌referral-partner❌
Examples:
✅ CORRECT
utm_source=impact&utm_medium=affiliate&utm_campaign=bloggers
✅ CORRECT
utm_source=shareasale&utm_medium=affiliate&utm_campaign=q1-2025
❌ WRONG (plural)
utm_source=cj&utm_medium=affiliates&utm_campaign=influencers
❌ WRONG (different term)
utm_source=partner-network&utm_medium=partner&utm_campaign=referrals
Best practice: Always use singular affiliate.
Additional Channels
SMS
- Recognized:
sms✅ - Pattern: Exact match
^sms$ - Not recognized:
text,SMS(uppercase)
Audio
- Recognized:
audio✅ - Pattern: Exact match
^audio$ - Use for: Podcast ads, audio streaming platforms
Video
- Recognized:
video✅ - Pattern: Contains
video - Use for: YouTube organic, video platform placements
Paid Video
- Recognized:
cpv✅ (cost per view) - Pattern: Contains
cpv - Use for: YouTube ads, video advertising
Validation Testing: How to Verify utm_medium Works
Method 1: Realtime Testing (Fastest)
-
Create test link with utm_medium:
Codehttps://yoursite.com?utm_source=test&utm_medium=YOURVALUE&utm_campaign=test -
Click the link in incognito browser
-
GA4 → Realtime (wait 30-60 seconds)
-
Check "Traffic acquisition" card → Session default channel group
-
If shows correct channel (not "Unassigned") → utm_medium works ✅
Method 2: Campaign URL Builder Preview
Use Google's Campaign URL Builder with GA4 preview:
- Go to ga-dev-tools.google/campaign-url-builder/
- Enter your utm_medium value
- Check preview (shows which channel GA4 will assign)
Note: Preview isn't always 100% accurate for complex patterns. Realtime testing is definitive.
Method 3: Regex Testing (Advanced)
Test your utm_medium against GA4 regex patterns:
Email pattern test:
^(email|e-mail)$Paid Search pattern test:
^(cpc|ppc|paidsearch)$|cp.*Social pattern test:
.*social.*Display pattern test:
^(display|cpm|banner)$Use regex101.com to test your utm_medium values against these patterns.
✅ Fixed this issue? Great! Now check the other 39...
You just fixed one tracking issue. But are your Google Ads doubling sessions? Is Facebook attribution broken? Are internal links overwriting campaigns?
• Connects to GA4 (read-only, OAuth secured)
• Scans 90 days of traffic in 2 minutes
• Prioritizes by revenue impact
• Free forever for monthly audits
Join 2,847 marketers fixing their tracking daily
Quick Reference Cheat Sheet
Print this and pin it to your desk:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GA4-RECOGNIZED utm_medium VALUES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Email Campaigns
utm_medium=email
✅ Paid Search (Google Ads, Bing Ads)
utm_medium=cpc
✅ Paid Social (Facebook, LinkedIn, etc.)
utm_medium=paidsocial
✅ Organic Social Posts
utm_medium=social
✅ Display Ads & Retargeting
utm_medium=display
✅ Affiliate Links
utm_medium=affiliate
✅ SMS Campaigns
utm_medium=sms
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
RULES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Always lowercase
2. Use exact values above
3. No hyphens in compound words (paidsocial, not paid-social)
4. No typos (automated validation recommended)
5. Platform names go in utm_source, NOT utm_medium
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FAQ
Why does "paid-social" (with hyphen) sometimes work?
GA4's channel grouping rules have evolved. In some GA4 versions, paid-social may match the Paid Social pattern because it contains "social." However, this isn't guaranteed across all GA4 implementations. Use paidsocial (no hyphen) to ensure consistent recognition.
Can I use multiple medium values in one URL?
No. utm_medium accepts only one value. If you need to track multiple dimensions, use utm_campaign or utm_content.
What if I need more granular tracking than these channels provide?
Use utm_campaign or utm_content for granularity:
utm_medium=email(channel)utm_campaign=promotional-spring-sale(specific campaign)utm_content=hero-banner(specific placement)
Does case matter?
Yes. GA4's regex patterns are case-sensitive and expect lowercase. Always use lowercase utm_medium values.
Can I create custom values and map them in GA4?
You can create custom channel groups in GA4 to map non-standard values, but:
- They don't work in standard reports (only Explorations)
- They must be manually created for every GA4 property
- They don't transfer to Looker Studio automatically
It's better to use GA4-recognized values from the start.
How often does Google update these patterns?
Rarely. GA4's Default Channel Grouping patterns have been stable since GA4 launched (2020). They're unlikely to change significantly.
What about GA4 360 vs standard GA4?
Channel grouping rules are identical between GA4 and GA4 360. Both use the same utm_medium recognition patterns.