saq*_*saq 5 google-tag-manager
我收到了一些要放在网站上的 dataLayer 定义。它们中的大多数涉及单击例如主菜单链接。但我看到以下问题:
dataLayer.push(some data...)我在谷歌上搜索了一些解决方案,但似乎没有人遇到过这样的问题 - 很奇怪,它看起来像是一个基本问题。也许 GTA 会自动处理它而我不必考虑这个?
感谢帮助。
GTM 不会调用 AJAX(除非您将 Ajax 调用放在自定义 HTML 标记中)。
Google Analytics 获取所有配置的标签、触发器和变量,并将它们包装到一个巨大的 JavaScript 文件中。该文件将加载到您的页面中并在页面的上下文中进行评估。如果触发器匹配,相应的标签就会插入到页面的 DOM 中。到那时,GTM 中的标签与编码到页面源代码中的标签之间就没有太大区别了。
与硬编码标签一样,当页面重新加载时,确实会发生点击中止的情况。这就是为什么 GTM 有一个名为“事件回调”的功能,您可以传递一个仅在事件触发的所有标签都被触发后才执行的函数。查看Google Analytics 增强型电子商务文档中的示例:
function(productObj) {
dataLayer.push({
'event': 'productClick',
'ecommerce': {
'click': {
'actionField': {'list': 'Search Results'}, // Optional list property.
'products': [{
'name': productObj.name, // Name or ID is required.
'id': productObj.id,
'price': productObj.price,
'brand': productObj.brand,
'category': productObj.cat,
'variant': productObj.variant,
'position': productObj.position
}]
}
},
'eventCallback': function() {
document.location = productObj.url
}
});
Run Code Online (Sandbox Code Playgroud)
这里的事件回调是一个函数,仅在所有标签都被触发后才重定向到另一个 URL。
值得一提的是,Google Analytics 尝试通过sendBeacon API(如果适用)发送命中来避免数据丢失,该 API 不必等待服务器响应,因此即使用户离开页面,命中也会通过(但是 sendBeacon 在 IE/Edge 上不可用)。
| 归档时间: |
|
| 查看次数: |
5750 次 |
| 最近记录: |