google-analytics - GTM - 用于多个容器的一个数据层

标签 google-analytics google-tag-manager google-datalayer

我使用 Google 跟踪代码管理器已经好几个星期了。最近我有一个特殊的请求,但我还没有找到答案。多个容器是否可以共享同一个数据层?在两个容器的Js代码中,我尝试给datalayer取相同的名称:结果相当令人惊讶......每个容器中的所有标签都被执行了两次。

具体来说,我尝试在两个不同容器中的两个标签中发送事件。我想避免在 onclick 上进行最大无数次调用(因此有一个单一数据层的想法)

最佳答案

可以对多个容器使用相同的数据层。还可以通过第一个容器包含第二个容器(作为标签)。

但是“所有页面”规则将为页面上包含的每个容器触发一次。因此,如果您有 3 个容器,则在“所有页面”上触发的每个标签都将被触发 3 次。 (对于“gtm.js”等其他事件也是如此......)

我们找到了解决此问题的简单方法。只需在每个页面上包含一个“page_loaded”事件并相应地更改“所有页面”规则即可:

<script>
var dataLayer = [];
</script>
<!-- Google Tag Manager -->
<!-- End Google Tag Manager -->
<script>
dataLayer.push({"event": "page_loaded"});
</script>

page_loaded 事件只会触发一次,与页面上使用的容器数量无关。

关于google-analytics - GTM - 用于多个容器的一个数据层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17718483/

相关文章:

html - 来自一个元素的 dataLayer.push 会破坏另一个元素的 dataLayer.push

ios - 如何通过自定义参数过滤 Firebase 事件?

google-analytics - 在 Google Analytics 中设置自定义引荐来源网址

google-analytics - 谷歌分析人口统计 map 在 asp.net

cookies - 对于包含多个子域的 gtm UA 跟踪属性,是否应该有多个 _ga 跟踪 cookie?

get - Google 跟踪代码管理器出现 404 错误

google-analytics - Google Analytics 在 'checkout' actionField 选项中推送 Wearg 值

redirect - 谷歌分析接收数据与重定向导致 NS_BINDING_ABORTED

google-analytics - 通过GTM在Google Analytics(分析)字段中使用已解析的Cookie值

javascript - 我可以在 Google 跟踪代码管理器中观察数据层变量的变化吗?