GA4 Lowercase UTM Requirements: Complete Reference Guide
GA4 requires specific lowercase values for utm_medium to work with channel grouping. Here's the complete list of required formats and why they must be lowercase.
GA4's Default Channel Grouping has ONE non-negotiable requirement: utm_medium must be lowercase.
Not "mostly lowercase." Not "lowercase when you remember." Always lowercase.
Here's the complete reference guide for every GA4-recognized utm_medium value, why lowercase matters, and how to enforce it across your organization.
Table of contents
- Complete GA4 utmmedium Reference
- Paid Search / PPC
- Social
- Display
- Affiliates
- Referral
- Video/Audio/SMS (Additional Channels)
- Why Lowercase is Required
- Reason 1: Regex is Case-Sensitive
- Reason 2: Consistency Across Properties
- Reason 3: Technical Limitations
- Enforcing Lowercase Standards
- Method 1: URL Builder with Auto-Lowercase
- Method 2: Dropdown Lists
- Method 3: JavaScript Validation
- Method 4: Team Documentation
- Testing for Compliance
- Pre-Launch Test
- Monthly Audit
- Platform-Specific Lowercase Requirements
- Google Ads
- Facebook Ads
- Email Platforms
- Social Schedulers
- Common Questions
🚨 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
Complete GA4 utm_medium Reference
Paid Search / PPC
Required format: Lowercase
| ✅ Correct | ❌ Wrong | GA4 Channel |
|---|---|---|
cpc | CPC, Cpc, cPc | Paid Search |
ppc | PPC, Ppc | Paid Search |
paidsearch | PaidSearch, PAIDSEARCH | Paid Search |
Regex pattern: ^(cpc|ppc|paidsearch).*$
Examples that work:
utm_medium=cpcutm_medium=ppcutm_medium=cpc-brand(starts with cpc)
Examples that fail:
utm_medium=CPC→ Unassignedutm_medium=paid-search→ Unassigned (hyphen breaks pattern)
Required format: Exact match, lowercase
| ✅ Correct | ❌ Wrong | GA4 Channel |
|---|---|---|
email | EMAIL, Email, E-MAIL | |
e-mail | E-Mail, E-MAIL | |
e_mail | E_Mail, E_MAIL |
Regex pattern: ^(email|e-mail|e_mail|e mail)$
Note: Must match exactly (no suffixes like "email-promo").
Social
Required format: Contains "social" (lowercase)
| ✅ Correct | ❌ Wrong | GA4 Channel |
|---|---|---|
social | SOCIAL, Social | Organic Social |
social-network | Social-Network | Organic Social |
social-media | Social-Media | Organic Social |
paidsocial | PaidSocial, PAIDSOCIAL | Paid Social |
Regex pattern: Contains social|social-network|social-media|sm|social network|social media
Display
Required format: Starts with display/cpm/banner (lowercase)
| ✅ Correct | ❌ Wrong | GA4 Channel |
|---|---|---|
display | DISPLAY, Display | Display |
cpm | CPM, Cpm | Display |
banner | BANNER, Banner | Display |
Regex pattern: ^(display|cpm|banner).*$
Affiliates
Required format: Starts with "affiliate" (lowercase)
| ✅ Correct | ❌ Wrong | GA4 Channel |
|---|---|---|
affiliate | AFFILIATE, Affiliate | Affiliates |
affiliates | AFFILIATES | Affiliates |
Regex pattern: ^(affiliate|affiliates).*$
Referral
Required format: Starts with "referral" (lowercase)
| ✅ Correct | ❌ Wrong | GA4 Channel |
|---|---|---|
referral | REFERRAL, Referral | Referral |
Regex pattern: ^referral$
Video/Audio/SMS (Additional Channels)
| Medium | Format | GA4 Channel |
|---|---|---|
video | Lowercase | Video |
audio | Lowercase | Audio |
sms | Lowercase | SMS |
😰 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
Why Lowercase is Required
Reason 1: Regex is Case-Sensitive
GA4 channel grouping uses regex patterns that match exact character case.
Pattern: ^cpc$
Matches: cpc
Does NOT match: CPC, Cpc, cPc
There's no "fuzzy matching" or "close enough." Either it matches or it doesn't.
Reason 2: Consistency Across Properties
Google wants standardized reporting across all GA4 properties. Requiring lowercase ensures:
- Same UTM structure works everywhere
- Cross-property comparisons are valid
- Documentation applies universally
Reason 3: Technical Limitations
URL parameters are case-sensitive by default in web standards. GA4 doesn't normalize case because:
- Would require processing overhead
- Could cause unintended side effects
- Breaks standardization
Google's decision: Require lowercase, document it, enforce it.
Enforcing Lowercase Standards
Method 1: URL Builder with Auto-Lowercase
Google Sheets formula:
Column: utm_medium
Formula: =LOWER(B2)
Effect: No matter what user types, output is lowercase.
Method 2: Dropdown Lists
Data validation:
List of items: cpc,ppc,email,social,display,affiliate,referral,sms
Effect: User can only select pre-approved lowercase values.
Method 3: JavaScript Validation
Website URL builder:
function buildURL() {
let medium = document.getElementById('medium').value;
// Auto-convert to lowercase
medium = medium.toLowerCase();
// OR validate and reject uppercase
if (medium !== medium.toLowerCase()) {
alert("utm_medium must be lowercase");
return false;
}
// Build URL...
}Method 4: Team Documentation
Create a one-page quick reference:
UTM STANDARDS
utm_medium MUST be lowercase. Always.
✅ CORRECT:
- utm_medium=cpc
- utm_medium=email
- utm_medium=social
❌ WRONG:
- utm_medium=CPC
- utm_medium=Email
- utm_medium=SOCIAL
When in doubt: LOWERCASE.
Testing for Compliance
Pre-Launch Test
Before any campaign goes live:
- Copy test URL
- Visit your site using test URL
- GA4 → Realtime (wait 1-2 minutes)
- Check: Event with session_start
- Verify: Session medium shows lowercase value
- Confirm: Traffic assigned to correct channel (not Unassigned)
Monthly Audit
GA4 → Explore → Free Form:
- Dimension: Session medium
- Metrics: Sessions
- Export to CSV
Check for:
- Any uppercase values (CPC, EMAIL, SOCIAL)
- Mixed case (Cpc, Email)
- Immediately fix active campaigns
Platform-Specific Lowercase Requirements
Google Ads
Tracking template:
`{"{"}{"{"}lpurl{"}"}{"}"}}`?utm_source=google&utm_medium=cpc&utm_campaign={{_campaign}}
Note: Lowercase "cpc" is critical.
Facebook Ads
URL parameters:
utm_source=facebook&utm_medium=cpc&utm_campaign={"{"}{"{"}campaign.name{"}"}{"}"}}
Facebook doesn't auto-capitalize if you enter lowercase.
Email Platforms
Most email platforms default to lowercase:
- Mailchimp:
utm_medium=email(lowercase default) - SendGrid:
utm_medium=email(lowercase) - HubSpot: Check settings, may auto-capitalize
Always verify platform doesn't override to title case.
Social Schedulers
Buffer, Hootsuite, Later:
- Check UTM tracking settings
- Ensure medium is set to lowercase
- Test with one post before bulk scheduling
Common Questions
Q: Can I use utm_medium=Cpc (title case)?
A: No. Will appear as Unassigned. Must be all lowercase: cpc.
Q: What about utm_medium=CPC_Google (uppercase with suffix)?
A: Still fails. Must start with lowercase: cpc_google.
Q: Does uppercase break utm_source too? A: No, but creates data fragmentation (google vs Google appear as 2 sources). Best practice: Lowercase everything.
Q: Can I create custom channel groups to accept uppercase? A: Yes, but workaround. Better to fix utm_medium values to lowercase.
Q: Will GA4 ever support case-insensitive matching? A: No official plans. Google's position: Follow documented lowercase standards.
✅ 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