[英]Google Tag Manager Positioning
我有一個關於谷歌標記管理器代碼段定位的一般性問題。 根據谷歌的實施指南,標簽管理器應該在body標簽啟動后立即實現。 我的問題如下:
例如,VWO(可視化網站優化器)建議在頭部加載代碼以避免閃爍......
我可以有2個容器嗎? 一個在頭的末端,一個在身體的開頭?
可以有兩個標簽管理器標簽,但這不會做你想要的(並可能導致問題)。 GTM應該直接放在開始體標記之后而不是在另一個元素內部的原因是GTM做了一些DOM操作來插入包含的標記。 所有已配置的標記都打包到一個javascript對象中,該對象將插入到您的頁面中並從那里觸發。 將GTM標記放入另一個位置不會更改插入標記的位置(除非用戶已禁用javascript,否則圖像標記將顯示在iframe中)。 但是,這意味着GTM標記可能會失敗,因為注入javascript的DOM操作可能無法在指定的位置之外的其他位置工作(特別是如果將其放在正文之外,則為true)。
事實上谷歌表示,跟蹤管理器不適合改變頁面外觀的標簽(例如A / B測試工具,因為GTM首次發布,它們被列為“即將推出” )。
隨着時間的推移,這已經發生了變化,現在GTM為A / B測試工具(如Google的Optimize)提供了集成功能。
為此,需要添加兩段代碼:在<header>
標記之后:
<!-- 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) -->
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.