The filter enables more data from (not provided) in Analytics

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

How to set up analytics filter

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

setting up a not provided filter for analytics9. We now need to tell Analytics to extract some data from the (not provided) attribute. Input the following into the boxes as shown below:

Not Provided Filter in Google AnalyticsWe 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:

The filter enables more data from (not provided) in AnalyticsThis data is much better than the below:

(Not Provided) in Analytics

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.

7 thoughts on “The End of (Not Provided) Keyword Data in Google Analytics

  1. Nice idea; might also be useful to use ‘page title’ in the B field where clients have a poor URL structure, which may also give you a better impression of the potential keywords coming in.

    Haven’t tested it yet but seems like page title would be a good solution where the URL structure isn’t search friendly.

    1. 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.

  2. 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

    1. 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.

      Just another way to easily pull out data I suppose.

  3. Hi Harald,

    Your method is a lot easier to implement, especially for anyone new to SEO and GA. It is also instant and shows historical data.

    Thank you for sharing!

  4. Advanced Segments
    Include : Keyword : Exactly matching : (not provided)

    Call it “Data for (not provided) keywords” or something.

  5. Yeah, this is helpful but is there a difference by creating a segment, Matching keyword = (not provided), then going to the organic report > then landing page.

    Here I can apply the secondary dimension also. Unless I’m missing something from the filtered view?

Comments are closed.