
Security News
CISA’s 2025 SBOM Guidance Adds Hashes, Licenses, Tool Metadata, and Context
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.
= 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
Copyright (c) 2011 Simon Robson. See LICENSE for details.
FAQs
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.
Security News
A clarification on our recent research investigating 60 malicious Ruby gems.
Security News
ESLint now supports parallel linting with a new --concurrency flag, delivering major speed gains and closing a 10-year-old feature request.