Google Analytics Cookie Parser
Simple ruby library for parsing the __umtz, __umtb and __umta cookies which Google Analytics uses to track referrers and visitors.
You may wish to use this library to integrate data from Google Analytics into your internal CRM or sales tracking application.
Installation
The library is available as a gem.
gem install
Usage
Create an instance, or use the convenience method GaCookieParser.parse, providing a hash with keys :umtz and/or :umtz as argument.
utmz = ["__utmz"] # in a rails controller context
utmb = ["__utmb"]
utma = ["__utma"]
@data = GaCookieParser::GaCookieParser.new(:utmz => utmz, :utmb => utmb, :utma => utma)
Then, @data provides #utmz_hash, #utmb_hash and #utma_hash methods which return hashes as follows:
# @data.utmz_hash
# note that not all of these will be present, and some are mutually exclusive
{
:domain_hash => '12979384',
:timestamp => '1294887021', # unix timestamp
:session_counter => '1',
:campaign_number => '1',
:utmcsr => 'google', # source
:utmccn => '(organic)', # campaign name
:utmcmd => 'organic', # medium
:utmctr => 'search term', # term(s)
:utmcct => '/ref.php, # content (referring page in case of referrals)
:utmgclid => 'CI7wh8C6tKYCFU2DpAod7z97IQ' # gclid, linking referral back to adwords
}
# @data.utma_hash
{
:domain_hash => '12979384',
:visitor_id => '1392679796', # a random number
:initial_visit_at => '1289844797', # unix timestamp
:previous_visit_at => '1294798990', # unix timestamp
:current_visit_at => '1294866800', # unix timestamp
:session_counter => '1'
}
# @data.utmb_hash
{
:domain_hash => '12979384',
:pageview => '3', # pageview count in this 30 min session
:outbound_click => '10', # number of outbound links clicked counting down from 10
:timestamp => '1294866800' # current timestamp
}
Notes
Documentation on these cookies is somewhat sparse. Here are the main resources used in putting this library together:
-
Google documentation on the Google Analytics cookies
-
Integrating Google Analytics With a CRM blog post by Justin Cutroni
-
UPDATED: Integrating Google Analytics with a CRM blog post by Justin Cutroni
-
GA Basics: The Structure of Cookie Values blog post by VKI Studios
-
Python Google Analytics Cookie Parser (from which I borrowed some variable names)
-
Google Analytics Cookies (utma, utmb, utmz) (includes utmb structure)
UTMB
Was harder to find documentation on this (thanks to dominikform for the PR). The final link above contains the following details, copied here in case they disappear:
The content of the cookie include domain hash, pageview, number of outbound link click
counting down from 10, and current time stamp
Copyright
Copyright © 2011 Simon Robson. See LICENSE for details.