11+ Places Where (not set) Can Strike in Google Analytics/
June 25, 2015
When it comes to reporting on your website, knowing that your data is as accurate as possible is one of the most important considerations. Most effort is done in the implementation phase, but as time goes on, you may start to see ‘(not set)’ creeping into some of your Google Analytics reports. This label doesn’t tell us much in terms of analytics or decision-making and it can strike in multiple places throughout your data. In some places it is not a concern while in others, it is a red flag that should not be overlooked.
Below is a list of over 11 dimensions where you may see (not set):
Behavior > Site Content > Landing Pages
This report tells us which page or screen a user viewed first when they came to our site. This (not set) can be one of the most important indicators of an issue with your tracking. There are three main issues that could cause this to show up: expired sessions, broken sessions, and incorrect implementation.
Example One: Expired Sessions
By default, sessions expire after 30 minutes of inactivity, which is measured from the last hit that GA receives. If you have a website where someone could theoretically load a page, spend 30 minutes on that page, and then come back at a certain point and trigger an event, like from a PDF download, then that new event will trigger a brand new session. If that’s the only hit within the session, then the landing page will appear as (not set).
This can often happen with websites with long-form content or embedded videos, though almost everyone will see it show up for a small portion of traffic. Think how many times you may have opened a webpage only to be distracted and come back to it later.
Fix #1: If you can reasonably expect this to happen on your site due to your content, you can change your Session Timeout settings to be up to 4 hours. This should decrease the (not set) numbers.
Fix #2: Perhaps a better solution would be to implement more events to help keep the current session alive. These can be things like YouTube tracking, scroll tracking, or even a timer after a certain number of minutes. Be careful though, as this change will also affect your bounce rate, time on site, and time on page, though you’ll only be moving closer to accurate!
Example Two: Broken Sessions
When a user loads a webpage, any combination of hits can be sent in; pageviews, events, social actions, transactions, etc. These should all be connected so you can get a full picture of user activity on your site. However, for a variety of reasons, sometimes these hits can get separated and exist in separate sessions. If a new session doesn’t have a pageview in it, then you’ll see your Landing Page show as (not set). This is one of the more serious issues that should be addressed.
Behavior > Site Content > All Pages
Maybe you’re seeing all of your page paths in the Site Content reports, but when you switch to “Page Title,” (not set) appears as a row. This means that there is an error with the
<title> tag in the head of your webpage or no
<title> tag at all. This isn’t an urgent issue with Google Analytics since you can work around it by using Page as the primary dimension, but it is a problem when considering SEO and site experience.
Another possibility is that your Google Analytics code is loading and firing above the
<title> tag in the head of your page.
Fix: Implement missing
<title> meta information in the head of all webpages or move your GA code.
Audience > Technology > Network
This is one to definitely pay attention to! Go to the Network report and change the primary dimension to “Hostname.”
As a reminder, the Hostname dimension refers to the page that was loaded. So for our website, the Hostname would appear as “www.lunametrics.com.
You should only see Hostnames that are familiar to you and from your own site. If you see a (not set) row, it is likely from ‘ghost’ spam- a spam bot that leaves fake data in your Google Analytics reports. Because this type of spam never actually hits your site and only injects the fake data, fake hostnames can show up in the behavior reports or no hostname at all.
Filtering this report to only include the (not set) hostname and adding Source/Medium as a secondary dimension will likely show fake referral information. And again, when there’s no data available, (not set) will show up.
Fix: Since this is spam and skewing your data by a little or a lot depending on the percent of traffic (not set) accounts for, it’s always best to filter it out of your reporting views. Your best bet is to create an Include filter to only include traffic that is coming from a visit to your site. If there are hits that are not coming from your site, they’ll be filtered out.
Source, Medium, Campaign and Ad Content
Acquisition > All Traffic > Source/Medium
Acquisition > Campaigns > All Campaigns
These dimensions are associated with your acquisition reports. The Source and Medium should always be populated. Either they are automatically recorded by Google, or tagged with custom UTM parameters. If you see (not set) showing up as the source or medium, it is likely from a mis-tagged link. If (not set) shows up for campaign or ad content, it is likely because these traffic sources did not have campaign or content information.
Fix: Make sure that all tagged links are formatted (and spelled) correctly. The URL builder from Google is a good process to use, especially since it requires source, medium and campaign. Always have utm_source and utm_medium at the least.
Acquisition > Campaigns > Organic Keywords
For organic keywords, (not provided) will likely be your number one term. This particular keyword is a placeholder for organic keywords that Google is not showing for privacy reasons. If you see (not set), that means that the traffic coming to your site did not have keyword. It might be from an odd search engine that doesn’t pass that info, or perhaps you’ve manually tagged something as Organic and not supplied a keyword.
Fix: This does not necessarily need a fix if you are not tagging keywords in campaigns, but to include this information, you can use the “utm_term” field from the URL builder mentioned previously.
Acquisition > Campaigns > Paid Keywords
If you see (not set) in your Paid Keywords report, this is a sign that something isn’t configured correctly. You’re getting Paid Search traffic from somewhere, but you’re not getting the details about that traffic.
Fix #1: This could signal a problem with your AdWords connector. Make sure that the correct accounts are linked to your Google Analytics view.
Fix #2: If AdWords is connected properly, then something may be wrong with your tagging. We always recommend auto-tagging. Check to make sure this is enabled, or if you are using manual tagging, make sure you’re also passing through the utm_term parameter.
Browser and Browser Version
Audience > Technology > Browser & OS
When you visit a webpage, the page detects what is called a user agent. The user agent has information related to what device you are using as well as which browser and browser version. If you see (not set), it is likely accounting for a very small percentage of your traffic. Google had libraries to identify user agents so when it does not match, (not set) will show up.
This could indicate crawlers and bots, especially if you see a bounce rate and new sessions percentage near 100% and an average session duration of less than a second.
Fix: Make sure the option to exclude hits from known bots and spiders is checked in your View Settings.
Fix #2: If you are still seeing a lot of (not set) hits showing up in your browser reports, add the secondary dimension to see which service providers they are coming from and manually exclude with view filters.
Audience > Geo > Location
Audience > Technology > Network
A small percentage of (not set) hits may also show up in your locations report. Unlike the browser metrics, this is not necessarily a flag for spam and bot activity. Google Analytics determines the location of users from their IP address. As Jonathan Weber notes in this post, this information can’t always be determined – especially if your website isn’t connected directly to the device like with a virtual connection or from some mobile browsers.
Additionally, the Service Provider dimension may also appear as (not set) – which also goes back to the visitor’s IP address. The IP address or service provider may not be shared by the visitor, which could happen for a variety of reasons. This also isn’t necessarily a flag for spam or bots, and is fairly common to see a small percentage of traffic with (not set). Check to see if these visits have transactions/goal completions/pageviews to help determine if they’re bots or not.
Reverse Goal Path
Conversions > Goals > Reverse Goal Path
The reverse goal path report shows goal completion locations as well as the previous three pages viewed. This is separate from goal funnels and will show all goals. “Not set” will always show up in this report. Why? Because it doesn’t always take three or more steps for users to complete goals (which is a good thing!). Remember, “not set” shows up when there is no data to show. So if someone enters the site and completes a goal right away (#1 in the example below), previous steps 2 and 3 would be “not set.”
Through all of the cases above and possibly many more, the overall explanation is that (not set) is a placeholder when metrics and hits are recorded without dimension information. Sometimes you can avoid seeing this in your reports by more thorough campaign tagging, event tracking and spam blocking, but other times it is an inherent part of the reports, such as in the reverse goal path.