更新时间:2024年6月1号
什么是ECID
Adobe Experience Cloud Identity ID,简称ECID,早期也被称为MCID/MID/MCVID。
ECID是Adobe提供的一个全局、永久性访客标识符,用于在Adobe Experience Cloud的所有解决方案中统一识别同一位访客,包括但不限于:Analytics、Audience Manager、Targeth和其他 Experience Cloud 产品与功能
通过ECID,Adobe可以将来自不同产品、不同域名的数据统一关联到同一个访客视角中,从而实现跨产品、跨渠道的数据整合。
ECID的技术原理
从技术实现上看,ECID 并不是直接存储任何个人身份信息(PII),也不是这些信息的哈希值。
ECID 的生成依赖以下几个要素:
- Experience Cloud Organization ID(组织ID)
- AMCV Cookie(第一方Cookie)
- Demdex ID(第三方Cookie,demdex.net)
ECID的本质是:
通过组织 ID + Demdex ID,经由Adobe的算法计算得到的一个唯一、稳定的标识符。
只要组织ID与Demdex ID不变,生成的ECID就一定是相同的,这是一个确定性的数学过程。
Demdex ID与ECID的关系
Demdex ID 存储在 demdex.net 域名下,用户首次访问部署了Adobe ID Service的网站时,会尝试获取Demdex ID,Demdex ID会周期性(通常为 7 天)进行同步更新
当使用相同的组织ID,在同一浏览器中访问不同网站时:只要Demdex ID相同,ECID就会保持一致。
这也是Adobe实现跨站点、跨产品识别访客的基础能力之一。
ECID可以实现什么
ECID 的核心能力包括:
- 为每一位网站访客生成并存储一个唯一的ECID
- 在Experience Cloud各解决方案之间共享访客身份
- 支持跨域追踪(前提是你对这些域名拥有控制权,并正确部署ID Service)
ECID 不能实现什么
ECID不具备、也不会涉及以下能力:
- 存储、传输或执行计算机病毒
- 访问或存储任何个人身份信息(PII)
- 控制或修改用户的计算机硬件或软件
- 影响系统稳定性或页面性能
- 在未部署ID Service的网站上跟踪用户
部署 Adobe Experience Cloud ID Service
安装 Experience Cloud ID Service 插件
在Adobe Launch的Extensions里搜索并安装Experience Cloud ID,然后在点击配置,对这个插件做配置:
- Marketing Cloud Organization ID:体验云组织ID,就是组织ID,由24个字符的字母数字字符串,后跟@AdobeOrg,例如1FD6776A524453CC0A490D44%40AdobeOrg
- Exclude specific paths:排除特定路径,如果URL与任何指定路径匹配,则不会加载Experience Cloud ID。
- Opt In: 这是用于设置用于同意跟踪的,用于保护用户隐私和满足法律法规要求,里面具体设置解析如下:
| 字段 | 解析 |
| Enable Opt In? | 是否需要用户同意后才允许追踪 |
| Is Opt In Storage Enabled? | 授权信息是否存储到Cookie里。 |
| Previous Permissions | 预设授权状态(通常为默认不跟踪) |
| Pre Opt In Approvals? | 预先就同意跟踪,一般不会设置。 |
| Enable IAB? | 是否启用IAB TCF,与CMP集成 |
这些设置是与意见征求模块相关,延伸阅读:在Adobe Launch上集成TrustArc:完整Cookie Banner配置指南
ECID 的生效与验证
Experience Cloud ID Service是为数不多不用配置规则就能自动发送数据的插件之一,这个插件在首次访问网站的首页加载时自动向身份服务发出请求,获得 ID后,它将存储在以“ AMCV_”开头的第一方Cookie中。
详见配置发布到Staging环境中去,然后打开Adobe Experience Platform Debugger,然后刷新看Experience Cloud ID这里:
可以看到Pathname中的值是/id, 表明ECID已从demdex.net申请了一个 ID 。
再到浏览器开发者工具看cookie:
可以找到AMCVS和AMCV两个cookie,表示Experience Cloud ID生效,ECID是存储在AMCV中。
- AMCVS Cookie 名称遵循语法 AMCVS_<组织ID>@AdobeOrg ,AMCVS Cookie的全称类似于下面的样子:AMCVS_1FD6776A524453CC0A490D44%40AdobeOrg,用作指示会话已初始化的标记。它的值始终为 1 ,并会在会话结束时失效。
- AMCV Cookie的名称应遵循语法 AMCV_<组织ID>@AdobeOrg,AMCVS Cookie的全称类似于下面的样子:AMCV_1FD6776A524453CC0A490D44%40AdobeOrg,包含有ECID和区域ID等信息,这些 ID 将以键值对形式进行存储。mid:user ID 包含访客的 Experience Cloud ID。aamlh:region ID 包含网站访客的区域 ID。如下面就是AMCV Cookie:
870038026%7CMCIDTS%7C18459%7CMCMID%7C49012491348529783830291047408573728389%7CMCAAMLH-1595387605%7C11%7CMCAAMB-1595387605%7CRKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y%7CMCOPTOUT-1594790006s%7CNONE%7CvVersion%7C5.0.0
其中的7CMCMID%7C49012491348529783830291047408573728389就表示的是MID/ECID了。
测试没问题,可以发布。
将ECID设置为eVar(常见坑点)
有时候会需要将ECID设置为eVar,eVar的周期可以设置为永不过期或hits。
客户端部署
错误做法(客户端部署)
直接使用 Experience Cloud ID Service 内置数据元素 ECID 设置 eVar:
能导致报表中出现Unspecified:
原因:ECID 尚未返回时,命中已经发送,导致变量为空。
正确做法(客户端部署)
可以考虑通过动态变量(Dynamic Variables)的方式,Adobe Analytics发送的数据默认就有ECID:
这里的mid,其实就是ECID。
通过动态变量,将mid设置为eVar:
这样,这个eVar就不会出现显示的是Unspecified:
服务端部署
如果你是用服务端部署,官方虽然提供了getIdentity方法去获取ECID,但可能会出现,对于新用户,ECID还没返回,但Web SDK已经将数据发送出去,从而导致Unspecified。正确的做法是用处理规则,如果是服务端部署,a.x.identitymap.ecid.0.id就是ECID:
延伸阅读:Adobe Analytics中将ECID设置为eVar(客户端&服务端)













