Jun 13 2010

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo rosso - articolo per esperti

Catturare la prima fonte con le variabili personalizzate

[questa è praticamente la traduzione di un post di websharedesign.com, che descrive un metodo per immagazzinare la prima sorgente di traffico nello slot 3 delle variabili personalizzate, analogamente a quanto descritto a suo tempo da Brian Clifton]

Per tracciare e registrare l’informazione sulla prima sorgente di traffico si ha bisogno di leggere il cookie __utmz e scrivere le informazioni nel cookie __utmv, che è dedicato alle variabili personalizzate. Facendo così è facile andare incontro al limite dei 64 caratteri (considerate che potenzialmente si potrebbero immagazzinare sorgente, mezzo, campagna, keyword e informazioni sull’annuncio).
Ecco il problema: se si prova a immagazzinare più di 64 caratteri nel cookie __utmv, Google Analytics non si preoccuperà di tagliare l’eccedenza, ma si rifiuterà di scrivere completamente l’informazione. Per evitare questo, ecco alcuni consigli:

  1. Scegliete un nome breve per le vostre variabili, come “FT” (first touch) nel nostro caso. Le variabili personalizzate usano una struttura chiave/valore nella quale la chiave è una categoria di dati; in questo caso la vostra chiave è semplicemente first touch, mentre il valore è qualcosa come google/organico/grande/blu. Scegliere un nome corto per la chiave permette di salvare la maggior parte dei caratteri per il valore
  2. Scrivere una regular expression cerca-e-sostituisci sul valore nella coppia chiave/valore per tenere solo i caratteri che non necessitano di essere codificati. Si salverà spazio utile per molti altri caratteri.
  3. Limitare la lunghezza del valore a 64 caratteri meno il valore della chiave. In altre parole valore = 64 – (lunghezza della chiave)
  4. Alla fine chiamare _setCustomVar() per memorizzare i dati della prima fonte in una variabile personalizzata

Ecco il codice necessario a leggere il cookie __utmz e quindi eseguire i passaggi dal 2 al 4:


<script type='text/javascript'>
//Used to obtain a value from a string of key/value pairs
function _uGC(l,n,s) {
if (!l || l=="" || !n || n=="" || !s || s=="") return "-";
var i,i2,i3,c="-";
i=l.indexOf(n);
i3=n.indexOf("=")+1;
if (i > -1) {
i2=l.indexOf(s,i); if (i2 < 0) { i2=l.length; }
c=l.substring((i+i3),i2);
}
return c;
}
//Retrieve campaign and referrer info from the _utmz cookie
var z = _uGC(document.cookie, '__utmz=', ';');
var source  = _uGC(z, 'utmcsr=', '|');
var medium  = _uGC(z, 'utmcmd=', '|');
var term    = _uGC(z, 'utmctr=', '|');
var content = _uGC(z, 'utmcct=', '|');
var campaign = _uGC(z, 'utmccn=', '|');
var gclid   = _uGC(z, 'utmgclid=', '|');
//Replace empty values (marked by a dash) with an empty string
if(source=="-"){source=""};
if(medium=="-"){medium=""};
if(term=="-"){term=""};
if(content=="-"){content=""};
if(campaign=="-"){campaign=""};
//If gclid is present, explicitly set source/medium to google/cpc
if (gclid !=="-") {
source = 'google';
medium = 'cpc';
}
//Build utmString
var utmString = source;
utmString=utmString+"!"+medium;
utmString=utmString+"!"+campaign;
utmString=utmString+"!"+term;
utmString=utmString+"!"+content;
//Replace URL-encoded ’spaces’ with dashes
utmString=utmString.replace('%20','-');
//RegEx to retain only whitelisted characters
utmString=utmString.replace(/[^a-zA-Z0-9-~!*_.]/g,");
//Set string to specific length
utmString=utmString.substr(0,62);
//Set first touch information if not already there, using slot 3
var fT=pageTracker._getVisitorCustomVar(3);
if(!fT){
pageTracker._setCustomVar(3,'FT',utmString,1);
}
</script>

In questo modo nel report “variabili personalizzate” si troverà una variabile di nome FT che conterrà appunto la prima fonte di traffico usata dai visitatori per raggiungere il vostro sito. L’idea è quella di creare un report personalizzato che contenga per ogni conversione la prima (quella nella variabile) e l’ultima (quella che GA segna per default).

Condividi l'articolo:

Scrivi un Commento