删除特定用户代理的所有流量

Remove all traffic for a specific user agent

有没有办法从 Google Analytics 的 所有属性和所有视图 中排除具有 特定用户代理 ?

注意:它不是为了 spam/bot 预防(我已经检查了功能 Admin > 查看设置 > Bot 过滤 > 排除来自已知机器人和蜘蛛的所有点击),它是为了删除自己的流量的一部分。我无法使用 IP 过滤,因为我的 IP 一直在变化,而且我使用了很多设备 (mobile/desktop/laptop)。我也不能使用 cookie,因为我经常想 作为一个随机的未登录用户 来测试我的网站。即使在深入探索 Analytics UI 之后,我也没有找到任何东西。也许这需要 API ?

第一步,您必须让用户代理进入 Google Analytics。您可以使用标签管理器通过创建 custom Javascipt 来执行此操作。这可以 return 用户代理,您可以使用自定义维度或事件将其发送到 GA。 (也可以在没有 GTM 的情况下执行此操作)。

  1. 登录到跟踪代码管理器并导航到变量
  2. 现在我们必须添加一个 Javascript 变量。用户代理存储在 navigator.userAgent 属性

  1. 现在我们必须将此数据推送到 Google 分析帐户。我们可以使用自定义维度或事件来做到这一点。在这个例子中,我们采取一个事件。作为行动,我们发送页面路径 - 你不必这样做,但它可能对以后的某些报告有帮助。作为触发器,我们定义了“所有页面”,因此每次浏览网页都会触发该事件。我们作为事件标签发送的用户代理。

如果您在 GA 中有此信息,您可以在帐户级别添加过滤器(针对所有视图和属性)。 Filter Type = Custom > Select 事件或维度 > 输入要排除的用户代理。

我们现在可以在 GA 行为 > 事件 > 热门事件 > 搜索事件类别(标签管理器中的名称(在我们的例子中为“用户代理”))中看到访问我们网站的用户的用户代理)

在最后一步中,我们从所有属性和视图中排除了用户代理。 管理员 > 所有过滤器(在帐户列中)>“+ 添加过滤器”> 过滤器类型 = 自定义 > 排除 > Select 下拉列表中的“事件标签”> 指定要忽略的用户代理

Select 视图,应忽略此用户代理 > 完成

(Google 标签管理器对我来说似乎有点迷宫。)

我终于做到了:

  • 使用Custom UserAgent String扩展名(适用于FF和Chrome)并将UserAgent设置为NoTracking(你可以专门为某些网站做,即你的网站仅,见选项)。

  • 在 PHP 页面的 Analytics Javascript 部分添加:

    <?php  if ($_SERVER ['HTTP_USER_AGENT'] === 'NoTracking') echo 'if (false)'; ?>
    

    看起来像这样:

    <script>
    <?php  if ($_SERVER ['HTTP_USER_AGENT'] === 'MyselfXYZ12') echo 'if (false)'; ?>
    (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-xxxxxxx-x', 'auto');
    ga('send', 'pageview');
    <script>
    

    这将产生禁止为您的流量创建 ga 对象的效果。

注意:我首先考虑通过 Javascript 和 if (navigator.userAgent == 'NoTracking') 为我自己的流量禁用 GA 代码,但由于扩展名 "Custom UserAgent String",UserAgent 似乎发生了变化 仅在页面呈现后,为时已晚。