Google Analytics con múltiples entornos

11

Estamos planeando usar Google Analytics en nuestra organización y yo estoy a cargo de configurarlo. Me preguntaba cómo lidiar con múltiples entornos. Seguro que no queremos recopilar datos durante el desarrollo y el control de calidad (o tal vez recopilar datos en una cuenta de análisis diferente), pero queremos hacerlo cuando el sitio entre en producción (obviamente).

  • ¿Cómo manejas múltiples entornos y Google Analytics?
  • ¿Configura múltiples cuentas para Google Analytics y usa cualquiera de ellas dependiendo del entorno?

Estamos usando ASP.NET 2.0, si eso importa.

marco-fiset
fuente

Respuestas:

7

La respuesta más fácil es sí, configure varias cuentas para cada entorno. Luego, reemplace la ID de perfil (el texto que se parece a 'UA-XXXXX-X', como se ve aquí ) con la ID correcta del entorno deseado.

Como está utilizando ASP.NET, puede almacenar la ID de perfil en web.config. Esto conducirá a tener que incrustar código .NET en JavaScript (que puede o no estar bien). También puede configurar la configuración de producción para que sea la única configuración que muestre el código de seguimiento, pero eso conduciría a la publicación de código que no se probó.

Dependiendo de cómo aloje su sitio (dev.domain.tld, test.domain.tld, www.domain.tld), puede usar un solo perfil y luego filtrar los resultados según el subdominio / carpeta / url. Google tiene un artículo bastante bueno sobre los diversos escenarios de seguimiento .

Fammy
fuente
2
múltiples cuentas por entorno son definitivamente el camino a seguir aquí
Wyatt Barnett
7

Otra opción serían los perfiles de Google Analytics . Use la misma cuenta en todos los entornos, pero agregue un filtro de nombre de host en cada perfil para incluir solo el tráfico del entorno respectivo.

Por ejemplo, si su entorno de control de calidad interno es qa.example.com, cree un perfil de "control de calidad" en Google Analytics con un filtro personalizado para incluir solo la coincidencia de nombres de host ^qa\.example\.com$. En su perfil de "Producción", haga lo contrario y excluya el tráfico de los nombres de host internos.

Mateo
fuente
Esto es bastante fácil de hacer, potente y una variable menos para configurar dentro del archivo de configuración.
1

Esto es lo que finalmente hice (no me gustó la idea de incrustar código .Net dentro de javascript):

  • Configuré dos cuentas de Google Analytics, una para desarrollo / prueba y otra para producción
  • Cree una página que devuelva el ID de la cuenta de Google Analytics (de web.config) como su cuerpo.
  • En $ (document) .ready, realice una llamada ajax a la página
  • En Ajax completo, llame al script de google analytics con la respuesta (que contiene el ID de la cuenta)

Entonces, dependiendo del entorno en el que implemente, uso cualquiera de las versiones del archivo web.config que contiene la identificación de cuenta correcta.

Es un poco más complicado, pero no implica generar javascript desde .NET, y ha sido muy simple con jQuery.

Aquí está el código 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);
        }
    });
});

¡Y funciona perfectamente!

marco-fiset
fuente
66
Parece un desperdicio hacer una solicitud AJAX en cada carga de página simplemente para obtener el número de cuenta.
Bob Banks el
1
No hay nada de malo en incrustar una <%= ASP %>etiqueta dentro de Javascript: simplemente coloque el mínimo dentro de JS y cualquier otra consulta / lógica en otro lugar.
Simon East
0

¿Puede asegurarse de que durante el desarrollo y el control de calidad, solo se accede al sitio internamente desde las máquinas en la red de su empresa?

En caso afirmativo, puede usar la misma cuenta de análisis que se usará para la producción y filtrar todo el tráfico de su organización .

Cita del enlace:

Si desea excluir el tráfico interno de aparecer en sus informes, puede filtrar una dirección IP específica o un rango de direcciones IP. También puede usar cookies para filtrar las visitas de usuarios particulares. Explicaremos cómo a continuación.

Christian Specht
fuente
Aunque esto definitivamente funciona, cuando se quiere probar la implementación de eventos y otros datos rastreables en tiempo real; hace que sea muy difícil hacerlo sin un perfil aislado o verlo o usarlo debajo.