我有一个使用自定义脚本的数据元素,默认值为“_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。我没有创建规则。为什么会这样,我该如何解决这个问题?
答案 0 :(得分:4)
数据元素在每次调用时都会运行,而不是在页面加载时创建一次。所以,如果你在prop和evar中使用它们,它将被调用两次。如果你运行
_satellite.getVar('data element name')
在浏览器控制台中,您会看到代码再次运行。 要停止此行为,请将evAR复制到prop中,反之亦然。