2016-10-02 26 views
0

我试图找出如何捕捉Adobe Marketing Cloud ID(MID)时,页面第一次加载使用数据元素(或通过任何替代方法将工作)。如果Marketing Cloud Cookie已经存在,我的数据元素逻辑工作正常。如果没有营销云的Cookie已经存在,我的数据元素读取营销云ID的Cookie,因为它被写入,但MID并不在数据元素读它的时候cookie的填充。以前未使用DTM设置Cookie时,获取Adobe Marketing Cloud ID?

有什么方法可以访问该值并在初始页面加载的eVar中报告它?实际上,我将MID与其他值结合以创建eVar值。如上所述,我的代码工作除非Marketing Cloud ID不存在,并且必须在页面加载期间创建。

回答

1

您可以使用Visitor.getInstance()得到Visitor实例,然后再Visitor.getMarketingCloudVisitorID()得到MC ID(你在mid= PARAM见)

例如:

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);} 

(更新)替代

从下面的评论(我的粗体强调):

只是要清楚,这只是发生在我身上的第一页时, Marketing Cloud Cookie不存在。 我确实在服务器 上看到MID的调用。

既然你已经证实,AA越来越而不是尝试它的实际价值推到你的EVAR在其请求的mid=值,你可以通过其他方式间接地弹出它。

动态变量

dynamic variable语法引用mid= PARAM:

s.eVar1 = "D=mid"; 

注:D=是默认dynamic variable prefix语法。检查你的AA工具配置/其他自定义代码,以确保它没有被设置为其他东西。

处理规则

如果您有权创建的处理规则,你可以设置一个处理规则设置你的EVAR到mid=价值在那里。

+0

-so你是说你即使Markting Cloud ID Cookie没有MID可用,这个信息也会被提供给数据元素吗?谢谢。 –

+0

我尝试了上述方法,但我遇到了同样的问题。 _satellite.getVisitorId()返回没有值。getMarketingCloudVisitorID();如果我点击一个页面并且我的cookies已被清除。我认为这是MID尚未生成的时机问题? –

+0

@MichaelJohns所以要清楚的是,您将MC ID服务实施为DTM *工具*,对吗? –