如果之前未使用DTM设置Cookie,请获取Adobe Marketing Cloud ID?

时间:2016-10-02 22:50:11

标签: javascript dynamic adobe adobe-analytics

我正在尝试弄清楚当页面首次使用数据元素加载时(或通过任何替代方法都可以)捕获Adobe Marketing Cloud ID(MID)。如果Marketing Cloud cookie已存在,则我的数据元素逻辑可以正常工作。如果尚未存在Marketing Cloud Cookie,则我的数据元素会在写入时读取Marketing Cloud ID cookie,但在数据元素读取时不会在cookie中填充MID。

有没有办法可以访问该值并在初始页面加载时在eVar中报告?我实际上采用MID并将其与附加值组合以创建eVar值。如上所述,除非Marketing Cloud ID不存在且必须在页面加载期间创建,否则我的代码将起作用。

1 个答案:

答案 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=值。