Aug 03 2008

funzioni per integrare GA e Urchin o backuppare i dati

Come sicuramente saprete e abbiamo avuto modo di dire, Google Analytics è un sistema di web analytics lato client che fa uso di un javascript per raccogliere informazioni da inviare a un server remoto, il quale provvederà ad elaborarle e a produrre i report (vedi lo schema di funzionamento).

Google tuttavia fornisce un altro strumento di analisi degli accessi, Urchin software (al momento versione 6), al costo di 1895 euro; si tratta di un software in grado di analizzare anche i logfiles prodotti dal websever, quindi un principio “opposto e complementare” a quello usato da Google Analytics. Esistono però delle funzioni che possono essere invocate nello script di tracciamento degli utenti che permettono di scegliere dove inviare tutti o parte dei dati.

La funzione _setLocalRemoteServerMode() serve a dire a GA di inviare i dati che registra sia al server remoto di Google sia a un nostro server locale, di fatto permettendoci di effettuare un backup dei dati grezzi (anche se poi sarà necessario Urchin per elaborarli). E’ una funzione senza argomenti che si invoca semplicemente richiamandola così
PageTracker._setLocalRemoteServerMode();
prima della chiamata a trackPageview().

E’ anche possibile fare in modo che i dati vengano inviati esclusivamente al nostro server, escludendo completamente Google dalla gestione dei dati, sempre a patto di possedere Urchin per effettuare le analisi. Bisogna impostare una chiamata alla funzione _setLocalServerMode() in questo modo
PageTracker._setLocalServerMode();
prima della chiamata a trackPageview(). L’utilità di questa funzione per i possessori di Urchin è grande: si possono utilizzare la sintassi e le funzioni del codice di tracciamento di Google Analytics ed elaborare i dati in locale, e contemporaneamente usare Urchin per analizzare i logfiles e capire, ad esempio, il comportamento degli spider (che vi ricordo NON sono tracciati da GA).

La funzione opposta, _setRemoteServerMode(), è quella invocata per definizione da Google Analytics, e invia i dati ai server collettori dell’azienda di Mountain View. Analogamente alla funzione precedente, tuttavia, i possessori di Urchin potrebbero decidere che parte delle analisi debbano essere svolte dai server di Google. Richiamando la funzione in questo modo
PageTracker._setRemoteServerMode();
prima di trackPageview() faremo svolgere allo script proprio questo mestiere.

Esiste un’ultima parte di codice da prendere in esame in questo post, e va usata ogni qualvolta si invochi una funzione che invia i dati a un nostro server: è la funzione _setLocalGifPath(stringa). Al punto 5 del workflow illustrato nel post “l’ordine è importante” ho detto che il GATC richiede una immagine gif trasparente di 1 pixel per 1 pixel; anche nel caso di Urchin – usato utilizzando il GATC e non tramite logfiles – è necessario usare la gif trasparente, e la funzione _setLocalGifPath() serve a specificare il percorso di questo file, e quindi di conseguenza il percorso del webserver che riceverà in risposta i dati tracciati dallo script, e va invocata prima ancora della riga che setta la destinazione dei dati.