GA4 UTM Parameters: Best Practices, Naming Conventions, and Common Mistakes
Complete guide to UTM parameters in GA4. Proper naming conventions, common mistakes that break attribution, and templates for every marketing channel.
Bad UTM practices are the single biggest cause of broken attribution in GA4. If your campaign names are inconsistent, your traffic source reports are lying to you.
The Five UTM Parameters
| Parameter | Required? | Purpose | Example |
|---|---|---|---|
| `utm_source` | Yes | Where the traffic comes from | `google`, `facebook`, `newsletter` |
| `utm_medium` | Yes | Marketing medium | `cpc`, `email`, `social`, `referral` |
| `utm_campaign` | Yes | Campaign name | `spring_sale_2026` |
| `utm_term` | No | Paid search keyword | `running+shoes` |
| `utm_content` | No | Differentiates creatives | `hero_banner`, `sidebar_ad` |
GA4 also supports utm_source_platform (e.g., SearchAds360, DV360).
Naming Conventions That Prevent Chaos
UTM parameters are case-sensitive in GA4. Email, email, and EMAIL are three different mediums. Establish these rules:
Rule 1: Always Use Lowercase
GOOD: utm_source=facebook&utm_medium=paid_social
BAD: utm_source=Facebook&utm_medium=Paid_SocialRule 2: Use Underscores, Not Spaces or Hyphens
GOOD: utm_campaign=spring_sale_2026
BAD: utm_campaign=spring-sale-2026
BAD: utm_campaign=spring%20sale%202026Rule 3: Use Standard Medium Values
GA4 maps utm_medium to channel groups. Using non-standard values breaks this mapping:
| Channel Group | Required utm_medium |
|---|---|
| Paid Search | `cpc`, `ppc`, `paidsearch` |
| Paid Social | `paid_social`, `paidsocial` |
| Display | `display`, `cpm`, `banner` |
| `email` | |
| Organic Social | `social`, `organic_social` |
| Affiliate | `affiliate` |
| Referral | `referral` |
Critical mistake: Setting Facebook ads to `utm_medium=social` instead of `utm_medium=paid_social`. This makes paid Facebook traffic appear as "Organic Social" in GA4.
Rule 4: Consistent Campaign Naming
Use a structure: {initiative}_{audience}_{month_year}
utm_campaign=spring_sale_retargeting_apr2026
utm_campaign=webinar_enterprise_mar2026
utm_campaign=product_launch_broad_apr2026UTM Templates by Channel
Google Ads: Do not use UTMs. Enable auto-tagging instead (it uses `gclid`). UTMs on Google Ads can conflict with auto-tagging.
Facebook/Meta Ads:
```
utm_source=facebook&utm_medium=paid_social&utm_campaign={{campaign.name}}&utm_content={{ad.name}}
```
Email (Mailchimp, HubSpot, etc.):
```
utm_source=mailchimp&utm_medium=email&utm_campaign=weekly_newsletter_apr2026&utm_content=header_cta
```
LinkedIn Ads:
```
utm_source=linkedin&utm_medium=paid_social&utm_campaign={{CAMPAIGN_NAME}}&utm_content={{CREATIVE_NAME}}
```
Organic social posts:
```
utm_source=twitter&utm_medium=organic_social&utm_campaign=thought_leadership
```
Common UTM Mistakes
1. UTMs on internal links. Never put UTM parameters on links within your own site. This overwrites the original traffic source. A user who came from Google, clicked an internal UTM link, and then converted would be attributed to the internal link, not Google.
2. UTMs on Google Ads. Auto-tagging (gclid) is more accurate and automatically populates campaign data in GA4. Adding UTMs creates conflicts.
3. Inconsistent capitalization. Facebook and facebook show as separate sources. Enforce lowercase.
4. Missing utm_medium. Without medium, GA4 cannot assign the correct channel group. The traffic falls into "Unassigned."
5. Redirect chains stripping UTMs. Some URL shorteners, redirects, or CDNs strip query parameters. Test your full URL chain to make sure UTMs survive.
Auditing Your UTM Hygiene
Check your current UTM health in GA4:
- Go to Reports > Acquisition > Traffic acquisition
- Change the primary dimension to "Session source / medium"
- Look for:
- - Duplicate sources with different cases (`Facebook` vs `facebook`)
- - Traffic in "Unassigned" channel (missing or wrong utm_medium)
- - Your own domain appearing as a source (internal UTMs or missing cross-domain config)
Check if your GA4 is set up correctly — run your audit →
Check your GA4 implementation
Run a free AI-powered audit to see how your tracking stacks up.
Start Free Audit