What Does It Mean in Google Analytics?
Seeing "(not set)" in a Google Analytics report can feel like hitting a frustrating wall in your data analysis. You're looking for clear answers, but instead, you get a vague, unhelpful placeholder. This guide will walk you through what "(not set)" means, why it appears in different GA4 reports, and most importantly, how to fix it so you can get the clean data you need.
What Exactly Does "(not set)" Mean?
Think of "(not set)" as a blank field on a form. It's simply the placeholder Google Analytics uses when it receives no information for a specific dimension you're looking at. The system recorded an event - like a user visiting your site or clicking a link - but a particular piece of data associated with that event is missing.
For example, GA4 might know that a session occurred, but it might not know which marketing campaign brought that user to your site. In a campaign report, that session's campaign dimension would show up as "(not set)".
While seeing a small amount of "(not set)" data is normal, a high percentage can hide valuable insights and make it difficult to attribute performance correctly. By understanding its causes, you can take steps to clean up your reports and make more informed decisions.
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.
Common Reasons "(not set)" Appears in GA4 Reports
The reason for "(not set)" varies depending on the report you're viewing. The fix for a "(not set)" traffic source is very different from the fix for a "(not set)" landing page. Let's break down the most common scenarios.
1. Traffic Source / Medium is "(not set)"
This is one of the most common - and most fixable - instances of "(not set)". When you see this value in your Traffic Acquisition report, it means GA4 couldn't identify where the user came from.
Why it happens:
- Missing UTM Parameters: This is the number one cause. If you share a URL in an email newsletter, a social media post, or a PDF without "tagging" it with UTM parameters, the traffic from that link will likely be classified as Direct, or worse, have its source/medium information missing entirely. When session timeout values are in play, this can easily result in "(not set)".
- Improper Redirects: Sometimes, redirects on your website can strip the tracking parameters (like
gclidfrom Google Ads or UTMs) from the URL. When the user finally lands on the destination page, the attribution data is gone. - Broken Cross-Domain Tracking: If a user journey spans across two different domains you own (e.g., from your marketing site to a separate e-commerce platform), and cross-domain tracking isn't set up correctly, the referral information can get lost at the handover.
- Auto-tagging Issues: If auto-tagging in your Google Ads account is disabled or your Google Ads and Analytics accounts aren't linked properly, the campaign data won't pass through correctly.
How to fix it:
- Always Use UTM Parameters: Make it a non-negotiable rule for your team to use UTM parameters on every URL you control and plan to share. This includes links for:
- Check Your Google Ads linkage: Inside Google Ads, go to Tools and Settings > Linked Accounts. Ensure your Google Analytics 4 property is connected and that auto-tagging is enabled in your account settings.
- Audit Your Redirects: Use a tool like Screaming Frog or a simple redirect checker to test a UTM-tagged URL that goes through a redirect. See if the parameters are still present on the final destination URL.
2. Landing Page is "(not set)"
When you see "(not set)" as a landing page, it usually means a session was recorded, but it wasn't associated with a page view. This sounds odd, but it's often a side effect of how GA4 processes events and sessions.
Why it happens:
- Session Timeouts: The default session timeout in GA4 is 30 minutes. Imagine a user lands on one of your blog posts, reads for a few minutes, and then leaves the tab open without closing it. They return an hour later. The original session has expired. When they re-engage with the page (e.g., scrolling), a new session starts. Events like
session_startandfirst_visitmight fire before a newpage_viewevent, in which case those session-starting events have no landing page to associate with. - Custom Events Firing Incorrectly: Sometimes a custom event (especially those sent via Measurement Protocol) might fire without the necessary page context. For example, a server-side event might be sent to GA4, but if it doesn't include the page location (
dl) and page title (dt) parameters, GA4 won't know which page to tie it to. - Filtering Issues: Using filters that exclude
page_viewevents for certain types of traffic or pages can also create sessions with no landing page data.
How to fix it:
- Analyze the Percentage: A small percentage (typically under 5%) of "(not set)" landing pages is often normal and unavoidable due to session timeouts. If you see a large or growing number, however, it's time to investigate.
- Review Your Custom Events: If you use the Measurement Protocol or server-side Google Tag Manager to send events, double-check your implementation. Ensure that session-starting events are always sent with page-related parameters like
page_location. - Adjust Session Timeout: If you know users on your site are frequently idle for more than 30 minutes (e.g., reading long articles, watching long videos), consider extending the session timeout. You can do this in Admin > Data Streams > [Your Web Stream] > Configure tag settings > Show more > Adjust session timeout.
3. Google Ads Dimensions are "(not set)"
If you're looking at Google Ads-specific dimensions like 'Session Google Ads ad group name' or 'Session Google Ads keyword text' and seeing "(not set)", it usually indicates a data flow problem between Google Ads and Google Analytics.
Why it happens:
- Google Ads and GA4 Aren't Linked: This is the most basic cause. If the accounts aren't connected, no Ads data can flow into GA4.
- Auto-tagging is Disabled: Google Ads uses a parameter called
gclid(Google Click ID) to pass detailed campaign information to Analytics. This is enabled via auto-tagging. If it's off, that data is lost. - Traffic That Isn't from Google Ads: This report is specifically for Google Ads traffic. If you're looking at data that came from other sources (e.g., Organic Search, Email), these fields will naturally be "(not set)" because they aren't applicable. Make sure you're applying the right filters to view only your Google Ads sessions.
How to fix it:
- Verify the Account Link: In Google Analytics, go to Admin > Product links > Google Ads links. Confirm that your Google Ads account is listed and properly linked.
- Enable Auto-tagging: In your Google Ads account, navigate to Account Settings > Auto-tagging. Make sure the box for "Tag the URL that people click through from my ad" is checked.
4. Location (Country, City, etc.) is "(not set)"
Sometimes, dimensions related to geography show up as "(not set)". This happens when Google cannot resolve the user's location from their IP address.
Why it happens:
- VPNs and Proxies: Users using Virtual Private Networks (VPNs) or other anonymizing services often mask their true IP address, making it impossible for Google to determine their location.
- IP Obfuscation: Some corporate networks or mobile carriers route traffic in ways that obscure specific geo-data.
- Google's IP Anonymization: By default, Google Analytics anonymizes IP addresses to comply with privacy regulations, which can sometimes result in less precise geographical data.
How to fix it:
Unfortunately, there is very little you can do to "fix" this. This phenomenon is a natural artifact of user privacy tools and internet architecture. The best approach is to accept that a small fraction of your geographic data will be unknown and focus on the trends and insights you can gather from the data you do have.
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.
Final Thoughts
Encountering "(not set)" in Google Analytics is a common problem, but it's not an unsolvable one. By methodically investigating which dimension is affected, you can identify the root cause - be it missing campaign tags, session timeouts, or implementation errors - and take corrective action to clean up your data for better, more reliable insights.
Dealing with data inconsistencies in reporting tools is often what makes manual Google Analytics analysis so time-consuming in the first place. That’s why we built Graphed. We simplify the entire reporting process by letting you connect directly to your Google Analytics account and generate dashboards using plain English. Instead of troubleshooting report errors, you can simply ask questions like "Which campaigns are driving the most traffic?" and get a real-time, shareable dashboard in seconds.
Related Articles
Facebook Ads for Physical Therapists: The Complete 2026 Strategy Guide
Learn how to use Facebook ads for physical therapists to attract new patients in 2026. Complete strategy guide with targeting, ad creative, instant forms, budget guidelines, and follow-up best practices for cash-pay PT practices.
Facebook Ads for Clinics: The Complete 2026 Strategy Guide
Learn how to use Facebook Ads for Clinics to grow your patient base in 2026. Complete guide covers targeting, campaign types, and compliance requirements.
Facebook Ads for Salons: The Complete 2026 Strategy Guide
Learn how to run profitable Facebook ads for hair salons and beauty spas in 2026. This comprehensive guide covers targeting, ad creation, budgeting, and proven strategies to attract more clients.