2014-06-12 64 views
0

我已經能夠使用Google跟蹤代碼管理器默認值捕獲並推送網址,但我一直嘗試推送自定義數據圖層屬性時遇到問題。使用Google跟蹤代碼管理器捕獲多個dataLayer屬性

例如:

的GTM腳本加載之前我把當前頁面的URL到數據層。

<script> 
var currentPage = (document.URL); 
dataLayer = [{ 
    'pageURL': currentPage 
}]; 
</script> 

,然後我推內容,以數據層被點擊時,他們的各種元素:

<a id="tracking-image" href="#" onclick="dataLayer.push({'#elementID': 'tracking-image'});"></a> 

我一直有麻煩GTM /谷歌Analytics(分析)捕捉到這些。最後,我想在捕捉到谷歌分析,像這樣:

標籤:當前頁

操作:跟蹤圖像

但目前它只是跟蹤gtm.js事件多次發射。

回答

0

您不需要將元素id推送到數據層(GTM可以自己讀取id)。你缺少的是一個觸發你的標籤的事件。

GTM中的「事件」與Google Analytics中的事件跟蹤無關,只與本地JavaScript事件有關。 「事件」是一個保留的宏名稱,其目的是觸發標籤;在頁面加載啓動(gtm.js),頁面加載完成(gtm.dom)等頁面上有一些預定義的事件。

如果你想觸發一個在頁面加載時不觸發的標籤,那麼你需要一個自定義事件。

一種方法是改變你這樣的代碼:

<a id="tracking-image" href="#" onclick="dataLayer.push({'event': 'imagetracker'});"></a> 

然後,你可以設置一個規則與您啓動您的標記的條件「{{事件}}等於imagetracker」。

可能更好的方法是使用GTM的事件偵聽器標籤。有一個鏈接點擊事件監聽器標籤和一個通用的點擊監聽器標籤。由於你的鏈接目標不是一個有效的網址,我會選擇通用的點擊監聽器。因此,您需要設置類型點擊偵聽器的新標籤,並在所有頁面上觸發它。現在,如果單擊一個元素,事件宏將被賦予GTM單擊值。

事件監聽器還會自動填充自動事件變量,該變量包含單擊元素的各種屬性。這可以讓你訪問被點擊的元素id,雖然一個宏調用,有點不出所料,「元素ID」。

因此,您需要創建一個規則,其中「{{event}}等於gtmClick」AND「{{element id}}等於imagetracker」。如果鏈接被點擊,這將觸發標籤。

請注意,GTMs事件偵聽器標記失敗時,如果返回「false」以禁止標準行爲的元素上已有單擊事件。信息和解決方法是和Simo Ahavas博客(這幾乎是GTM相關的所有東西的去處)和解決方法。

相關問題