Home/Blog/GA4 Attribution
GA4 Attribution9 min read

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.

GA4, UTM, attribution, campaign tracking, marketing

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

ParameterRequired?PurposeExample
`utm_source`YesWhere the traffic comes from`google`, `facebook`, `newsletter`
`utm_medium`YesMarketing medium`cpc`, `email`, `social`, `referral`
`utm_campaign`YesCampaign name`spring_sale_2026`
`utm_term`NoPaid search keyword`running+shoes`
`utm_content`NoDifferentiates 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_Social

Rule 2: Use Underscores, Not Spaces or Hyphens

GOOD: utm_campaign=spring_sale_2026
BAD:  utm_campaign=spring-sale-2026
BAD:  utm_campaign=spring%20sale%202026

Rule 3: Use Standard Medium Values

GA4 maps utm_medium to channel groups. Using non-standard values breaks this mapping:

Channel GroupRequired utm_medium
Paid Search`cpc`, `ppc`, `paidsearch`
Paid Social`paid_social`, `paidsocial`
Display`display`, `cpm`, `banner`
Email`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_apr2026

UTM 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:

  1. Go to Reports > Acquisition > Traffic acquisition
  2. Change the primary dimension to "Session source / medium"
  3. Look for:
  4. - Duplicate sources with different cases (`Facebook` vs `facebook`)
  5. - Traffic in "Unassigned" channel (missing or wrong utm_medium)
  6. - 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