Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Generate Google Analytics events (__utm.gif requests) serverside

I am willing to use Google Analytics to track stats about usage of my Client/Server application (no Browser on the user computer!).

So I guess if anyone ever tried to craft requests to __utm.gif from serverside code.

I have found some information on the request and relevant cookies at google website but there are no details on the cookies values passed in the "utmcc" variable.

I understand that I will not be able to "craft" some of the information which Analytics server derives from the request itself (one for all: the source IP address!). I can't generate requests from the Client computer.

Does anyone have experience with this scenario? Any detailed information or resource? Any working code snippet (any language will do! :)?

like image 784
Pokot0 Avatar asked Jun 22 '09 14:06

Pokot0


5 Answers

you might want to give http://code.google.com/p/serversidegoogleanalytics/ a try. its working for me (in combination with zend framework for the http request).

like image 31
schellmax Avatar answered Nov 05 '22 10:11

schellmax


I asked a similar question recently and somebody gave me a link, and I found another from the same site:

http://www.vdgraaf.info/wp-content/uploads/image-url-explained.txt
http://www.vdgraaf.info/wp-content/uploads/urchin-image.txt (included here)

Google's Analytics code is provided in the form of a JS library, ga.js. When a tracking function is called from this library, a request is made to a gif file on the GA servers at either of the following URLs:

http://www.google-analytics.com/__utm.gif //from http pages
https://ssl.google-analytics.com/__utm.gif //from https pages

The following are parameters that may be used in the request to provide GA with detailed information:

?utmwv=1 //Urchin/Analytics version
&utmn=634440486
&utmcs=UTF-8 //document encoding
&utmsr=1440x900 //screen resolution
&utmsc=32-bit //color depth
&utmul=nl //user language
&utmje=1 //java enabled
&utmfl=9.0%20%20r28 //flash
&utmcr=1 //carriage return
&utmdt=Linklove » The optimum keyword density //document title
&utmhn=www.vdgraaf.info //document hostname
&utmr=http://www.google.nl/search?q=seo+optimal+keyword+density&sourceid=navclient-ff&ie=UTF-8&rlz=1B3GGGL_nlNL210NL211 //referer URL
&utmp=/the-optimum-keyword-density.html //document page URL
&utmac=UA-320536-6 //Google Analytics account
&utmcc= //cookie settings
    __utma=
                    21661308. //cookie number
                    1850772708. //number under 2147483647
                    1169320752. //time (20-01-2007) cookie first set
                    1172328503. //time (24-02-2007) cookie previous set
                    1172935717. //time (03-03-2007) today
                    3;+
    __utmb=
                    21661308;+ //cookie number
    __utmc=
                    21661308;+ //cookie number
    __utmz=
                    21661308. //cookie number
                    1172936273. //time (03-03-2007) today
                    3.
                    2.
        utmccn=(organic)| //utm_campaign
        utmcsr=google| //utm_source
        utmctr=seo+optimal+keyword+density| //utm_term
        utmcmd=organic;+ //utm_medium

Remember that the &utmcc values need to be URL encoded.


The links in this answer have proven to be a little unreliable, so here are some other resources that might be useful:

  • Server Side Google Analytics for PHP
  • GIF URL Parameters (Google's Troubleshooting Page)
like image 65
Andy E Avatar answered Nov 05 '22 11:11

Andy E


Years after this question was posted a new method emerged.

Google Analytics now has a measurement protocol. You should favor this because it's supported and documented, unlike the other solutions that try to emulate a protocol that is not fully supported.

In order to use it you need to create a new Web Property that is Universal Analytics enabled.

Full details about the Measurement Protocol in the developer docs.

like image 3
Eduardo Avatar answered Nov 05 '22 11:11

Eduardo


From inspecting my cookies in firefox for a site that is a known user of google analytics I see it stores 3 values (all 3 start with 2 underscores):

  • __utmc - 9 digit integer (probably)
  • __utma - very long integer with periods thrown in (starts with 9 digits above)
  • __utmz - long string period seperated (starts with 9 digits from utmc)

My guess is utmc is your tracking session id.

like image 1
Hardwareguy Avatar answered Nov 05 '22 10:11

Hardwareguy


As an alternative, if you are on AWS, you can use custom metrics in CloudWatch, very easy to use but you need to take care of every thing, depending on what you want to achieve with "server-side" metrics it may be exactly what you need.

like image 1
Ali Avatar answered Nov 05 '22 11:11

Ali