筛选出机器人

云眼About 2 min

筛选出机器人

如何在云眼灰度发布(特性标帜)AB实验中筛选出可能扭曲实验结果的第三方机器人数据。

第三方漫游器可能会抓取网站并触发您只想计入“真实”访问者的事件,从而扭曲实验结果。云眼灰度发布(特性标帜)AB实验可以通过过滤掉 IAB/ABC 黑名单上的机器人来为您解决此问题。您所要做的就是在将事件发送到 云眼 时包含该事件的用户代理。

📘 注意

机器人筛选不适用于过去的机器人事件,因此最好在开始实验之前对其进行配置。否则,如果在实验进行到一半时启用筛选,则可能必须从实验开始就放弃(或导出并手动筛选)任何受机器人污染的事件数据。

启用机器人筛选

导航到 云眼 功能实验应用中open in new window>高级>机器人筛选设置,以打开或关闭机器人筛选。有关更多信息,请参阅我们的文章 云眼中的机器人和蜘蛛过滤open in new window.

客户端 JavaScript 事件

无需额外的 JavaScript 代码即可为从浏览器发送的事件启用机器人筛选。通过调用 JavaScript SDK 的跟踪事件方法跟踪事件时,SDK 会自动在出站请求中包含用户的用户代理。如果为项目启用了机器人筛选,云眼灰度发布(特性标帜)AB实验将自动应用机器人筛选。

所有其他事件

当您使用 SDK 从 Web 浏览器以外的其他位置跟踪事件时,必须将用户代理传递给用户上下文,以便可以使用事件对其进行筛选。应该在基于用户的方法中使用保留属性传递它。如果为项目启用了机器人筛选,并且以这种方式传递用户代理,则云眼灰度发布(特性标帜)AB实验将应用机器人筛选。 $opt_user_agent

🚧 重要

首先在 云眼 中启用机器人筛选,在实现属性之前,导航到 云眼 应用程序中open in new window的“设置”>**“**高级”以打开或关闭机器人筛选。$opt_user_agent

下面的示例演示如何传递属性。$opt_user_agent

Swift

// Get the user agent and pass it to the Eyeofcloud  user context 
// as the attribute $opt_user_agent

let user_agent = "this_could_be_a_bot"

let attributes = ["device"          : "iphone",
                  "location"        : "Chicago",
                  "$opt_user_agent" : "this_could_be_a_bot"]

user = eyeofcloud.createUserContext(userId: "test-user-id", attributes: attributes)

// now any user-based call filters out the bot
let decision = user.decide(key: "flag_1")
try? user.trackEvent(eventKey: "my_purchase_event_key")

Last update:
Contributors: “zhangweixue”