这可能是一个漫长的过程,但是我正在寻找使用Tealium UDO(通用数据对象)的人。我有一个带有Google Search Appliance的搜索页,它是数据层中的utag_data对象,如下所示:

var utag_data = {
   "country":"US",
   "language":"EN",
   "search_keywords": "blahblah",
   "search_results": "0"
}

这里的问题是search_results属性没有足够的时间等待实际结果编号加载,因此默认情况下使用0而不是实际编号1200。我已经阅读了Tealium有关utag.view()utag.link()的文档,并希望使用其中之一来更新search_results标记。我试过了:
utag.link({'search_results':'1200'});


utag.view(utag_data,null,[12]);

其中12是Tealium中标记的UID,但是在firefox中使用Omnibug时,我看不到任何更新的值,但是它将click事件发送到AT Internet。

有人对这个有经验么?先感谢您

最佳答案

您可以等待调用主utag.js Tealium脚本,也可以使用utag.linkutag.view沿另一个数据点发送。一旦发送,就不可能“更新”初始的utag_data对象。

这些方法用于处理发送动态事件/数据。在ajax tracking.. when urls no longer change上查看Tealium博客上的其他讨论

来自utag.link() and utag.view()关于Tealium学习

句法

链接和 View 方法使您可以传递三个不同的参数:

  • 参数1:一个JSON对象

    utag.view({'search_results':'1200'});
  • 参数2:回调函数(可选,可以设置为null)
  • 参数3:一组标签(可选:如果使用,则是唯一会触发的标签)

    utag.link(
    {'search_results':'1200'},
    function(){alert(“此调用仅触发了代码12”);},
    [12]
    );

  • 笔记:
  • 初始页面登陆时声明的utag_data对象不用于这些调用。如果需要使用初始页面登陆中的数据,则需要重新声明该数据并在方法调用中再次传递该数据。例如,如果在页面登陆时传递了language:“en”,如果通过utag方法调用触发的标签需要使用语言,则需要再次传递语言。
  • 不应在初始页面加载时调用
  • utag.view()调用-它们应仅存在于页面内加载的动态内容中。
  • 在这些调用期间,将执行
  • Global和Tag作用域扩展。在这些调用期间,不会执行预加载器和DOM Ready扩展。
  • 关于javascript - 使用Tealium的utag.view和/或utag.link来动态加载元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27989765/

    10-09 07:43