企业可能同时经营多个不同域名,例如:
www.example.com shop.example.cn booking.example.net
用户从一个域名进入另一个域名时,Adobe Analytics能否继续将其识别为同一个访客,取决于浏览器Cookie限制、Adobe组织ID、数据采集方式和Report Suite配置。
情形一:同一根域名下的子域名
例如:www.example.com 和 store.example.com
这是最理想的情况。Cookie(包括存放 ECID 的 AMCV_ Cookie)默认可以共享给同根域名下的所有子域名。
做法:在配置Web SDK或 AppMeasurement 时,将cookieDomain设置为 .example.com(注意前面的点)即可。浏览器会在访问 store.example.com时自动带上这个Cookie,ECID自然就通了,无需额外操作。
情形二:同一Adobe组织的不同根域名
传统方式:依赖第三方Cookie
在早期,跨域跟踪主要依赖第三方Cookie来实现,:Adobe 会在一个公共的第三方域(如 demdex.net)下设置一个 Cookie,不同网站通过请求这个 Cookie 来识别同一用户。
随着 Safari、Firefox 和 Chrome 等主流浏览器逐步淘汰第三方 Cookie,这种方式的可靠性大幅降低,甚至完全失效。因此,它已不再是主流推荐方案。
现代核心方案:基于ECID的URL参数传递
现在,Adobe主推的方式是利用 Experience Cloud ID (ECID) 服务,通过URL参数在不同的自有域名间传递用户标识
Web SDK:使用appendIdentityToUrl
如果网站使用Adobe Experience Platform Web SDK,建议使用:
alloy("appendIdentityToUrl", {
url: "https://shop.example.com/"
}).then(function(result) {
window.location.href = result.url;
});
该命令会返回带有adobe_mc参数的URL: https://shop.example.com/?adobe_mc=…
VisitorAPI.js:使用appendVisitorIDsTo
如果仍然使用AppMeasurement和VisitorAPI.js,可以调用:
//Code on Domain A
var destinationURL = "www.destination.com";
//Call the ID service
var visitor = Visitor.getInstance(...);
//Append visitor IDs to the destination URL
var destinationURLWithVisitorIDs = visitor.appendVisitorIDsTo(destinationURL);
//Result of appendVisitorIDsTo includes destination URL, Experience Cloud ID (MCMID), and Analytics ID (MCAID)
"www.destination.com?adobe_mc=MCMID=1234|MCAID=5678"
//Redirect to the destination
生成的URL大致如下:
URL为:
主要字段包括:
| 字段 | 含义 |
|---|---|
MCMID |
Experience Cloud ID,即ECID |
MCORGID |
Experience Cloud Organization ID |
MCAID |
旧版Analytics Visitor ID,可能为空 |
TS |
用于验证参数有效性的时间戳 |
目标域名已有ECID怎么办?
如果奔驰网站原本是有ECID,如:
就会出现奔驰的ECID和奥迪的是不一样。
如果要用新的覆盖旧的,可以使用overwriteCrossDomainMCIDAndAID去覆盖它:
var visitor = Visitor.getInstance("INSERT-MARKETING-CLOUD-ID-HERE", {
...
//Set overwrite property
overwriteCrossDomainMCIDAndAID: true
});
在ECID的Extensions里也可以设置,设置为true:
覆盖后,奔驰的ECID是73523137719293136182488349979580499820
两个网站跳转就可以识别为同一个用户。



