![](/img/trans.png)
[英]Does Google Tag Manager “subscribe” to dataLayer.push? If yes, how?
[英]Google dataLayer Implementation - dataLayer.push - How to add it to the page?
我有2個與GTM實施相關的問題
在體內添加GTM的最佳方法是什么。 我正在使用SSI文件添加該文件,該文件位於標簽后。
<!--#include virtual="/local-assets/gtm-noscript.html" -->
可以像這樣包含它嗎,或者有什么更好的方法可以在標簽后添加它?
<body>
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-YYYY"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
其次,我正在使用Javascript onclick event實現dataLayer.push代碼。 像下面的示例一樣,對頁面上的dataLayer.push進行硬編碼是一個好習慣嗎?
<a href="#" name="button1" onclick="dataLayer.push({'event': 'button1-click'});" >Button</a>
我必須在至少50個頁面上添加onclick dataLayer.push事件,並且所有事件都是靜態html頁面,並且每個頁面將具有唯一的dataLayer變量。
任何有關最佳做法以及如何最佳實施的建議將不勝感激!
我無法回答您的第一個問題,因為我自己不確定您的方法是更好的方法還是默認方法是首選方法。
但是,我確實知道,Javascript偵聽事件的最佳實踐是使單擊觸發您放置在其他位置而不是內聯的功能。 如果這不是一個復雜的過程,那么您當然應該將其分開。
在某些情況下,將其分離是不切實際的。 例如,在我的上一個實現中,我直接從addToCart按鈕推送了dataLayer代碼,因為在其上實現它的系統提取數據以一次填充產品列表,然后循環遍歷表行以生成清單。 問題是有數百種產品。 進行單獨的數據庫查詢會嚴重影響性能,因此我只是依靠第一個結果集並將dataLayer處理代碼排隊到原始循環中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.