utm.gif Request Parameters Explained/
October 4, 2011
Have you ever wondered how exactly does information about visits to your website get sent back to Google Analytics? Let me introduce you to my good friend, __utm.gif.
You see, whenever a page of your site loads (as long as you have GA tracking code on the page) a request is made for a small file — the __utm.gif. But don’t be fooled by the size of this file (weighing in at only 35 bytes); it packs a lot of information in the request URI of that little pixel. Here’s an example:
<p style="padding-left: 30px;"><span style="color: #003366;">http://www.google-analytics.com/__utm.gif?utmwv=5.1.7&utms=1&utmn=1894752493&utmhn=www.lunametrics.com&utmcs=UTF-8&utmsr=1280x1024&utmsc=24-bit&utmul=en-us&utmje=1&utmfl=10.3%20r183&utmdt=Tracking%20QR%20Codes%20with%20Google
Holy parameters, Batman! Let’s break that down now to see what information is being sent back.
utmwv=5.1.7 – Tracking code version
Session number. Number of sessions/visits from this particular browser Session requests. Updates every time a __utm.gif request is made. Stops incrementing at 500 (max number of GIF requests per session).
utmn=1894752493 – Unique ID generated for each GIF request to prevent caching of the GIF image
utmhn=www.lunametrics.com – Host name, which is a URL-encoded string
utmcs=UTF-8 – Language encoding for the browser. Some browsers don’t set this, in which case it is set to “-”
utmsr=1280×1024 – Screen resolution
utmsc=24-bit – Screen color depth
utmul=en-us – Browser language
utmje=1 – Indicates if browser is Java enabled. 1 is true.
utmfl=10.3 r183 – Flash version
utmdt=Tracking QR Codes with Google Analytics – Page title, which is a URL-encoded string
utmhid=1681965357 – A random number used to link the GA GIF request with AdSense
utmr=http://www.google.com/search?q=tracking+qr+codes&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a – Referral, complete URL
utmp=/blog/2011/08/18/tracking-qr-codes-google-anaytics/ – Page request of the current page
utmac=UA-296882-1 – Account string, appears on all requests
+__utmz=230887938.1317737798.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=tracking%20qr%20codes; – Cookie values. This request parameter sends all the cookies requested from the page.
utmu=DC~ – This is a new parameter that contains some internal state that helps improve ga.js.
Notice the next to last parameter – utmcc. If you look through that you’ll see all of your cookie information, like visitor ID, how many times they’ve been to your site, how they got to your site, what keyword (if any) they used, etc.
Although that GIF request URI is long, it doesn’t use all the parameters available. Here’s an (almost) full list of the GIF request parameters from Google code. And here are additional eCommerce-specific parameters (scroll down to the bottom) that are nicely summarized.
Thanks to Michael Freeman in his comment below for pointing out a new parameter – utmvp – which indicates the size of the viewing pane. As opposed to utmsr (screen resolution), utmvp is is the actual size of the window pane. For visitors with plugins and toolbars that take up screen space in their browser, you’ll see that utmvp is less than utmsr.
Now it’s your turn
There are a number of free tools that allow you to quickly and easily see what information is being sent in that GIF request (or if it’s even being requested at all). Watch this quick video demonstrating the use of two tools – Firebug and HttpFox (both for Firefox). If you’re a Chrome browser, you may want to try the Google Analytics Tracking Code Debugger. Here’s a list of even more debugging tools.