Google’s recently introduced Search Console (replacing Webmaster Tools) has plenty of benefits (device, query, and country filters) over its predecessor, but it is not without its own limitations
Webmasters, SEOs, and marketers are still limited to 90 days’ worth of data, query filtering is limited to one word or phrase at a time, and device comparison is limited to two devices at a time.
So what do you do when you meant to pull the data from the last 90 days on a Friday and don’t remember until Monday morning? Or need to quickly get a sense of non-brand performance by filtering out all possible brand phrases? Or need to quickly pull daily organic data for all 3 device types?
Using the standard filters, these tasks would be impossible or require multiple rounds of data pulling.
However, within Google Search Console (GSC), when you add filters or change the date range from the default, GSC adds a “state=” parameter at the end of the URL. This URL parameter can be manually adjusted to:
- Adjust the date range
- Filter out additional query strings
- Compare all three device types against each other
The GSC "State=" Parameter
The “state=” parameter may initially appear to be a mess of random characters and “null” values that have no clear meaning.
However, the “state=” parameter is actually URI encoded to handle the special characters that are included in the URL. So, for example, “[“ becomes “%5B” and “,” becomes “%3B”. This ensures the browser is able to properly understand and render the page.
If you choose to look at 90 days’ worth of data with no filters and the “web” type search results, the “state=” parameter will look like this:
%5Bnull%2C%5B%5Bnull%2C%2220150529%22%2C%2220150826%22%5D%5D%2Cnull%2C
%5B%5Bnull%2C6%2C%5B%22WEB%22%5D%5D%5D%2Cnull%2C%5B1%5D%2C1%2C0%2C
null%2C%5B1%5D%5D
Easy to understand, right? Not.
However, if you decode the URI-encoding (which can be done through many tools available on the web), you get this:
[null,[[null,"20150529","20150826"]],null,[null,6,["WEB"]],null,[1],1,0,null,[1]]
The “20150529” and “20150826” strings are clearly referring to the date range and “WEB” is referring to search results type.
What if we were to filter out terms with “RKG”? The parameter will look like:
%5Bnull%2C%5B%5Bnull%2C%2220150529%22%2C%2220150826%22%5D%5D%2Cnull%2C
%5B%5Bnull%2C2%2C%5B%22rkg%22%5D%2C2%2C1%5D%2C%5Bnull%2C6%2C%5B%22
WEB%22%5D%5D%5D%2Cnull%2C%5B1%5D%2C1%2C0%2Cnull%2C%5B2%5D%5D
When we decode that string it becomes:
[null,[[null,"20150529","20150826"]],null,[[null,2,["rkg"],2,1],[null,6,["WEB"]]],null,[1],1,0,null,[2]]
Again, it becomes pretty apparent what parts of the parameter are doing what, with the bolded section filtering out the "RKG" queries.
So what can we do with this?
Extend Data View Beyond 90 Days
Well, for one, we can change the 90-day date range beyond 90 days. Not by much, but enough to save face with your boss if you forget to pull the data on Friday.
For this example, after changing “20150529” to “20150526”, GSC displayed 93 days worth of data:
Unfortunately, 93 days appears to be the most days you can get data for using this method.
Filter Out All Brand Terms to View Non-Brand Performance
By using the GSC user interface alone, you’re limited to filtering on one term or phrase. However, by manipulating the URL, you can also filter out multiple terms, which can be helpful when you are trying to look at non-brand data at a daily level.
Granted you’ll still be looking at a sample, but it can be a useful proxy for non-brand performance.
Looking at the decoded parameter string, the bolded section below tells GSC to filter out all terms with “rkg.”
[null,[[null,"20150529","20150826"]],null,[[null,2,["rkg"],2,1],[null,6,["WEB"]]],null,[1],1,0,null,[2]]
Well that’s all well and good, but people search for our site by using “rimm-kaufman” and “rimm kaufman” queries as well. By filtering out “rkg”, you’ll still have “rimm-kaufman group” query traffic showing up in the GSC report.
If you add another bit to the filter, however, you can remove these queries as well!
[null,[[null,"20150529","20150826"]],null,[[null,2,["rkg"],2,1],[null,2,["rimm kaufman"],2,1],[null,2,["rimm-kaufman"],2,1],[null,6,["WEB"]]],null,[1],1,0,null,[2]]
When encoded that string becomes:
%5Bnull%2C%5B%5Bnull%2C%2220150529%22%2C%2220150826%22%5D%5D%2Cnull%2C
%5B%5Bnull%2C2%2C%5B%22rkg%22%5D%2C2%2C1%5D%2C%5Bnull%2C2%2C%5B%22
rimm%20kaufman%22%5D%2C2%2C1%5D%2C%5Bnull%2C2%2C%5B%22rimmkaufman%22
%5D%2C2%2C1%5D%2C%5Bnull%2C6%2C%5B%22WEB%22%5D%5D%5D%2Cnull%2C%5B
1%5D%2C1%2C0%2Cnull%2C%5B2%5D%5D
Without any filters on, we see the following as our site’s top seven queries:
By using the user interface, we can filter out “rkg” related queries.
As you can see, the results still show “rimm-kaufman” and “rimm kaufman” related queries in the top 7. By changing the parameter to the encoded version above, we get:
Now, if we view the data by date rather than the list of queries, we can look at non-brand clicks, impressions, click-through rate, and average position by day with all possible brand queries filtered out of the data!
Compare Data for All Three Device Types
GSC’s user interface allows you to select two devices to compare with its standard filter:
However, a small tweak to the parameters allows you to compare all 3 on a daily level.
By decoding:
%5Bnull%2C%5B%5Bnull%2C%2220150529%22%2C%2220150826%22%5D%5D%2Cnull%2C%5B
%5Bnull%2C6%2C%5B%22WEB%22%5D%5D%5D%2C%5Bnull%2C7%2C%5B%22DESKTOP%22
%2C%22MOBILE%22%5D%5D%2C%5B1%5D%2C1%2C0%2Cnull%2C%5B1%5D%5D
into:
[null,[[null,"20150529","20150826"]],null,[null,6,["WEB"]],[null,7, ["DESKTOP","MOBILE"]],[1],1,0,null,[1]]
we can see that the [“DESKTOP”,”MOBILE”] section of the parameter is what tells GSC to display desktop and mobile data.
If we change [“DESKTOP”,”MOBILE”] to [“DESKTOP”,”MOBILE”,”TABLET”] we can view all three devices’ data at one time.
Conclusion
Use these tips to get the data you need quickly! While making use of the GSC API and databasing the information available can help to eliminate some of the limitations of the interface, users can get more out of the interface than what's possible using the available filtering options.
Whether you missed the time frame to pull the correct 90 days’ worth of data, need to get an idea of daily non-brand CTR, or want to compare daily numbers for all three devices, playing around with the URL can get the job done and in some cases allow you to do more than the filters in GSC will allow for. All you need is a tool to encode and decode the URL strings and the willingness to play around with things for a bit.