How to Remove (not set) in Google Analytics 4
Seeing "(not set)" in your Google Analytics 4 reports is a common frustration, but it’s solvable. This value is a placeholder that GA4 uses when it hasn't received the required information for a specific dimension you’re looking at. This article will walk you through the most common causes of "(not set)" in key reports and give you step-by-step instructions to fix them for good.
What Exactly Does '(not set)' Mean in GA4?
Think of "(not set)" as a signal that a piece of the data puzzle is missing. When you visit a website, your browser sends lots of information to Google Analytics - such as which page you’re on, where you came from, your device type, and more. GA4 organizes this information into dimensions (the "what," like City or Campaign) and metrics (the "how many," like Sessions or Conversions).
If GA4 expects to receive a value for a dimension but gets nothing, it categorizes that traffic under the "(not set)" label. It's not an error with Google's platform, it's almost always a problem with how data is being sent to the platform. Fixing it means identifying why the data is missing and then patching the leak.
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.
How to Fix "(not set)" in Traffic Source Reports (Source/Medium, Campaign)
This is arguably the most critical place to fix "(not set)" because it fundamentally impacts your ability to measure marketing ROI. When session source, medium, or campaign shows up as "(not set)", it means you have sessions and users that GA4 can't attribute to any specific marketing channel.
Cause #1: Missing or Incorrect UTM Parameters
Urchin Tracking Modules, or UTMs, are tags you add to your URLs to tell GA4 exactly where a user came from. If these are missing from your marketing links (emails, social media posts, paid ads on non-Google platforms), GA4 has no idea how to categorize the traffic.
- The Fix: Be Consistent with UTM Tagging.
Cause #2: Google Ads Auto-Tagging Issues
When you link your Google Ads and GA4 accounts, you should enable auto-tagging. This automatically adds a GCLID (Google Click Identifier) parameter to your destination URLs. GA4 reads this parameter and automatically fills in the Source, Medium, Campaign, and other Google Ads dimensions for you. "(not set)" can appear if this process breaks.
- The Fix: Check Your Google Ads & GA4 Link.
How to Fix "(not set)" in the Landing Page Report
The landing_page dimension shows the first page a user "landed" on during a session. Seeing "(not set)" here is confusing - how can a user start a session without landing on a page? The reason is timing.
Cause: Sessions Without a page_view Event (or a Delayed One)
A session in GA4 officially starts with a session_start event. This event fires as soon as the GA4 tracking code loads. However, GA4 gets the landing page value from the first page_view event in that session. If a session begins but, for some reason, a page_view event doesn't fire, the landing_page dimension will read "(not set)".
This can happen if:
- A user lands on a page, the
session_startfires, but they navigate away or close the tab before thepage_viewevent has a chance to fire (common with slow-loading pages). - Your site fires other events before the first
page_view. For example, a "consent updated" event might fire immediately on load, creating a session before the page itself is tracked. - You are sending server-side events via the Measurement Protocol which start a session, but you don't include a
page_locationorpage_titleparameter along with it. - The Fix: Ensure
page_viewFires Properly and Promptly.
How to Fix "(not set)" for Custom Dimensions (like Content Group)
Dimensions like Content Group, which helps lump pages into categories like "Blog," "Products," or "About Us," will always be "(not set)" by default because GA4 doesn't know how you want to group your content. You have to tell it.
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.
Cause: The Dimension Has Not Been Configured
This value shows up simply because the content_group parameter has not been set up in your GA4 code or Google Tag Manager or registered within the platform.
- The Fix: Define and Register Your Content Groups.
Final Thoughts
"(not set)" is not an error, but it can skew your reports, leading to misinformed decisions. Regular audits and adjusting setup processes will usually resolve these issues. Always ensure that your tracking parameters are configured correctly, use debugging tools to catch issues early, and make optimizing your data pipeline a routine practice. A well-maintained Google Analytics setup can provide invaluable insights into your audience's behavior and help you adapt your marketing strategies effectively.
We hope this guide has helped you understand how to address the "(not set)" issues in GA4. By taking a proactive approach to configuring and verifying your analytics setup, you’ll ensure that your data tells the accurate story necessary to inform your strategy and decisions.
Related Articles
How to Create Facebook Ads API for Claude Code
Create a Meta Marketing API access token that never expires, using a system user, so Claude Code can pull Facebook ad reports and manage campaigns.
ClickHouse vs Postgres: When to Switch to Columnar
Comparing ClickHouse vs PostgreSQL means matching storage architecture to workload. Row storage wins for transactions. Columnar wins for scan-heavy analytics.
Google Ads for Orthodontists: Get More Booked Consults
Most orthodontic Google Ads campaigns waste money on low-intent searches. The problem is structure, not the platform.