7

Tengo una aplicación ASP.NET MVC (3) y he configurado Google Analytics. El problema es que cada vez que ejecuto Visual Studio, el script de Google comienza a recopilar datos, lo que, por supuesto, sesga los resultados reales.Evite que Google Analytics recopile datos en el entorno de desarrollo, ASP.NET MVC

¿Cuál es la mejor manera de evitar que Google Analytics desde la recopilación de datos sobre el entorno de desarrollo otra que el uso de feos#ifdirectivas del compilador en cada página Quiero analiza?

¿Cuál sería una mejor práctica?

Gracias.

Respuesta

6

La mejor práctica recomendada por Google es utilizar un filtro para eliminar los datos de sus perfiles de GA. Esto se puede hacer filtrando en función de la dirección IP de las máquinas de desarrollo o estableciendo una cookie variable personalizada en cada navegador que se utiliza para el desarrollo y las pruebas. Este enfoque significaría que podría eliminar los datos sin necesidad de modificar su cuerpo principal de código.

+0

Esto suena ciertamente como la mejor solución. Curiosamente también es el más simple de aplicar =) –

+0

El problema principal que he encontrado con esta configuración es que a menos que todos los desarrolladores estén usando una IP estática, tu dirección IP pública cambiará si lo que deseas es conectarte a vpn, reinstalar el SO , o compre una computadora nueva, lo que significa que tendrá que seguir manicurando la lista negra. Por otro lado, si no desea que sus desarrolladores sean rastreados en el entorno de producción, entonces la lista de IP es la única manera de hacerlo. Dicho esto, la lista de IP es un mal camino si quieres que los desarrolladores sigan la producción. Sin embargo, no puedo ver el uso de una cookie en lugar de la detección de errores en un sitio .NET. Eso simplemente parece innecesario. –

+0

https://support.google.com/analytics/answer/1034840?visit_id=1-636415767205829447-699134200&hl=en&rd=1 –

5

que iba a escribir un ayudante HTML personalizado que incluiría los scripts necesarios para Google Analytics:

@Html.Analytics() 

Este asistente podría utilizar directivas de compilación y #if DEBUG está establecido que sería simplemente emitir una cadena vacía. Y, por cierto ya es tal ayudante disponible en el microsoft web helpers package y ver cómo se implementa:

@Analytics.GetGoogleHtml({your-analytics-webPropertyId-here}) 
+0

Hey Darin, gracias por su respuesta. Ya había escrito mi propio ayudante, pero como una vista parcial de Razor a medida que sucede. Aunque me gusta tu solución, así que podría volver a escribirla como método de extensión. Estaba al tanto del asistente de @Analytics, aunque no me daría la flexibilidad que necesito para agregar una directiva '#IF DEBUG'. –

2

También podría tener diferentes clave de API de entorno de desarrollo en el web.config. De esta forma no contaminará los datos de producción. Creo que la clave también puede dejarse vacía y Google Analytics no registra nada.

4

También es posible usar HttpContext para incluir sólo la secuencia de comandos GA si se ejecuta en modo de depuración:

@if (!HttpContext.Current.IsDebuggingEnabled) 
{ 
    <script type="text/javascript"> 
     var _gaq = _gaq || []; 
     ... 
    </script> 
} 
Cuestiones relacionadas