【发布时间】:2015-08-09 09:36:19
【问题描述】:
我将 Adobe Analytics 设置为 DTM 中的工具。我有一个引用 JS 对象(digitalData.page.pageInfo.pageID)的“页面名称”数据元素。在工具设置区域全局变量中,我将 prop1 设置为 %Hostname%:%Page Name%。我也有在 Pageviews 和 Content 下,Page Name 设置为 %Hostname%:%Page Name%。问题在于 DTM 在此处设置值,它无权访问 digitalData 对象(我试图在下面解决计时问题)。
我在 DTM 代码运行时遇到了对象不可用的问题,因此我输入了一个页面加载规则来禁止 Analytics 调用
s.abort = true;
然后在第 3 方 JavaScript 区域中,我输入代码以检查要检测的对象,并在控制台输出中获得预期值。
(function() {
try {
function checkObj(){
if (digitalData === null || digitalData === undefined) {
setTimeout(checkObj(), 200);
}else{
var pn = _satellite.getVar("Page Name");
console.log("----> object available - Page Name DE holds:" + pn);
_satellite.track("Analytics Call");
return;
}
}
checkObj();
} catch(e) {e.message(e);}
})();
在直接调用规则“Analytics Call”中,我将 Adobe Page Name 和 prop1 再次设置为 %Hostname%:%Page Name% 但页面名称仍为空白(仅主机名输出带有冒号)分析呼叫出去了?
在测试中,我注意到在分析工具设置中的“浏览量和内容”部分,如果我从“页面名称”设置文本框中删除值,那么当分析调用结束时,pageName 不会输出任何内容?
所以我的问题是,当分析调用结束时,如何让 Page Name 和 prop1 变量更新为 digitalData 对象的新值?
【问题讨论】:
标签: javascript adobe adobe-analytics