Запретить аналитике Google собирать данные в среде разработки ASP.NET MVC - PullRequest
7 голосов
/ 01 марта 2011

У меня есть приложение ASP.NET MVC (3), и я настроил аналитику Google.Проблема в том, что каждый раз, когда я запускаю из Visual Studio, скрипт Google начинает собирать данные, что, конечно, искажает реальные результаты.

Каков наилучший способ запретить Google Analytics собирать данные в среде разработки кроме того, что использование уродливых #if директив компилятора на каждой странице Я хочу проанализировать?

Что было бы лучше?

Спасибо.

Ответы [ 4 ]

6 голосов
/ 02 мая 2013

Вы также можете использовать HttpContext для включения только сценария GA, если он работает в режиме отладки:

@if (!HttpContext.Current.IsDebuggingEnabled)
{
   <script type="text/javascript">
      var _gaq = _gaq || [];
      ...
   </script>
}
6 голосов
/ 02 марта 2011

Рекомендуемая Google рекомендация заключается в использовании фильтра для удаления данных из ваших профилей GA. Это может быть сделано либо путем фильтрации по IP-адресу машин для разработки, либо путем установки файла cookie с индивидуальными переменными в каждом браузере, используемом для разработки и тестирования. Этот подход будет означать, что вы можете удалить данные без необходимости изменять основную часть кода.

6 голосов
/ 01 марта 2011

Я написал бы собственный помощник HTML, который включал бы необходимые сценарии для Google Analytics:

@Html.Analytics()

Этот помощник может затем использовать директивы компиляции, и #if DEBUG устанавливается так, что он просто выдаст пустую строку. И, кстати, уже есть такой помощник, доступный в пакете веб-помощников Microsoft , и посмотрите, как он реализован:

@Analytics.GetGoogleHtml({your-analytics-webPropertyId-here})
2 голосов
/ 01 марта 2011

У вас также может быть другой ключ API для среды разработки в файле web.config.Таким образом, это не будет загрязнять производственные данные.Я считаю, что ключ также можно оставить пустым, и в Google Analytics ничего не будет зарегистрировано.

...