如何排除流量在谷歌分析从动态IP地址



Google对异常流量的检测是不错的。但是它是如何处理动态IP地址的呢?

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

如何在Google分析中解决这类问题。我也很清楚如何从单个IP和IP范围排除流量,但我不知道如何阻止内部流量,其IP每天变化?

对于这个问题,许多流行的答案都存在问题。

  • 即使你很幸运地找到了一个IP范围,如果你在咖啡店或酒店工作呢?
  • 检查主机名可以消除开发环境中的攻击,但是如果我正在调试实时站点呢?
  • 编辑服务器配置很烦人/高级,多个域变得复杂。
  • 选择退出扩展要么阻止所有网站的点击,要么根本没有,这取决于你问谁。

所以,我把其他几个解决方案组合成一个适合我的方案…

  • 无论我走到哪里它都跟着我
  • 它在开发环境和live/public域中工作
  • 它只影响我和我正在开发的网站
  • 一键打开/关闭
  • 很容易验证它真的没有发送任何数据到分析
  • 可以由整个团队的人使用

我一直在我的机器上为我管理的域设置一个"开发人员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"one_answers"mydomain.com"是我想要记录访问的两个有效域名。

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

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

它只适用于您选择的特定域。您可以在扩展的设置中为cookie自定义自己唯一的NAME和VALUE。

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

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

供参考,我想到了另一种使用HTML5的localStorage功能的方法。(相对于cookie的优点是,当您清除浏览器的cookie时,localStorage值仍然存在。)我在这里写了一篇关于它的博客文章:谷歌分析:排除你自己的访问

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

有两个选项

  1. 检查你的IP地址,如果它们在一些范围之间,那么你可以在IP地址过滤器中设置一个范围。不包括交通

  2. 设置cookie

如果你是在谈论你自己的电脑/网络,你有几个选择:

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

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

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

前两个选项将阻止所有谷歌分析跟踪任何网站,最后一个将只停止跟踪在cookie值中指定的属性。

所有这些都是IMO比有条件地包括分析库更好的解决方案。如果你在代码的某个地方从GA库调用一个方法,而库没有加载,这将导致javascript错误。上面的方法至少会加载捕获方法调用的代码存根,这样就不会调用未定义的函数。

我们的任务是将整个公司排除在分析之外。互联网路由器的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.
}

更好的选择是使用谷歌分析选择退出浏览器插件在这里找到:

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

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

很容易定义每个域要阻止哪些脚本。作为奖励,扩展显示哪些跟踪脚本加载,而你浏览网页。

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

  1. 转到Admin
  2. 选择View Profile并创建一个新视图
  3. 点击滤镜
  4. 添加新的过滤器
  5. 将其命名为IP排除或其他
  6. 选择自定义过滤器单选按钮
  7. 检查排除
  8. 选择IP地址作为过滤字段
  9. 在过滤器模式中使用Regex定义IP地址范围

例如:IP范围为182.73.42.140 ~ 182.73.42.150正则表达式应该是:

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

下面是相同

的截图

如果您理解RegEx有困难,您可以使用此工具创建IP范围RegEx

相关内容

  • 没有找到相关文章

最新更新