views:

101

answers:

3

Hi folks,

just wondering if anyone knows what technologies are used by the tracking software?


Edit: I meant client-side. How is data sent to the Google API? Long polling? Streaming? =)

Thanks guys!

A: 

Well, they have this honking big database called DataStore, of their own design. It's not just there for Google App Engine, they use it internally too. They even store their Web crawling results in it.

Essentially, most Google data ends up in (an internal partition of) DataStore.


EDIT: Oops, I just realized this doesn't answer the question. I thought I'd read "where to they store the data?" I'll leave it up, though, in case anyone is interested.

Carl Smotricz
+1  A: 

On client side: JavaScript and a tracking image.

On server side: I don't know.

Pekka
Hi thanks for the reply! What do you mean by tracking image?
RadiantHex
+3  A: 

The tracking is at function-calling time. No long polling or streaming.

Every time a Google Analytics function is triggered (whether upon page load, or when a page event like onClick is triggered), it executes a function within the ga.js file. Commonly, that could be trackPageView, but there are many others, as you can see here: http://code.google.com/apis/analytics/docs/tracking/asyncUsageGuide.html .

That function mainly does two things:

  • It also places numerous first-party cookies on the end-users computer, if allowed, in order to enable tracking beyond a single page.
  • It requests a blank image file called _utm.gif from google-analytics.com, with a long query string attached it. That query string contains all of the details that Google Analytics tracks.

Google's servers record that gif request on their logs, which are then processed on Google's side; the lag for the data appearing in GA can be anywhere between 3 and 24 hours, depending on what is being tracked or computed.

That query string contains various parameters that together are put together by Google to create an accurate picture of the visitor's journey

Here's a reference as to what parameters Google Analytics collects:

http://code.google.com/apis/analytics/docs/tracking/gaTrackingTroubleshooting.html#gifParameters

The _utm.gif call for loading talkingpointsmemo.com, for example, looks like this:

http://www.google-analytics.com/__utm.gif?utmwv=4.7.2&utmn=1687340155&utmhn=www.talkingpointsmemo.com&utmcs=UTF-8&utmsr=1920x1080&utmsc=24-bit&utmul=en-us&utmje=1&utmfl=10.1%20r53&utmdt=Talking%20Points%20Memo%20%7C%20Breaking%20News%20and%20Analysis&utmhid=1157392983&utmr=-&utmp=%2F&utmac=UA-927537-1&utmcc=__utma%3D147706162.633472310.1273842954.1279564084.1279662542.44%3B%2B__utmz%3D147706162.1279564457.43.23.utmcsr%3Dgoogle%7Cutmccn%3D(organic)%7Cutmcmd%3Dorganic%7Cutmctr%3Degypt%2520IGLHRC%3B

On any given page load, there could be multiple _utm.gif requests made, 1 for each type of request made.

yc
@yc Most excellent response possible! Thanks indeed! =)
RadiantHex