Back to Blog
GA4 UTM Parameters Not Showing? Fix Your Campaign Tracking
Analytics
Oct 31, 2025
Ludde

GA4 UTM Parameters Not Showing? Fix Your Campaign Tracking

Fix broken GA4 UTM parameters showing as Direct/None. Troubleshoot missing campaign tracking in GA4 due to aggressive query parameter dropping.'s why campaign data goes missing and the exact steps to fix it.

You've been meticulously tagging every campaign link with UTM parameters. You open GA4's Traffic Acquisition report and... nothing. Your paid campaigns show as (direct) / (none) or Unassigned. The UTM parameters are right there in the URL, but GA4 pretends they don't exist.

This is one of the most frustrating GA4 issues, and it's almost always caused by one of these 8 problems.

1. You're Looking at the Wrong Report

GA4 has two traffic acquisition reports that show different things:

  • User Acquisition: Shows the source of the user's first ever visit. If they first came via organic and later clicked your UTM link, the UTM won't show here.
  • Traffic Acquisition: Shows the source for each session. This is where your UTM parameters should appear.

The fix: Navigate to Reports → Acquisition → Traffic Acquisition. Use the "Session source / medium" dimension to see UTM data.

2. UTM Parameters Are Case-Sensitive

This trips up so many teams. utm_source=Facebook and utm_source=facebook are treated as completely different sources in GA4. If your team uses inconsistent casing, your campaign data gets fragmented across multiple line items.

The fix: Standardize on lowercase for all UTM values. Create a UTM builder spreadsheet or use Google's Campaign URL Builder. Enforce a naming convention across your team.

3. Redirects Are Stripping UTM Parameters

This is the #1 silent killer. Your URL has UTMs, but a redirect (301, 302, or JavaScript redirect) between the link click and the landing page strips the query parameters. Common culprits:

  • HTTPS redirects (http → https)
  • www vs non-www redirects
  • Trailing slash redirects (/page → /page/)
  • Short URL services (bit.ly, link shorteners)
  • Marketing platforms with their own redirect chains

The fix: Test your full UTM URL by pasting it in an incognito browser. Check if the UTM parameters survive all the way to the final landing page URL.

4. Missing Required UTM Parameters

utm_source and utm_medium are the minimum required parameters. If you only use utm_campaign without source and medium, GA4 may not attribute the session correctly.

The fix: Always include at minimum: utm_source, utm_medium, and utm_campaign. Remember to use recognized medium values like cpc, email, social, referral to map correctly to GA4's default channel groupings.

5. Self-Referrals Overwriting UTM Data

If your own domain appears as a referral source, it can overwrite the original UTM attribution mid-session. This happens when users pass through subdomains, payment processors, or authentication flows that trigger a new session.

The fix: Add your domain (and subdomains, payment gateways, etc.) to the unwanted referrals list under Data Streams → Configure Tag Settings → List unwanted referrals.

6. Data Processing Delay

GA4 standard reports can take 24-48 hours to fully process. If you're checking for today's UTM data in standard reports, you won't see it yet. Use the Realtime report to verify that UTM parameters are being captured right now.

7. Google Ads Auto-Tagging Conflicts

If you're using both Google Ads auto-tagging (gclid) and manual UTM parameters on the same URL, there can be conflicts. GA4 prioritizes gclid for Google Ads traffic, which may override your UTM values.

The fix: For Google Ads, rely on auto-tagging and the GA4 ↔ Google Ads link. Use UTM parameters for non-Google paid channels (Meta, LinkedIn, TikTok, email, etc.).

8. UTM Parameters in Hash Fragments

If your UTMs appear after a # in the URL (like page.html#utm_source=email), GA4 cannot read them. Hash fragments are never sent to the server and are not parsed by the GA4 tag. UTMs must be in the query string after ?.

Campaign Health Check

NiceLookingData audits your GA4 campaign tracking setup, identifies self-referral issues, and checks for UTM configuration problems. Run a free audit to see if your campaign data is reliable.

Key Takeaways

  • Always use the Traffic Acquisition report (not User Acquisition) to see UTM data per session.
  • Test your UTM URLs in incognito to verify parameters survive redirects.
  • Standardize on lowercase UTM values across your organization.
  • Add your own domains to the unwanted referrals list to prevent self-referral attribution.
  • Allow 24-48 hours for data to appear in standard reports; use Realtime for immediate verification.
Free Tool

Run a free GA4 audit on your property

Connect your Google Analytics 4 property. Our auditor runs 36+ checks and gives you an instant health score with a plain-English action plan.

Thanks for reading!