Usare più profili di analisi con Google Universal Analytics

Multi domainUltimamente mi sono trovato nella situazione di avere la necessità di tracciare un sito internet utilizzando più di una web properties. Mentre con Google Analytics è necessario scrivere  un po’ di javascript ho scoperto che con Universal Analytics tutto è molto piu’ facile e documentato

Questo è il normale script di Universal Analytics

<script>
 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
 })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-11111-1, 'analyticstraining.it');
 ga('send', 'pageview');

</script>

dove la riga:
ga('create', 'UA-11111-1', 'esempio.it');

si occupa di creare l’oggetto di tracciamento
mentre
ga('send', 'pageview');

si occupa di inviare i dati al server.
nel dettaglio “ga(‘create’, ‘UA-11111-1’, ‘esempio.it’);” crea l’oggetto di tracciamento a cui assegna l’ide del vostro profilo ed inoltre setta l’oggetto sul dominio ‘esempio.it’
Questa riga è la versione abbreviata della chiamata di funzione:
ga('create', 'UA-11111-1', {'cookieDomain':'esempio.it});

Quando inserendo le parentesi graffe possiamo iniziare ad inviare diversi parametri al nostro oggetto di tracciamento, uno di questi parametri puo’ essere il nome stesso dell’oggetto:
ga('create', 'UA-22222-1', {'name': 'newTracker'});

Avendo creato un nuovo oggetto di tracciamento con un nome specifico ora è possibile inviare i dati ai server di Google usando tale oggeto
ga('newTracker.send', 'pageview');

Per tracciare uno sito con più profili di Universal analytics dobbiamo creare diversi oggetti di tracciamento ed assegnare ad ognuno di essi un diverso id.
In pratica
ga('create', 'UA-xxxxxxxx-y', 'analyticstraining.it');
ga('create', 'UA-22222-1', {'name': 'newTracker', 'cookieDomain':'esempio.it'});
ga('send', 'pageview');
ga('newTracker.send', 'pageview');

Rispondi