Why is My UTM Not Showing in Google Analytics?

Cody Schneider7 min read

You’ve carefully built your campaign URL with UTM parameters, launched your ads, and eagerly awaited the data to flow into Google Analytics. But when you check your reports, there's nothing there. Your perfectly tagged traffic is either missing or lumped into '(not set)' or 'direct'. This guide is a step-by-step checklist to find and fix the common issues that prevent your UTM data from showing up correctly.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

First, A Quick UTM Refresher

Before diving into troubleshooting, let’s quickly confirm we’re on the same page. UTMs (Urchin Tracking Modules) are simple tags you add to the end of a URL to tell Google Analytics more about your traffic. They answer fundamental questions about where your visitors came from.

A typical UTM-tagged URL looks like this:

https://www.yourwebsite.com/landing-page?utm_source=facebook&utm_medium=cpc&utm_campaign=summer_sale

The key components are:

  • utm_source: The platform that sent the traffic (e.g., google, facebook, newsletter).
  • utm_medium: The marketing medium or channel (e.g., cpc, email, social).
  • utm_campaign: The specific campaign name (e.g., q2_promo, summer_sale).

While utm_term (for keywords) and utm_content (for A/B testing ads) are also available, the first three are the required workhorses of campaign tracking. If these are missing or broken, your tracking will fail.

Your UTM Troubleshooting Checklist

Work through these common culprits one by one. More often than not, a small, overlooked error is the cause of all the frustration.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

1. Check Your Syntax Meticulously

The single most common reason UTMs fail is a simple typo or syntax error. The structure of a URL is very rigid, and one wrong character will break the entire tracking chain.

Common Syntax Errors to Look For:

  • The First Parameter: The UTM tracking section must begin with a question mark (?).
  • Subsequent Parameters: Every parameter after the first one must be separated by an ampersand (&). Using multiple question marks is a frequent error.
  • No Spaces: URLs cannot contain spaces. Use underscores (_) or hyphens (-) instead (e.g., summer_sale, not summer sale).
  • Correct Parameter Names: Double-check that you've spelled the parameter names correctly: utm_source, not utmsource or utm-source.

Wrong examples:

https://www.yourwebsite.com/landing-page&utm_source=facebook&utm_medium=cpc (Problem: Starts with an & instead of a ?)

https://www.yourwebsite.com/landing-page?utm_source=facebook?utm_medium=cpc (Problem: Uses a second ? instead of an &)

Correct example:

https://www.yourwebsite.com/landing-page?utm_source=facebook&utm_medium=cpc&utm_campaign=summer_sale

2. Investigate Sneaky Redirects

This is the silent killer of campaign tracking. You create a perfect link, but somewhere between the user's click and them landing on your website, a redirect strips away the UTM parameters.

How it happens: Your website might have redirects set up for various reasons (e.g., redirecting http to https, yourwebsite.com to www.yourwebsite.com, or an old URL to a new one). If these redirects are not configured to pass along URL parameters, the UTMs get dropped during the redirect's journey.

How to check:

  1. Take your full, UTM-tagged URL and paste it into your browser's address bar.
  2. Hit enter and watch the URL in the address bar very carefully.
  3. Once the page fully loads, look at the final URL. Are the UTM parameters still there? If they've vanished, you have a redirect problem.
  4. You can also use a tool like WhereGoes.com to see every hop in the redirect chain.

The Fix: You'll likely need to speak with your web developer or whoever manages your website hosting. They need to adjust the server configuration (often in a file called .htaccess for Apache servers) to ensure that redirects pass through all query parameters.

3. Are You Looking in the Right Place in GA4?

Sometimes the data is there, you're just not looking in the right report. Google Analytics 4 slices and dices traffic data in a few different ways, so it's easy to get turned around.

  1. Navigate to your GA4 property.
  2. In the left-hand menu, go to Reports > Acquisition > Traffic acquisition.
  3. By default, this report is often grouped by "Session default channel group." Use the dropdown menu above the table and change it to "Session source / medium." You can also add a secondary dimension for "Session campaign."

This is where your campaign, source, and medium from your UTM tags will appear. If it still says (direct) / (none), then the issue is with the link or redirect, not the report.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

4. Check for Filters That Strip Parameters

While less common in GA4 than its predecessor (Universal Analytics), it's possible some configuration is interfering with your tracking. For instance, if you're using Google Tag Manager, a tag or trigger could be unintentionally modifying the page URL before the data is sent to GA4.

Review any custom configurations in Google Tag Manager or in your GA4 Admin settings under Data Collection and Modification to see if there are any rules that might be altering inbound URLs.

5. Is It Just a Time Delay?

Google Analytics isn't always instantaneous. While the Real-Time report can often show you campaign traffic as it happens, the standard reports can take anywhere from 24 to 48 hours to fully process and attribute data. If you just launched your campaign an hour ago, give it some time. Check back tomorrow before assuming something is broken.

To check this in the moment, have a friend or colleague (or use an Incognito browser on a different network) click your UTM-tagged link. Then immediately go to the Realtime report in GA4. If you see the traffic come in and it's correctly attributed to your campaign source/medium, you know the tracking works, and you just need to wait for the standard reports to catch up.

6. Be Consistent with Casing (Lowercase is Your Friend)

Google Analytics is case-sensitive. This means it treats Facebook, facebook, and FaceBook as three different sources. This doesn't make data disappear, but it does fracture it, making it look incorrect or incomplete and very difficult to analyze.

Imagine one team member uses utm_source=linkedin and another uses utm_source=LinkedIn. Your reports will show two separate line items, splitting your data and making your campaign performance appear weaker than it really is.

The Fix: Establish a team-wide rule to always use lowercase for all UTM parameters. It's a simple habit that will save you countless headaches.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Tips for Preventing UTM Issues

The best way to fix UTM problems is to prevent them from happening in the first place.

Use a URL Builder: Don't try to type your UTMs by hand. Use Google's Campaign URL Builder. It formats everything for you, virtually eliminating the risk of a syntax error.

Create a UTM Policy Spreadsheet: For your team, maintain a shared Google Sheet or document that defines your naming conventions. It should clearly state what terms to use for your most common sources, mediums, and ongoing campaigns. This enforces consistency and keeps everyone on the same page.

Final Thoughts

Troubleshooting UTM issues is usually a process of elimination that starts with the smallest details, like a misplaced character in your URL. By methodically checking for syntax errors, redirects, and incorrect report views, you can almost always find the root cause and get your campaign tracking back on track.

Of course, fixing your link tracking is just the first step. The real goal is to see how all your marketing efforts - from Facebook Ads and Google Ads to Shopify sales - connect with one another. We built Graphed to solve exactly this problem. Instead of wrestling with data across a dozen different tabs, you can connect your platforms once and use natural language to build dashboards and get insights instantly - letting you focus on marketing strategy, not tracking down broken URLs.

Related Articles