← All Guides

UTM Parameters Done Properly: A Campaign Tagging Standard for GA4, Google Ads Auto-Tagging and Meta

How UTM parameters map to GA4 dimensions, a naming standard that keeps channel reports clean, how UTMs interact with Google Ads auto-tagging and Meta's click IDs, a tagging template, and the mistakes that create Unassigned traffic.

Atiqul Islam
Written by Atiqul Islam

Tracking & analytics specialist. 278+ GTM, GA4 and server-side tracking projects for clients in the US, UK and Australia.

Rather not do this yourself? I set this up for clients every week. Free 15-minute audit, no obligation.

Book a Free Audit

UTM parameters are the only way most traffic sources get named correctly in GA4. They are also the most casually abused thing in marketing: capitalised, misspelt, missing, and applied to Google Ads links where they do harm. This guide sets a standard you can hand to anyone who creates a link, explains how GA4 interprets each parameter, and covers the interaction with auto-tagging and ad platform click IDs.

How GA4 Reads Them

Parameter GA4 dimension Required Example
utm_source Session source Yes newsletter, facebook, linkedin, partner-site
utm_medium Session medium Yes email, paid_social, social, referral, cpc, display
utm_campaign Session campaign Yes in practice 2026-11-black-friday
utm_content Session manual ad content Optional hero-banner, footer-link, carousel-2
utm_term Session manual term Optional audience or keyword
utm_id Session campaign ID Optional internal campaign ID for cost import
utm_source_platform Session source platform Optional the buying platform, such as Google Ads or Meta
utm_creative_format Session creative format Optional video, carousel, static
utm_marketing_tactic Session marketing tactic Optional prospecting, remarketing

GA4 builds the Default channel group from source and medium. If the medium does not match a known pattern, the session lands in Unassigned.

The Medium Values That Map to Channels

Use exactly these:

Channel utm_medium
Email email
Paid Social paid_social, or cpc with a social source
Organic Social social
Paid Search cpc
Display display
Affiliate affiliate
Referral referral
SMS sms
Audio audio
Video video

Lowercase, no spaces, no variations.

The Standard

  1. Lowercase everything. Facebook and facebook are two sources.
  2. Hyphens inside values, never spaces. black-friday, not Black Friday.
  3. Source is where the link lives. The platform or site: facebook, instagram, linkedin, newsletter, partner-name.
  4. Medium is the type of channel from the table above.
  5. Campaign is dated and descriptive. 2026-11-black-friday, 2026-q4-webinar-series. Date first so they sort.
  6. Content distinguishes placements or creatives. story-video-a, header-cta.
  7. Term for audience or keyword where it applies.
  8. No UTMs on internal links. A UTM on a link from your homepage to your pricing page starts a new session with a fake source and destroys attribution.
  9. No UTMs on Google Ads final URLs. Auto-tagging handles it. If a tool insists, use the tracking template with {lpurl} and ValueTrack parameters so the gclid survives.
  10. Keep a tagging sheet. Every link is logged with its parameters and the date, so when a campaign shows in GA4 everyone knows what it was.

Auto-tagging appends gclid to every Google Ads click. GA4, when linked to the Ads account, resolves the gclid into campaign, ad group, keyword and creative. Manual UTMs on the same URL override those values in GA4 if the override setting is on in the GA4 Google Ads link, so leave the override off and leave the UTMs off.

If a third-party tool needs UTMs on Google Ads links, put them in the account-level tracking template:

{lpurl}?utm_source=google&utm_medium=cpc&utm_campaign={campaignid}&utm_content={creative}&utm_term={keyword}

GA4 will still prefer the gclid data when the override is off.

Meta, TikTok, LinkedIn and Others

These platforms append their own click IDs, fbclid, ttclid, li_fat_id, for their pixels. GA4 does not read those for attribution, so UTMs are essential. Use dynamic parameters where the platform supports them:

Meta URL parameters field:

utm_source=facebook&utm_medium=paid_social&utm_campaign={{campaign.name}}&utm_content={{ad.name}}&utm_term={{adset.name}}

Name campaigns, ad sets and ads with the same lowercase hyphen standard so the dynamic values stay clean.

Email

Most email platforms add UTMs automatically. Check their defaults: many use utm_medium=email correctly but set the source to the platform name rather than your list. Set the source to the list or programme, such as newsletter or onboarding, and the campaign to the send.

A Tagging Template

Field Value
Landing URL https://example.com/offer
utm_source linkedin
utm_medium paid_social
utm_campaign 2026-11-audit-offer
utm_content carousel-b
utm_term ecommerce-managers
Final URL https://example.com/offer?utm_source=linkedin&utm_medium=paid_social&utm_campaign=2026-11-audit-offer&utm_content=carousel-b&utm_term=ecommerce-managers

Build it as a spreadsheet with a formula for the final URL so nobody types parameters by hand.

Checking Your Work

Preserving UTMs Through Your Site

If forms or booking tools redirect to other domains, or if you want the original campaign stored with a lead, capture the UTMs on landing into a first-party cookie and write them into hidden form fields. The same GTM tag that stores the gclid for offline conversions can store the five UTM values; the Google Ads offline conversions guide on this site shows the pattern.

Outcome

Every session in GA4 lands in a real channel, campaigns sort and read cleanly, paid search data comes from auto-tagging without interference, and social and email traffic is attributed instead of lost to Unassigned.

Frequently Asked Questions

Do I need UTMs on Google Ads links?

No. Auto-tagging adds the gclid and GA4 reads campaign details from the Google Ads link. Adding UTMs can override that data and should only be done with the Google Ads tracking template if you have a specific reason, such as a third-party tool that needs them.

Which parameters are required?

utm_source and utm_medium are required for GA4 to classify the session. utm_campaign is required in practice. utm_content and utm_term are optional and useful for creative and audience detail. GA4 also reads utm_id, utm_source_platform, utm_creative_format and utm_marketing_tactic.

Why does my email traffic show as Unassigned?

Because the medium does not match GA4's channel definitions. GA4 expects utm_medium=email for the Email channel. Variants such as newsletter, e-mail or Email with a capital E fall into Unassigned. Case and spelling matter.

Should I use a link shortener?

Only one that preserves the parameters on redirect. Test the final landing URL in the browser after clicking the short link. Some social platforms strip or rewrite parameters; check what actually arrives.

Do UTMs affect Meta or Google Ads attribution?

No. They only tell GA4 and your own analytics where the visitor came from. Meta uses its own click ID and pixel; Google Ads uses the gclid. UTMs on Meta ads are for your GA4 reports and are strongly recommended.

Want This Done Right the First Time?

Book a free 15-minute audit call. I'll review your setup, show you what is broken, and tell you exactly what it takes to fix it.

Chat Now