Feb 03 2009

Google Changes Mean Major Implications for Analytics Tools

Published by at 10:41 pm under analytics,Google,search

Google has started testing using Ajax to power their search. This may not seem like a big deal, but it is for those who care about web analytics. Why? It completely breaks the way web analytics tools tracks keywords from Google.

How?

If someone searched for this blog on Google in the past, the search string would look like this:

http://www.google.com/search?hl=en&q=trending+upward&btnG=Search

Today, it looks like this:

http://www.google.com/#hl=en&q=trending+upward&btnG=Google+Search&aq=f&oq=trending+upward&fp=3WTwdsC3GPc

Notice the difference? The second one uses a hashtag (#) instead of the more familiar “search?.” The problem lies in the fact that nothing after the hashtag is passed through to the analytics tool, so your referrals look like they’re from http://www.google.com instead of the actual search string. This also means that there are no search keywords associated with it. Not good. How do we know how users are searching on Google to find us?

From what I’ve read, this is just a test, but who knows how long it will go on?

According to today’s post on the Clicky blog, this isn’t happening across the board yet. Go to Google right now and search on a keyword. See if it’s happened on your end yet.

What does this mean for us, though? A lot, unfortunately. Since almost 75% of our natural search traffic is from Google, this will be a big deal.

Here’s a quick screen shot from this search traffic this morning. It’s already affected our results:

Referrer screenshot

Not only that, through the Clicky blog, I read this post on Smackdown and it spelled out other implications. According to Smackdown:

… this would affect Firefox plugins that existed (definitely some existing ones would stop working), break some of the rank checking tools out there (they would have to be re-written I’m sure), and even some people asking if it would thwart serps scrapers from using serps for auto page generation (not for long, no).

While those things would definitely be affected in at least the short term, there is a much greater impact from Google switching to AJAX.

All of the issues mentioned involve a very small subset of the webmastering community. What actually breaks if Google makes this switchover, and is in fact broken during any testing they are doing, is much more widespread. Every single analytics package that currently exists, at least as far as being able to track what keywords were searched on to find your site in Google, would no longer function correctly.

I’m hoping that either Avinash Kaushik or Brian Clifton post about this soon. I’m really interested in getting their take as they are both close to Google.

Update: Chatter on Twitter and blogs asks if javascript can be used for a workaround. According to yesterday’s post at SearchEngineLand, Sean from Clicky states:

Yes, Javascript can be used to track the #hashmarks at the end of the URL. This isn’t the problem though. Javascript has a variable called “document.referrer” that contains the URL of the referrer for the page you are currently looking at. Web browsers don’t store the hash in this variable, so there is no way for us to get it.

So, the issue is with browser not passing through the variable (because they don’t store it), not with the analytics software not being able to capture it.

Update 2: Google finally responds. It states that this is a test, but it doesn’t state how long the test will run for nor do they address the implications for web analytics tools.

The ironic part for me is that they mention the change is going to improve the user experience, which is great. In doing so, however, Google may be hindering other websites from improving their user experience. Referring keywords is one big way to help improve the relevance of your own website (thus improving the user experience on your site).

12 responses so far

12 Responses to “Google Changes Mean Major Implications for Analytics Tools”

  1. Erinon 04 Feb 2009 at 9:48 am

    I take it there is not a script that will allow for tracking URL fragments after the hash mark?

  2. Wassanon 04 Feb 2009 at 10:01 am

    Wow, that’s really good to know, I’ve been wondering why SO much traffic is “direct” when I know its coming in through a search. Grrrr.

  3. Shelby Thayeron 04 Feb 2009 at 1:48 pm

    Erin and Wassan – thanks so much for the comments.

    @Erin – No, not right now and that’s why everyone is freaking out. Obviously Google Analytics has the advantage here. In my opinion this is an ‘evil’ thing to do.

    Stephane Hamel, developer of the WASP Firefox plugin said it best on Twitter in response to a question I had: “I understand use of AJAX on G site, but keeping search keyword to themselves would just be a trick to lock down competitors.”

    @Wassan – the “direct” referral traffic won’t be the traffic from Google. Direct referrals are from typed or bookmarked traffic. The referral you’ll want to look for in your results is “http://www.google.com” as opposed to a search query referral like, “http://www.google.com/search?hl=en&q=trending+upward&btnG=Search.”

    Direct referrals will stay the same.

    If either of you are on Twitter, take a look at a topic search for Google and Ajax. There is a lot of chatter today. Even if you’re not on Twitter, you can still see the conversations. There have been links to many blog posts on the topic.

  4. Kyle Jameson 04 Feb 2009 at 3:00 pm

    Good detective work Shelby. I had read some of the AJAX stuff but I definitely hadn’t put the dots together like this. Very interesting to see what will happen… could it be a push to help Google Analytics gain more market share… assuming they have some kind of way to still get the keyword data pulled properly?

  5. Travis Fisheron 04 Feb 2009 at 3:35 pm

    Am I correct in stating that the problem here is the switching of “?” to “#”? The “search” page should TECHNICALLY be able to be empty (I’m sure that is causing it’s own set of problems), but the switching of “?” to “#” seems like it serves absolutely no purpose.

    Has Google addressed the issue yet? Have they said why they made the change?

  6. Shelby Thayeron 04 Feb 2009 at 3:46 pm

    @Kyle James – Thanks. I was just talking with someone here at work about how it could possibly be a competitive edge for Google Analytics, but it might be because they capture data the way all other javascript-based tools do. So, in essence, they’d be breaking it for their own customers as well as far as we can tell.

    @Travis Fisher – I’m not an Ajax expert so I don’t want to say anything wrong here, but yes, that is, in a nutshell the difference. The big problem is that the browser will not pass through anything after a “#”.

    Google released a statement late this morning saying that this is a test. It doesn’t say, however, that they won’t roll this out. I can’t see how they can roll this out as is, though. They’d be shooting themselves (their Google Analytics product) in the foot.

    Thanks for all the comments. I’ll update the blog as other developments happen.

  7. Travis Fisheron 04 Feb 2009 at 4:18 pm

    http://www.google.com/#?querystringhere

    That would be valid, and actually make sense when dealing with AJAX (i.e. posting a form to itself), but they are doing:

    http://www.google.com/#querystringhere

    The lack of question mark is where the problem lies with the tracking issues, but they obviously are parsing the query strings internally using the “#” instead of the “?”, or the search wouldn’t work. I may be wrong, but I would have to think Google has written code behind the scenes parsing these strings, and that would mean it was done on purpose.

  8. Shelby Thayeron 04 Feb 2009 at 9:23 pm

    @Travis – is it the lack of a “?” where the problem lies? I’m under the impression it’s the # that’s the problem. Even if it were #?searchstring I believe the browser still would not pass through anything after the # even if there was a ? with the #.

  9. Travis Fisheron 05 Feb 2009 at 10:27 am

    @Shelby – # can be utilized for anchor tags within a document, so if you wanted to post a form to “blah.php”, but upon posting it, you wanted to take them to a certain anchor within “blah.php”, the action property on your form could read:

    blah.php#bottom?foo=bar

    That action would submit the form data to “blah.php”, push the user to the “bottom” anchor within “blah.php”, and pass the data field “foo” via GET.

    If Google was using the format above, all would be good with tracking. Instead, they don’t have a “?” and given the position of the “#”, it appears they are using it as if it were a “?”, and that is why the query strings aren’t being read.

  10. Seanon 05 Feb 2009 at 12:57 pm

    Travis that is incorrect. Anchors always go on the very end, even if there’s a query. So in your example this would be the actual URL;

    blah.php?foo=bar#bottom

    If you tried to do it your way, the entire “bottom?foo=bar” woud be seen as the anchor, not just the “bottom”. Trust me – I deal with this shit every day of my life :P

  11. Travis Fisheron 05 Feb 2009 at 2:30 pm

    @Sean – Thanks for pointing that out. I stand corrected. That is what I get for not testing things before posting them on blogs. Sorry for misleading everyone. :)

    So, the problem with Google’s query strings is that they are being parsed as if they are one big anchor tag as Shelby pointed out above.

  12. Seanon 05 Feb 2009 at 2:33 pm

    Yup exactly. Browsers don’t send the anchor in the referrer string so there’s no possible way for any external service to see the search term. If Google goes fully live with this implementation, Google Analytics will probably be the only service that can give you search terms from Google leading to your site. I think they would probably be sued if this happened, that’s such an abuse of power it’s not even funny.