2016-11-28 65 views
1

我在同一頁上有兩個標籤。Google Tag Manager - dataLayer具有以前的值

第一個標記在頁面視圖上工作,幷包含將值推送到dataLayer的自定義html。

<script> 
    $(document).ready(function ($) { 
    $('ul li').click(function(){ 
     console.log("index:"+$(this).index()); 
     dataLayer.push({'clicked_slider_tab_index': $(this).index()}); 
    }); 
    }); 
</script> 

和第二標籤擊發元件上點擊使用在標籤字段此數據層變量通用型分析。

問題是這樣的。當第二個標籤發射它是{{dataLayer - clicked_slider_tab_index}}變量具有以前的值。 console.log按預期工作,但以某種方式dataLayer.push不按預期工作。

我只能檢測上一個操作中點擊的索引。

回答

2

這很可能是因爲鏈接點擊事件同時觸發了您的自定義HTML標記和您的Universal Event標記,因此自定義HTML標記沒有足夠時間更新'clicked_slider_tab_index'值。

在此實例中追蹤的最佳方式是展開dataLayer.push以包含事件。下一步是更改觸發器以觸發新事件「indexClicked」。這將確保在單擊元素時填充dataLayer變量。

<script> 
    $(document).ready(function ($) { 
    $('ul li').click(function(){ 
     console.log("index:"+$(this).index()); 
     dataLayer.push({ 
     'event': 'indexClicked' 
     'clicked_slider_tab_index': $(this).index() 
     }); 
    }); 
    }); 
</script> 
+1

非常感謝。你拯救了我的一天。 –

相關問題