本页介绍了Server SDK appendIdentityToUrl方法。 对于Web SDK,请参阅appendIdentityToUrl.
appendIdentityToUrl方法将访客身份作为名为adobe_mc的查询字符串参数添加到URL中。 当访客跟踪URL进入您拥有的其他域时,该域上的Web SDK或服务器SDK会读取参数并保留相同的Experience Cloud ID (ECID)。 这样可防止访客在包含两个域的数据集中被计数两次。
在服务器上,常见的用法是将访客身份添加到重定向到其他域:
const visitor = alloy.forRequest({ request: req, cookie: visitorCookies });
const { url } = await visitor.appendIdentityToUrl({
url: "https://shop.example.net/checkout"
});
res.writeHead(302, { Location: url });
res.end();
生成的URL类似于以下内容:
https://shop.example.net/checkout?adobe_mc=TS%3D1792711449%7CMCMID%3D34567890123456789012345678901234567890%7CMCORGID%3DADB3LETTERSANDNUMBERS%2540AdobeOrg
如果SDK还没有访客的ECID,它会先从Edge Network请求一个。 该请求未经身份验证。 请参阅设置数据流访问类型。
如果访客已选择退出,或defaultConsent为"out"且访客未选择加入,则该方法会返回未更改的URL。 此外,如果由于网络错误等原因无法获取访客身份,则还会返回URL未更改而非拒绝。 当调试开启时,SDK将记录一条包含Unable to append identity to url的警告。
选项 options
appendIdentityToUrl方法接受具有以下属性的对象:
url:必需。 要将访客身份添加到的URL。edgeConfigOverrides:此请求的数据流配置覆盖对象。
结果对象 result
appendIdentityToUrl方法返回承诺。 解析时,结果对象包含url,添加了adobe_mc查询字符串参数的URL。
recommendation-more-help
experience-platform-help-collection