12

谷歌对异常流量的检测很好。但是它是如何处理动态 IP 地址的呢?

例如,我没有 IP 范围,而我的 ISP 提供动态 IP,每次我的路由器重新启动时它都可能会改变,而且每天都会改变。所以在这里,当我得到一些 IP 地址时,我会看到没有验证码的通知。几次重新启动后,我似乎得到了一个未被阻止的 IP!

如何在 Google Analytics 中解决此类问题。我也非常清楚如何排除来自单个 IP 和 IP 范围的流量,但我不知道如何阻止 IP 每天都在变化的内部流量?

4

9 回答 9

23

这个问题的许多流行答案都有问题......

  • 即使您有幸找到了 IP 范围,但如果您在咖啡店或酒店工作怎么办?
  • 检查主机名可以消除来自开发环境的命中,但是如果我正在调试实时站点怎么办?
  • 编辑服务器配置很烦人/高级,并且多个域变得复杂。
  • Opt-Out 扩展程序要么阻止所有网站上的点击,要么根本不阻止点击,具体取决于您询问的对象。

所以,我将其他几个解决方案组合成适合我的东西......

  • 无论我走到哪里,它都跟着我
  • 它适用于开发环境和实时/公共域
  • 它只会影响我和我正在开发的网站
  • 一键开启/关闭
  • 很容易验证它确实没有向分析发送任何数据
  • 它可以被整个团队使用

我一直在我的机器上为我管理的域设置一个“开发者 cookie”。此 cookie 具有对我来说特定的独特价值。然后,在将任何数据发送到 Analytics之前,我只需在脚本中检查此 cookie 。

我如何将代码放入页面的示例...

JavaScript

if (window.location.host==="mydomain.com" || window.location.host==="www.mydomain.com") {
   if (document.cookie.indexOf("COOKIENAME=COOKIEVALUE") === -1) {
      // Insert Analytics Code Here
   }
}

PHP

if ($_SERVER['HTTP_HOST']==="mydomain.com" || $_SERVER['HTTP_HOST']==="www.mydomain.com") {
   if (@$_COOKIE["COOKIENAME"] !== "COOKIEVALUE") {
      // Insert Analytics Code Here
   }
}

验证主机名称是否等于我的实时站点的域(“mydomain.com”)可确保任何访问者在从“localhost”或“beta.mydomain.com”等测试域查看时永远不会发送分析数据. 在上面的示例中,“www.mydomain.com”和“mydomain.com”是我希望记录访问的两个有效域。

除非找到具有匹配值的开发人员 cookie,否则实时站点会按预期将数据发送到分析。如果它发现我的设备上设置了唯一的 cookie,那么我的访问将不计入我在 Google Analytics(或我可能决定使用的任何其他分析工具)中的总数。

但是当我的 cookie 被清除时会发生什么?如何在后台设置“开发者 cookie”?我为此创建了自己的浏览器扩展... https://chrome.google.com/webstore/detail/lknhpplgahpbindnnocglcjonpahfikn

它仅适用于您选择的特定域。您可以在扩展程序的设置中为 cookie 自定义您自己的唯一名称和值。

只要团队成员使用相同的 NAME/VALUE 对,此方法就可以轻松使用,因此开发人员、内容创建者、校对人员以及组织中的任何其他人都可以查看页面,而不会夸大统计数据。

随时分享我的解决方案并使用我的扩展程序来设置这些 cookie。

于 2014-05-28T14:23:39.940 回答
5

仅供参考,我想到了另一种使用 HTML5 的 localStorage 功能的方法。(与 cookie 相比的优势在于,当您清理浏览器的 cookie 时,localStorage 值仍然存在。)我在这里写了一篇关于它的博客文章: Google Analytics:排除您自己的访问

于 2015-03-19T11:57:36.003 回答
3

我刚有人问我这个问题,偶然发现了这个线程。我找到了一个替代解决方案,使用此 Chrome 扩展程序来阻止自己访问网站上的分析。

于 2015-07-08T21:15:39.300 回答
1

有两种选择。

  1. 检查您拥有的 IP 地址是否在某个范围之间,然后您可以在 IP 地址过滤器中设置一个范围。不包括流量

  2. 设置 cookie

于 2014-03-10T17:37:20.607 回答
1

如果您谈论的是您自己的计算机/网络,您有几种选择:

  • 设置代理(Fiddler,或者如果可能的话,在您的路由器中设置一个规则)以阻止对 google-analytics.com 的调用(代理仍应返回 200 状态代码)

  • 根据 Gaurav 的回答,使用 Google 扩展来阻止 GA(所有主要浏览器都有版本)

  • 设置格式为 disable-UA-XXXXXX-X 的 cookie,在其中将 X 替换为您的属性 ID。

前两个选项将阻止任何网站上的所有 Google Analytics 跟踪,最后一个选项将仅停止跟踪 cookie 值中指定的属性。

所有这些都是 IMO 比有条件地包括分析库更好的解决方案。如果您在代码中的某处调用了来自 GA 库的方法并且未加载该库,这将导致 javascript 错误。上面的方法至少会加载一个捕获方法调用的代码存根,因此不会调用未定义的函数。

于 2015-07-09T08:21:41.063 回答
1

我们的任务是将整个公司排除在分析之外。互联网路由器大约每天更新一次 IP。事实证明,这款路由器与当今几乎所有常见的路由器一样,提供了一些启用动态 IP 服务的选项。例如noip.com 。

  • 您在 noip.com 注册并选择一些您选择的静态域名。
  • 然后在路由器的动态 IP 选项部分选择该服务 (noip.com)。
  • 输入来自 noip.com 的凭据。

现在发生的事情是,路由器每天都会自动将其新 IP 推送到 noip.com,在那里它与您之前注册的域名相关联。现在,在您的页面上,您可以动态检查该域的 IP,如果它与客户端(浏览器)的 IP 匹配,则排除分析脚本打印到页面。

在我的情况下,我使用的是 PHP,并且按照以下代码段的方式进行的操作效果很好。见gethostbyname()

$print_tracking_scripts = TRUE;

if (gethostbyname('my-unique-name.ddns.net') === $_SERVER['REMOTE_ADDR']) {
  $print_tracking_scripts = FALSE;
}

if ($print_tracking_scripts) {
  // Print or include tracking scripts however you like.
}
于 2017-07-07T15:01:41.827 回答
0

试试 Ghostery 浏览器扩展:
https ://www.ghostery.com/

定义每个域要阻止的脚本很容易。作为奖励,该扩展程序会在您浏览网页时显示加载了哪些跟踪脚本。

于 2017-04-23T19:21:51.630 回答
0

更好的选择是使用此处找到的 Google Analytics Opt-Out Browser Plugin:

https://tools.google.com/dlpage/gaoptout

于 2016-11-15T13:45:45.913 回答
-2

为什么不简单地添加一个过滤器:

  1. 转到管理员
  2. 选择查看配置文件并创建一个新视图
  3. 点击过滤器
  4. 添加新过滤器
  5. 将其命名为 IP 排除或其他
  6. 选择自定义过滤器单选按钮
  7. 检查排除
  8. 选择 IP 地址作为过滤字段
  9. 在过滤模式中使用正则表达式来定义 IP 地址的范围

例如,对于范围从 182.73.42.140 到 182.73.42.150 的 IP,正则表达式将是:

^182.73.42.(1(4[6-9]|50))$

这是相同的屏幕截图

如果您无法理解 RegEx,您可以使用此工具创建 IP 范围正则表达式

于 2016-08-11T07:03:59.207 回答