Google Analytics con più ambienti


11

Stiamo programmando di utilizzare Google Analytics nella nostra organizzazione e sono incaricato di configurarlo. Mi chiedevo come gestire più ambienti. Non vogliamo certo raccogliere dati durante lo sviluppo e il QA (o forse raccogliere dati su un altro account di analisi), ma vogliamo quando il sito va in produzione (ovviamente).

  • Come gestisci più ambienti e Google Analytics?
  • Configura più account per Google Analytics e ne usi uno a seconda dell'ambiente?

Stiamo usando ASP.NET 2.0, se è importante.

Risposte:


7

La risposta più semplice è sì, configurare più account per ciascun ambiente. Quindi, sostituire l'ID profilo (il testo che assomiglia a 'UA-XXXXX-X', come mostrato qui ) con l'ID corretto dall'ambiente desiderato.

Poiché si utilizza ASP.NET, è possibile memorizzare l'ID profilo in web.config. Ciò comporterà la necessità di incorporare il codice .NET in JavaScript (che potrebbe non essere corretto). È inoltre possibile configurare la configurazione di produzione in modo che sia l'unica configurazione in grado di generare il codice di monitoraggio, ma ciò comporterebbe il rilascio di codice non testato.

A seconda di come si ospita il sito (dev.domain.tld, test.domain.tld, www.domain.tld) ​​è possibile utilizzare un singolo profilo e quindi filtrare i risultati in base a sottodominio / cartella / url. Google ha un ottimo articolo sui vari scenari di tracciamento .


2
più account per ambiente sono sicuramente la strada da percorrere qui
Wyatt Barnett,

7

Un'altra opzione sarebbe i profili di Google Analytics . Utilizzare lo stesso account in tutti gli ambienti, ma aggiungere un filtro nome host in ciascun profilo per includere solo il traffico proveniente dal rispettivo ambiente.

Ad esempio, se l'ambiente di QA interno è qa.example.com, crea un profilo "QA" in Google Analytics con un filtro personalizzato per includere solo la corrispondenza dei nomi host ^qa\.example\.com$. Nel tuo profilo "Produzione", fai l'opposto ed escludi il traffico dai nomi host interni.


Questo è abbastanza facile da fare, potente e una variabile in meno da configurare all'interno del file di configurazione.

1

Ecco cosa ho finalmente fatto (non mi piaceva l'idea di incorporare il codice .Net all'interno di JavaScript):

  • Ho impostato due account Google Analytics, uno per lo sviluppo / test e uno per la produzione
  • Crea una pagina che restituisca l'ID dell'account Google Analytics (dal web.config) come suo corpo.
  • Su $ (documento). Già, effettua una chiamata Ajax alla pagina
  • Al completamento di Ajax, chiama lo script di analisi di Google con la risposta (che contiene l'ID account)

Quindi, a seconda dell'ambiente in cui eseguo la distribuzione, utilizzo una delle versioni del file web.config contenente l'ID account corretto.

È un po 'più complicato, ma non comporta la generazione di JavaScript da .NET ed è stato molto semplice con jQuery.

Ecco il codice finale:

var setupGoogleAnalytics = function (clientNumber) {
    var gaq = gaq || [];
    gaq.push(['_setAccount', clientNumber]);
    gaq.push(['_setDomainName', 'none']);
    gaq.push(['_trackPageview']);

    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);
}

$(document).ready(function(){
    $.ajax({
        url: "GetGAClientNumber.aspx",
        success: function(data) {
            setupGoogleAnalytics(data);
        }
    });
});

E funziona perfettamente!


6
Sembra inutile fare una richiesta AJAX ad ogni caricamento della pagina semplicemente per ottenere il numero di conto.
Bob Banks,

1
Non c'è niente di sbagliato nell'incorporare un <%= ASP %>tag all'interno di Javascript: basta inserire il minimo all'interno di JS e qualsiasi altra query / logica altrove.
Simon East,

0

Puoi assicurarti che durante lo sviluppo e il QA il sito sia accessibile solo internamente dalle macchine della tua rete aziendale?

In caso affermativo, potresti semplicemente utilizzare lo stesso account di analisi che verrà utilizzato per la produzione e filtrare tutto il traffico all'interno della tua organizzazione .

Citazione dal link:

Se si desidera escludere la visualizzazione del traffico interno nei report, è possibile filtrare un indirizzo IP specifico o un intervallo di indirizzi IP. Puoi anche utilizzare i cookie per filtrare le visite di determinati utenti. Spiegheremo come di seguito.


Anche se questo funziona sicuramente, quando si desidera testare l'implementazione di eventi e altri dati tracciabili in tempo reale; rende tutto molto difficile da fare senza un profilo isolato o visualizzarlo o usarlo sotto.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.