UTM Parameters Not Showing in GA4: What to Check
Updated
First separate a collection problem from a reporting problem. Confirm that UTMs reach the page when analytics reads it, verify the correct GA4 stream receives the visit, then inspect session campaign dimensions. First-user reports, an existing session, filters and processing delays can make a valid campaign test look missing.
Find out whether campaign tags were lost, never collected or simply viewed in the wrong GA4 report.
Your newsletter link includes utm_source, utm_medium and utm_campaign, yet the campaign name is absent from GA4. Rebuilding the tags immediately can hide the cause. The URL, the collected visit and the report each need a separate check. This guide covers the case where you need to follow a specific tagged visit into GA4, including visits whose UTMs remain visible. If the tags actually disappear during navigation, use the redirect guide linked below to locate that earlier failure.
What to check
1. Record the exact external campaign URL
Copy the link from the email, ad or partner placement rather than recreating it from memory. Use recognisable QA values and record the expected source, medium and campaign. Check spelling, URL encoding and whether a nested destination parameter contains the real landing URL. Keep parameter names consistent and avoid placing personal information in campaign values.
2. Confirm the parameters survive until collection
Follow every redirect and compare the final document URL with the address bar after scripts run. Parameters after a # fragment are not the ordinary query string. A page can also remove valid query parameters with client-side URL cleaning. Identify what analytics can read when the visit is collected; a screenshot taken later does not establish what was available earlier.
3. Verify collection before interpreting attribution
Confirm that the final page sends to the intended GA4 measurement ID. In an authorised debug test, inspect the page_view event and its page_location. If the visit itself is absent, troubleshoot the tag, consent and deployment first. A missing campaign row is weak evidence of an attribution fault while basic collection remains unverified.
4. Choose dimensions that answer the campaign question
For the source of a visit, inspect Traffic acquisition with session-scoped source, medium and campaign dimensions. User acquisition describes the user's first acquisition and can retain an earlier source for someone returning from your new campaign. When comparing manual tags with an auto-tagged platform integration, inspect the relevant manual dimensions as well; the two systems do not populate every dimension identically.
5. Avoid reusing an existing session for the comparison
Pasting several differently tagged links into the same active session is an ambiguous test of session acquisition. Use a fresh, permitted test context and record its start time and consent choice. Do not add UTMs to internal navigation to force the campaign label. Internal link tagging can confuse the meaning of the campaign interactions you are trying to measure.
6. Separate missing values from unexpected channel grouping
A campaign can appear under its source and medium while the default channel group is Unassigned. That differs from having no collected visit or a missing campaign value. Compare the actual tags with the selected dimensions and check for inconsistent case, blank values or unfinished macros. Standardise future campaign naming once the specific mismatch is understood.
7. Review filters, dates and processing
Check the property timezone, date range, report comparisons and active internal or developer traffic filters with the measurement owner. A QA visit may be deliberately excluded from business reports. Use the agreed test destination without disabling production filters merely to see yourself. Standard reports can take 24–48 hours to process, so save diagnostic evidence before waiting for settled campaign reporting.
8. Retest one controlled visit and document the result
After fixing the identified layer, send one fresh test through the original external route. Save the entry URL, final URL, event evidence, intended dimensions and test conditions. If parameters and collection are correct but the report remains unexpected after processing, continue with report configuration and attribution analysis. AdVault's UTM Checker can verify the URL layer; it does not read your private GA4 reports.
What you see and what it usually means
UTMs vanish between the campaign link and the landing page
Trace the first redirect or client-side navigation that removes them before debugging GA4 reports.
The campaign appears in session reporting but not first-user reporting
Compare the dimension scopes; a returning user can have a different first acquisition source.
The visit is present, but its channel is Unassigned
Review the source and medium values and channel rules rather than assuming collection failed.
A typical case
Illustrative example: a partner email links to https://example.com/offer?utm_source=partner_newsletter&utm_medium=email&utm_campaign=autumn_qa_2026. A returning visitor's First user source can still describe an earlier acquisition. A controlled new session should instead be assessed with the relevant session dimensions. If the page_view never reaches the intended stream, neither report comparison can validate the campaign yet. The URL and campaign name here are demonstration values.
Before you call it fixed
- Actual external link captured
- UTM spelling and encoding reviewed
- Parameters present when analytics reads the URL
- Intended GA4 stream receives the visit
- Session and first-user scopes distinguished
- Existing-session ambiguity removed
- Filters and report date range checked
- Settled reporting reviewed after processing
Check the production URL
A correct configuration on paper can still fail after redirects, deployment or consent logic. Use the exact URL your campaign will send traffic to.
Check a campaign URLVerify the signal directly
Related troubleshooting guides
Common questions
Where should I look for a UTM campaign in GA4?
Start with Traffic acquisition and the relevant session campaign dimension. Use manual campaign dimensions when investigating manually supplied tags alongside platform integrations.
Do I need custom dimensions for utm_source and utm_medium?
GA4 maps standard campaign tags into built-in traffic-source dimensions. A custom dimension is not the first fix for a missing standard campaign value.
Why is my test in DebugView but absent from a standard report?
Check processing time, the report's scope and filters. Debug evidence helps verify collection, while a standard acquisition report answers a different reporting question.
Technical references
Scan the full campaign route.
See where the click lands, what survives the redirect chain and which supported tracking signals are visible on the final page.