Guide

GA4 UTM tracking

Google Analytics 4 reads UTM parameters automatically — but only when they are named consistently and survive to the landing page. Here is exactly how GA4 maps them, where the reports live, and what quietly breaks attribution.

How GA4 reads UTM parameters

When someone lands on a page with UTM parameters in the URL, GA4 stores them on the session and exposes them as dimensions. Nothing needs configuring — the tag reads them automatically as long as the parameters survive to the final landing page.

URL parameterGA4 dimensionExample
utm_sourceSession sourcenewsletter
utm_mediumSession mediumemail
utm_campaignSession campaignspring_launch
utm_contentSession manual ad contentheader_cta
utm_termSession manual termutm_builder

Where to find campaign data in GA4

  • Reports → Acquisition → Traffic acquisition, then set the dimension to Session source / medium.
  • Add Session campaign as a secondary dimension to split a source by campaign.
  • Use Explore → Free form for a custom table combining campaign, landing page and conversions.
  • Realtime → view user snapshots to confirm a brand new link is firing correctly.

The five mistakes that break attribution

  • Inconsistent casing: Facebook and facebook become two separate rows. Always lowercase.
  • Tagging internal links: UTMs on links between your own pages start a new session and destroy the original attribution.
  • Redirects that strip the query string — test the final landing URL, not the one you pasted.
  • Using utm_medium values GA4 does not recognise as channels, which dumps traffic into Unassigned.
  • Spaces in values, which become %20 and split one campaign into several rows. Use underscores.

Connecting GA4 to Trace UTM

Building links and reading results in two different tools is where most campaign tracking falls apart. Trace UTM Pro connects your GA4 property with Google sign-in, then pulls sessions, engagement rate, conversions and revenue back against the exact saved link that produced them.

You see each campaign's performance next to the URL and QR code you generated, instead of rebuilding the same exploration in GA4 every month.

A quick checklist before you launch

  • Every value lowercase, words joined with underscores.
  • utm_medium drawn from a fixed list: email, social, cpc, qr, affiliate, referral.
  • One campaign name shared across every channel in the same push.
  • Link opened in incognito and confirmed in GA4 Realtime.
  • The final URL saved so you can compare it against the report later.

See GA4 results next to your links

Trace UTM Pro connects your GA4 property and reports sessions, conversions and revenue against each saved campaign URL.

View plans

Frequently asked questions

Does GA4 still use UTM parameters?

Yes. GA4 reads the same utm_source, utm_medium, utm_campaign, utm_term and utm_content parameters as Universal Analytics, and maps them to the Session source, Session medium and Session campaign dimensions.

Why is my UTM campaign showing as direct in GA4?

The most common causes are a redirect that strips query parameters, a link shortener that drops them, or a typo in the parameter name. Test the link in an incognito window and confirm the parameters survive to the final URL.

How long does GA4 take to show UTM data?

Realtime shows sessions within minutes, but standard reports usually settle 24 to 48 hours after the traffic arrives. Do not judge a campaign on the first few hours of data.

What is the difference between first user source and session source?

First user source records how someone originally found you and never changes. Session source records how they arrived for that specific visit. Use session dimensions to measure an individual campaign.