UTM Parameters in Google Analytics 4: What Changed and What to Do

If you UTM-tagged links the same way in Universal Analytics and switched to Google Analytics 4, the data is in a different place — and some reports just disappeared. Here’s what GA4 actually does with UTM parameters, what’s new (utm_id, utm_source_platform), and where to find your campaign data.

The GA4 UTM checklist

ParameterGA4 dimensionStatus
utm_sourceSession sourceSame as UA
utm_mediumSession mediumSame as UA
utm_campaignSession campaignSame as UA
utm_termSession manual termSame as UA
utm_contentSession manual ad contentSame as UA
utm_idSession campaign IDNew in GA4
utm_source_platformSession source platformNew in GA4
utm_creative_formatSession creative formatNew in GA4
utm_marketing_tacticSession marketing tacticNew in GA4

What’s new and why it matters

utm_id

Used to tie a campaign to a Campaign ID from your ad platform. If you import cost data from Google Ads, Meta, etc., GA4 uses utm_id to match clicks to spend. If you don’t import cost data, it’s irrelevant.

utm_source_platform

Distinguishes “where the link was clicked” from “the platform that hosted the click.” Example: an Instagram ad placed via Meta Ads Manager — utm_source might be “instagram” but utm_source_platform = “meta_ads.”

utm_creative_format and utm_marketing_tactic

Niche. Useful only if you’re running large multi-format campaigns and need granular reports.

Where the UTM data appears in GA4

Three reports actually use it:

  1. Acquisition → Traffic acquisition. Shows session source/medium and campaign by default.
  2. Acquisition → User acquisition. Same dimensions, scoped to first-touch.
  3. Explore (custom reports). Build any UTM combination you need.

The “Default Channel Group” trap

GA4 groups your traffic by “default channel group” (Direct, Organic Search, Paid Search, etc.). It assigns a channel based on your UTMs. If your utm_medium doesn’t match GA4’s expected values, traffic falls into “Unassigned.”

Approved utm_medium values that map cleanly:

utm_mediumMaps to
cpc, ppc, paidsearchPaid Search
display, banner, expandableDisplay
emailEmail
social, social-network, social-media, sm, social networkOrganic Social
cpc + utm_source = facebook/instagram/etc.Paid Social
referralReferral
affiliateAffiliates
videoOrganic Video
audioAudio
sms, push, mobileMobile Push Notifications / SMS

Made up something like utm_medium=newsletter-may? GA4 puts it in Unassigned. Use utm_medium=email + utm_campaign=newsletter-may instead.

Reports that disappeared from UA

  • Bounce rate (gone, replaced by Engagement Rate). Click context: bounces are now sessions under 10 seconds with no events. Engagement Rate is the inverse and arguably more meaningful.
  • Multi-Channel Funnels. Replaced by GA4’s Attribution reports.
  • Source/Medium → All Pages cross-tab. Build it in Explore now.

Customer Lifetime Source vs Session Source

GA4 splits attribution into:

  • First user source / medium / campaign: the very first touch, attached to the user permanently.
  • Session source / medium / campaign: the source of each individual session.

UA only had session-level data by default. GA4 gives you both. Use first-user for “what brings them in initially,” session for “what closes the deal.”

Best practices in GA4-land

  • Use lowercase consistently. Still case-sensitive.
  • Stick to GA4’s expected utm_medium values for default channel mapping.
  • Skip utm_id unless you import cost data.
  • Tag every external link. Internal links never.
  • Document your conventions. A shared sheet or a strict generator stops naming drift.

Common mistakes

  • Using utm_medium values that don’t exist in GA4’s channel map. Lands traffic in Unassigned.
  • Tagging organic Google searches. Don’t. GA4 detects them automatically. Adding UTMs breaks attribution.
  • Forgetting that GA4 strips parameters from the URL after capture. Don’t rely on UTMs being present in landing-page URLs for client-side analytics.
  • Inconsistent capitalization. “Email” and “email” are still different sources.

FAQ

Does GA4 support gclid and fbclid automatically?

Yes — gclid (Google Ads) is auto-detected and used for paid search attribution. fbclid is captured but not auto-attributed; you still need utm parameters for Meta traffic.

How long does GA4 keep UTM data?

Up to 14 months for explore reports (default), longer if you’re on a paid plan. The UTMs themselves are written into events at capture time, so they’re not lost over time.

Should I use utm_id?

Only if you import cost data from your ad platform. Otherwise, skip it.

What about UTMs and BigQuery export?

All UTM data is in the collected_traffic_source nested fields in BigQuery. Useful for advanced custom reports.

Do UTM parameters affect SEO?

No. Google ignores them for ranking. UTMs are user-agent metadata, not page content.

Build clean UTMs in seconds

The UTM link generator outputs links with the GA4-friendly medium values built in. Standardize once, drop into emails, posts, and ads.