By Chris Cardinal
On February 4th, 2009
Our beloved web analytics tool Clicky blogged about a pretty crucial SEO & analytics issue today: Google is rolling people over to a new AJAX-powered search, that pushes query strings AFTER a hash mark. So: http://www.google.com/search?q=what’s+my+referrer becomes: http://www.google.com/#q=what’s+my+referrer
The problem with this is that browsers don’t send anything after the hash mark (this thing: #) in their referrer string, since they’re used for named anchors. Since analytic tools use the referrer string to parse search keywords, this breaks that functionality for anyone on the “new” Google. Nightmare. It’s as if they’re effectively “commenting out” the rest of the query string from the referrer string–dark pool, that. Learn more about the ramifications here after the jump.
What’s interesting to me is the split opinions on the Clicky blog post. A lot of people seem to be taking a “they can do whatever they want” attitude towards things, with some noting that if it were instead Microsoft making this change, the ranting wouldn’t stop. While I agree that a company has the right to change the way they operate and to change the way their application functions, I think they’re doing everyone a vast disservice by essentially breaking such a useful component. Many, many tracking tools and logging systems will cease to process search keywords properly.
What’s stranger still is that this appears to break even Google Analytics’ own implementation of keyword tracking, based on its use of the referrer string and some preliminary testing by this guy. This leads me to wonder if this was a test concept that got pushed to production inadvertently, and if we’ll be seeing a rollback sometime in the near future when the engineering team realizes what unholy hellfire they’ve released on the analytics community. Worse still, this isn’t a simple tracking-system fix. The browsers themselves govern the data sent in the referrer string. They parse out anything after a hash mark, because it was traditionally used to refer to a section within a page, pointing to a named anchor somewhere on a given page. (Whereas a regular query string is typically calling dynamic content, and thus fundamentally different even if the root file were the same.) No reason to consider index.php#top and index.php as separate pages; in fact, this would further muck up analytics tools.
It will be very interesting to see what develops here. Losing the ability to track incoming keywords for no appreciable reason and with no word from Google seems a bit obtuse, but there’s a fair chance we’ll be hearing something or seeing some changes very soon.
Meanwhile, if you want to test this yourself, visit Google directly, search for “What’s my referrer” and click the first result. Then try it from a Google Toolbar search; these searches still use the old query string method, as its the toolbar itself formatting the search request and not the site. Search for the same and note that the referrer now contains your search string.