为什么DTM数据元素被调用两次?

时间:2015-03-20 01:13:47

标签: javascript dynamic adobe adobe-analytics

我有一个使用自定义脚本的数据元素,默认值为“_Not_Set_”。数据元素中的代码是:

var elemNavValue = _satellite.readCookie('navElemName');
console.log("spot 1 - cookie value is " + elemNavValue);
if ((elemNavValue !== '')&&(elemNavValue !== undefined)&&(elemNavValue !== '_Not_Set_')){
    console.log("spot 2 - cookie value is " + elemNavValue);
    _satellite.setCookie('navElemName','_Not_Set_',1);
    return elemNavValue;
}else{
    console.log("spot 3 - cookie value is " + elemNavValue);
    _satellite.setCookie("navElemName",'_Not_Set_',1);
    return '_Not_Set_';
}

当页面加载时,我看到数据元素运行两次。我在控制台中得到以下输出。

spot 1 - cookie value is undefined 
spot 3 - cookie value is undefined
spot 1 - cookie value is _Not_Set_ 
spot 3 - cookie value is _Not_Set_

这是我声明的唯一数据元素,它仅在Adobe Analytics工具的全局部分中调用,并分配给prop和eVar。我没有创建规则。为什么会这样,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

数据元素在每次调用时都会运行,而不是在页面加载时创建一次。所以,如果你在prop和evar中使用它们,它将被调用两次。如果你运行

_satellite.getVar('data element name')

在浏览器控制台中,您会看到代码再次运行。 要停止此行为,请将evAR复制到prop中,反之亦然。