What is a Not Set Page in Google Analytics?
Seeing "(not set)" in your Google Analytics page reports can be confusing and a little alarming. It often shows up with a significant number of sessions or events, leaving you to wonder what piece of the puzzle you're missing. This article walks you through what this value actually means, the most common reasons it appears, and practical steps you can take to diagnose and fix the underlying issue.
What Does "(not set)" Mean in Google Analytics?
In Google Analytics, "(not set)" is a placeholder value. GA uses it whenever it has received data for a session or event but has not received any information for the specific dimension you are looking at. In the context of the "Pages and screens" report, it means Google Analytics recorded an activity (like a session starting or an event firing) but couldn't associate it with a specific page URL or page title.
Think of it like getting a package delivered to your office. The package has your company's name on it (that's the session), but the sender's details are completely blank. You know you received something, but you have no information about where it came from. Similarly, GA knows a user did something, but it doesn't know on which page they did it.
A small percentage of "(not set)" page values is normal and often unavoidable. However, if you see a large portion of your traffic falling into this bucket, it's a signal that something is wrong with your data collection that's worth investigating.
Common Causes of "(not set)" Pages in GA4 Reports
Most "(not set)" issues trace back to the timing and ordering of how data is sent to Google Analytics. If an event is tracked before the essential page information is available, GA doesn't know where to file it. Here are the most frequent culprits.
1. Non-Pageview Events Kicking Off a Session
Google Analytics 4 is event-based, which means everything a user does - from loading a page to scrolling down - is tracked as an event. The two most common events in this context are session_start, which fires automatically when a new session begins, and page_view, which fires when a user loads a page on your site.
Sometimes, the session_start event fires and is processed by Google Analytics just a split-second before the page_view event, which contains the details about the page URL and title. When this happens, that initial session_start event has no page details to attach itself to, resulting in a "(not set)" value for the page dimension. This is one of the most common and often unavoidable sources of "(not set)".
2. Session Timeouts
The standard session timeout in Google Analytics is 30 minutes of inactivity. Imagine a user visits your website and opens a blog post in a new tab. They get distracted, go to lunch, and come back to their computer an hour later. The original session has now expired.
If they click a call-to-action button or download a file from that still-open tab without refreshing the page first, a new session is immediately initiated by that event. Because this new session started with a click event (not a formal pageview), Google Analytics may not have the page context for that initial hit. This can lead to a page value of "(not set)" for this newly started session.
3. Improper Tag Implementation in Google Tag Manager (GTM)
Google Tag Manager gives you incredible flexibility, but it also opens the door to misconfigurations. One of the most common issues is setting up an event tag without properly connecting it to the main GA4 Configuration tag.
- Orphan Event Tags: If a GA4 Event tag fires before the GA4 Configuration tag has established the session and gathered page details, the event becomes an "orphan." It sends data to your GA property, but it lacks critical context like the page location.
- Tag Firing Order: Triggering certain events too early in the page-loading process (e.g., using "Consent Initialization" or "Initialization" for events that need page info) can cause issues. For most tracking, it's best to let the GA4 Configuration tag fire on all pages so it can collect the details first.
4. Slow Page Load Speed
Your Google Analytics tracking code needs time to load and execute. If your website is slow, a user might click a link and navigate to another page (or close their browser) before the GA script has fully fired. In this scenario, GA might have received just enough information to start a session but not enough to capture the pageview details, leading to "(not set)." This is more common on mobile devices or for users with slow internet connections.
5. Third-Party Integrations and Measurement Protocol Hits
If you're sending data to Google Analytics from other systems - like a CRM, a call tracking platform, or a backend server - using the Measurement Protocol, it's possible those "hits" are sent without page details. For example, your Point of Sale system might send a "Purchase" event to GA for an in-store transaction. That event is part of a user's activity but didn't happen on a website page, so Analytics correctly assigns it a "(not set)" page value.
6. Ad Blockers and Privacy Extensions
Some more aggressive ad blockers and browser privacy tools may interfere with JavaScript tracking. They might allow some basic data to be sent to Google Analytics but block other parameters, such as the page URL. While this is less common than other causes, it can contribute to your "(not set)" numbers, especially if a significant portion of your audience uses these types of tools.
How to Investigate and Reduce "(not set)" Pages
Finding the source of the "(not set)" value requires a bit of detective work. Here's a methodical process you can follow.
Step 1: Use the Report to Find Patterns
Before diving into technical tools, analyze your "(not set)" traffic inside Google Analytics to see if you can spot any trends. This can provide crucial clues about the cause.
In your GA4 property:
- Go to the Reports section and find the Pages and screens report under "Engagement."
- At the top of the report, click Add comparison.
- Build a condition where Dimension =
Page path and screen classand Match type =exactly matchesand Value =(not set). - Apply this comparison alongside your "All Users" segment.
Now, add a secondary dimension to this report by clicking the small plus sign (+) next to "Page title and screen class." Look for patterns across different dimensions:
- Event name: Is "(not set)" primarily associated with a specific event like
file_downloador a custom event you've built? This points to a specific tag being the problem. - Device category: Is the problem mostly on mobile devices? This could indicate a page speed issue.
- Source / Medium: Does it come from a particular campaign or channel? Perhaps a bad link is causing redirects that interfere with tracking.
- Browser: If one browser is responsible for most of the "(not set)" data, it might be related to a popular extension for that browser.
Step 2: Check Your Tag Implementation with Tag Assistant
Google's Tag Assistant is your best friend for debugging tracking issues. It shows you exactly what data is being sent to Google Analytics from your website in real-time.
- Go to tagassistant.google.com.
- Enter your website's URL and click Connect. A new window with your website will open in debug mode.
- In the Tag Assistant window, look at the sequence of events on the left. Click on an early event like "_ga_initial_config" or "page_view".
- Select the "API Call" tab and look for the page parameters, specifically
dl(page location/URL) anddt(page title). - If these values are missing or incorrect for your pageview events, you have a tag implementation problem. Ensure your GA4 Configuration tag is set to fire on "Initialization - All Pages" in GTM.
Step 3: Test Your Website's Load Speed
Use a tool like Google PageSpeed Insights to analyze the performance of your key landing pages. If scores are low, focus on the recommendations it provides, such as compressing images, enabling browser caching, and reducing server response times. The faster your page loads, the lower the chance a user will leave before your analytics gets the data it needs.
Step 4: Create Filters for Cleaner Reporting (When Necessary)
While fixing the root cause is always best, sometimes you simply want to analyze your data without the noise of "(not set)". You can easily filter it out of your reports. For example, in an Exploration report, simply add a filter for "Page path and screen class" that does not contain (not set).
This doesn't fix the underlying data collection issue, but it does allow you to focus your analysis on the pages you can identify while you work on a more permanent solution.
Final Thoughts
Encountering "(not set)" pages in Google Analytics is common, so don't panic. It's simply a sign that an event or session was recorded without a corresponding page dimension. By methodically diagnosing potential causes like session timeouts, tag configurations, or page speed issues, you can significantly reduce its presence and improve the accuracy of your data.
Sifting through reports and debugging tracking issues like this is often one of the most tedious parts of analytics. As we discovered these same frustrations ourselves, we built Graphed to streamline the entire reporting process. You can connect your marketing and sales data sources in seconds and use simple, natural language to create dashboards, get performance alerts, and ask direct questions, helping you spend less time hunting for problems and more time acting on insights.
Related Articles
What SEO Tools Work with Google Analytics?
Discover which SEO tools integrate seamlessly with Google Analytics to provide a comprehensive view of your site's performance. Optimize your SEO strategy now!
Looker Studio vs Metabase: Which BI Tool Actually Fits Your Team?
Looker Studio and Metabase both help you turn raw data into dashboards, but they take completely different approaches. This guide breaks down where each tool fits, what they are good at, and which one matches your actual workflow.
How to Create a Photo Album in Meta Business Suite
How to create a photo album in Meta Business Suite — step-by-step guide to organizing Facebook and Instagram photos into albums for your business page.