【问题标题】:Google Analytics Excluding PhantomJS Traffic谷歌分析不包括 PhantomJS 流量
【发布时间】:2014-08-08 03:28:43
【问题描述】:

我正在使用 PhantomJS 和 rasterize.js example 来截取我网站的屏幕截图。该过程是自动化的,每五分钟拍摄一次新的屏幕截图以检查网站的状态。我正在使用 Google Analytics 跟踪我网站上的用户,并希望排除 PhantomJS 产生的流量。为此,我在 rasterize.js 文件中设置了一个 _setVar cookie,并在 Google Analytics 中创建了一个自定义过滤器来过滤掉流量。由于某种原因,这不起作用,我不知道为什么。我在 rasterize.js 中使用以下代码来设置 cookie:

phantom.addCookie({
  'name': '_setVar',
  'value': 'ignore_analytics',
  'domain': 'MyWebsite.io'
});

这个方法应该有效,但是当我在 Google Analytics 中查看我网站上的实时流量时,PhantomJS 客户端仍然出现。为什么这不起作用?

【问题讨论】:

  • 为什么设置 cookie 有效? GA 不会自动将 cookie 数据发送到跟踪服务器,即使它是以(已弃用的)GA 方法命名的。
  • 我阅读了一篇教程 (seerinteractive.com/blog/…),该教程建议将此作为排除内部流量的方法。请向我解释为什么这是不正确的。
  • 您可以在 Google Analytics 中使用自定义 var 进行过滤,但设置名为 setVar 的 cookie 不会创建自定义变量 - 该教程有点误导(加上它有点过时了,Univeral Analytics语法改变)。按浏览器名称过滤可能会更容易(过滤器->高级->排除->过滤字段“浏览器名称”)。
  • 如果 GA 允许您基于 HTTP 标头进行过滤,那么您可以使用page.customHeaders
  • 我想我会根据用户的语言进行过滤。由于某种原因,PhantomJS 的浏览器名称是 Safari,因此无法正常工作。包括 PhantomJS 客户端在内的所有机器人的语言代码似乎都是“C”。就我而言,我不关心任何机器人流量,所以这是可行的。

标签: javascript cookies google-analytics phantomjs


【解决方案1】:

通过一个简单的语言过滤器(过滤器->高级->排除->过滤器字段“语言”)解决了这个问题,该过滤器排除了语言代码为“c”的所有客户端。这是因为几乎所有的自动化机器人,包括那些运行 PhantomJS 的机器人都有一个语言代码“c”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    • 2014-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多