Oct 09 2008

funzioni: _setCookieTimeout()

autore: Marco Cilia categoria: funzioni

La funzione che va maggiormente tenuta da conto quando si instaurano delle campagne è _setCookietimeout(stringa); il motivo risiede nella gestione del cookie __utmz da parte dello script di Analytics: il cookie contiene le informazioni relative alla provenienza, ad esempio:
205114892.1220963346.1.1.utmccn=(organic)|utmcsr=google|utmctr=world+browser+stats |utmcmd=organic
(si viene da una ricerca su google con chiave “world browser stat”)

oppure:
219072577.1223545748.1.1.utmgclid=CITpr_XumZYCFQVOtAodAmkD7g|utmccn=(not%20set)|utmcmd=(not%20set)|utmctr=hotel%20roma
(provenienza campagna AdWords con chiave “hotel roma”)

Questo cookie ha una vita predefinita di sei mesi, o meglio 15.552.000 secondi, e le informazioni contenute sono sovrascritte secondo le famose regole:
- Le visite provenienti da una campagna, un referral, una visita organica o un adword aggiornano sempre il cookie.
- Il traffico diretto viene sempre sovrascritto da referrer, organico e campagne taggate o adword.

Questo significa che se un visitatore arriva sul vostro sito tramite una ricerca da Google per “hotel roma” e poi se ne va, per i successivi sei mesi una sua eventuale visita diretta con conversione verrà attribuita a Google organico. Allo stesso modo, se proviene da una campagna fatta su una mailing list, si salva l’indirizzo nei preferiti e poi torna dopo cinque mesi e converte, la conversione è assegnata alla campagna della mailing list.

Per vari motivi questo tempo può essere ritenuto inaccettabile: Google Analytics mette a disposizione la funzione setCookieTimeout per prendere il controllo della data di scadenza del cookie __utmz. La funzione prende in ingresso come parametro il numero di secondi trascorsi i quali il cookie scadrà e il visitatore smetterà di essere marchiato con la campagna. Si usa così:
pageTracker._setCookieTimeout("5184000");

Vi lascio anche un breve elenco di date convenzionali trasformate in secondi:
1 giorno = 86400 secondi
7 giorni = 604800 secondi
14 giorni = 1209600 secondi
15 giorni = 1296000 secondi
30 giorni = 2592000 secondi
60 giorni = 5184000 secondi
90 giorni = 7776000 secondi
120 giorni = 10368000 secondi
180 giorni = 15552000 secondi


Oct 06 2008

Gestione delle campagne

autore: Marco Cilia categoria: generale

Uno dei grafici più noti e familiari che si vedono quando si accede alla dashboard dei profili è quello delle fonti di traffico, a meno che non sia stato eliminato per scelta. Rappresenta, come noto, la ripartizione percentuale delle provenienze dei visitatori, e di solito ha tre colori, rosso, verde e blu che rappresentano le tre fonti “classiche” di traffico: le visite dirette, i siti di riferimento e le visite da motore di ricerca.

(due diversi grafici delle fonti di traffico)

(due diversi grafici delle fonti di traffico)

In alcuni casi però il grafico si presenta con quattro colori, aggiunge il giallo, e la quarta fonte è “altro”; questo significa che abbiamo iniziato a usare e gestire le campagne. La gestione delle campagne è un passaggio praticamente obbligato nella vita del monitoraggio di un sito web tramite Google Analytics, poiché ci consente di sapere con esattezza quale fonte invia quali visitatori, quale banner porta più conversioni, quale servizio porta visite più qualificate. A differenza delle fonti “tradizionali” le campagne sono impostate da noi e sono molto più granulari: possiamo avere una campagna su una sola pagina di un sito, su tutte le pagine di un sito oppure tre campagne diverse sulla stessa pagina. si può usare la stessa campagna su una newsletter oppure usare una campagna per ogni tipologia di destinatario, e ancora usare campagne differenti per due link differenti nella stessa newsletter. Poiché la gestione è nostra, non c’è limite di utilizzo, salvo poi la difficoltà di lettura dei report.

Come si crea una campagna? A differenza degli obiettivi non c’è bisogno di fare nulla nell’interfaccia di GA, una campagna parte nel momento in cui la prima visita arriva tramite un link opportunamente preparato (”taggato”) con alcuni parametri. Questi parametri possono essere fino a cinque, e precisamente:

  • utm_campaign: è il nome della campagna. Va pensato come a un “contenitore” delle varie attività di promozione tramite campagne che ci apprestiamo a fare. Ad esempio per lanciare un prodotto potremmo fare campagne su newsletter, link da siti partner e banner, ma il nome della campagna sarà comune e sempre uguale, ad esempio “lancio XR100″
  • utm_medium: è il mezzo della campagna, il veicolo attraverso il quale la campagna giunge ai potenziali clienti. Va pensato rispondendo alla domanda “tramite quale mezzo sto lanciando il messaggio?” (ad esempio: email, banner, affiliazione, ecc.)
  • utm_source: è la fonte delle visite, la provenienza dei visitatori per quella campagna e risponde alla domanda “chi?” (esempio: goanalytics.info, google, sito honda italia)
  • utm_content: è il contenuto dell’annuncio, e può essere usato per dare maggior dettaglio o per scopi di test, ad esempio facendo un test A/B per capire quale annuncio genera i risultati migliori.
  • utm_term: è il termine comprato, nel caso si stia taggando una campagna di keyword advertising.

Di questi cinque parametri, solo i primi tre sono obbligatori. Tecnicamente non è del tutto vero, ma per comodità si assume che sia così: usandoli tutti e tre si usufruirà in toto dei benefici della gestione delle campagne. Per avviare una campagna si dovrà quindi provvedere a modificare il link che punta al nostro sito aggiungendo questi parametri. Ipotizziamo che stiamo lanciando il prodotto XR100 e che abbiamo approntato una pagina apposita sul nostro sito, www.miosito.it/xr100.php. la prima campagna viene effettuata sulla newsletter in questo modo:
http://www.miosito.it/xr100.php?utm_source=newsletter&utm_medium=email&utm_campaign=lancio-xr100

la seconda campagna è un banner sul sito di honda italia
http://www.miosito.it/xr100.php?utm_source=honda-italia&utm_medium=banner&utm_campaign=lancio-xr100

il terzo caso riguarda due link presenti su un sito affiliato, che decidiamo di studiare particolarmente perché in passato campagne simili hanno dato risultati contrastanti. Saranno inseriti due link, uno nella sidebar di tutte le pagine e uno nel footer di tutte la pagine.
Il link nella sidebar sarà
http://www.miosito.it/xr100.php?utm_source=sitoaffiliato.com&utm_medium=link&utm_content=sidebar&utm_campaign=lancio-xr100

mentre quello nel footer
http://www.miosito.it/xr100.php?utm_source=sitoaffiliato.com&utm_medium=link&utm_content=footer&utm_campaign=lancio-xr100

In questo modo, andando a scavare nel report sorgenti di traffico -> campagne sarà possibile capire con esattezza quale di questi mezzi ha generato più conversioni e addirittura quale sia la posizione più redditizia per inserire un link su sitoaffiliato.com nella prossima campagna.
Per facilitare la creazione di url taggati correttamente Google mette a disposizione uno strumento di costruzione degli URL raggiungibile a questa pagina del supporto.

E’ necessario ricordare ancora una cosa sulle campagne: quando un visitatore clicca uno dei link taggati in questo modo il cookie utmz viene opportunamente modificato per registrare questa informazione; come già visto in precedenza, però, per due click da campagne successive il cookie viene sempre modificato, e la conversione viene attribuita all’ultima campagna cliccata. Per ovviare a questo comportamento vi ho già parlato del parametro aggiuntivo utm_nooverride=1.


Sep 21 2008

una rettifica sui cookie

autore: Marco Cilia categoria: cookie

Ho scoperto soltanto da poco che i cookie possibili scritti da Google Analytics sono sei, e non cinque come ho scritto nel relativo post. Ho quindi proveeduto ad aggiornare quel post piuttosto che riportare tutte le informazioni in uno nuovo, mi sembrava più sensato. Il nuovo cookie, __umk, viene comunque scritto e utilizzato solo in presenza di due funzioni specifiche che vi ho descritto pochi giorni fa: link() e linkByPost().


Sep 15 2008

1 visita, 1 pageview e tasso di rimbalzo 0%

autore: Marco Cilia categoria: codice di monitoraggio

Questo è un articolo che interesserà sicuramente Fello, che ci ha proposto una questione simile nei commenti al post “keyword con valori a zero” e io non sono mai riuscito a riprodurla nei miei report. Adesso Lunametrics ci spiega per filo e per segno perché questo accade: io non ci sarei mai arrivato, devo ammettere i miei limiti, perché comunque sia mi sembra un comportamento sbagliato da parte del codice di tracciamento. La sostanza del problema è che se avete la funzione _setVar() che imposta un valore nel cookie del visitatore, essa subito dopo aver scritto o modificato il cookie lo comunica a Google Analytics.

Quindi anche nel caso di una visita di una sola pagina vista, se c’è _setVar avvengono DUE interazioni con GA, e lui le interpreta come se non fossero un bounce, anche se di fatto non sono due pagine viste.

La soluzione è un workaround che inganna il codice di Analytics, creando un oggetto di tracciamento legato a un account che non esiste, e facendo scrivere il cookie a lui, e poi chiamando _trackPageView() usando l’oggetto legato all’account corretto, che genererà la pagina vista corretta portandosi già dietro il valore della variabile definita dall’utente tramite setVar, così:


var fakeTracker = _gat._getTracker("UA-1");
fakeTracker._setVar('/eyes=blue');
var pageTracker = _gat._getTracker("UA-xxxxxxx-y");
pageTracker._trackPageview();

L’ho verificato personalmente e funziona senza problemi. i cookie scritti sono infatti indipendenti dall’account analytics specificato usando solo queste funzioni. Il rovescio della medaglia è che se usate questo metodo dovrete portarvi dietro il secondo oggetto di tracciamento per tutte le altre funzioni di GA che vorrete usare.


Sep 11 2008

funzioni: _setAllowLinker(), _link() e _LinkByPost()

autore: Marco Cilia categoria: funzioni

Riprendendo il post precedente, dicevo che _setDomainName() andava impostato su “none” nel caso in cui si volesse avere il controllo completo dei casi in cui i visitatori avrebbero dovuto passare da un dominio a un altro mantenendo lo stesso cookie. Questa operazione è particolarmente importante quando i domini sono completamente differenti, e non sono solo uno il sottodominio dell’altro, ad esempio www.miosito.it e www.shopmiosito.com.

La funzione _setAllowLinker(booleano) permette di abilitare su Google Analytics la gestione manuale della migrazione dei cookie, e di default è disabilitata. Va invocata esplicitamente nel GATC insieme a _setDomainName() in questo modo:

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-xxxxxx-x");
pageTracker._setDomainName("none");
pageTracker._setAllowLinker(true);
pageTracker._trackPageview();
</script>

sia sul sito origine sia sul sito destinazione. A questo punto è necessario aggiungere un pezzo di codice a ogni singolo link che porta da un dominio all’altro e che non vogliamo dia origine a una nuova visita (come appunto il caso di un carrello acquisti) con la funzione _link(url_destinazione), per esempio così:
<a href="http://www.shopmiosito.com/?negozio=scarperosse" onclick="pageTracker._link(this.href); return false;" onclick="javascript:pageTracker._trackPageview ('/outbound/www.shopmiosito.com');">inizia l'acquisto delle tue scarpe</a>

Bisogna notare che il cookie in questo caso è passato con una richiesta GET, e quindi è visibile nell’url del browser. Per passare da un sito a un altro con una richiesta in POST, ad esempio usando una form, è necessario usare l’analoga funzione _linkByPost(oggetto_form), per esempio usando il codice:
<form action="http://www.shopmiosito.com/paginaprocesso.php" name="alcarrello" method="post" onsubmit="pageTracker._linkByPost(this)">


Sep 09 2008

funzioni: _setDomainName()

autore: Marco Cilia categoria: funzioni

La funzione _setDomainName(stringa) serve a impostare o forzare il dominio nei cookie di GA; questa informazione scritta nel cookie è infatti la sola che Google Analytics usa per determinare su quale dominio stia avvenendo la visita dell’utente. _setDomainName può assumere tre soli valori, cioè “auto”, “none” o il nome del dominio, e per definizione - ovvero quando non è invocata esplicitamente - è impostata su “auto”: questo fa si che GA scriva nel cookie il dominio estrapolandolo dall’oggetto location del DOM (Document Object Model).

Un esempio tipico in cui è necessario utilizzare questa funzione è la tracciatura di un dominio e un sottodominio nello stesso profilo, poniamo www.miosito.it e sub.miosito.it. Per prima cosa bisogna aggiungere al codice di monitoraggio la seguente riga
pageTracker._setDomainName(".miosito.it");
facendo bene attenzione al punto prima del dominio (è all’incirca equivalente a dire *.miosito.it), dopodiché è consigliato impostare un filtro per discernere le pagine all’interno dei report. Essendo i domini tracciati come fossero una sola cosa, infatti, le visite corrispondenti a www.miosito.it/index.asp e sub.miosito.it/index.asp verrebbero sommate a livello di pageview. Il filtro è questo:

screenshot del filtro sottodomini

e scrive al posto dell’URI della richiesta (index.asp) la stringa completa host-URI (www.miosito.it/index.asp).

L’ultima modalità di chiamata a _setDomainName() è “none” e va usata nel caso in cui si voglia disabilitare il tracciamento tra domini differenti o in quello molto più frequente in cui si voglia farlo avendone però il preciso controllo, quindi usandolo in congiunzione alle funzioni _setAllowLinker(), Link() e Linkbypost() che vedremo prossimamente.


Jul 10 2008

funzioni: _setCookiePath() e _getCookiePath()

autore: Marco Cilia categoria: cookie, funzioni

La funzione _setCookiePath(stringa) è un po’ particolare e forse non è nemmeno utile alla maggior parte di noi, però ci permette di risparmiare tempo nel setup del profilo e consente una interpretazione migliore dei dati. Sebbene il nome tragga in inganno, serve a definire quale sia la directory predefinita per il cookie del vostro sito, e non a definire in quale directory del PC dell’utente salvare i cookie di GA (come molti erroneamente pensano). Poniamo un caso pratico e semplificato:
Continua a leggere “funzioni: _setCookiePath() e _getCookiePath()”


May 05 2008

I cookie di Google Analytics

autore: Marco Cilia categoria: cookie

Google Analytics è un sistema di web analytics lato client, cioè viene scaricato ed eseguito un piccolo javascript sul browser di ogni visitatore del sito in cui il codice di monitoraggio è installato (ammesso che esegua javascript, naturalmente). Tra le varie operazioni che questo javascript esegue prima di inviare i dati al server collettore di Google, c’è la creazione o l’aggiornamento di 4, 5 o 6 cookie, a seconda del grado di personalizzazione del codice di monitoraggio. I cookie sono piccoli file di testo che risiedono nel computer del visitatore e che contengono informazioni temporanee sul sito web o sul visitatore.

Vediamo in dettaglio come si chiamano e cosa fanno: Continua a leggere “I cookie di Google Analytics”