在数据收集中使用identityMap
identityMap有效负载对象是您告知Edge Network哪些访客超出其设备级ECID的方法。 当访客登录、完成购买或以其他方式得知时,您可以随ECID发送人员级别标识符(CRM ID、哈希电子邮件、忠诚度ID等)。 这些人员级别的标识符为下游服务提供了有价值的信息,以便它们可以:
- 跨设备和渠道将活动拼合到人员。 身份服务将您发送的身份链接到身份图,从而将匿名设备级行为连接到已知人员。
- 构建统一客户配置文件。 实时客户个人资料使用您设置为将事件和属性锚定到单个个人资料的主要标识,从而启用人员级别分段和受众构建。
- 激活下游目标上的受众。许多目标需要解析的人员级别身份(散列电子邮件、电话号码等)以将受众与其用户基础相匹配。
- 编排跨渠道历程。 Journey Optimizer使用已解析的身份,根据访客的已验证行为,跨电子邮件、推送和应用程序内渠道触发历程并对历程进行个性化。
本页介绍如何构建identityMap负载、为每个标识选择正确的设置以及处理常见的实施方案。
有效负荷结构 structure
identityMap是一个JSON对象,其中的每个顶级键都是一个命名空间,该值是一个身份描述符数组。 您可以在单个有效负载中包含一个或多个命名空间,并且每个描述符包含三个字段:id、authenticatedState和primary。
{
"identityMap": {
"CRMID": [
{
"id": "abc-123-xyz",
"authenticatedState": "authenticated",
"primary": true
}
]
}
}
iduser@example.com或ABC123)。authenticatedStateambiguous、authenticated和loggedOut。primaryprimary: true。以下各部分详细介绍了有效负载的各个部分。
命名空间键 namespace-keys
identityMap中的每个顶级键都是标识命名空间 — 一个对标识符类型进行分类的字符串(例如,CRMID、Email、Phone或LoyaltyId)。 命名空间必须存在于Identity Service中,然后才能在有效负载中引用它们。 当访客具有多个标识符时,可以在同一事件中包含多个命名空间键。
您无需包含ECID作为命名空间密钥。 Edge Network会自动将ECID添加到身份有效负载中。 如果您明确地包含ECID,则当也存在人员级别标识时,请勿将其标记为primary。
id id
id字段是标识符字符串本身,该值用于告知Experience Platform此身份表示的特定人员或设备。 每个标识命名空间都需要特定的值格式,而以错误的格式发送值会创建一个无法与正确格式化的版本合并的不同标识,从而导致配置文件碎片。
在identityMap中包含值之前,请根据目标命名空间期望的格式准备该值:
ABC-12345、00098765user@example.coma1b2c3d4e5f6a7b8c9...有关标准命名空间及其定义的完整列表,请参阅身份命名空间概述。
id值区分大小写。 User@Example.com和user@example.com被视为两个单独的标识。 在发送值之前标准化大小写(通常通过将电子邮件转换为小写并修剪空格)以避免在图形中创建重复的标识。正在运行时收集id collect-id
您需要的标识符很少直接在页面上可用。 常见的收集策略包括:
id值解析为空字符串null或undefined,则不要在identityMap中包含命名空间。 发送空的id会创建损坏的身份记录。 在构建有效负载之前,使用检查功能保护实施。authenticatedState authenticated-state
authenticatedState字段告知下游服务在给定标识中要放置多少信任。 以下值对此字段有效:
authenticatedloggedOutambiguousauthenticatedState值影响Adobe Experience Platform Identity Service如何构建和合并身份图。 为尚未验证的标识发送authenticated可能会创建不正确的跨设备链接,而这些链接很难撤消。primary primary-identity
每个identityMap有效负载必须正好有一个标记为primary: true的标识。 主标识可确定在Experience Platform中将哪个标识用作事件的锚点。
设置主标识时,请遵循以下准则:
- 当人员级别标识可用时(访客已登录),请将人员级别命名空间标记为主命名空间,并将ECID标记为非主命名空间。 这会告知Experience Platform将事件锚定到人员而非设备。
- 当只有设备级标识可用时 (访客是匿名的),ECID将自动用作主标识。 您无需在
identityMap中包含ECID — Edge Network会自动添加它。
{
"identityMap": {
"CRMID": [
{
"id": "abc-123-xyz",
"authenticatedState": "authenticated",
"primary": true
}
],
"Email": [
{
"id": "user@example.com",
"authenticatedState": "authenticated",
"primary": false
}
]
}
}
在您的实施中发送identityMap send-identity
在identityMap调用的xdm对象中传递sendEvent:
| code language-js |
|---|
|
使用标识映射数据元素类型在标记UI中构建您的标识有效负载:
-
创建具有 Adobe Experience Platform Web SDK 扩展和 Identity map 数据元素类型的数据元素。
-
通过指定命名空间、解析为标识符的数据元素或值以及身份验证状态来添加身份。
-
将一个标识标记为主标识。
-
在 Send event 下的 Identity map 操作中引用此数据元素。
常见应用场景 common-scenarios
当访客登录时,使用authenticatedState: "authenticated"和primary: true发送其人员级别标识符。 将此身份包含在身份验证后的第一个事件上以及会话中的所有后续事件上。
| code language-json |
|---|
|
访客注销时,在保留相同标识符的同时将authenticatedState更新为loggedOut。 这保留了设备和人员之间的关联,同时发出会话不再活动的信号。
| code language-json |
|---|
|
注销后,ECID将返回到有效的主要身份(Edge Network会自动应用它)。 请勿将其他人员级别的身份标记为主要身份,除非访客使用其他帐户登录。
| note important |
|---|
| IMPORTANT |
注销后不要完全停止发送标识符。 从authenticated切换到loggedOut会告知下游服务会话已结束。 省略标识符会在身份图中留下空白,可能会导致配置文件碎片。 |
您可以在同一事件中发送多个身份命名空间。 当访客登录并且您有多个可用标识符(例如,CRM ID、经过哈希处理的电子邮件和忠诚度ID)时,这种情况很常见。 包括所有已知标识符,仅将一个标记为主标识符,并将其他标识符设置为primary: false。
| code language-json |
|---|
|
| note tip |
|---|
| TIP |
在同一事件上发送多个具有相同authenticatedState的命名空间会为Identity Service提供用于链接这些身份的最强信号。 在身份验证时包括所有可用的标识符,而不是将它们分散到不同的事件中。 |
identityMap。 Edge Network会自动分配ECID并将其用作主标识。 如果您使用第一方设备ID,则FPID是您需要包含给匿名访客的唯一标识。identityMap如何影响身份图 identity-graph
每个到达Experience Platform的identityMap有效负载都由标识服务处理,该服务将您发送的标识链接到标识图。 您包括的命名空间、设置authenticatedState的方式以及标记为primary的身份直接影响Identity Service如何构建和合并这些图形。
要注意的关键行为:
- 在同一事件中发送的 标识链接在一起。 如果您在同一
sendEvent调用中包含CRMID和电子邮件命名空间,Identity Service将在这两个身份之间创建链接。 将标识符分散到不同的事件中会产生较弱的链接,并可能导致图形碎片。 - 身份
primary锚定实时客户配置文件中的事件。配置文件使用主标识来确定该事件所属的配置文件。 将错误标识标记为主要标识(例如,在人员级别ID可用时,将ECID设置为主要)可能会导致根据设备级别配置文件(而非人员级别配置文件)存储事件。 authenticatedState影响图形置信度。为尚未实际验证的标识发送authenticated可能会创建不正确的跨设备链接,而这些链接很难撤消。 仅当访客在当前会话期间主动证明其身份时才使用authenticated。
如果您的实施使用身份图链接规则(如命名空间优先级或身份优化算法),请查看实施指南,以了解这些规则如何与您通过identityMap发送的身份进行交互。
identityMap仅在Web SDK向Edge Network发出请求时发送,该请求受访客同意状态的限制。 如果您的实施使用defaultConsent: "pending",则在获得同意之前不会发送身份。 有关详细信息,请参阅同意和标识。