100% (not provided)! – Analysis Tool-kit Pt.1 – Advanced Google Analytic’s Filters

Ian HancockAnalytics, Inbound Marketing, Search Engine Optimisation

In light of Google’s recent announcement that they will be ramping up SSL security on ALL queries entered, I thought it would be a good idea to provide  a series of posts on methods that SEO’s can use to try and gain more insight from the limited data coming our way.

Adapt Your Analytics

First up – if you don’t already use multiple profiles within your analytics properties then now is the time to start – more information on this from Seer

1. Create a New Profile

Create your new “Not Provided Analysis Profile” – call it something useful like “SEO Not Provided Analysis” for example.  When doing this is always a good idea to setup any IP exclusion filters you have in place too… Not Provided Analysis Profile

2. Basic Filter Setup

There are two basic common sense filters that need to be setup initially since (not provided) traffic only comes through the Google Organic source / medium combination.  So, under the filters section of your newly created profile create the following filters:

google-only-filter organic-only-filter


3. Not Provided Rewrite

This clever little filter will take your “(not provided)” keywords and combine it with the landing page URI


Heres the filters in text format so you can copy and paste easily:

[box type=”note” align=”aligncenter” ]

  • Campaign: (.not provided.)
  • Request URI: (.*)
  • Campaign Term: np – $B1


4. Ranking Filters – w00t!

These are two filters that work in tandem to strip out the ranking position that your listing was in when it was clicked on, clever huh?

Filter 1:


[box type=”note” align=”aligncenter” ]

  • Referral: (?|&)(cd)=([^&])
  • Custom Field 1: $A3


For those who want to know, this filter basically examines the referrer string from Google and pulls out the query string variable, cd, into a custom field within Analytics.

Filter 2:


[box type=”note” align=”aligncenter” ]

  • Custom Field 1: (.*)
  • Campaign Term: (.*)
  • Campaign Term: $B1 | ($A1)


This filter then uses the value from the custom field created by filter 1, and combines it with value generated by the Not Provided Rewrite filter.

The Result

After all that “hard work” we now have some additional data to use in our analytics account that will help us to draw greater insight into traffic coming through the (not provided) search term on Google – once the data has started to flow into the profile it should look something like this [ np – landing-page-uri | (position) ] :



I hope this will provide you with an easy guide to setting this up and help you in gain more insight from your (not provided) data.  This is just one tool that can be used in the fight against (not provided) and its worth noting that there are many other tactics and methods being used draw insight from the data.  A recent Whiteboard Friday Tuesday from Rand is a great place to start…

Good Luck to All!