New Ways To Track Keyword Rank

// // January 13th 2013 // Analytics + SEO

Tracking keyword rank is as old as the SEO industry itself. But how you do (and use) it is changing. Are you keeping up?

This post covers how I create and use rank indexes and introduces a new and improved way to track rank in Google Analytics.


In December of 2012 both Raven and Ahrefs made the decision to shut down their rank tracking features because they violated Google’s Terms of Service. The reaction from the SEO industry was predictable.


The debate about why Google began to enforce the TOS (I think it has to do with the FTC investigation) and the moaning about how unfair it is doesn’t interest me. Both SEOmoz and Authority Labs still offer this service and the way many use rank needs to change anyway.

Every obstacle is an opportunity. Trite but true.

Is Rank Important?

To be honest, I don’t use rank that much in my work. This has to do with a combination of the clients I choose to work with and my philosophy that increasing productive traffic is the true goal.

Yet, you’d have to be soft in the head not to understand that securing a higher rank does produce more traffic. Being on the first page matters. Getting in the top three results can produce significant traffic. Securing the first position is often a huge boon to a business. Duh!

But rank is the extrinsic measurement of your activities. It’s a Google grade. Rank isn’t the goal but the result.

Unfortunately, too many get obsessed with rank for a specific keyword and spend way too much time trying to move it just one position up by any means necessary. They want to figure out what the teacher is going to ask instead of just knowing the material cold.

Rank Indexes

So how do I use rank? I create rank indexes.

A rank index is the aggregate rank of a basket of keywords that represent a type of query class that have an impact on your bottom line. For an eCommerce client you might have a rank index for products and for categories. I often create a rank index for each modifier class I identify for a client.

Usually a rank index will contain between 100 and 200 keywords that represent that query class. The goal is to ensure that those keywords reflect the general movement of that class and that changes in rank overall will translate into productive traffic. There’s no sense in measuring something that doesn’t move your business.

If that rank index moves down (lower is better) then you know your efforts are making a difference.

Executives Love Indexes

Business Cat

A rank index is also a great way to report to C Level executives. These folks understand index funds from an investment perspective. They get this approach and you can steer them away from peppering you with ‘I did this search today and we’re number 4 and I want to be number 1’ emails.

It becomes not about any one term but the aggregate rank of that index. That’s a better conversation to have in my opinion. A rank index keeps the conversation on how to move the business forward instead of moving a specific keyword up. 

Getting Rank Index Data

If you’re using SEOmoz you export the entire keyword ranking history to CSV.

SEOmoz Export Full Keyword History to CSV

After a bit of easy clean up you should have something that looks like this in Excel.

SEOmoz Keyword History Raw Data

At this point I simply copy and paste this data into my prior framework. I’ve already configured the data ranges in that framework to be inclusive (i.e. – 50,000 rows) so I know that I can just refresh my pivot table and everything else will automagically update.

If you’re using Authority Labs you’ll want to export a specific date and simply perform the export each week.

Authority Labs Keyword Ranking Export

There’s a bit more clean up for Authority Labs data but in no time you get a clean four column list.

Authority Labs Keyword Data

Unlike the SEOmoz data where you replace the entire data in your framework, you simply append this to the bottom of your data. Once again, you know the pivot table will update because the data range has been configured to be quite large.

Creating The Rank Index Pivot Table

You can review my blow by blow of how to create a pivot table (though I’m not using a new version of Excel so it all looks different anyway.) It’s actually a lot easier now than it was previously which is something of a miracle for Microsoft in my view.

Keyword Rank Index Pivot Table

You’ll use the keyword as your row label, date as the column label and the Average of rank as the values. It’s important to use a label so you can create different indexes for different query classes. Even if you only have one index, use a label so you can use it as a filter and get rid of the pesky blank column created by the empty cells in your data range.

You may notice that there are a lot of 100s and that is by design.

Keyword Rank Index Pivot Table Options

All those non-ranked terms need to be counted somehow right? I chose to use 100 because it was easy and because Authority Labs reports up to (and sometimes beyond) that number.

Turning Rank Data Into A Rank Index

Now that you have all the rank data it’s time to create the rank index and associated metrics.

Keyword Rank Index Calculated Data

Below the pivot table it’s easy to use a simple AVERAGE function as well as various COUNTIF functions to create these data points. Then you can create pretty dashboard reports.

Keyword Rank Index Reports

Average Rank is the one I usually focus on but the others are sometimes useful as well and certainly help clients better understand the situation. A small caveat about the Average Rank. Because you’re tracking non-ranking terms and assigning them a high rank (100) the average rank looks a bit goofy and the movement within that graph can sometimes be quite small. Because of this you may wind up using the Average of Ranking Terms as your presentation graph.

Average of Ranking Terms Graph

I don’t care much about any individual term as long as the index itself is going in the right direction.

Projecting Traffic

I can always look at the details if I want and I’ve also created a separate tab which includes the expected traffic based on the query volume and rank for each term.

Rank Index Traffic Projections

This simply requires you to capture the keyword volume (via Google Adwords), use a click distribution table of your choosing and then do a VLOOKUP.

IFERROR(([Google Adwords Keyword Volume])*(VLOOKUP([Weekly Rank],[SERP Click Distribution Table]),2,0)),0)

You’ll need to divide by 4 to get the weekly volume but at that point you can match that up to real traffic in Google Analytics by creating a regex based advanced segment using the keywords in that index.

Of course, you have to adjust for (not provided) and the iOS attribution issue so this is very far from perfect. And that’s what got me really thinking about whether rank and rank indexes could be relied on as a stable indicator.

What is Rank?

What Is Love Night at the Roxbury

The rise in (not provided) and the discrepancies often seen between reported rank volume and the traffic that shows up point to the increase in personalization. SERPs are no longer as uniform as they once were and personalization is only going to increase over time.

So you might have a ‘neutral’ rank of 2 but your ‘real’ rank (including context and personalization) might be more like a 4 or 5.

That’s why Google Analytics rank tracking seems so attractive, because you can get real world ranking data based on user visits. But that method is limited and makes reporting a huge pain in the ass. The data is there but you can’t easily turn it into information … until now.

Improved Google Analytics Rank Tracking

I got to talking to Justin Cutroni (a really nice and smart guy) about the difficulties around tracking rank in Google Analytics. I showed him how I use rank indexes to better manage SEO efforts and over the course of a conversation (and a number of QA iterations) he figured out a way to deliver keyword rank the way I wanted in Google Analytics.

Keyword Rank Tracking In Google Analytics with Events

Using Events and the value attached to it, we’ve been able to create real keyword rank tracking in Google Analytics.

The Avg. Value is calculated by dividing the Event Value by Total Events. You could change this calculation once you do the export to be Event Value by Unique Events if you’re concerned about those users who might refresh the landing page and trigger another Event. I haven’t deployed this on a large site yet to know whether this is a real concern or not. Even if it is, you can always change it in the export.

Keyword Rank Tracking Data via Analytics Events

So you can just make Avg. Value a calculated field and then continue to tweak the exported data so that it’s in a pivot table friendly format. That means adding a date column, retaining the Event Action column but renaming it keyword, adding a Tag column, and retaining the Avg. Value column.

You essentially want it to mimic the four column exports from other providers. I suppose you could keep a bunch of this stuff in there and not use it in the pivot table too. I just like it to be clean.

Event Based Rank Tracking Code

Start tracking rank this way on any Google Analytics enabled site by dropping the following code into your header.

Google Analytics Rank Tracking Code

To make it easier, the code can be found and copied at jsFiddle. Get it now!

Just like the old method of tracking rank in Google Analytics, this method relies on finding the cd parameter (which is the actual rank of that clicked result) in the referring URL. This time we’re using Event Tracking to record rank and putting it in a field which treats it as a value.

The code has also been written in a way to ensure it does not impact your bounce rate. So there’s no downside to implementation. You will find the data under the Content > Events section of Google Analytics.

Where To Find Average Rank in Google Analytics

Just click on Content, Top Events and then RankTracker and you’ll find keyword ranking data ready for your review.

Google Analytics Rank Indexes

I’ve been working at applying my index approach using this new Event based Google Analytics rank tracking data. The first thing you’ll need to do is create an advanced segment for each index. You do this by creating a regex of the keywords in that index.

Rank Index Regex Advanced Segement

Sometimes you might not get a click on a term that is ranked 20th and certainly not those that are ranked 50th. That’s a constraint of this method but you can still populate an entire list of keywords in that index by doing a simple VLOOKUP.

IFERROR(VLOOKUP(A1,'Export Event Data'!$A$1:$E$5000,5,FALSE),100)

The idea is to find the keyword in your export data and report the rank for that keyword. If the keyword isn’t found, return a value of 100 (or any value you choose). From there it’s just about configuring the data so you can create the pivot table and downstream reports.


You Raise a Valid Point Ice Cream

This new way of tracking is different and has some limitations. So lets deal with those head on instead of creating a grumble-fest.

The coverage isn’t as high as I’d like because of (not provided) and the fact that the cd parameter is still only delivered in about half of the referrers from Google. I’m trying to find out why this is the case and hope that Google decides to deliver the cd parameter in all referrers.

Full coverage would certainly increase the adoption of rank tracking in Google Analytics and reduce those seeking third party scraped solutions, something Google really doesn’t like. It’s in their self-interest to increase the cd parameter coverage.

As an aside, you can get some insight into the rank of (not provided) terms and match those to landing pages, which could be pretty useful.

Rank of Not Provided Terms by Landing Page

The other limitation is that you only get the rank for those queries that received clicks. So if you’re building a rank index of terms you want to rank for but aren’t and track it over time it becomes slightly less useful. Though as I’ve shown above you can track the average of ranking terms and of the index as a whole at the same time.

One of the better techniques is to find terms that rank at 11 to 13 and push them up to the front page, usually with some simple on-page optimization. (Yes, seriously, it’s way more effective than you read about.) So this type of tracking might miss a few of these since few people get to page 2 of results. Then again, if you see a rank of 11 for a term with this tracking that’s an even higher signal that getting that content to the front page could be valuable.

Finally, the data configuration is, admittedly, a bit more difficult so you’re working a tad harder to get this data. But on the other hand you’re seeing ranking data from real users. This could get really interesting as you apply geographic based advanced segments. Larger organizations with multiple locations might be able to determine which geographies they rank well in versus those where they’re struggling.

And not Or

At this point I can’t say that I’d scrap traditional rank tracking techniques altogether, though I’m sure Google would like me to say as much. Instead, I think you should use the new Google Analytics Event Based Rank Tracking in conjunction with other ranking tools.

First off, it’s free. So there’s no reason not to start using it. Second, you get to see real world rank, which while limited in scope can be used to compare against neutral rank offerings. Lastly, if you’re trying to future proof your efforts you need to be prepared for the potential end to traditional ranking tools or such high variation in personalization to make them unreliable.

Did I mention this new rank tracking method is free?

I’m looking forward to putting this into practice and comparing one tracking method to the other. Then we’ll see the potential variance between personalized ranking versus anonymized ranking.


The closure of recent third-party rank tracking services is an opportunity to think about rank in a different way. Using a rank index can help keep you focused on moving the business forward instead of a specific keyword. To future proof your efforts you should implement improved Google Analytics rank tracking for free.

Postscript: Leave A Comment // Subscribe (RSS Feed)

The Next Post:
The Previous Post:

14 trackbacks/pingbacks

  1. Pingback: A New Method to Track Keyword Ranking using Google Analytics on January 14, 2013
  2. Pingback: SEO content marketing roundup, week ending January 16th on January 16, 2013
  3. Pingback: My Favorite Internet Marketing Readings Of The Week (Week 3 – 2013) | Inside my Rocket on January 20, 2013
  4. Pingback: Tracciare i Posizionamenti Su Google Delle Keyword? Con Analytics?! on January 28, 2013
  5. Pingback: Content Strategy & Optimization w/ Google Analytics RankTracker Data on March 25, 2013
  6. Pingback: Is There Life Beyond Rankings? on March 28, 2013
  7. Pingback: Rankings vs. Tráfico: ¿Cual es la finalidad del SEO? | Sergio Redondo on April 18, 2013
  8. Pingback: Área Podcast 21: Link Building y SEO - Área on July 5, 2013
  9. Pingback: Marketing voices, part two: The changing metrics of SEO on July 30, 2013
  10. Pingback: Suivre le positionnement des mots clés dans Google Analytics on September 12, 2013
  11. Pingback: Look UPs: Solving The Keyword Secure Search (Not Provided) Problem As Best You Can | UP Search on September 25, 2013
  12. Pingback: Those with SEO clients, do you report exact SERPS/rankings to them? on December 28, 2014
  13. Pingback: Generating Keyword Clusters - The Art and Science of Analysis, Part 3 - LunaMetrics on January 29, 2015
  14. Pingback: Query Classes and Search Modifiers on June 1, 2016

Comments About New Ways To Track Keyword Rank

// 75 comments so far.

  1. Kane Jamison // January 13th 2013

    The first rank tracking company that can automate those four rank index graphs on a project level will certainly get some business.

    One click export of that dashboard to PDF… would be great.

  2. AJ Kohn // January 13th 2013

    Thanks Kane and yes, anyone who could reduce the friction of this process would likely get a bunch of business.

    I’m also exploring whether the Google Analytics Event based rank tracking would be available via the Analytics API. (I’m pretty sure it is.) So you could also go that route too. Or Google could finally decide to just integrate this into Google Analytics.

  3. Mike Wilton // January 13th 2013

    Interesting read AJ. Unfortunately even with this it seems you are still going to be heavily reliant on keyword ranking data from a toolset from moz or Authority Labs. In looking at your analytics ranking data, what’s to stop you from just using the average position data that Google provides when you link up analytics and webmaster tools? Just curious what additional data/benefits you are getting out of your analytics method in comparison to the position average provided by Google (aside from the fact Webmaster tools data is only the last 30 days).

  4. AJ Kohn // January 13th 2013


    Good point about linking Webmaster Tools data to Analytics! There are a few reasons I like using this new Events based tracking. The first is I have greater granularity of keywords (outside of the top 1000 for a site) and I can apply advanced segments against the data so I can create easier rank indexes.

    I also like the fact that I have another set of data I can compare against. It’ll be interesting to see how these numbers compare to the Webmaster Tools Data.

  5. Sylvain // January 13th 2013

    Thanks for the tips, it could be useful !

  6. AJ Kohn // January 13th 2013

    Thanks Sylvain, I hope you get some use out of it.

  7. Ted Ives // January 13th 2013

    Really good work there AJ, and great timing – I had been thinking about starting to use that GWT data but am going to check this out as well.

    Too bad the longer-term direction appears to be that (not provided) will consume all the data like a massive black hole anyway, eventually!

  8. AJ Kohn // January 13th 2013

    Thanks Ted.

    The GWT data is good but this is a) pretty easy to implement and b) gives you a lot more reporting and filtering capabilities. It’s true though that (not provided) will consume more of the keyword picture as users search logged in. Of course, that’s a double-whammy of sorts because that’s an indication that those SERPs are personalized, making those traditional rank tracking methods less and less reliable over time.

  9. Matt Morgan // January 13th 2013

    Pretty amazing process and ingenious AJ. I’ve been trying to find a better way to report the success of our SEO campaigns for our clients, so this is timely for me as well.

    Two questions: 1) Is this practical for my local SEO clients or overkill? 2) I’d be interested in seeing what you send to your clients after you analyze everything.

  10. AJ Kohn // January 14th 2013


    I think doing this for a local client is likely overkill. You probably don’t have enough keywords (upwards of 100) to create a good index. As for what I send to clients, it’s usually just a self-updated dashboard report. I provide commentary or insight when I see movement or may do a deep dive into the details if the index lines move materially.

  11. Sahil // January 13th 2013

    Well done AJ, great article. Most of the clients are really obsessed by keyword rankings. They really never let companies focus on rank index which can help them move their business forward. Keyword rank tracking must be done internally to check how their search traffic is improving for particular high competitive keywords just to gauge where they stand. There are some amazing tools which help people find accurate rankings for the keywords – seomoz rank tracker, sescout, rank watch, etc. Business have to also mainly focus on usability, conversions and ORM which are very important to maintain the trust that an user has on them.

  12. AJ Kohn // January 14th 2013


    Thank you. There is an obsession with keyword rankings. That was reinforced when Raven and Ahrefs decided to close their rank tracking features.

    Clearly rank matters but for larger organizations the focus of keywords misses the point. The index keeps the discussion on moving the business forward through many of the things you mention rather than specific tactics to move a keyword up a few positions.

  13. Stefan // January 14th 2013

    Great article, thanks for sharing! We use SEOlytics for international Rankings, their API is also already integrated in the SeoTools for Excel add-in. Makes it very easy to transfer data, and create a kind of self-updating dashboard in Excel as well.

  14. AJ Kohn // January 14th 2013


    Excellent! And you’re right there are a number of ways you can automate the transfer of data through an API, or even writing some Python scripts. You can often find a way to get to that self-updating dashboard if you spend some time (serious time) configuring the process. It’s well worth it though.

  15. Curtis Worthington // January 14th 2013

    Awesome as usual AJ. Very in depth piece. Never really thought to do an index rank before but looks very beneficial.

  16. AJ Kohn // January 14th 2013

    Thanks Curtis. I’m eager to see if this works for other people who are working with larger sites.

  17. rosenbaum // January 14th 2013

    Great post AJ.

    I don’t get way using the code is better then the old way. when I export the data to a Pivot Table i can get average anyway.

  18. AJ Kohn // January 14th 2013

    Thanks Rosenbaum. The new way allows for easier analysis and does most of the heavy lifting for you.

  19. Rami // January 14th 2013

    Thank you for this article. However, I’m unable to see the code that I should add when I click on the link.

    Anyone else is having that problem?


  20. AJ Kohn // January 14th 2013

    I can click and see it now Rami. Is anyone else having this problem?

  21. Bill Bean // January 14th 2013

    Rank index approach = forehead slapping moment. That’s a phrase I’ve been looking for. Worth the price of admission. But wait, there’s more…

    I’m stealing this quote (or at least the concept) for client conversations:

    “A rank index keeps the conversation on how to move the business forward instead of moving a specific keyword up. ”

    And congrats on finding a way to include a cat picture.

  22. AJ Kohn // January 14th 2013

    Thanks Bill.

    It’s gratifying that you picked out that sentence. (Of course, I did highlight it.) But I really do think that’s the real value of a rank index. The conversation changes and you can start working to build a business instead of moving keywords.

    Cat pictures are a must though I was most proud of being able to work in the valid point ice cream photo.

  23. Sunita Biddu // January 14th 2013

    This is one of the most valuable and “new” reads of the day. I was always inclined to measuring productive traffic and not ranks. This not only just pushed me with an easy but also gonna help my customers a better level of measuring the efforts. Thanks AJ :) Glad I found this link on Google+

  24. AJ Kohn // January 14th 2013

    Glad I could help Sunita and let me know how the techniques work for you.

  25. Slava // January 14th 2013

    Can’t you create a script that will be parsing top 100 google results for your keywords and return you your current position?

  26. AJ Kohn // January 14th 2013

    You can Slava and that’s how most rank tracking is performed. It just happens to violate Google’s Terms of Service.

  27. Steve Ross // January 14th 2013

    Thank you! Will be applying these tips to rank index. Hope this works for us!

  28. AJ Kohn // January 14th 2013

    Good luck Steve and let me know how it works for you.

  29. Dana Tan // January 14th 2013

    Thanks for a perfectly-timed post AJ! This ties in very neatly with a dilemma I just posted at SEOMoz and Dr. Pete Meyers made exactly the same suggestion, i.e. to track the performance of a group of keywords rather than fixating on vanity keywords. Just in case you’re interested the thread is here: My post [please for help???] was all prompted by one of “those” emails from the CEO of the company where I am an in-house SEO. You know…”I just Googled [this keyword] and Competitor X is beating us. I give you 6 months to beat them.”

    This post is exactly what I needed. Fortunately, he’s a pretty smart guy and isn’t adverse to listening to reason, so as long as I can make my case with good data, I think it’ll be better for the company (lol, and my job security!) in the long run.

    Thanks for the awesome work. I agree with Kane Jamison. The first company to automate this process would get my business in a heartbeat.

  30. Angie Schottmuller (@aschottmuller) // January 15th 2013

    Stellar post, AJ! Lots of effort and thought obviously went into this process. Very well done!

  31. Dylan // January 15th 2013

    Nice post. I might implement some of these techniques into (a rank tracker).

  32. Andre Buxey // January 16th 2013

    WOW! this is a really well thought out post, interesting way to look “rank”, will pass the code onto my dev guy to have a look at!

  33. Davide Di Prossimo // January 16th 2013

    Very very interesting AJ,
    You know what this obsession with ranking makes me feel a little tired and bored. As you said it is better focusing in productive traffic than just ranking. But again, yes it is benficial being on the first page after a search. I mean…I do not even remember if I ever in my life turned to page number 2 after a Google search.
    I gotta go now! I need to try implementing all this knowledge you passed through.
    Thanks again

  34. Dana Tan // January 16th 2013

    Hi AJ,

    I am a big fan of your blog and have heard you speak at MozCon and most recently as a participant in a Google Hangout #maximpact hosted by @MaxMinzer.

    I am working my way through this post. It’s brilliant, but I am stuck. I’ve got a beautiful pivot table [thanks for that – just that was awesome]. I made it to this phrase: “Below the pivot table it’s easy to use a simple AVERAGE function as well as various COUNTIF functions to create these data points. Then you can create pretty dashboard reports.”

    I think I understand how to get the Average Rank dashboard, but I am not understanding how to create the other dashboard reports, i.e. “Terms Outside of the Top 50.”

    Can you provide an illustration? Thanks!

  35. AJ Kohn // January 16th 2013

    Thanks for the kind words Dana and I’m glad you’ve gotten most of the way through the set-up.

    To get those other reports you’re going to use COUNTIF functions. So for Terms outside of the top 50 you’d use:

    =COUNTIF(F5:F154,”>50″) where F5:F154 is the range of values in your pivot table.

    The others look similar.

    Top 10: =COUNTIF(F5:F154,”<11")
    Top 3: =COUNTIF(F5:F154,"<4")
    Top 1: =COUNTIF(F5:F154,"1")

    Then it's just graphing it all, or is that where you're stuck?

  36. Dana Tan // January 16th 2013

    Thanks AJ, This is perfect. I really appreciate it. The graphic I’ve got down (thanks to Annie Cushing!). This is totally amazing stuff. Love it!

  37. Dana Tan // January 16th 2013

    Okay, I’ve got it all set up and it’s looking beautiful! One last question AJ, you make reference to using the “Average of Ranking Terms” dashboard instead of the “Average Rank” dashboard and I would like to compare those two, but can’t figure out the easiest way to omit the non-ranking keywords from my pivot table.

    Can you explain how/where to pull the data for the “Average of Ranking Terms” dashboard chart? Thanks again,


  38. Giorgio // January 20th 2013

    Thanks!! I implement the code on both of my two blogs! Hope it will work fine :)

  39. Eric Tsai // January 23rd 2013

    AJ, awesome piece and totally agree with you on moving the conversation towards the right direction with keyword index. I’m wondering if this can help further validate the true CTR of organic keywords with some modeling as we know GWT’s impressions/CTRs are simply not true and/or reliable.

  40. Danilo Petrozzi // January 24th 2013

    That cat after “Executives Love Indexes” actually made me laugh 😀
    Anyway thats really an awesome and comprehensive post

  41. Mike // January 25th 2013

    Really awesome stuff AJ!

    Was curious though, if you’re using the “cd” parameter, that means you can get a value of let’s say 15, and actually be on the first page, due to Google’s Universal Search, right?

    Also about what Mike Wilton said about the Webmaste Tools data in Analytics, you can use that, yes, but you can’t get it through the API :(.

  42. Ryan Bradley // January 31st 2013

    I agree that it’s not about rankings at the end of the day, it’s about traffic. But most clients (who are uninformed) want to see rankings reports. When they pay hundreds if not thousands of dollars, they want to make sure they rank and see reports of which keywords they rank for. I know this can be solved somewhat by some education on the agency or consultants part but this is without a doubt a plight many consultants and agencies deal with on a daily basis.

  43. AJ Kohn // January 31st 2013


    You’re absolutely right which is why I’m trying to give agencies and consultants another way to present rankings to clients that wind up being more productive. If you can move them away from specific rank to a rank index the conversation changes and you’ll be better able to truly help that client move their business forward.

    No doubt, easier said than done.

  44. AJ Kohn // February 05th 2013

    Yes Kamil, there are a lot of interesting things you can track by parsing the referral string aren’t there?

  45. Don Sturgill // March 08th 2013

    This is exactly what I’ve been wanting to do, AJ. Next step will be to read the article slowly and see if I can walk through and reproduce your system using my tools.

    Much appreciated. Hey, I’m going to miss your presentation at SMX West, but wish you great success.

  46. AJ Kohn // March 09th 2013

    Thanks Don and let me know if you have any problems with the new process.

  47. Peter Mead // March 09th 2013

    Yeah, I like it. I really like it. I will need to spend some time and get this setup properly. This is really going to go down well for my clients.

    Thanks, Peter Mead

  48. AJ Kohn // March 09th 2013

    Great Peter. Let me know how it works for you once you have it up and running.

  49. Josh Braaten // March 21st 2013

    AJ – This is an amazing technique you’ve uncovered and made available for everyone. I’ve seen it before, but just rediscovered it as part of preparation for a deck I’m working on. I’ll be sure to credit and direct folks to this awesome page.

  50. Giorgio // March 25th 2013

    Hi AJ,

    I implement this on my blog but seems like that it can only provide 30% of the whole data.

    My blog’s total organic visits is 8000 per month but total events for ranktracker is only 2,303. Many keywords can’t be found in that report.

    I changed document.referrer.match(/google\.com/gi to document.referrer.match(/google\.fr/gi because it’s a French blog. Can you tell me what’s wrong?


  51. Andrea // March 27th 2013

    Cool snippet,

    I’m interested too in tracking my websites in italy/usa/germany.
    Giorgio are you sure that your problem is not related to the keyword placement which could occurr on the 2nd result page?

  52. George Phillip // April 03rd 2013

    Hey, thanks for the rank tracking tips. Must admit I haven’t seen this one before

  53. Tyler Magnusson // April 09th 2013

    I have to admit I’m a bit frustrated with Google’s crackdown on SEO tactics. I understand they’re trying to fold SEO from its own separate discipline into the more general umbrella of digital marketing, but Google’s emphasis on content marketing and social signaling is being shoved down our throats. In an attempt to move away from something that can be “gamed,” they’ve moved towards something else that can still be gamed.

    Perhaps I’m just a bit frustrated that a few things I could once do easily, like tracking keyword rankings and finding competitor keyword phrases are being marginalized.

  54. E-Rock Christopher // April 25th 2013

    Thanks for the great idea! Found this after reading Justin’s site. Implemented the idea using Google Tag Manager, which in of itself is pretty cool. Now if there was a rockstar way to get that (not provided) info!!

  55. Jim Robinson // May 13th 2013

    Hi AJ. I’ve found this post extremely valuable and re-read it a number of times. I implemented this using Event based tracking in Google Analytics on a site that gets around 3M search referrals per month, so I’m getting a nice volume of data.

    One thing I’m seeing, however, is event values like 820, 737, 644, etc. Any thoughts on what’s happening when the cd parameter is populated with numbers like these?

  56. AJ Kohn // May 15th 2013


    I’m thrilled that it’s been working for you. So the question here is how often you’re seeing those high numbers? Is it often or are they outliers?

    If it’s the latter, I’d guess that there are some people actually going back that far, perhaps in some sort of research mode. I know as an SEO I’m often on pages that no one else would ever get to regularly.

    If it’s the former, it might be image based search results. I used to see the cd parameter passed by image referrals but haven’t recently. But perhaps a few still do based on datacenter (?) or some other oddity.

  57. Jim Robinson // May 17th 2013

    It’s the former. It drops off gradually as you hit those high numbers – not just sporadic entries. I think image search makes a lot of sense here since you can pretty easily view that many results in an image query. Plus the site in question is very image focused. Great insight, AJ. I’m going to dig in further.

  58. Jason // June 06th 2013

    This is a great post and very informative! And I love the cat pictures. Cat pictures make everything better. Thanks for sharing!

  59. AJ Kohn // June 09th 2013

    Agreed Jason. Cat pictures do make everything better.

  60. Kirk // June 18th 2013

    Well to start with I didn’t even know my Analytics had an average rank.

  61. Barbara Varovsky // August 08th 2013

    Awesome article! ))

    I love the picture of a hot guy with an ice-cream LOL. ^_^

    By the way, I know the tool that was not affected by Google’s new polices. This rank checking app is called Rank Tracker from SEO PowerSuite (you can download it here:

    The app is cool and handles even advanced rank tracking tasks (Universal search results tracking, geo-targeted search and a lot more!).

  62. Nathan // August 09th 2013

    The Analytics avg rank is a great tool to identify long tail opportunities that can be improved with an on-page tweak. This is great insight!

  63. Glen Wilson // August 13th 2013

    Well….that was excellent. Again, the interwebs delivers me what I was looking for and I now have another tool and technique in my arsenal.

    I agree with Barbara as well, I use Rank Tracker and love using it. The developers are constantly updateing it with the latest algorithms too.

    Thanks AJ.

    ps: I’m a dog lover, put in some dog’s next

  64. Gvanto // October 14th 2013

    Thanks for this article – absolutely agree on rank index being a much better indicator than individual keywords (paricularly like the “I want to be number 1” from the boss comment!)

    If this process could be made simpler, would definitely provide value.

    Would love to see more posts of this kind …

    gvanto, also a dog lover! :-)

  65. D // October 25th 2013

    Hi, thanks very much for sharing this script, I use it regularly and have created some handy reports when combining it with custom dimensions in UA such as one for “Page Type”

    I wanted to comment that after tracking for a couple of months, the event action “(not provided)” is upwards of 90% of the total number of events (and I am not in a computer-saavy industry)

    You mentioned that the cd is only sent about 1/2 the time, is this the part that sends the keyword information?

    As mentioned, still useful for matching up landing pages to avg. Google ranking

    The application I mentioned above for example (avg. rank of each page type) does not rely on keywords, but I can still monitor the ranking effect of making content improvements and tweaks.

    Anyway, just wanted to report my findings so far

  66. Mary Kay Lofurno // October 28th 2013

    Thanks for sharing this script. I finally got it up as a test on one of my product sites. I am looking forward to rolling it out to all our sites. Thanks, Mary Kay

  67. Dan Carter // December 24th 2013

    Well to start with I didn’t even know my Analytics had an average rank.

  68. Krunal // December 26th 2013

    Hi, Its great to collect these data directly into GA. However, I don’t find Content > Events in my GA!

    Can you please advise this in current GA version, where can I find this report, and what is the name of report?

  69. Krunal // December 27th 2013

    I got RankTracker events in the Google Analytics, however I don’t see any keyword anywhere!

    Can you please advise from where I can get it reports.

  70. Drew // March 21st 2014

    Hi, I’m using this script and it seems to be working for me (thank You :))

    But I do have a question (I’m trying to port this into working with Google Tag Manager by the way):

    When does the (Google) document referrer actually contain “” and “cd/gi” as the script conditionally checks for?

    I tried running some Google searches and this is what the document.referrer value looks like for me:–80CyzBTet39pww

    Neither of those strings are present. I am getting data so it seems that those substrings must be present some of the time, but I’m having difficulty testing my tag rules

    Thank You :)

  71. AJ Kohn // March 24th 2014


    Glad you’re using it and Justin and I (well more Justin than I actually) are working on a version for Tag Manager. So hopefully you’ll see an update soon.

    As for the /gi. The /gi declares that (g) you should look at the entire string and (i) you should ignore case. It’s basically RegEx directives to ensure it grabs the right referrers.

    Hope that helps.

  72. CK // December 30th 2014

    Did you and/or Justin ever get a version working with Google Tag Manager?

  73. AJ Kohn // January 02nd 2015


    No. Or at least I haven’t. Not because it won’t work but because I just haven’t had time. I suspect the same for Justin. Perhaps one of us will get around to it this year.

  74. Renato@ Regali // July 16th 2015

    This is what I try to build in Excel. Commercial rank tracker are too expensive. Thanks

Who Are You?

Your Email Address

Your Website

You can follow any responses to this entry via its RSS comments feed. You may also leave a trackback by clicking this link.