2013-07-09 61 views
1

我有一個關於gtm的問題。使用谷歌標籤管理器自定義HTML標籤來填充頁面上的數據

所以目前我已經創建了一個腳本,它可以創造一切,我需要到數據層的數據,這是數據層的樣子(從網頁的源代碼):

<script> 
dataLayer = [{"visitorLoginState":"Logged out","visitorType":"NOT LOGGED  IN","visitorLifetimeValue":0,"visitorExistingCustomer":"No"}]; 
</script> 

,但是這一切都是從生成的你存儲,但他們的關鍵將是能夠通過GTM使用這些變量。

所以GTM UI裏面我創建了一個自定義的HTML標籤並補充說:

<script> 
dataLayer.push({'event': 'visitorLoginState'}); 
</script> 

我還創建了一個自定義的宏觀>數據層變量,「visitorLoginState」的名字,希望它會顯示「NO」而不是響應中的visitorLoginState。但它只是顯示「visitorLoginState」

回答

0

我是GTM的新手,也正在掌握一切。

從我可以看到它看起來像你正在使用宏和dataLayer不正確。

您正在運行腳本以將另一行稱爲event的行添加到數據層,同時已經在數據層中聲明瞭您想要的內容。所以最初在源輸出的將是沿着線:

visitorLoginState: Logged Out 
visitortype: Not Logged In 
ETC... 

隨着腳本您在GTM添加它會去:

visitorLoginState: Logged Out 
visitortype: Not Logged In 
event: visitorLoginState 
ETC 

你想要做什麼是真正創建一個宏使用數據層變量的類型,使用visitorLoginState的數據層變量名稱(等等)調用visitorLoginState。

從那裏你可以在GTM中創建一個規則,它將根據數據層返回的內容來激活某些東西。

所以,你的規則可以是:

visitorLoginState equals Logged out. 

然後,您可以讓您的腳本在GTM的標籤部分這會這樣說:

<script> 
dataLayer.push({'event': 'No'}); 
</script>