Google 标签管理器定位

问题描述 投票:0回答:2

我有一个关于谷歌标签管理器片段的定位的一般性问题。根据谷歌的实施指南,标签管理器应该在正文标签启动后立即实施。我的问题如下:

  • 应该加载到头部的跟踪脚本会发生什么?
  • 应该在正文末尾加载的跟踪脚本会发生什么情况?

例如VWO(视觉网站优化器)建议将代码加载到头部以避免闪烁...

我可以要2个容器吗?一个在头部末端,一个在身体开头?

javascript tracking google-tag-manager
2个回答
2
投票

可以有两个标签管理器标签,但这不会执行您想要的操作(并且可能会导致问题)。 GTM 应直接放置在开始正文标记之后而不是放置在另一个元素内的原因是 GTM 执行一些 DOM 操作来插入包含的标记。所有配置的标签都被打包到一个 Javascript 对象中,该对象被插入到您的页面中并从那里触发。将 GTM 标签放入其他位置不会改变标签插入的位置(除非用户禁用了 Javascript,在这种情况下图像标签将显示在 iFrame 中)。然而,这意味着 GTM 标记可能会失败,因为注入 Javascript 的 DOM 操作可能无法从指定位置以外的其他位置工作(如果将其放在正文之外,尤其如此)。

实际上,Google 表示标签管理器不适合更改页面外观的标签(例如 A/B 测试工具,自从 GTM 首次发布以来,这些工具就被列为“即将推出”)。


1
投票

随着时间的推移,这种情况发生了变化,现在 GTM 集成了 A/B 测试工具,例如 Google 的 Optimize。

为此,您需要添加两段代码: 就在

<head>
标签之后:

    <!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-CONTAINER_ID');</script>
<!-- End Google Tag Manager -->

就在

<body>
标签之后

<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-CONTAINTER_ID"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
© www.soinside.com 2019 - 2024. All rights reserved.