Google Analytics avec plusieurs environnements


11

Nous prévoyons d'utiliser Google Analytics dans notre organisation et je suis en charge de sa configuration. Je me demandais comment gérer plusieurs environnements. Nous ne voulons certainement pas collecter des données pendant le développement et l'AQ (ou peut-être collecter des données vers un autre compte analytique), mais nous voulons quand le site passe en production (évidemment).

  • Comment gérez-vous plusieurs environnements et Google Analytics?
  • Configurez-vous plusieurs comptes pour Google Analytics et utilisez-vous l'un ou l'autre en fonction de l'environnement?

Nous utilisons ASP.NET 2.0, si cela importe.

Réponses:


7

La réponse la plus simple est oui, configurez plusieurs comptes pour chaque environnement. Ensuite, remplacez l'ID de profil (le texte qui ressemble à «UA-XXXXX-X», comme illustré ici ) par l'ID correct de l'environnement souhaité.

Puisque vous utilisez ASP.NET, vous pouvez stocker l'ID de profil dans le web.config. Cela entraînera la nécessité d'incorporer du code .NET dans JavaScript (ce qui peut ou non être correct). Vous pouvez également configurer la configuration de production pour être la seule configuration à générer le code de suivi, mais cela entraînerait la publication de code non testé.

Selon la façon dont vous hébergez votre site (dev.domain.tld, test.domain.tld, www.domain.tld), vous pouvez éventuellement utiliser un seul profil, puis filtrer les résultats en fonction du sous-domaine / dossier / url. Google a un assez bon article sur les différents scénarios de suivi .


2
plusieurs comptes par environnement sont certainement la voie à suivre ici
Wyatt Barnett

7

Une autre option serait les profils Google Analytics . Utilisez le même compte dans tous les environnements, mais ajoutez un filtre de nom d'hôte dans chaque profil pour n'inclure que le trafic provenant de l'environnement respectif.

Par exemple, si votre environnement QA interne est qa.example.com, créez un profil "QA" dans Google Analytics avec un filtre personnalisé pour inclure uniquement la correspondance des noms d'hôtes ^qa\.example\.com$. Dans votre profil "Production", faites le contraire et excluez le trafic des noms d'hôtes internes.


C'est assez facile à faire, puissant et une variable de moins à configurer dans le fichier de configuration.

1

Voici ce que j'ai finalement fait (je n'ai pas aimé l'idée d'incorporer du code .Net dans javascript):

  • J'ai configuré deux comptes Google Analytics, un pour le développement / test et un pour la production
  • Créez une page qui renvoie l'ID de compte Google Analytics (à partir du web.config) comme corps.
  • Sur $ (document) .ready, faites un appel ajax à la page
  • Une fois Ajax terminé, appelez le script Google Analytics avec la réponse (qui contient l'ID du compte)

Ainsi, en fonction de l'environnement dans lequel je déploie, j'utilise l'une ou l'autre version du fichier web.config contenant le bon identifiant de compte.

C'est un peu plus compliqué, mais cela n'implique pas de générer du javascript à partir de .NET, et c'est très simple avec jQuery.

Voici le code final:

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

Et ça marche parfaitement!


6
Semble inutile de faire une demande AJAX à chaque chargement de page simplement pour obtenir le numéro de compte.
Bob Banks

1
Il n'y a rien de mal à intégrer une <%= ASP %>balise dans Javascript - il suffit de mettre le minimum à l'intérieur du JS, et toute autre requête / logique ailleurs.
Simon East

0

Pouvez-vous vous assurer que lors du développement et de l'assurance qualité, le site n'est accessible qu'en interne à partir des machines de votre réseau d'entreprise?

Si oui, vous pouvez simplement utiliser le même compte d'analyse qui sera utilisé pour la production et filtrer tout le trafic au sein de votre organisation .

Citation du lien:

Si vous souhaitez exclure le trafic interne d'apparaître dans vos rapports, vous pouvez filtrer une adresse IP spécifique ou une plage d'adresses IP. Vous pouvez également utiliser des cookies pour filtrer les visites d'utilisateurs particuliers. Nous expliquerons comment ci-dessous.


Bien que cela fonctionne définitivement, lorsque vous souhaitez tester la mise en œuvre d'événements et d'autres données traçables en temps réel; il est très difficile de se passer d'un profil isolé ou de visualiser ou de l'utiliser sous.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.