7

这可能是一个长镜头,但我正在寻找使用 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 时,我没有看到任何更新的值,但它正在将点击事件发送到 AT Internet。

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

4

1 回答 1

8

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

这些方法用于处理发送动态事件/数据。请参阅 ajax tracking 上 Tealium 博客上的其他讨论。当 url 不再更改时

来自Tealium学习上的utag.link() 和 utag.view()

句法

link 和 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() 调用 - 它们应仅存在于页面内加载的动态内容中。
  • 在这些调用期间执行全局和标签范围的扩展。在这些调用期间不会执行预加载器和 DOM Ready 扩展。
于 2015-12-02T06:02:04.053 回答