2016-01-19 131 views
1

我有一個自定義JS事件,當手風琴面板打開時觸發。我想將面板作爲事件標籤作爲Google Analytics事件進行跟蹤。如何跟蹤Google跟蹤代碼管理器中的自定義JavaScript事件?

使用舊的非GTM方法我會做這樣的:

$('#my-accordion').on('down.zf.accordion', function(e, panel) { 
    ga('send', 'event', 'accordion', 'open', panel.attr('id')); 
}); 

但我想與谷歌標籤管理,並要做到這一點,如代碼頁儘可能少的變化。

到目前爲止,我已經在谷歌標籤管理器中創建這樣的:

觸發,鍵入自定義事件上「down.zf.accordion」

標籤,型通用Analytics(分析)與我跟蹤火災id,track type:Event(accordion,open,[可能是設置爲panel.attr('id')的全局JS變量)]

但是在GTM預覽測試中,標籤甚至不會觸發。我究竟做錯了什麼?

+0

你的意思是你想使用panel id作爲事件的LABEL嗎? – nyuen

+0

是的,那是一個錯字,我的意思是標籤。我糾正了這一點。 –

回答

1

另一種解決方案是使用您可以設置爲在指定頁面上進行監聽的自定義HTML監聽器標籤(例如,在頁面上有手風琴的地方)。該標籤將是這個樣子,並要求數據層的事件和值被推:

$('#my-accordion').on('down.zf.accordion', function(e, panel) { 
    dataLayer.push({ 
     'event': 'accordion open', 
     'category: 'accordion', 
     'action': 'open', 
     'label': panel.attr('id'); 
    }) 
}); 

(注意,我沒有獲得Zurb基礎手風琴我沒有測試過這一點 - 假設這是你在用什麼)。

然後您可以從事件「手風琴打開」中觸發您的事件標記,並且您的事件類別,操作和標籤將從dataLayer變量中獲取。

+1

謝謝你的想法,但只有當你點擊已關閉的手風琴面板時,觸發器纔會觸發。如果可能的話,我想追蹤面板成功打開後觸發的CUSTOM EVENT - 'down.zf.accordion'。 –

+0

自定義JS解決方案應該也可以(理論上)工作,但是如果手風琴是開放的,您需要編寫邏輯來觸發標籤。 – nyuen

相關問題