O Google Analytics reune estatísticas sobre o tráfego web através de first-party cookies (cookies válidas apenas para o domínio onde foram definidas) que ficam guardadas nos nossos browsers.
Construí uma classe em PHP com a qual podemos ler as cookies do Google Analytics __utma e __utmz. Esta classe pode ser usada para facilmente integrar dados contidos nessas cookies com sistemas proprietários como CRMs, Helpdesks, etc.
- __utma (expira 2 anos após ser definida) – visitor data
Esta cookie é escrita na primeira visita ao website. Caso seja apagada é novamente criada. É usada para o cálculo de visitantes únicos e é actualizada a cada página vista.
- __utmz (expira 6 meses após ser definida) – campaign data
Esta cookie guarda informações sobre como o utilizador chegou ao website: referer, directo, pesquisa ou uma campanha como um anúncio ou newsletter (desde que tagged com o URL builder). É usada para calcular tráfego dos motores de pesquisa e campanhas. Esta cookie é actualizada cada vez que visitamos o website.
Este parser permite obter alguns dados contidos nestas cookies do Google Analytics de uma forma legível.
Veja como funciona na página http://joaocorreia.pt/example.php.
- Campaign source
- Campaign name
- Campaign medium
- Campaign content
- Campaign term
- Date of first visit
- Date of previous visit
- Date of current visit
- Times visited
Para fazer o parse destas cookies disponibilizo um classe em PHP .
Quando fizer uso desta classe não se esqueça de respeitar os termos de serviço do Google Analytics!
:
GAParse is a PHP parser for Google Analytics cookies __utma and __utmz. Check example.php below to see wich variables are available or http://joaocorreia.pt/example.php if you want to see it working.
You can use this class to provide some degree of integration between GA and your application. A CRM or Helpdesk for example. Its up to your imagination, just don’t forget to comply with TOS of GA.
Download versão 1.0 class.GAParse.zip (class.gaparser.php e example.php)
example.php
<?php
require("class.gaparse.php");
$aux = new GA_Parse($_COOKIE);
echo "Campaign source: ".$aux->campaign_source."<br />";
echo "Campaign name: ".$aux->campaign_name."<br />";
echo "Campaign medium: ".$aux->campaign_medium."<br />";
echo "Campaign content: ".$aux->campaign_content."<br />";
echo "Campaign term: ".$aux->campaign_term."<br />";
echo "Date of first visit: ".$aux->first_visit."<br />";
echo "Date of previous visit: ".$aux->previous_visit."<br />";
echo "Date of current visit: ".$aux->current_visit_started."<br />";
echo "Times visited: ".$aux->times_visited."<br />";
?>
class.gaparse.php
<?php
////////////////////////////////////////////////////
// GA_Parse - PHP Google Analytics Parser Class
//
// Version 1.0
// Date: 17 September 2009
//
// Defines a PHP class to parse Google Analytics
// cookies, currently with support for __utmz
// (campaign data) and __utma (visitor data)
//
// Author: Joao Correia (GAQI) - http://joaocorreia.pt
//
// License: LGPL
//
////////////////////////////////////////////////////
class GA_Parse
{
var $campaign_source; // Campaign Source
var $campaign_name; // Campaign Name
var $campaign_medium; // Campaign Medium
var $campaign_content; // Campaign Content
var $campaign_term; // Campaign Term
var $first_visit; // Date of first visit
var $previous_visit; // Date of previous visit
var $current_visit_started; // Current visit started at
var $times_visited; // Times visited
function __construct($_COOKIE) {
$this->utmz = $_COOKIE["__utmz"];
$this->utma = $_COOKIE["__utma"];
$this->ParseCookies();
}
function ParseCookies(){
// Parse __utmz cookie
list($domain_hash,$timestamp, $session_number, $campaign_numer, $campaign_data) = split('[\.]', $this->utmz);
// Parse the campaign data
$campaign_data = parse_str(strtr($campaign_data, "|", "&"));
$this->campaign_source = $utmcsr;
$this->campaign_name = $utmccn;
$this->campaign_medium = $utmcmd;
$this->campaign_term = $utmctr;
$this->campaign_content = $utmcct;
// You should tag you campaigns manually to have a full view
// of your adwords campaigns data.
// The same happens with Urchin, tag manually to have your campaign data parsed properly.
if($utmgclid) {
$this->campaign_source = "google";
$this->campaign_name = "";
$this->campaign_medium = "cpc";
$this->campaign_content = "";
$this->campaign_term = $utmctr;
}
// Parse the __utma Cookie
list($domain_hash,
$random_id,
$time_initial_visit,
$time_beginning_previous_visit,
$time_beginning_current_visit,
$session_counter) = split('[\.]', $this->utma);
$this->first_visit = date("d M Y - H:i",$time_initial_visit);
$this->previous_visit = date("d M Y - H:i",$time_beginning_previous_visit);
$this->current_visit_started = date("d M Y - H:i",$time_beginning_current_visit);
$this->times_visited = $session_counter;
// End ParseCookies
}
// End GA_Parse
}
?>


Add your comment below, or trackback from your own site.
Subscribe to these comments.
Be nice. Keep it clean. Stay on topic. No spam.
You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>