使用 Tealium 的 utag.view and/or utag.link 用于动态加载的元素

Use of Tealium's utag.view and/or utag.link for dynamically loaded elements

这可能是一个远景,但我正在寻找使用过 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。

有没有人有这方面的经验?提前谢谢你

您可以等待调用主 utag.js Tealium 脚本,或者使用 utag.linkutag.view 发送另一个数据点。发送后无法 "update" 初始 utag_data 对象。

这些方法用于处理发送动态events/data。请参阅 ajax tracking.. when urls no longer change

上 Tealium 博客的其他讨论

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

语法

link 和视图方法允许您传递三个不同的参数:

  • 参数1:一个JSON对象

    utag.view({'search_results':'1200'});

  • 参数2:回调函数(可选,可设置为null

  • 参数 3:标签数组(可选:如果使用,这些是唯一会触发的标签)

    utag.link( {'search_results':'1200'}, 函数(){警报("Only fired tag 12 with this call");}, [12] );

备注:

  • 在初始页面登陆时声明的 utag_data 对象不会重新用于这些调用。如果需要使用来自初始页面登陆的数据,则需要在方法调用中重新声明并再次传递。例如,如果 language:"en" 在页面着陆时传递,如果 utag 方法调用触发的标记需要语言,则需要再次传递语言。
  • utag.view() 调用不应在初始页面加载时调用 - 它们应该只存在于页面内加载的动态内容中。
  • 在这些调用期间执行全局和标记范围的扩展。预加载器和 DOM 就绪扩展将不会在这些调用期间执行。