What Does Not Set Mean in Google Analytics?
Seeing "(not set)" appear in your Google Analytics reports can be frustrating, but it's not actually an error. It's a placeholder Google uses when it hasn't received or can't process information for a specific dimension you're looking at. This article will break down the most common reasons "(not set)" shows up in your reports and give you actionable steps to investigate and fix the underlying issues.
What Exactly Does (not set) Mean?
Think of Google Analytics as a system that collects data for different categories, or "dimensions." Dimensions include things like City, Source / Medium, Landing Page, or Campaign Tag. When a user action (a "hit") is recorded, GA tries to fill in the data for every associated dimension.
If GA doesn't receive any data for a particular dimension during a user's session, it labels that entry as "(not set)." Essentially, it’s a blank cell in the giant spreadsheet that is your analytics data. It's not a bug, but rather a signal that for some reason, the data wasn't available for that specific interaction.
Common Causes of (not set) in Your GA4 Reports
The reason for "(not set)" varies depending on which report you're viewing. Trying to find a single solution for every instance won't work. Instead, you need to identify the report where it appears and diagnose the cause from there.
1. Landing Page Report
The "Landing Page + query string" report is one of the most common places to find "(not set)." This usually happens when a session doesn't include a page_view event, which is the event that typically defines a landing page.
- Sessions with only custom events: If a user starts a session by triggering a custom event you've configured in Google Tag Manager - but doesn't actually trigger a standard page view - there's no "landing page" for GA4 to record. For example, you might have an event that fires after a user watches an embedded video for 30 seconds, even if they never navigated to a new page. Since there's no page load associated with the start of that session, the landing page dimension is left blank.
- Session timeouts: By default, a Google Analytics session expires after 30 minutes of inactivity. If a user opens a tab with your website, walks away for 45 minutes, and then returns to click a link or take an action (firing an event), a new session starts. However, since they didn't "land" on a new page to initiate this new session, GA may not have a landing page value to assign and will record it as "(not set)."
- Measurement Protocol issues: If you are sending data to GA4 from a server or external system using the Measurement Protocol, it's possible the
page_locationparameter is missing from the hits you're sending. Without this parameter, GA4 doesn't know which page to attribute the session to.
2. Traffic Acquisition Report (Source / Medium, Campaign)
When you see "(not set)" as a traffic source, it almost always points to problems with your UTM tagging practices.
- Missing or incorrect UTM parameters: Your marketing links need consistent UTM tags. If a landing page URL is missing key parameters (like
utm_source,utm_medium, andutm_campaign), GA4 can't attribute the traffic to a specific channel or campaign, so it falls into "(not set)." A common mistake is usingutm_termwithoututm_source, which GA4 will fail to process correctly. - Redirects stripping parameters: Sometimes, marketing links go through redirect chains (like vanity URLs or link shorteners) that accidentally strip the UTM parameters from the final URL. The user gets to the right page, but the tracking data is lost along the way.
- GA4 Event Tagging issues: An event like
session_startmight be missing required parameters. Properly configured UTMs and your Google Tag setup are crucial here to ensure those values are passed correctly from the start. - Auto-tagging mismatch: If you're running Google Ads, you should have auto-tagging enabled, which automatically adds tracking information (the
gclid) to your URLs. If auto-tagging conflicts with any manual UTMs you’ve added to the same links, or if your website is unintentionally stripping thegclidparameter, the session might appear as "(not set)" or get misattributed.
3. Location Reports (Region, City)
It's completely normal to see some "(not set)" values in your geographic reports. This happens when Google can't determine a visitor's exact location from their IP address.
- VPNs and privacy tools: Users often use VPNs (Virtual Private Networks) or other privacy blockers that mask their IP location. In these cases, GA is respecting user privacy and will not be able to assign a location.
- Inaccurate IP lookup databases: Google's ability to map IP addresses to physical locations isn't perfect. For some internet providers or regions, the data simply isn't available or accurate enough.
You can't eliminate "(not set)" from location data completely, so this usually isn't a big cause for concern unless it represents a huge portion of your traffic.
4. Custom Dimensions and Event Parameters
If you have set up custom dimensions in GA4 (for example, to track something specific like "blog_author" or "subscription_plan"), you might see "(not set)" for multiple reasons:
- The parameter was registered late: Custom dimensions in Google Analytics 4 don't backfill. So if you set up a new dimension today to capture an event, it will not receive data that was collected yesterday. All values for that parameter will be "(not set)" for events from before the setup date.
- The parameter isn't sent with every event: If you have a custom dimension that is not sent in every event, any event that doesn't include this parameter will show "(not set)."
5. Conversion Reports
Seeing "(not set)" in conversion data often signals that there is something broken in the attribution chain. This happens when some of the source traffic comes from areas where necessary parameters are missing.
- The referring site uses HTTPS, but your site uses HTTP: Modern browsers do not pass information about the referring site if the destination is HTTP. This means that traffic referred to your site from an HTTPS site will show as "(not set)" if your site isn't also using HTTPS.
- Organic and Direct Traffic: Some sessions can appear as "(not set)" in conversion reports if Analytics can't appropriately tie them to an identifiable source.
A Practical Guide to Investigating a (not set)
When you find a "(not set)" in your data and want to investigate, follow these steps to help determine the cause.
1. Identify the Specific Report and Dimension
Note which report and dimension you're examining. This will guide you in understanding why the "(not set)" appears and which specific data point you need to address.
2. Apply a Secondary Dimension for Context
One of the easiest ways to gain more context is by applying a secondary dimension. This allows you to see another aspect of the interaction, helping you deduce potential reasons for missing data.
- Landing Page: You might want to see if the affected sessions are predominantly occurring on mobile devices or if they are specific to certain campaigns.
- Source: Checking if "(not set)" entries align with certain sources can help identify mismatches in traffic attribution.
3. Perform a Health Check on your UTM Tagging
If you suspect the issue might be related to UTM parameters, audit your links to ensure all necessary tags are in place.
- Review UTM Tags: Use a builder to ensure consistency across your campaigns. This ensures all necessary parameters are included in every URL.
- Check Campaign Parameters: Ensure all landing pages have the correct UTM parameters embedded in them to avoid "(not set)" errors.
4. Verify Google Ads Integration
If you see "(not set)" in relation to a Google Ads campaign, verify the integration is correctly configured.
- Navigate to the Admin section of your Google Analytics account.
- Ensure that Google Ads linking is correctly set up.
- Verify that auto-tagging is enabled to ensure proper data flow.
5. Check Custom Dimension and Event Parameters
Verify that events are sending all the necessary parameters to capture all dimensions correctly. Ensure each custom dimension is included with the relevant events.
Final Thoughts
When you encounter "(not set)" in your Google Analytics data, it's a signal that something is missing. Understanding where and why this occurs will help you rectify data collection issues. Avoid the tedious manual methods of solving these problems by using tools like Graphed to automate data integration and solve the mystery of missing data more efficiently. With Graphed, you can centralize all your marketing and sales data for real-time analytics and insights.
Related Articles
How to Connect Facebook to Google Data Studio: The Complete Guide for 2026
Connecting Facebook Ads to Google Data Studio (now called Looker Studio) has become essential for digital marketers who want to create comprehensive, visually appealing reports that go beyond the basic analytics provided by Facebook's native Ads Manager. If you're struggling with fragmented reporting across multiple platforms or spending too much time manually exporting data, this guide will show you exactly how to streamline your Facebook advertising analytics.
Appsflyer vs Mixpanel: Complete 2026 Comparison Guide
The difference between AppsFlyer and Mixpanel isn't just about features—it's about understanding two fundamentally different approaches to data that can make or break your growth strategy. One tracks how users find you, the other reveals what they do once they arrive. Most companies need insights from both worlds, but knowing where to start can save you months of implementation headaches and thousands in wasted budget.
DashThis vs AgencyAnalytics: The Ultimate Comparison Guide for Marketing Agencies
When it comes to choosing the right marketing reporting platform, agencies often find themselves torn between two industry leaders: DashThis and AgencyAnalytics. Both platforms promise to streamline reporting, save time, and impress clients with stunning visualizations. But which one truly delivers on these promises?