筛选出机器人
筛选出机器人
如何在云眼特性标帜(Feature Flag)AB实验中筛选出可能扭曲实验结果的第三方机器人数据。
第三方漫游器可能会抓取网站并触发您只想计入“真实”访问者的事件,从而扭曲实验结果。云眼特性标帜(Feature Flag)AB实验可以通过过滤掉 IAB/ABC 黑名单上的机器人来为您解决此问题。您所要做的就是在将事件发送到 云眼 时包含该事件的用户代理。
📘 注意
机器人筛选不适用于过去的机器人事件,因此最好在开始实验之前对其进行配置。否则,如果在实验进行到一半时启用筛选,则可能必须从实验开始就放弃(或导出并手动筛选)任何受机器人污染的事件数据。
启用机器人筛选
导航到 云眼 功能实验应用中>高级>机器人筛选设置,以打开或关闭机器人筛选。有关更多信息,请参阅我们的文章 云眼中的机器人和蜘蛛过滤.
客户端 JavaScript 事件
无需额外的 JavaScript 代码即可为从浏览器发送的事件启用机器人筛选。通过调用 JavaScript SDK 的跟踪事件方法跟踪事件时,SDK 会自动在出站请求中包含用户的用户代理。如果为项目启用了机器人筛选,云眼特性标帜(Feature Flag)AB实验将自动应用机器人筛选。
所有其他事件
当您使用 SDK 从 Web 浏览器以外的其他位置跟踪事件时,必须将用户代理传递给用户上下文,以便可以使用事件对其进行筛选。应该在基于用户的方法中使用保留属性传递它。如果为项目启用了机器人筛选,并且以这种方式传递用户代理,则云眼特性标帜(Feature Flag)AB实验将应用机器人筛选。 $opt_user_agent
🚧 重要
首先在 云眼 中启用机器人筛选,在实现属性之前,导航到 云眼 应用程序中的“设置”>**“**高级”以打开或关闭机器人筛选。
$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")