阻止Google分析在开发环境ASP.NET MVC中收集数据

时间:2011-03-01 20:33:55

标签: asp.net-mvc asp.net-mvc-3 google-analytics development-environment

我有一个ASP.NET MVC(3)应用程序,我已经设置了Google分析。问题是,每次从Visual Studio运行时,Google脚本都会开始收集数据,这当然会使实际结果出现偏差。

阻止Google Analytics收集开发环境数据的最佳方法其他在我想要分析的每个页面上使用丑陋的 #if 编译器指令?

什么是最佳做法?

感谢。

4 个答案:

答案 0 :(得分:6)

我会编写一个自定义HTML帮助程序,其中包含Google Analytics所需的脚本:

@Html.Analytics()

然后,这个助手可以使用编译指令,并设置#if DEBUG它只会发出一个空字符串。顺便说一下,microsoft web helpers package中已经有了这样的帮助器,看看它是如何实现的:

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

答案 1 :(得分:6)

Google建议的最佳做法是使用过滤器从GA个人资料中删除数据。这可以通过基于开发机器的IP地址进行过滤,或者通过在用于开发和测试的每个浏览器中设置自定义变量cookie来完成。这种方法意味着您可以删除数据而无需修改主体代码。

答案 2 :(得分:6)

如果在调试模式下运行,您还可以使用HttpContext仅包含GA脚本:

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

答案 3 :(得分:2)

您还可以在web.config中为dev环境设置不同的api密钥。这样就不会污染生产数据。我相信密钥也可以留空,然后Google Analytics不会记录任何内容。