自带访客 ID (BYOID)

云眼About 8 min

自带访客 ID (BYOID)

本主题介绍如何:

  • 使用 ID (BYOID) 识别访问者,不是使用云眼 Web 实验自动提供的 ID 将云眼 Web 实验配置为使用访客 ID ,也不是使用云眼为 Web 实验和性能边缘项目自动生成的 Cookie。有关内置访客标识的详细信息,请参阅云眼 Web 实验代码段中的 Cookie 和本地存储。

为什么要自带访客 ID (BYOID)?

通过自带访客 ID (BYOID),可以:

  • 对 ID 持久性策略进行更精细的控制(例如,作为智能跟踪防护缓解措施的一部分)。另请参阅智能跟踪防护和云眼 Web 实验)。
  • 通过整合标识符来减少浏览器中的 Cookie 膨胀。
  • 如果同时使用云眼 Web 实验和云眼 Feature 实验,则可以提供已知 ID ,以便可以在云眼 Web 实验和云眼 Feature 实验中使用相同的标识符。
  • 避免云眼实验数据导出与第一方数据源之间的复杂联接。

为每个代码段配置访客 ID

为了确保对访问者标识符的精细控制,可以基于每个代码段配置访问者 ID。要启用使用访客 ID,而不是使用默认的,对于给定的代码段:eyeofcloudEndUserId

  1. 在项目中,导航到设置。在实现选项卡上,选择代码段。
  1. 访客 ID 部分中,从下拉列表中选择标识符类型和标识符名称

标识符类型

Cookie——可以选择现有 cookie 作为访客 ID。例如,如果有一个唯一的谷歌分析 cookie 标识符,则可以从下拉菜单中选择 Cookie 作为标识符类型,标识符名称(Cookie名称)_ga

页面查询参数——可以选择查询参数作为访客 ID 。例如,如果在查询参数中将访问者的唯一标识符作为 URL 的一部分传递,如: www.yourwebsite.com/?visitorId=myuniqueidopen in new window 则可以从标识符类型下拉列表中选择“页面查询参数”,标识符名称(查询参数名称)为 visitorId。

本地存储——可以选择本地存储密钥作为访客 ID。例如,如果将唯一访客值存储到 localStorage 键 visitorId,则可以从标识符类型下拉列表中选择“本地存储”,标识符名称(localStorage 键)为visitorId。

JavaScript 变量——可以选择 JavaScript 窗口变量作为访客 ID。例如,如果将唯一的访问者值存储到变量 window.visitorId,则可以从标识符类型下拉列表中选择 Javascript 变量,标识符名称(变量名称)为visitorId。

使用指定的标识符类型和名称保存代码段时,此代码段的后续激活将导致以下内容:

  • eyeofcloudEndUserId 不会在代码段激活时创建。
  • localStorage中先前设置的唯一标识符下的任何数据都将被删除。例如,如果曾经识别出访问者eyeofcloudEndUserId,则使用新的标识符类型和值初始化代码段会擦除以前存储的任何数据。所有事件和分桶都使用唯一标识符。
  • 如果云眼 Web 实验找不到在代码段设置中选择的标识符,则代码段将停止执行。这意味着不会为任何实验激活访问者,也不会触发任何云眼检测事件。

配置此设置时,云眼 Web 实验不会停止或暂停实验。在实验仍在运行时更改访客 ID 设置可能会增加这些实验的访客数量和/或导致访客看到与之前不同的体验。建议先暂停所有实验,然后再更改访客 ID 设置。

常见问题

应该选择哪种身份?

云眼 Web 实验建议选择一个静态 ID。例如,主要用于执行数据分析的相同 ID,通常是第一方分析提供商的 ID(例如,Google Analytics ID 或细分 ID)。这样做可以避免与自己的专有数据集进行复杂的联接,从而简化下游数据分析。更改用作 ID 的内容通常可能会导致实验数据出现奇怪的行为。

请注意,无论选择哪个 ID,都必须确保在运行云眼 Web 实验代码段之前,该 ID 已设置并可供访问者使用。

如果云眼 Web 实验找不到指定的 ID,会发生什么情况?

如果云眼 Web 实验找不到在代码段设置中选择的标识符,则代码段将停止执行。这意味着不会为任何实验激活访问者,也不会触发任何云眼 Web 实验检测事件。

为避免这种情况,建议确保在运行云眼 Web 实验之前设置并提供 ID。如果依赖其他 Cookie,建议在 CDN 级别而不是通过文档创建 Cookie。确保可用性的 Cookie。考虑到 Safari ITP,也建议使用此方法,它将所有客户端生成的 Cookie 的有限期限制为 7 天。

BYOID 分桶是确定性的吗?

是的。对于跨设备/浏览器的相同用户 ID(在同一项目中),保证相同的版本。例如,在桌面设备上访问网站的用户被分配了 ID=123,并被归入版本 A。然后,同一用户在移动设备上访问的网站,BYOID 还会为该用户设置 ID=123。此用户仍会在移动设备上看到版本 A,就像在桌面设备上一样。

会很快弃用eyeofcloudEndUserId吗?

考虑到实验后分析的好处和更严格的浏览器更改的限制,大多数客户将随着时间的推移而弃用eyeofcloudEndUserId;但是,不打算在不久的将来弃用eyeofcloudEndUserId

是否在测试版中创建自己的访客 ID?

不,它完全发布在云眼 Web 实验产品上。

可以对某些项目使用默认的 eyeofcloudEndUserId而对其他项目使用另一个标识符类型/名称吗?

是的,访客 ID 设置是特定于代码段的。如果需要,可以为每个代码段配置不同的标识符类型/名称。

如果我想经常更改我的 ID 怎么办?

建议为 BYOID 选择一个静态且不变的 ID。更改 ID 通常可能会导致实验数据出现错误或其他差异。

启用此设置是否会影响使用云眼 Web 实验时的页面性能?

否,性能测试表明,在云眼 Web 实验中启用备用 ID 不会显著影响页面速度/性能。

迁移常见问题

迁移前的现有行为定位信息会怎样?

配置新 ID 时,云眼 Web 实验会为每个访问者创建新的访客配置文件。这意味着将无法访问在先前设置的eyeofcloudEndUserId.

此迁移如何影响 DCP 使用情况?

云眼 Web 实验数据源映射到eyeofcloudEndUserId;将同步eyeofcloudEndUserId到每个上传数据源中指定的 ID。当将代码段配置为查找另一个 ID 时,可能会遇到以下情况,具体取决于 DCP customerId

  • 如果 DCP customerId与新提供的标识符相同,并且在每次页面加载时都可用,无需更改。一切都应该按预期运行。在任何给定的页面加载时,第一方用户 ID 将被发送到 DCP 后端。

  • 如果 DCP customerId与新提供的标识符不同,但通常在每次页面加载时都可用,则一切应按预期工作。DCP customerId 将在任何给定的页面加载时发送到 DCP 后端。

  • 如果 DCP customerId与新提供的标识符不同,则它并非在每次页面加载时都可用。因此,客户依赖于 DCP 的“别名”功能:切换到新标识符后,可能很难定位以前看到的访问者(因为 DCP customerId别名为 eyeofcloudEndUserId 而不是新 ID)。与云眼 Web 实验客户经理联系以获取帮助。

这将如何影响当前使用的任何列表属性?

列表属性应该不是问题,除非属性针对现有的eyeofcloudEndUserId

这将如何影响现有的分析集成?

迁移不应影响现有的分析集成。当前集成将实验验和版本信息附加到事件,即使更换了eyeofcloudEndUserID。事实上,如果当前在现有自定义分析集成中将eyeofcloudEndUserId作为属性/特征/属性传递,以帮助联接云眼结果将数据导出到内部数据,这应该可以简化自定义集成。应该使用此功能删除该代码,因为公共键已经可用于这些联接。

这将如何影响现有的受众集成?

不应有任何现有的集成代码依赖于任何特定访客身份的存在。

这将如何影响数据导出?

这种迁移不应影响出口。客户启用此功能后,访客 ID 值将反映客户传递的用户 ID,而不是之前的云眼 Web 实验生成的eyeofcloudEndUserId。由于缓存行为,在此过渡期间导出的数据可能包含对eyeofcloudEndUserId和新标识符的引用。

如果在实验仍在运行时迁移代码段以使用其他 Id,会发生什么情况?

如果在实验仍在运行时进行迁移,则之前通过随机分配eyeofcloudEndUserId标识的回访者将使用新指定的标识符进行标识。这将导致结果中的访客数量膨胀。建议先暂停所有实验,然后再更改访客 ID 设置。

Last update:
Contributors: zhangweixue