如果特定用户代理,则不要使用 GoogleAnalytics 跟踪访问

Don't track the visit with GoogleAnalytics if specific User Agent

如果用户代理是 UserAgentXUI765DQZ,如何禁用 GoogleAnalytics Javascript 跟踪代码?

这是好事还是坏事:

<script>

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
  ga('create', 'UA-xxxxxxxxxx-7', 'auto');
  if (navigator.userAgent != "UserAgentXUI765DQZ")  // addition here
      ga('send', 'pageview');

</script>

上下文:

我没有静态 IP,我的目标是不在 Google Analytics 上跟踪我自己的流量。这些解决方案不符合我的需求:

  1. 仅在登录时访问我的网站 => 不,我真的很想看看普通访问者如何看待我的网站
  2. 仅从 http://internaltraffic.example.com instead of http://www.example.com => same reason than 1. + sometimes you forget, you follow a link and end up as http://www.example.com
  3. 访问我的网站
  4. Google 标签管理器,对我来说有点迷宫

为此,我在 Firefox 中设置了一个自定义 UserAgent "UserAgentXUI765DQZ" 并且 Chrome 感谢 this exension

但后来我注意到 在 Google 分析中很棘手,它需要跟踪代码管理器,并且要执行多个步骤,我必须为每个网站重复这些步骤(每个 属性) Google 分析等

这就是我决定修改 GA <script></script> 以不跟踪特定用户代理的原因。

在提供的 Google 分析代码段中添加条件没有任何问题。我一直这样做是为了在发送综合浏览量之前设置自定义尺寸。

该方法唯一缺少的是使用该浏览器进行测试的能力。最佳做法是为测试提供未过滤的视图,为实际报告提供过滤视图。通过阻止页面浏览,您将不会跟踪任何您自己的流量。

我个人的想法是使用自定义维度并将过滤视图设置为在自定义维度匹配时不包含任何流量。然后您可以切换到未过滤的视图进行测试。

回答你的问题

Is this good practice or bad

我不会说这有什么本质上的错误;它会做你正在尝试的事情。我个人的做法会略有不同(尽管如果您管理数百个网站,设置起来会更耗时)。

编辑:要实施自定义维度,首先您需要在 Google Analytics Admin 中定义它(在“属性”列的 "Custom Definitions > Custom Dimensions" 下)。我会将其设置为 "User".

的范围

然后在发送综合浏览量之前,添加以下代码:

//...
ga('create', 'UA-xxxxxxxxxx-7', 'auto');
if (navigator.userAgent == "UserAgentXUI765DQZ"){
    ga('set', 'dimension1', 'Internal User'); //Make sure "dimension1" matches what Google generated. You can change "Internal User" to anything you'd like.
}
ga('send', 'pageview');
//...

然后,返回 Google Analytics Admin 中的“Views”列,添加一个过滤器以排除与您的自定义维度匹配的流量。确保你在新视图上执行此操作,否则(就像我上面提到的)你将无法测试自己。