我正在尝试弄清楚当页面首次使用数据元素加载时(或通过任何替代方法都可以)捕获Adobe Marketing Cloud ID(MID)。如果Marketing Cloud cookie已存在,则我的数据元素逻辑可以正常工作。如果尚未存在Marketing Cloud Cookie,则我的数据元素会在写入时读取Marketing Cloud ID cookie,但在数据元素读取时不会在cookie中填充MID。
有没有办法可以访问该值并在初始页面加载时在eVar中报告?我实际上采用MID并将其与附加值组合以创建eVar值。如上所述,除非Marketing Cloud ID不存在且必须在页面加载期间创建,否则我的代码将起作用。
答案 0 :(得分:1)
您可以使用Visitor.getInstance()
获取Visitor
实例,然后使用Visitor.getMarketingCloudVisitorID()
获取MC ID(您在mid=
参数中看到的内容)
示例:强>
var visitor = Visitor.getInstance("[mcorgid]@AdobeOrg")
s.eVar1 = visitor.getMarketingCloudVisitorID(); // set v2 with mid= value
如果您将MC ID服务实施为DTM工具,您也可以使用_satellite.getVisitorId()
代替Visitor.getInstance()
,例如:
s.eVar1 = _satellite.getVisitorId().getMarketingCloudVisitorID();
因此,对于数据元素,而不是做Cookie类型(我假设你做了什么),你需要使用自定义脚本类型并返回值,例如:
try {
return _satellite.getVisitorId().getMarketingCloudVisitorID();
} catch(e) {console.log(e);}
(更新)替代方案
从下面的评论(我的重点强调):
为了清楚起见,这只发生在我第一页的时候 营销云饼干不存在。 我确实在服务器中看到了MID 调用强>
由于您已确认AA在其请求中获得mid=
值,而不是尝试将其实际值推送到您的eVar,您可以通过其他方式间接地将其弹出。
动态变量
dynamic variable语法引用mid=
param:
s.eVar1 = "D=mid";
注意: D=
是默认的dynamic variable prefix语法。检查您的AA工具配置/其他自定义代码,以确保它没有被设置为其他东西。
处理规则
如果您有权创建处理规则,则可以设置处理规则,将eVar设置为mid=
值。