Google-Analytics-Cookie-Parser-PHP
, (*1)
This tool converts google's utmz and utma cookies into easy to use objects., (*2)
This gives easy access to googel session and keyword data., (*3)
Installation
Install via composer. Edit your project's composer.json file to require jflight/gacookie:, (*4)
"require": {
"jflight/gacookie":"dev-master"
}
Update Composer from the terminal:, (*5)
composer update
Usage
Parse the cookies (currently supports utma and utmz):, (*6)
<?php
use Jflight\GACookie\GACookie;
$utma = GACookie::parse('utma');
$utmz = GACookie::parse('utmz');
Or directly parse strings:, (*7)
<?php
$utma = GACookie::parseString('utma', '177910838.254655113.1474876189.1482142331.1482148790.58');
$utmz = GACookie::parseString('utmz', '177910838.1481550491.52.15.utmcsr=newsletter|utmccn=campaign-2016|utmcmd=email');
You can now access cookie variables:, (*8)
For utma, (*9)
<?php
$utma->time_of_first_visit; // DateTime
$utma->time_of_last_visit; // DateTime
$utma->time_of_current_visit; // DateTime
$utma->session_count // Integer
For utmz, (*10)
<?php
$utmz->timestamp; // DateTime
$utmz->session_count // Integer
$utmz->campaign_number // Integer
$utmz->source // string
$utmz->medium // string
$utmz->campaign // string
$utmz->term // string
$utmz->content // string
Because all time related properites return DateTime objects, this sort of thing is possible:, (*11)
<?php
echo $utma->time_of_first_visit->format('Y'); // e.g. 2014
Also if you are so inclined, properties can be accessed via ArrayAccess:, (*12)
<?php
echo $utmz['source']; // e.g. google