Why Are My UTM Campaigns Not Showing Up in GA4?

You created a campaign URL with UTM parameters.

You clicked the link.

You opened Google Analytics 4.

And your campaign is nowhere to be found.

Or perhaps the traffic is showing up as Direct, Organic, Referral, (not set), or under a campaign name you weren’t expecting.

This is a common GA4 campaign-tracking problem, and it doesn’t necessarily mean your UTM parameters are broken.

There are several places where things can go wrong between creating a tagged URL and seeing the campaign correctly reported in GA4.

Here’s what to check.

Still managing UTM links in spreadsheets? Create cleaner tracking URLs with less manual work.
Try Free

1. Make sure the UTM parameters are actually in the URL

Start with the simplest check.

A properly tagged campaign URL might look like this:

https://example.com/pricing?utm_source=linkedin&utm_medium=paid_social&utm_campaign=fall_promotion

At a minimum, check the parameters you are relying on for reporting, particularly:

  • utm_source
  • utm_medium
  • utm_campaign

A common mistake is assuming a link has been tagged when the version actually published in the ad, email, social post, QR code, or button is different.

Copy the actual live link and inspect it.

Don’t just check the URL in the spreadsheet or document where the campaign was originally planned.

2. Check your UTM parameter spelling

UTM parameter names need to be correct.

For example:

utm_source=linkedin

is valid.

But something like:

utm_sources=linkedin

will not populate the standard source value because utm_sources isn’t the expected parameter.

The same applies to the other standard campaign parameters.

Watch for typos such as:

utm_campain

instead of:

utm_campaign

A tiny spelling mistake can make a campaign parameter effectively invisible to your standard GA4 campaign reporting.

3. Make sure the UTMs survive redirects

This is one of the first things I check when a URL looks correct but GA4 isn’t receiving the expected campaign information.

Your original link might be:

example.com/go?utm_source=newsletter&utm_medium=email&utm_campaign=summer_sale

But perhaps that URL redirects to:

example.com/summer-sale

If the redirect removes the query parameters, GA4 may never see the UTM information.

This can happen with:

  • URL shorteners
  • Redirect rules
  • Marketing platforms
  • Affiliate systems
  • Link-tracking services
  • Custom redirect scripts
  • Certain website configurations

Test the exact campaign link in your browser.

After all redirects finish, look at the final landing-page URL.

Are your UTM parameters still there?

If they disappeared before GA4 had an opportunity to collect them, you’ve probably found your problem.

4. Don’t expect every report to update immediately

Another common source of confusion is checking the wrong GA4 report immediately after clicking a campaign link.

GA4 has both real-time reporting and processed reports.

If you’re testing a campaign you just created, start with Realtime or DebugView rather than assuming the campaign should instantly appear everywhere in GA4.

Standard reports can take time to process.

So:

“I clicked the URL five minutes ago and can’t find it in my acquisition report”

doesn’t necessarily mean your UTM tracking failed.

Give GA4’s processed reports time before concluding that something is broken.

5. Check the correct acquisition report

GA4 distinguishes between user acquisition and traffic acquisition.

That distinction matters.

User acquisition focuses on how a user was first acquired.

Traffic acquisition focuses on the source of sessions.

Suppose someone originally discovered your site through Google organic search.

A week later, that same person clicks your tagged email:

utm_source=newsletter&utm_medium=email&utm_campaign=september_offer

If you’re investigating the email visit, Traffic acquisition is generally the more relevant place to look because you’re interested in the source and campaign associated with that session.

Looking at a first-user dimension can tell a different story.

Before deciding that your UTMs aren’t working, make sure you’re looking at the dimension that answers the question you’re actually asking.

6. Look at Session campaign—not just Session source / medium

Sometimes the UTM data is there, but you’re looking at the wrong dimension.

GA4 provides campaign-related dimensions including:

  • Session campaign
  • Session source
  • Session medium
  • Session source / medium
  • First user campaign
  • First user source
  • First user medium

If you’re testing:

utm_campaign=fall_promotion

look specifically at the appropriate campaign dimension.

Source, medium, and campaign describe different pieces of information.

Don’t expect the campaign name to appear in a report that is currently displaying only source and medium.

7. Check capitalization and naming inconsistencies

Suppose three people on your marketing team create these values:

utm_campaign=fall_sale

utm_campaign=Fall_Sale

utm_campaign=fall-sale

Those may look like the same campaign to a person.

But inconsistent campaign values can fragment your reporting.

The same problem occurs with source and medium:

facebook

Facebook

fb

or:

paid_social

paidsocial

social_paid

This often creates the impression that campaigns are missing when the data is actually spread across multiple values.

Search your GA4 reports for variations of the campaign name.

If you find several versions, your problem isn’t necessarily data collection.

It’s UTM governance.

8. Be careful with UTMs on internal links

UTM parameters are intended primarily for identifying traffic arriving from marketing campaigns.

They generally should not be used to track clicks between pages on your own website.

For example, don’t take someone who arrives through:

utm_source=linkedin&utm_medium=paid_social&utm_campaign=fall_sale

and then send them to another internal page using:

utm_source=homepage&utm_medium=banner&utm_campaign=pricing_banner

Using campaign parameters internally can interfere with your ability to understand how the visitor originally arrived.

If you want to measure internal promotions or navigation, use event tracking or another appropriate measurement approach instead of external campaign UTMs.

9. Check whether consent is affecting measurement

Privacy and consent configurations can also make testing more complicated.

Depending on your implementation and the visitor’s consent state, analytics storage or measurement behavior may differ from what you expect.

This becomes particularly important when you’re manually testing campaign URLs.

For example, you may test the URL in a browser where analytics consent has not been granted and then wonder why you can’t find the session you expected.

If your site uses a consent management platform, include consent behavior in your troubleshooting process.

10. Make sure GA4 itself is firing correctly

Sometimes the UTMs aren’t the problem at all.

The page may simply not be sending the expected GA4 data.

Check whether your GA4 implementation is firing on the landing page.

This is especially worth investigating if:

  • Other sessions are also missing
  • The landing page uses a different template
  • Tracking was recently changed
  • Google Tag Manager was modified
  • Consent settings were recently implemented
  • The campaign lands on a new microsite or subdomain

A perfectly constructed UTM URL can’t fix a broken analytics implementation.

11. Check cross-domain and payment flows

Campaign attribution can become more complicated when visitors move between domains.

This commonly happens with:

  • Checkout platforms
  • Booking systems
  • Payment providers
  • Third-party forms
  • Separate application domains

If cross-domain measurement or referral handling isn’t configured correctly, the original campaign attribution may not behave the way you expect.

If your campaign appears correctly at first but attribution seems to change later in the journey, investigate the domains users pass through before converting.

12. Make sure another system isn’t rewriting your UTMs

Some advertising, email, social, CRM, and marketing automation platforms automatically add or modify tracking parameters.

You might create:

utm_campaign=fall_sale

but the link that actually reaches the user contains something different.

This is another reason to inspect the published URL, not simply the URL you originally created.

When troubleshooting, follow the complete path:

Campaign setup → published link → redirect → landing page → GA4

The problem can occur anywhere along that chain.

A simple UTM troubleshooting process

When a campaign isn’t appearing correctly in GA4, I recommend checking things in this order:

1. Inspect the actual published URL.

Confirm that the expected UTM parameters are present.

2. Click the link yourself.

Watch what happens to the URL through any redirects.

3. Inspect the final landing-page URL.

Make sure the parameters weren’t removed or changed.

4. Confirm GA4 is firing.

Use your normal GA4/GTM debugging process.

5. Check Realtime or DebugView.

Don’t rely exclusively on processed acquisition reports for immediate testing.

6. Check the appropriate session dimensions.

Look at Session campaign, Session source, Session medium, or Session source / medium depending on what you’re troubleshooting.

7. Wait for processed reports.

Then verify the campaign again in Traffic acquisition or an appropriate exploration/report.

8. Search for naming variations.

Your “missing” campaign may actually exist under a slightly different UTM value.

Preventing UTM problems before campaigns launch

Troubleshooting a single campaign isn’t particularly difficult.

The bigger problem starts when an organization has hundreds or thousands of campaign URLs being created by different people.

One person uses:

linkedin

Another uses:

LinkedIn

Someone else uses:

linkedin.com

Now multiply that across sources, mediums, campaign names, agencies, departments, countries, and hundreds of campaigns.

That’s when campaign tracking becomes a governance problem rather than a URL-building problem.

A centralized UTM process can help teams control allowed values, maintain naming conventions, reuse approved campaign parameters, and identify inconsistencies before they contaminate reporting.

That’s the reason we built UTM Manager: not simply to add UTM parameters to a URL, but to help teams manage campaign tracking consistently.

Final thought

When a UTM campaign doesn’t appear in GA4, don’t immediately assume GA4 ignored your UTMs.

Follow the data.

Start with the actual link someone clicked and trace it all the way to the GA4 report you’re using.

In many cases, you’ll find one of three things:

The UTM parameters never reached the landing page.

The data is being viewed in the wrong GA4 dimension or report.

The campaign exists, but inconsistent naming has fragmented the data.

Fix those issues, and your campaign reporting usually becomes much easier to understand.

FREE TOOL + EXTENSION

Still Building UTM Links in Spreadsheets?

Create clean campaign URLs faster, save templates, and standardize naming across your team.

×
UTM URL Builder
📋 Templates Required Your organization requires approved templates for all UTM links.
You’re in guest mode — build, copy, and export are available. Sign in or create an account to save and load org rules & templates.