請幫助。我正在嘗試使用GTM dataLayer來跟蹤我的銷售確認頁面上的購買情況。我添加了dataLayer,它位於GTM容器代碼片段之上,但數據層完全無法被Google Tag Manager識別。就像它不存在於頁面上一樣。爲什麼?您可以在源代碼中看到所有格式都正確:view-source:http://www.maverickhelicopter.com/survey.aspx但GTM預覽工具甚至不能識別數據層的存在。 screenshot of GTM preview tool代碼管理器無法識別的Google代碼管理器dataLayer
1
A
回答
0
問題是您在定義dataLayer的GTM代碼片段之前調用dataLayer.push()函數。當你的頁面上看到:
你必須移動dataLayer.push要麼你定義數據層或之後GTM的代碼片斷後,你的身上。這真的取決於你什麼時候開始你的「預訂推後」事件。如果您在頭例如您的推送功能:
dataLayer = [{
'page': {
'type': 'confirmation',
'environment': 'production'
}
}];
dataLayer.push({
'ecommerce': {
'purchase': {
'actionField': {
'id': '0',
'affiliation': '0',
'revenue': '0'
},
'products': [{
'name': '0',
'id': '{{tourID}}',
'price': '0',
'category': 'None',
'variant': 'None',
'quantity': parseInt(document.getElementById("ctl00_ContentPlaceHolder1_hfGTMSEATS").value)
}]
}
},
'event': 'reservationPushed'
});
的「reservationPushed」事件將前頁面視圖被解僱。
或者,您可以將您的整個推送功能移動到GTM代碼片段之下,以在頁面查看後觸發事件。只是不要讓也移動你的數據層變量的錯誤,這是在正確的地方爲每開發指南:https://developers.google.com/tag-manager/devguide
所以besically你的選擇之一是構建你的代碼,例如:
<html>
...
<script>
dataLayer = [{
'page': {
...
}
}];
</script>
...
<!-- Google Tag Manager -->
...
<!-- End Google Tag Manger -->
<script>
dataLayer.push({
'ecomerce': {
...
}
</script>
...
</html>
相關問題
- 1. 源代碼管理管理器後端
- 2. 事件代碼 - Google跟蹤代碼管理器+ Firebase + Google Analytics
- 3. CLR如何識別管理代碼?
- 4. sqlite表代碼管理器?
- 5. 事件中顯示的Google跟蹤代碼管理器代碼
- 6. Google跟蹤代碼管理器(GTM)無法在SharePoint上工作
- 7. Google跟蹤代碼管理器 - Universal Analytics代碼 - uid參數
- 8. 使用Google跟蹤代碼管理器和dataLayer進行Android開發
- 9. 託管源代碼管理?
- 10. Google跟蹤代碼管理器 - 輸入無效
- 11. 源代碼管理
- 12. Google跟蹤代碼管理器會忽略META代碼CSS選擇器嗎?
- 13. 源代碼管理綁定無效,試圖更改源代碼管理無效
- 14. Google跟蹤代碼管理器自定義計時器事件
- 15. 禁用單個Google跟蹤代碼管理器容器?
- 16. 多用戶代碼管理器
- 17. PHP源代碼管理服務器
- 18. Gcloud CLI身份識別代理管理
- 19. 虛擬頁面的Google代碼管理器上的管理代碼有可能嗎?
- 20. Visual Studio 2008源代碼管理資源管理器與Subversion
- 21. TFS和源代碼管理資源管理器
- 22. VS 2008和源代碼管理資源管理器錯誤
- 23. noob:無法使用Bazaar資源管理器檢出代碼
- 24. WCF代理池/管理器
- 25. Google跟蹤代碼管理器中的父類
- 26. LookUps輸出值的Google跟蹤代碼管理器查找
- 27. 一個主要域的Google跟蹤代碼管理器
- 28. roku中的Google跟蹤代碼管理器
- 29. 適用於iOS的Google跟蹤代碼管理器 - 迦太基
- 30. 通過CSS類觸發的Google跟蹤代碼管理器
在你的頁面代碼中,你會推送到 - 未初始化 - dataLayer(這會給你一個「survey.aspx:35 Uncaught TypeError:無法讀取瀏覽器控制檯中未定義的」錯誤「屬性'push')。然後你嘗試初始化dataLayer。嘗試並交換兩個,看看它是否開始工作。 –