Skip to content

simonrobson/ga_cookie_parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 ga_cookie_parser

Usage

Create an instance, or use the convenience method GaCookieParser.parse, providing a hash with keys :umtz and/or :umtz as argument.

utmz = cookies["__utmz"] # in a rails controller context
utmb = cookies["__utmb"]
utma = cookies["__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:

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 © 2011 Simon Robson. See LICENSE for details.

About

Ruby parser for Google Analytics utmz and utma cookies

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages