Me not at work

The End of (Not Provided) Keyword Data in Google Analytics

OK…. so maybe not the end after all, but this filter leads to data which is a hell of a lot more useful and actionable than having (not provided) in your organic traffic sources in Analytics. If you didn’t know (well you probably do as you are here) Google strips out keyword information for organic searches when users are logged into Google or if they are using the https version to search. This data shows up as (not provided) under organic traffic sources in Google Analytics, this is obviously not good news for SEO’s unable to see vital keyword information. In some cases I’ve seen (not provided) can be the single highest volume organic source which is not helpful in the slightest when all of this information is masked.

It doesn’t look like Google is going to change this situation any time in the near future, however there is hope:- Filters! Yes, by using a special filter within a Google Analytics profile we are able to extract some actionable data out of the (not provided) hell. Here’s how:

Note: You must have an Administrator account access to the profile you wish to do this with

1. Open up your favourite Google Analytics profile

2. Click on the Admin tab in the top right corner

3. Click on the Profile you want from the list

4. Click on the Filters tab

5. Click Add New Filter

6. Give the filter a name. I named mine ‘Not Provided Filter’. Imaginative I know!

7. Select the Custom Filter radio button

8. The below radio buttons should appear. Select Advanced.

9. We now need to tell Analytics to extract some data from the (not provided) attribute. Input the following into the boxes as shown below:

We are telling Google Analytics everytime it sees [any character]not provided[any character] to apply the filter and then to request the landing page that the user reached coming from a (not provided) term. We are then telling Google Analytics to display this information in the form of np -/landing page.

10. Click save and the filter should now be live

One thing to note here is that it may take time to generate the data, this does not re-write historical data unfortunately but any new (not provided) terms should start showing up in Analytics as the page where the user landed like below:

This data is much better than the below:

OK, so it’s not perfect and we still can’t see the actual keyword the user came in to the site on, however being able to see the landing page makes it much easier. From this data we can make assumptions of the key terms that the user came in on and this kind of data gives us much more actionable insight.

As Google continues to try and build Google+ up forcing users to be signed in for certain services, the (not provided) issue is only going to become worse. From my own Analytics profiles I have seen a massive increase in the volume of (not provided) terms compared to actual visible terms. This is obviously not the best situation when reporting to clients and for providing any insight, however the above filter does help in providing at least some kind of data. I must credit Dan Barker from Econsultancy who originally posted about this idea in 2011. I first read about this then and implemented it in an in-house position. Now that a year has passed I have hardly seen anyone use this technique, so thought it was about time to get it to the forefront of peoples minds. With rumours circulating that Chrome is going to release an SSL by default on search, (not provided) terms are only going to dominate our keyword reports on Analytics.

I hope this helps you in your quest for data and as always leave your suggestions/questions in the comments.

Hi Rob, that’s a good idea. Haven’t tested that yet, typically I use this for sites that have good URL structure as with the pages alone you can make a decent assumption of what keyword or keyword sets are driving traffic to that page. Will definitely test out page titles on a couple of profiles though.

Hi there!
Am I wrong or could this data be extracted easily without the filter as well?
Just sort traffic for “(not provided)” and add a second dimension “Landing Page”.
There you go.
Or is there any difference?
See you, Harald

Hi Harald, yes you are right. You can put a secondary dimension in against (not provided) and see the landing pages.

However with this filter it allows you to add secondary dimensions against the (Not Provided) + Landing page. So you would see NP -/Landing Page/ plus your second dimension. This enables you to, say, look at not provided landing pages by location or even language giving a better indication of what keywords users arrived on.

Without this filter you can use second dimensions, but you wouldn’t be able to see the landing page unless you’ve set up some complex advanced segments.