How to Remove (not set) from Google Analytics

Cody Schneider8 min read

Seeing "(not set)" in a Google Analytics report is a common problem that can bring any analysis to a frustrating halt. It's a placeholder for missing data, and it tells you that Google Analytics didn't receive information for the dimension you're looking at. This article will explain exactly what "(not set)" means, why it shows up in your reports, and how to fix it for good.

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

What Does (not set) Mean in Google Analytics?

In Google Analytics 4, a dimension is a way to categorize your data, like the city a visitor is from, the device they used, or the marketing campaign that brought them to your site. When GA shows "(not set)" for a dimension, it’s simply a signal that the necessary data wasn't captured for that particular user, session, or event.

For example, if you're looking at your Landing Page report and see a row for "(not set)," it means GA recorded sessions that, for some reason, weren't associated with a specific first page view. Similarly, if your Traffic Acquisition report shows "(not set)" for the session campaign dimension, it means GA couldn't attribute those sessions to any of your campaigns.

It's important not to confuse "(not set)" with "(other)." The "(other)" value appears when your reports contain too many unique values for a dimension (an issue called high cardinality), forcing GA to group less common values into one bucket. In contrast, "(not set)" signifies that the data is missing entirely.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

Top 7 Reasons You See (not set) in Your Reports

Finding the source of "(not set)" requires a bit of detective work. The cause usually depends on which report you're looking at, but most issues trace back to a few common culprits.

  • UTM Tracking Issues: This is the most frequent cause for "(not set)" in traffic source and campaign reports. If you're running paid social, email, or other custom marketing campaigns, missing or improperly formatted UTM parameters on your URLs is a guaranteed way to get "(not set)" data.
  • Google Ads Auto-Tagging is Disabled: If you're running Google Ads, GA relies on a feature called auto-tagging to correctly attribute traffic. If this is turned off and you haven't manually tagged your ad URLs with UTMs, the traffic will likely appear as "(not set)."
  • URL Redirects that Strip Parameters: Using URL shorteners or having server-side redirects can sometimes strip the tracking parameters (like UTMs or the "gclid" from Google Ads) from the URL before GA has a chance to see them.
  • Session Timeouts: A GA session expires after 30 minutes of inactivity by default. If a user leaves a tab open for 31 minutes and then clicks a link on your site, they start a new session. Since there’s no new campaign information tied to this internally-generated session, it’s often recorded as "(Direct) / (none)," but it can also contribute to "(not set)" values in certain contexts.
  • Missing E-commerce Data: In e-commerce reports, seeing "(not set)" for dimensions like Item Name or Coupon is almost always due to an implementation issue. Your website isn’t sending that specific piece of data along with the purchase event.
  • Missing User Data for Audience Reports: "(not set)" in reports for user age, gender, or interests is expected. This data is collected via Google Signals, which only applies to users logged into their Google account who have enabled ad personalization. A large chunk of your audience will naturally fall into the "(not set)" category here.
  • Data Processing Delays: Sometimes, especially with brand new data, GA might temporarily show "(not set)" while it's still processing information. It's always a good idea to wait 24-48 hours before digging into a potential issue.

How to Fix (not set) in Key Google Analytics Reports

Troubleshooting "(not set)" is all about isolating the specific report where it’s happening. Below are step-by-step guides for the most common areas you'll encounter this problem.

1. Traffic and Campaign Reports

If you see "(not set)" in your Traffic acquisition report for dimensions like Session source / medium or Session manual campaign, your issue is almost certainly related to campaign tagging.

How to Fix It:

  • Enable Google Ads Auto-Tagging: This is a must if you're running Google Ads. When enabled, it automatically adds a unique "gclid" (Google Click Identifier) parameter to your URLs, giving GA all the info it needs.
  • Audit Your UTM Tags: For all non-Google campaigns (Facebook, LinkedIn, email, QR codes, etc.), you must manually add UTM parameters to your destination URLs.
GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

2. Landing Page Report

Seeing "(not set)" show up as a landing page is confusing — how can a session start without a first page? This usually happens due to issues with how events are firing or sessions are being managed.

How to Fix It:

  • Check for Early-Firing Events: GA4 sessions officially begin with the "session_start" event. However, the landing page is determined by the first "page_view" event. If another type of event (a custom event you’ve configured, for example) fires after "session_start" but before "page_view" during a session that then times out, you can end up with a session that has events but no recorded landing page. This is a technical issue that often requires reviewing your Google Tag Manager setup to ensure event firing order is correct.
  • Review Session Timeout Settings: Head to Admin > Data Streams > [Your Stream] > Configure tag settings > Show all > Adjust session timeout. The default is 30 minutes. If your site has long content where users might remain inactive for longer periods (e.g., a blog post or video), you could consider increasing this to prevent premature session breaks.

3. Audience Demographics and Location Reports

"(not set)" values are common and largely unavoidable in reports related to user attributes like age, gender, geographic city, or interests.

How to Fix It:

  • For Gender, Age, and Interests: Activate Google Signals.
  • For City / Region: Don't stress it. GA determines location from a user's IP address. If the IP is obscured by a VPN, proxy, or corporate network, or if it isn't accurately mapped in Google's database, the city-level data will appear as "(not set)." This isn't something you can fix. Focus on country-level data, which is far more reliable.

4. E-commerce Reports

In GA4, "(not set)" in an e-commerce context (like for a Coupon or Item Name in your Monetization reports) points directly to what your developer is sending (or not sending) to Google Analytics.

How to Fix It:

  • Debug Your E-commerce Implementation: All e-commerce data is sent to GA4 through specific events like "view_item", "add_to_cart", and "purchase". If a parameter is missing from the data you send, it will show up as "(not set)."
  • For example, if the "coupon" dimension is "(not set)" in your purchase reports, it means the "coupon" parameter was not included in the "purchase" event data layer. Your code should look something like this:
window.dataLayer.push({
  event: "purchase",
  ecommerce: {
      transaction_id: "T_12345",
      value: 32.50,
      currency: "USD",
      coupon: "SALE2024",  // <-- This parameter must be included!
      items: [{
        item_id: "SKU123",
        item_name: "Cool T-Shirt", // <-- Missing parameters here create (not set) item names
        price: 32.50,
        quantity: 1
      }]
  }
}),

The solution is to work with your web developer to ensure all recommended e-commerce parameters are being correctly populated and pushed to the data layer for every relevant e-commerce action.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

When You Can't Fix it: Filtering "(not set)" From Your Reports

For unavoidable instances like geo-location or demographics, the best approach is often to filter "(not set)" values out of your analysis for a cleaner view.

In a GA4 Exploration report:

  1. Create or open your exploration.
  2. In the Tab Settings column, scroll down to the Filters section.
  3. Click to add a filter.
  4. Select the dimension you want to clean up (e.g., City).
  5. Set the filter logic to does not exactly match.
  6. In the expression field, type "(not set)" and hit Apply.

Your report will now exclude that row, allowing you to focus on the data you can actually use.

Final Thoughts

Dealing with "(not set)" data in Google Analytics is a process of elimination. By understanding what it means and where to look for an underlying cause — from flawed UTM tags to technical implementation errors — you can systematically clean up your reporting and build more trust in your data.

Navigating these kinds of issues is precisely why we built our platform. Instead of spending hours hunting down "(not set)" values and debugging your GA4 setup, we created Graphed to connect directly to your data sources and manage all that complexity for you. You can simply ask questions in plain English, and Graphed instantly builds you a clean, real-time dashboard without you ever having to worry about why a landing page dimension is missing.

Related Articles