谷歌标签管理器定位
Google Tag Manager Positioning
我有一个关于google标签管理器片段定位的一般性问题。根据google的实现指南,标签管理器应该在body-tag开始之后实现。我的问题是:
- 应该在头部加载的跟踪脚本会发生什么?
- 应该在正文末尾加载的跟踪脚本会发生什么?
例如VWO(可视化网站优化器)建议在头部加载代码以避免闪烁…
我可以要2个集装箱吗?一个在头部的末端,一个在身体的开始?
可以有两个标记管理器标记,但这不会达到您想要的效果(并且可能会导致问题)。GTM应该直接放在开始主体标记之后,而不是放在另一个元素中,原因是GTM做了一些DOM操作来插入包含的标记。所有配置的标签都被打包到一个javascript对象中,该对象插入到页面中并从那里触发。将GTM标签放入另一个位置不会改变标签插入的位置(除非用户禁用了javascript,在这种情况下图像标签将显示在iframe中)。然而,这意味着GTM标记可能会失败,因为注入javascript的DOM操作可能无法从指定的位置以外的其他位置工作(特别是如果将其放在主体之外)。
实际上Google说标签管理器不适合改变页面外观的标签(比如A/b测试工具,自从GTM首次发布以来就被列为"即将推出")。
随着时间的推移,这种情况发生了变化,现在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) -->
相关文章:
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 如何访问声音管理器2创建的声音对象
- JS编译器/包管理器,用于版本控制
- Modx数据包管理器ext-all.js错误
- 根据单个用户的决定禁用谷歌标签管理器(选择退出)
- jquery在通过谷歌标签管理器交付时点击不工作
- 删除$fromtataLayertotal-google标签管理器
- 资源管理器9上的html5视频缓存
- 如何在 elfinder(一个 jquery 文件管理器插件)中只显示文件夹列表
- 在全局声音管理器对象上完成
- Web 驱动程序管理器更新错误:EACCES,权限被拒绝
- 声音管理器2 - 停止声音时失真
- 谷歌跟踪代码管理器使用什么模式来观察 de 'dataLayer' 数组
- 为什么谷歌跟踪代码管理器不能安装在正文下的另一个HTML元素中
- Connect资产管理器文件与req.url不匹配
- 谷歌标签管理器点击事件没有冒泡到家长
- 加载两个脚本块(使用lab.js作为加载管理器)
- 错误管理器:从标准Java到Servlet
- 谷歌地图API v3绘图管理器-地图不渲染
- 谷歌标签管理器定位