Google's new Ajax-powered search results breaks search keyword tracking for everyone
getclicky.com
getclicky.com
This is not about analytics. This is just an experiment to test if using ajax instead of the typical form submit can make the result page load faster.
Here's an official statement -
We’re continually testing new interfaces and features to enhance the user experience.
We are currently experimenting with a javascript enhanced result page because we believe
that it may ultimately provide a faster experience for our users. At this time only a
small percentage of users will see this experiment. It is not our intention to disrupt
referrer tracking, and we are continuing to iterate on this project.
http://searchengineland.com/google-ajax-search-results-death...I'm in two minds about the issue though. Google don't have a contract to supply the searchterm on outgoing links (via the referrer or otherwise) but for many applications it was a pretty useful thing for them to do. Arguably their only resource there is a single search page which is dynamic depending on your query string - to me this says ?q=searchterm is the semantic way to represent it, but hey it's their application so they can "design" it however they want. On the other hand, urls are about as explicit as you can get on the web and google's are more publicised than most. Changing your public API is asking for trouble.
Even if people are reaching a site based on a mismatched keyword, I wouldn't have thought many people check their logs and update their site because they're getting a lot of hits from a particular term they don't have much for?
That said, given the amount of referrals that Google generates, and how important referral information is for a lot of things online, as a courtesy Google should probably communicate this to the web-at-large before rolling it out on a massive scale. However, they're not "cutting off" other search analytic packages. At worst they're forcing a rushed bugfix.
Since google provides one of the most commonly used analytics packages, Google Analytics, and owns another, Urchin, I would think that they would be the last ones to try this.
Yeah, sucky problem. I guess we'll have to wait for Firefox 5 and IE 10 to have support for hashtags in referrals.
EDIT: My point still stands that Google shouldn't be beholden to others for their technological/business decisions. Though of if it's deliberate it certainly tightrope-walks the "Don't be Evil" line.
Probably what would have to happen is for the browsers to allow for passing data after # symbols the same way they do after ? symbols. That means updating every major browser to support this. At the speed of browser development, many analytics providers may be out of business by the time that happens.
Now web sites can focus on creating content, and google can focus on creating good search. Both parties will benefit at the cost of spammy SEO gaming websites, who are now blind and will be pushed to the bottom.
So there's a bit of a bind for Google: strategies that were perfectly legal when they were up-and-coming become illegal at some point of dominance. But there's no 'bright line' for when the rules change -- market definition, thresholds, and acceptable practices can all be argued after the fact.
A naturally competitive company is almost certain to keep the 'pedal to the metal' until it's too late.
If they want to live up to their 'Don't be Evil' motto then they should do it with better products and services not by cutting others down. In the long term I think that will work out better for them.
> Isn't it some other entity's role to stop them?
You could also run that argument for a gangster or any type of criminal I suppose.
Yeah, I think we're past arguably these days. I've thought that for a while.
I think arguably it was thrown into sharp relief when a bug at google.com required me to stay up past midnight trying to explain to my customers that
a) yes, I understand, the Internet is broken
b) I understand and respect that you are pissed off at this occurrence but I didn't do it
c) I empathize with your desire to have this fixed RIGHT THE '#($ NOW.
Google, you set out to dominate the Internet. You succeeded. You are now indispensable. Please do not break the Internet.
The only way I see is using a cookie (with a user id) on the google.com domain, which ga.js must interpret in backend on every request. But this means that ga.js will have to be dynamically generated, rather than being a simple static file (and yes, it won't be cached by users visiting your site, making tracking even slower). I don't think google wants this additional load every time anyone loads some GA-enabled page on the web. Besides, ga.js is currently hosted on google-analytics.com, not google.com, so all users will need to upgrade to a new tracking script. And it will not be possible to self-host the script anymore.
Anyway, this does not sound like anything reasonable to me. I hope it won't be implemented - it would destroy an entire industry, and not a redundant one.
I wasn't clear enough, sorry - I was concerned with how Google could be able to share the search query _only_ with GA but not other analytics tools, because it is clear that Google will not sacrifice GA usefulness to some ajax SERPs.
You go to Google and do a search, Google stores your search sessions on the server, and assigns you some unique ID. If you click on a search result, google logs that in your session.
You visit site with Google Analytics. ga.js reads the Google.com cookie to get your session ID in some clever way (perhaps embedding an invisible iframe in the Google.com domain, which can read the Google.com search cookie). Now, Google Analytics knows that you're the same person who just clicked on that search result .2 seconds ago... a match in my book.
They could also tell you things like "visitors to your site also search for XXX" but that's clearly a violation of privacy. They get this data, but we don't.
I wonder why they don't send it in referrer string. Are there any technical or security reasons?
foo.com/
foo.com/#bar
but since the server doesn't treat them differently, when the user transitions from one to the other, there's no page reload. So you can move from page to page, but cut n pasting links still works.There are libraries like RSH that let you do this to speed up your site.
Also, practically speaking, even if all browser developers agree this was a good thing, it takes quite a long time for people to upgrade their browsers.
I know they're huge, but it's still a free product/service, they shouldn't have to retard their progress to avoid breaking other products. If they decided to stop supporting IE (while potentially bad business) I'd support their right to do so.
What exactly do they owe you?
But it is my trust and they can still lose it. The fact is that I believe this to be shady, and for a company whose motto is "Don't be evil", they raise the standard for trusting them. A standard which I don't believe they are meeting.
Yes it's a side effect, but it's ridiculous to say that was the intent of the change.
"I don't know how they're gonna do it, but...but...they're bad...'cause they're gonna hurt competition, so they'll find some way of not hurting themselves, they have to!"
Besides, the hashmark is a standard of its own when it comes to Ajax applications. Google isn't doing anything suspiciously new with that.
In any event, the only way I can think to do this with an ajax search is to pass every outgoing link click through a redirection script, so that the referrer is rewritten to something useful.
However, whilst improving things for webmasters, that would seriously negate the point of using ajax, and be a pain for end users.
Google are serving their end users. I don't think trust comes into it TBH.
What would you rather google do? not progress and use ajax search, or use a redirection and make a worse experience for end users?
Could this be a subtle move to require people use google Analytics instead of their own log file analysis?
The redirect script has been tehre for as long as I remember. It's probably tied in with Google Analytics.
Whenever the ajax search is performed an invisible iframe is loaded at: http://google.com/search?q=search+term&donothing=true.
The donothing=true tells Google's webserver to perform no actual query and return a blank page. This should happen extremely quickly. (It could be performed after the ajax results have been fully loaded as to not affect response time)
Then when a user clicks a search result, Google does a javascript redirect from the iframe (use javascript to add a new <script> tag with a window.top.location= in it) and you get a referer just like you would before... with a negligible performance hit.
Anyone know what triggers the new search results?
The benefits to Google are more than anybody is reading into. It is definitely an intentional move to cloak their redirects and keywords. And it definitely increases performance for them.
Performance gains:
The back/forward buttons do not cause anything to be reloaded. This should save a nice percentage of page loads which were along the lines of "what was my last search?" and going back and forth between pages.
If you look at Firebug, the Ajax request is actually going to the proper google search page... google.com/search?q=... Google is taking the entire search page and essentially replacing it without a page refresh. This doesn't really mean anything significant, it's just a neat observation.
Strategy:
More than anything, in the long run this will improve search results. It's not about locking down the "analytics" arena... as one poster noted, they probably won't be able to show Google search terms either (unless they set a cookie on the Google search page, and read it on GooAnal [yes, GooAnal] pages, which might actually happen). The important thing is: SEO gamers now do not have access to which google keywords work and don't work. Without giving SEO gamers which keywords are working and which aren't, it's going to be a lot tougher to game the system. These SEO firms that manage to get the spammiest crap on the top pages won't have much to work off of other than the raw amount of visitors coming from google. I imagine that Google has secretly rolled out quite a few significant changes in their search algorithm as well, to work in tandem with keeping analytics in the dark.
My prediction is, in a few months, you'll be thanking Google for the much better search results. I welcome this change with open arms, because I'd much rather see quality content rise to the top, rather than gamed content targeted at keywords. The trade-off that people running websites won't be able to see referring keywords... well I guess Google might lose .001% of their market share.
I don't really think this is going to change anything. How is this going to affect SEO? I doubt any of them use referrers logs - waste of time. They scrape the SERPs. The old SERPs are still available. They can tell when a rank goes up or down.
How is this going to change that?
You bring up a good point, though. Guess it's not as grand a scheme as I thought.
we seem to be putting more reliance on these flimsy things... in the future will i create an outage because i @somebody instead of #something on twitter?
So it's not like putting "@someone" instead of "#someone" but rather like putting "" instead of "#someone"
See the difference+
Then again, I should point out that I'm not seeing this behavior, so this may be much ado about nothing.
It breaks my firefox extension that nukes searchwiki. It breaks my custom CSS for the search results page (see userstyles.org). I often bookmark google search results in del.icio.us. Depending on how such services are implemented, different search results pages might show up as the same page.
I'd guess there's just a lot of code out there that assume search results are separate URLs, and that's going to break.
Those two breakages are simply due to the regex identifying the search results pages not matching anymore, and are easily fixable.
The other 35% is probably still representative enough for you to figure out what the population is searching for that leads to your website.
Even if I go directly to http://www.google.com/#q=test it redirects me to http://www.google.com/search?q=test&cad=h