2015-05-28 31 views
-1

當我在控制檯中放置dataLayer[1].ecommerce.checkout.products[0].metric2時,它會返回正確的值。控制檯返回值,但Google跟蹤代碼管理器變量不是

但是,當我嘗試從Google跟蹤代碼管理器中的自定義JavaScript變量('測試')中提取值時,它會在Google跟蹤代碼管理器處於預覽模式時返回undefined

的JavaScript代碼:

function(){ 
var basketSize = dataLayer[1].ecommerce.checkout.products[0].metric2; 
return basketSize; 
} 
+1

有什麼問題嗎? –

+0

我正在致力於增強型電子商務客戶端,其中當前購物籃尺寸在結算的每個步驟中都會推送到dataLayer作爲「公制2」 我想要做的是將這些值以200( 0-200,201-400等),然後再處理Google Analytics中的數據。 但是,根據放入控制檯的代碼,代碼管理器似乎沒有找到正確的值。 從我的理解,他們應該以同樣的方式讀取dataLayer中的數據,但我可能是錯的? – user2966547

+0

可能在您定製的JavaScript變量被評估的時候,GTM已經將其他許多東西(gtm.js,gtm.dom和gtm.load事件等)推送到dataLayer,因此您的索引是錯誤的。您應該只通過dataLayer變量訪問dataLayer,其他任何事情都會遇到麻煩。 –

回答

1

如果您的問題沒有得到回答卻:東西是你yon't要引用的數據層陣列中的數據層變量中的GTM。這沒有意義,因爲你已經在dataLayer「命名空間」中。如果僅通過編寫ecommerce./*...*/.metric2而忽略dataLayer[1]部分來引用該字段,則它將起作用。

相關問題