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交互:

  1. 在您自己的域上创建一个指向adobedc.net的CNAME。 此方法称为第一方数据收集
  2. 将数据直接发送到Edge Network域adobedc.net。 此方法称为第三方数据收集

如下面的部分所述,您选择使用的数据收集方法会直接影响所有浏览器的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.netCNAME设置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 AnalyticsCustomer Journey Analytics中的访客计数。 此外,在网站上使用Adobe TargetOffer decisioning时,最终用户可能会遇到不一致的个性化体验。

例如,假定您创建了一个个性化体验,如果用户在过去七天内查看了任何项目三次,则会将任何项目提升到主页。

如果最终用户一周访问三次,然后七天未返回网站,则该用户可能在返回网站时被视为新用户,因为其Cookie可能已被浏览器策略删除(具体取决于他们在访问网站时所使用的浏览器)。 如果发生这种情况,您的Analytics工具会将该访客视为新用户,即使他们仅在7天多一点前访问过该网站。 此外,任何为用户个性化体验的努力都会再次开始。

第一方设备ID (FPID) fpid

如上所述,要考虑Cookie生命周期的影响,您可以选择设置和管理自己的设备标识符。 有关详细信息,请参阅第一方设备ID上的指南。

检索当前用户的ECID和区域 retrieve-ecid

根据您的用例,有两种方法可以访问ECID:

通过数据准备检索ECID以进行数据收集 retrieve-ecid-data-prep

使用数据收集🔗的数据准备将ECID映射到XDM字段。 这是访问ECID的推荐方法。

为此,请将源字段设置为以下路径:

xdm.identityMap.ECID[0].id

然后,将目标字段设置为字段类型为string的XDM路径。

通过getIdentity()命令检索ECID retrieve-ecid-getidentity

IMPORTANT
只有在客户端需要ECID时,才应通过getIdentity()命令检索ECID。 如果只想将ECID映射到XDM字段,请改用为数据收集准备数据

要检索当前访客的唯一ECID,请使用getIdentity命令。 对于尚无ECID的首次访客,此命令将生成新的ECID。 getIdentity还返回访客的区域ID。

NOTE
此方法通常用于需要读取Experience Cloud ID或需要Adobe Audience Manager位置提示的自定义解决方案。 标准实施不使用该函数。
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
        }
      ]
    }
  }
});
NOTE
Adobe建议将代表个人的命名空间(如CRMID)作为主要身份发送。

identityMap中的每个属性都表示属于特定标识命名空间的标识。 属性名称应为标识命名空间符号,您可以在Adobe Experience Platform用户界面的“标识”下找到该符号。 属性值应为与该身份命名空间相关的身份数组。

IMPORTANT
identityMap中传递的命名空间ID区分大小写。 请确保使用正确的命名空间ID,以避免不完整的数据收集。

标识数组中的每个标识对象包含以下属性:

属性
数据类型
描述
id
字符串
(必需) ​要为给定的命名空间设置的ID。
authenticatedState
字符串
(必需) ID的身份验证状态。 可能的值为ambiguousauthenticatedloggedOut
primary
布尔值
确定是否应当将此标识用作配置文件中的主片段。 默认情况下,会将ECID设置为用户的主要标识符。 如果忽略,此值将默认为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.jsvisitor.js,则可以保持事件转发功能已启用,这不会导致任何问题。 在后端,Adobe获取所有AAM区段并将它们添加到对Analytics的调用。 如果对Analytics的调用包含这些区段,则Analytics不会调用Audience Manager来转发任何数据,因此不存在任何双重数据收集。 使用Web SDK时也不需要位置提示,因为后端会调用相同的分段端点。

recommendation-more-help
ad108910-6329-42f1-aa1d-5920a2b13636