我有一個關於google代碼管理器代碼段定位的常見問題。根據谷歌的實施指南,標籤管理器應該在正文標籤啓動後立即執行。我的問題如下:Google跟蹤代碼管理器定位
- 跟蹤應該加載到頭部的腳本會發生什麼?
- 跟蹤應在身體末尾加載的腳本會發生什麼情況?
例如VWO(視覺網站優化)建議加載在頭部,以避免閃爍代碼...
我能有2個集裝箱?一個在頭部和一個在身體的開始?
我有一個關於google代碼管理器代碼段定位的常見問題。根據谷歌的實施指南,標籤管理器應該在正文標籤啓動後立即執行。我的問題如下:Google跟蹤代碼管理器定位
例如VWO(視覺網站優化)建議加載在頭部,以避免閃爍代碼...
我能有2個集裝箱?一個在頭部和一個在身體的開始?
有可能有兩個標籤管理器標籤,但這不會做你想要的(並可能導致問題)。 GTM應該直接放在開頭主體標籤之後,而不是放在另一個元素之內的原因是,GTM會執行一些DOM操作來插入包含的標籤。所有你配置好的標籤都被打包成一個JavaScript對象,它被插入你的頁面並從那裏發射。將GTM標籤放入其他位置不會改變插入標籤的位置(除非用戶禁用了javascript,否則圖像標籤將顯示在iframe中)。然而,這意味着GTM標籤可能會失敗,因爲注入JavaScript的DOM操作可能無法從指定的位置運行(特別是如果將它放在主體外部)。
實際上Google說Tag Manager不適用於改變頁面外觀的標籤(例如A/B測試工具,自GTM第一次發佈以來就是listed as "coming soon")。
隨着時間的推移,這已經發生了變化,現在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) -->
有人downvoted和我後推測這是因爲這個答案在某些方面不再準確;現在GTM Snippet的建議是將其納入考慮範圍,並且正式支持多個容器。但就問題而言,它仍然是正確的,您不能將兩部分片段放在不同的容器中,並使用該技術同步執行依賴於特定順序的標籤。 –