Una utility Javascript per tracciare automaticamente link esterni e download con la nuova libreria di Google Analytics.
In collaborazione con Marco Cilia di Google Analytics in 30 secondi ho scritto una libreria in Javascript per tracciare in modo semplice, e soprattutto senza dover modificare ogni singolo link, i click verso link esterni e verso risorse che non possono contenere il codice di tracciamento di Google Analytics (come ad esempio file PDF, immagini e qualsiasi altro file).
Aggiornamento:
Vuoi utilizzare questa libreria con il nuovo codice di tracciamento asincrono di Google Analytics? Scopri come.
L’utilizzo è davvero semplice, per prima cosa dobbiamo scaricarla ed includerla nelle nostre pagine:
<script type="text/javascript" src="_ftTrack.js"></script>
Dopo di che ci basta aggiungere il richiamo di una funzione dopo il normale codice di Google Analytics (è evidenziato in grassetto nel seguente esempio):
<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-XXXXXXX-1");
pageTracker._initData();
pageTracker._trackPageview();
_ftTrack(pageTracker,”link|pdf|jpg|zip|rar”);
</script>
La funzione _ftTrack accetta due argomenti, il primo, quello che rende la libreria multi account, è l’oggetto di Google Analytics creato con _gat._getTracker("UA-XXXXXXX-1") (pageTracker, nell’esempio), il secondo è l’elenco delle estensioni dei file da tracciare separate da un | (pipe).
Per tracciare i link esterni, basta aggiungere all’elenco di estensioni (nell’esempio pdf|jpg|zip|rar), la parola chiave “link”:
_ftTrack(pageTracker,"link|pdf|jpg|zip|rar”);
Non dovete fare altro :-)
La libreria _ftTrack incorpora la libreria onContent scritta da Andrea Giammarchi.
Dove ritrovo i dati tracciati?
La libreria traccia i click su link in uscita ed i link verso file non HTML come pagine visualizzate. Questo significa che li ritroverete in ogni report sulle pagine visualizzati di Google Analytics.
Tutte le “finte” pagine viste hanno un prefisso predefinito: “/OUTGOING/” per i link in uscita e “/MEDIA/” per gli altri file.
Ci sono problemi con più account di Google Analytics?
No, la libreria gestisce ogni account di Google Analytics in modo separato. Quindi inserendo più codici in una pagina possiamo scegliere cosa tracciare per ognuno. Nel seguente esempio il primo account traccia SOLO link esterni ed il secondo SOLO file PDF:
<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 primoTracker = _gat._getTracker(”UA-XXXXXXX-1″);
primoTracker._initData();
primoTracker._trackPageview();
var secondoTracker = _gat._getTracker(”UA-XXXXXXX-2″);
secondoTracker._initData();
secondoTracker._trackPageview();
_ftTrack(primoTracker,”link”);
_ftTrack(secondoTracker,”pdf”);
</script>
Nel post di Marco trovate un altro esempio molto interessante, in cui non si utilizza il richiamo alla funzione _trackPageview(). Questo permette di fatto di dedicare un account al solo tracking di download e link in uscita.
Tips
Per testare la libreria, dopo averla scaricata ed inclusa in un documento, potete sostituire il codice di Google Analytics con questo:
<script type="text/javascript">
function testObj(){
this._trackPageview=function(msg){
window.alert(msg);
}
}
pageTracker = new testObj();
_ftTrack(pageTracker,’link|pdf’);
</script>
Con questo codice, per ogni link esterno e link a file PDF cliccato, otterrete un alert con la pagina che la libreria salverebbe in Google Analytics, ho messo anche un esempio on line. Molto utile in fase di debug :-)
Se state ancora utilizzando il vecchio codice di GA, potete far riferimento a questo vecchio post.
tag: google, Google Analytics, Javascript, Web Analytics.
post correlati:
- Tracciare link esterni e download con Google Analytics Asincrono
- Utility Javascript per tracciare link esterni e download con Google Analytics
- Google Analytics in italiano. Non va
- Una API per Google Maps in stile jQuery
- Problemi con i funnel di navigazione di Google Analytics
- Conversione di una stringa da ASCII a binario e da binaro a ASCII con Javascript
- Escape completo di una stringa ASCII con Javascript o PHP

1 July 2008 alle 10:35
Come ho scritto sul blog di Marco: complimenti! Davvero. :)
1 July 2008 alle 10:41
Grazie Marco :-)
21 July 2008 alle 17:37
Ciao ottimo script.
E’ possibile utilizzarlo anche con il vecchio codice di GA urchin.js ?
21 July 2008 alle 20:06
Ciao Daniele, questo script è specifico per il nuovo codice di analytics, per il vecchio puoi usare questo.
P.S. Complimenti per il tuo blog, ci ero capitato un po’ di tempo fa e mi era stato utile per una cosa su Ubuntu :P
30 March 2009 alle 21:12
Complimenti!! Grazie mille!
5 June 2009 alle 06:12
funziona anche con try/catch(err)?
6 June 2009 alle 17:21
avete provato ad usarlo con la nuova versione del codice che prevede try / catch(err)? a me pare che non funzioni. Altrimenti va benissimo.
9 June 2009 alle 09:26
Ciao Vannina,
in teoria il try/catch non dovrebbe influire, potrebbe però nascondere il vero errore.
Prova a eliminare il try catch e vedi se il browser ti segnala qualche errore. Se hai fatto un copia e incolla del codice da questa pagina, il problema potrebbe essere che Wordpress sostituisce apici e doppi apici con altri caratteri “più belli” da vedere ma che generano un errore in Javascript.