Jul 09 2010

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti semaforo giallo - articolo avanzato semaforo rosso - articolo per esperti

Come inserire due codici di monitoraggio asincroni

autore: categoria: codice di monitoraggio

Come la maggior parte di voi sa, lo script javascript di Google Analytics è in grado di creare e utilizzare differenti oggetti di monitoraggio per differenti profili e/o account, in modo abbastanza semplice e senza bisogno di incollare due o più volte l’intero codice di monitoraggio. Il metodo con il codice “classico” l’ho descritto nel post “due codici nella stessa pagina“, insieme a potenziali problemi derivati, ma come si fa la stessa cosa con il nuovo codice asincrono?

Alcuni pensano erroneamente che ci sia bisogno di creare un altro oggetto gaq, magari gaq2. Ma gaq è solo una coda in cui i comandi vengono inseriti per essere “smaltiti” appena il processo ha inizio (in modo asincrono rispetto all’esecuzione del codice di Analytics, lo ricordo). E allora cosa bisogna duplicare? l’oggetto di tracciamento, che nella versione standard del codice è sottinteso. Per cui un doppio codice valido è:


var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-65432-1']);
_gaq.push(['_trackPageview']);

_gaq.push(['tracker2._setAccount', 'UA-12345-2']);
_gaq.push(['tracker2._trackPageview']);

come vedere, nel primo pezzo di GATC il nome dell’oggetto viene dato per scontato (sarebbe quello che nel codice classico è pageTracker) e non compare, mentre nella seconda porzione è necessario specificarne uno. Tutte le successive chiamate a funzioni legate all’oggetto due, naturalmente, vanno fatte con la sintassi


_gaq.push(['tracker2._nomefunzione', 'eventuali_parametri_aggiuntivi']);

Condividi l'articolo:

27 Commenti

  1. Ciao, è molto interessante, potrebbe fare al mio caso, ho bisogno di dover tracciare il traffico dei singoli articoli sulla base del suo autore, cioè, vorrei avere un report su GA specifico per ogni blogger del blog e capire quanto traffico è stato generato dagli articoli scritti dall’autore Tizio o Caio

  2. ho provato così:
    [code] var _gaq = _gaq || [];
    _gaq.push([‘_setAccount’, ‘UA-XXXXXXX-X’]);
    _gaq.push([‘_trackPageview’]);

    _gaq.push([‘tracker2._trackPageview’,’/autore/’]);

    [/code]

  3. ma il report dovrei trovarle nella sezione EVENTI sotto CONTENUTI giusto?

  4. quello che ti serve sono dei content group basati sull’autore, che puoi fare facilmente con dl’uso di _setCustomVar con variabili di livello “page”.

  5. sto provando con questa:

    _gaq.push([‘_setCustomVar’,1, ‘Autore’, ”, 1]);

  6. ho messo così:

    _gaq.push([‘_setCustomVar’,1, ‘Autore’, ‘Nome Cognome’, 3]);

  7. non ho capito bene la differenza del 5o parametro se metto 1 o 3, cioè Visitor Level o Page Level, a me interessa capire le Pagine Viste

  8. ok, fatto tutto, adesso dove dovrebbe comparire il report? … in Dettaglio contenuto?

  9. in Visitatori -> variabili personalizzate

  10. Si ho provato ma non visualizza nulla, il flag “Autore” non dovrebbe comparire da qualche parte?

  11. certo, se hai fatto tutto correttamente Autore compare come prima dimensione del report Custom Variables

  12. ciao, sto ricontrollando adesso ma niente, non c’è nessuna voce Autore ed è tutto a zero, ti quoto tutto il codice:

    var _gaq = _gaq || [];
    _gaq.push([‘_setAccount’, ‘UA-XXXXX-1’]);
    _gaq.push([‘_setCustomVar’,1, ‘Autore’, ‘Pierluigi XXXXX’, 3]);
    _gaq.push([‘_trackPageview’]);

    (function() {
    var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true;
    ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ : ‘http://www’) + ‘.google-analytics.com/ga.js’;
    var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s);
    })();

  13. scrivimi l’URL del sito usando la pagina dei contatti

  14. ho configurato il plugin che mi hai suggerito, vediamo che succede e poi ti aggiorno, per la posizione del codice il plugin è preimpostato nella quindi ok,

  15. Io ho provato questa tecnica, cioè ho messo in una parte del sito il codice che vedete di seguito, perché volevo condividere con un cliente un profilo specifico dove si vedesse solo il traffico gnerato nella parte di sito che lo riguarda, pur tracciando quetsa parte nel mio profili principale del sito. La cosa è avvennuta correttamente, ma purtroppo, in entrambi i profili, per questa sezione del sito, ho un tempo di permamenza pari a zero e una percentuale di rimbalzo del 100%.

    Ecco il codice:

    var _gaq = _gaq || [];
    _gaq.push([‘_setAccount’, ‘UA-YYYYYYYY-5’]);
    _gaq.push([‘_setDomainName’, ‘.miodominio.it’]);
    _gaq.push([‘_trackPageview’]);

    _gaq.push([‘b._setAccount’, ‘UA-XXXXXXXXX-1’]);
    _gaq.push([‘b._trackPageview’]);

    (function() {
    var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true;
    ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ : ‘http://www’) + ‘.google-analytics.com/ga.js’;
    var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s);
    })();

    (NB: di seguito ho inserito anche il codice di Terenzani)

    Purtroppo non so come fare per avere i dati corretti 🙁

  16. per caso quella parte di sito è costituita solo da una pagina? se si, è normale.
    quel che ti serve è un profilo-copia con filtro sulo su quella pagina (o sezione comunque).

  17. Ciao Marco, grazie per la risposta.
    La sezione in questione è composta da diverse pagine, non da una sola. Togliendo il secondo codice, ovviamente, Analytics ha ricominciato a registrare correttamente tempo e rimbalzi.
    Il mio intento era quello di avere due codici in questa sezione perché uno fosse quello di un Account Analytics diverso da quello per me principale del sito.
    Quello che tu proponi è di creare un nuovo Profilo, filtrato, nel mio account e condividerlo con il cliente. Questo è fattibile e l’ho appena attivato, seguendo il tuo consiglio, ma mi sarebbe proprio piaciuto poter perseguire il primo intento.
    Nel caso abbiate qualche suggerimento sarà ben accetto, se troverò un’altra soluzione vi farò sapere.
    Grazie per il supporto.
    Michele

  18. ognuno ovviamente ha i propri obiettivi, ma come ti ho indicato io è la best practice consigliata, come dici tu avresti dei dati completamente sballati. Ad esempio, la sorgente del traffico nel tuo caso sarebbe in larga parte referrer dal tuo stesso sito, mentre in realtà così non è usando il filtro.

  19. Grazie ancora Marco, la soluzione da te proposta funziona bene, peccato non averti letto prima perché così ho perso il traffico precedente, ma poco male. Ora devo risolvere come tracciare correttamente un dominio e un sottodominio, aggiungendo il traffico del nuovo sottodominio al profilo del vecchio dominio e tenendo però un profilo a parte per il traffico specifico del sottodominio. 🙂 Questa volta cerco di leggere prima i preziozi consigli del tuo blog.

  20. Quindi se ne faccio uno ad esempio cosi con 3 codici funzionerebbe?

    var _gaq = _gaq || [];
    _gaq.push([‘_setAccount’, ‘UA-XXXXXXX-1]);
    _gaq.push([‘_setDomainName’, ‘.dominio.it’]);
    _gaq.push([‘_trackPageview’]);
    _gaq.push([‘tracker2._setAccount’, ‘UA-XXXXXX-2’]);
    _gaq.push([‘tracker2._trackPageview’]);
    _gaq.push([‘tracker3._setAccount’, ‘UA-XXXXXX-3’]);
    _gaq.push([‘tracker3._trackPageview’]);
    (function() {
    var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true;
    ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ : ‘http://www’) + ‘.google-analytics.com/ga.js’;
    var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s);
    })();

  21. Ciao Michele, hai risolto il problema?
    Ne ho uno identico al tuo e non so dove sbattere la testa…

  22. Ciao Marco,

    provo a spiegare meglio il problema, che comunque dovrebbe essere lo stesso segnalato da Michele, cioè ho installato il codice così come illustrato a seguire:

    var _gaq = _gaq || [];
    _gaq.push([‘_setAccount’, ‘UA-YYYYYYYY-5’]);
    _gaq.push([‘_setDomainName’, ‘.miodominio.it’]);
    _gaq.push([‘_trackPageview’]);

    _gaq.push([‘b._setAccount’, ‘UA-YYYYYYYY-1’]);
    _gaq.push([‘b._trackPageview’]);

    (function() {
    var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true;
    ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl‘ : ‘http://www‘) + ‘.google-analytics.com/ga.js’;
    var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s);
    })();

    e ho un tempo di permamenza pari a zero e una percentuale di rimbalzo del 100%.

    La prima visita viene calcolata correttamente, dalla seconda pagina in poi vengono cancellati tutti i dati relativi i cookie di sessione, verificato tramite live http header, trasformando le visite da organic a dirette. In questo modo ogni pageviews conta come nuova visita, frequenza di rimbalzo pari a 100% e tempo sulla pagina di 00:00:00 secondi.

    Chi può aiutarmi?

  23. tendenzialmente lascerei setdomainname su tutte le configurazioni, la distinzione sugli host la farei tramite filtro. Altrimenti si incasinano i cookies.

  24. Ciao a tutti. Continuo a seguirvi, ma, per chi me lo ha chiesto, io non ho risolto.

  25. @ luca e @Michele: se non ho capito male secondo quanto raccomandato da Jeremy Aube di Roi Revolution qui http://www.roirevolution.com/blog/2011/01/google_analytics_subdomain_tracking.php (del quale mi fido ciecamente) non è buona norma utilizzare 2 _setDomainName diversi, e nemmeno specificarne uno soltanto perché i cookie vanno ad uccidersi a vicenda.

    Perciò la soluzione ideale è di specificare il dominio (_gaq.push([‘_setDomainName’, ‘.miodominio.it’])) per ognuno dei tracking code.

    Di fatto è una questione molto complessa e dibattuta anche oltre oceano, se avete altre esperienze a riguardo mi farebbe molto piacere conoscerle 🙂

    ciao

  26. Ciao Marco,
    scusa la domanda che può sembrare stupida ma prima di arrivare sul tuo sito e leggere l’articolo mi sono imbattuto nella pagina di supporto di Google (https://support.google.com/analytics/answer/1032400?hl=it) dove viene specificato che “L’installazione di più istanze del codice di monitoraggio di Google Analytics su una sola pagina web non è un’implementazione supportata”.
    Invece leggendo altre fonti, tra cui il tuo articolo, sembra essere possibile implementare più codici di monitoraggio su uno stesso sito. Come mai, secondo te, il supporto Analytics dice il contrario?

  27. “supportato” è diverso da “fattibile” 🙂
    Tecnicamente è possibile, e l’unico punto in cui questa possibilità è menzionata è qui https://developers.google.com/analytics/devguides/collection/gajs/#MultipleCommands
    Per il resto è una pratica che Google non consiglia perché spesso è foriera di errori di tracciamento, anche devastanti 🙂

Scrivi un Commento