Web SDK中的身份数据
Adobe Experience Platform Web SDK使用Adobe Experience Cloud ID (ECID)来跟踪访客行为。 通过使用ECIDs,您可以确保每个设备都有一个唯一标识符,该标识符可以跨多个会话持续存在,从而将特定设备在Web会话期间和跨这些会话发生的所有点击绑定在一起。
本文档概述了如何使用Web SDK管理ECIDs和CORE IDs。
使用Web SDK跟踪ECID tracking-ecids-web-sdk
Web SDK使用Cookie分配和跟踪ECIDs,并使用多种可用方法来配置这些Cookie的生成方式。
当新用户访问您的网站时,Adobe Experience Cloud Identity服务将尝试为该用户设置设备识别Cookie。
- 对于首次访问者,在来自Experience PlatformEdge Network的首次响应中生成并返回ECID。
- 对于回访访客,将从
kndctr_{YOUR-ORG-ID}_AdobeOrg_identity
Cookie中检索ECID并由Edge Network添加到请求有效负载中。
设置包含ECID的Cookie后,Web SDK生成的每个后续请求都将在kndctr_{YOUR-ORG-ID}_AdobeOrg_identity
Cookie中包含编码的ECID。
在使用Cookie进行设备识别时,您可以通过两种方式与Edge Network交互:
如下面的部分所述,您选择使用的数据收集方法会直接影响所有浏览器的Cookie生命周期。
使用Web SDK跟踪核心标识 tracking-coreid-web-sdk
使用启用了第三方Cookie的Google Chrome且未设置kndctr_{YOUR-ORG-ID}_AdobeOrg_identity
Cookie时,第一个Edge Network请求将通过demdex.net
域,该域将设置Demdex Cookie。 此Cookie包含CORE ID。 这是与ECID不同的唯一用户ID。
根据您的实施,您可能希望访问 CORE ID。
第一方数据收集 first-party
第一方数据收集涉及通过您自己的域上指向adobedc.net
的CNAME
设置Cookie。
虽然浏览器长期以来以与站点拥有的端点所设置类似的方式处理由CNAME
端点设置的Cookie,但浏览器最近实施的更改在如何处理CNAME
Cookie方面造成了一种差异。 虽然默认情况下没有浏览器当前阻止第一方CNAME
Cookie,但某些浏览器将使用CNAME
设置的Cookie的生命周期限制为仅七天。
第三方数据收集 third-party
第三方数据收集涉及将数据直接发送到Edge Network域adobedc.net
。
近年来,Web浏览器在处理第三方设置的Cookie时受到的限制日益严格。 默认情况下,某些浏览器会阻止第三方Cookie。 如果您使用第三方Cookie来识别网站访客,则这些Cookie的生命周期几乎总是比使用第一方Cookie时可用的生命周期更短。 有时,第三方Cookie在短短7天后过期。
此外,在使用第三方数据收集时,一些广告拦截器会完全将流量限制在Adobe数据收集端点。
Cookie生命周期对Adobe Experience Cloud应用程序的影响 lifespans
无论您选择第一方还是第三方数据收集,Cookie可以保留的时间长度都会直接影响Adobe Analytics和Customer Journey Analytics中的访客计数。 此外,在网站上使用Adobe Target或Offer decisioning时,最终用户可能会遇到不一致的个性化体验。
例如,假定您创建了一个个性化体验,如果用户在过去七天内查看了任何项目三次,则会将任何项目提升到主页。
如果最终用户一周访问三次,然后七天未返回网站,则该用户可能在返回网站时被视为新用户,因为其Cookie可能已被浏览器策略删除(具体取决于他们在访问网站时所使用的浏览器)。 如果发生这种情况,您的Analytics工具会将该访客视为新用户,即使他们仅在7天多一点前访问过该网站。 此外,任何为用户个性化体验的努力都会再次开始。
第一方设备ID (FPID) fpid
如上所述,要考虑Cookie生命周期的影响,您可以选择设置和管理自己的设备标识符。 有关详细信息,请参阅第一方设备ID上的指南。
检索当前用户的ECID和区域 retrieve-ecid
根据您的用例,有两种方法可以访问ECID:
- 通过数据准备检索 ECID 以进行数据收集:建议您使用此方法。
- 通过
getIdentity()
命令检索 ECID:仅在您需要客户端上的ECID信息时使用此方法。
通过数据准备检索ECID以进行数据收集 retrieve-ecid-data-prep
使用数据收集🔗的数据准备将ECID映射到XDM字段。 这是访问ECID的推荐方法。
为此,请将源字段设置为以下路径:
xdm.identityMap.ECID[0].id
然后,将目标字段设置为字段类型为string
的XDM路径。
通过getIdentity()
命令检索ECID retrieve-ecid-getidentity
getIdentity()
命令检索ECID。 如果只想将ECID映射到XDM字段,请改用为数据收集准备数据。要检索当前访客的唯一ECID,请使用getIdentity
命令。 对于尚无ECID的首次访客,此命令将生成新的ECID。 getIdentity
还返回访客的区域ID。
alloy("getIdentity")
.then(function(result) {
// The command succeeded.
console.log("ECID:", result.identity.ECID);
console.log("RegionId:", result.edge.regionId);
})
.catch(function(error) {
// The command failed.
// "error" will be an error object with additional information.
});
检索当前用户的核心ID retrieve-coreid
要检索用户的核心ID,可以使用getIdentity()
命令,如下所示。
alloy("getIdentity",{
"namespaces": ["CORE"]
});
使用identityMap
using-identitymap
使用XDM identityMap
字段,您可以使用多个标识来识别设备/用户,设置其身份验证状态,并确定哪个标识符被视为主要标识符。 如果未将标识符设置为primary
,则主标识符默认为ECID
。
使用sentEvent
命令更新了identityMap
字段。
alloy("sendEvent", {
xdm: {
"identityMap": {
"ID_NAMESPACE": [ // Notice how each namespace can contain multiple identifiers.
{
"id": "1234",
"authenticatedState": "authenticated",
"primary": true
}
]
}
}
});
CRMID
)作为主要身份发送。identityMap
中的每个属性都表示属于特定标识命名空间的标识。 属性名称应为标识命名空间符号,您可以在Adobe Experience Platform用户界面的“标识”下找到该符号。 属性值应为与该身份命名空间相关的身份数组。
identityMap
中传递的命名空间ID区分大小写。 请确保使用正确的命名空间ID,以避免不完整的数据收集。标识数组中的每个标识对象包含以下属性:
id
authenticatedState
ambiguous
、authenticated
和loggedOut
。primary
false
。使用identityMap
字段识别设备或用户产生的结果与使用ID Service API中的setCustomerIDs
方法产生的结果相同。 有关详细信息,请参阅ID服务API文档。
从访客API迁移到ECID migrating-visitor-api-ecid
从使用访客API进行迁移时,您还可以迁移现有AMCV Cookie。 要启用ECID迁移,请在配置中设置idMigrationEnabled
参数。 ID迁移支持以下用例:
- 当域的某些页面使用访客API,而其他页面使用此SDK时。 为了支持这种情况,SDK会读取现有AMCV Cookie并使用现有ECID写入新的Cookie。 此外,SDK还会写入AMCV Cookie,以便如果首先在通过SDK进行检测的页面上获取ECID,则通过访客API进行检测的后续页面将具有相同的ECID。
- 在同时具有访客API的页面上设置Adobe Experience Platform Web SDK时。 为了支持这种情况,如果未设置AMCV Cookie,SDK将在页面上查找访客API并调用它以获取ECID。
- 当整个网站都在使用Adobe Experience Platform Web SDK并且没有访客API时,迁移ECID以便保留返回的访客信息会很有用。 在与
idMigrationEnabled
一起部署SDK以便迁移大多数访客Cookie后,可以关闭此设置。
更新迁移特征
将XDM格式的数据发送到Audience Manager时,迁移时必须将此数据转换为信号。 必须更新您的特征以反映XDM提供的新密钥。 通过使用Audience Manager创建的BAAAM工具,此流程变得更加容易。
在事件转发中使用
如果您当前启用了事件转发,并且使用的是appmeasurement.js
和visitor.js
,则可以保持事件转发功能已启用,这不会导致任何问题。 在后端,Adobe获取所有AAM区段并将它们添加到对Analytics的调用。 如果对Analytics的调用包含这些区段,则Analytics不会调用Audience Manager来转发任何数据,因此不存在任何双重数据收集。 使用Web SDK时也不需要位置提示,因为后端会调用相同的分段端点。