0

GTM啓動並運行,主要UA標籤與ClickListener標籤一起存在。GTM減少標籤數量

爲了減少宏的數量,我使用dataLayer變量宏進行事件類別,動作,標籤,值&的交互,所以它們可以用於很多規則和標籤。

所以我想從一個鏈接/按鈕收集數據(添加到收藏),我添加了一個規則來監聽點擊使用{{事件}}等於gtm.click和{{事件標籤}}等於Add_to_Fav(我通過onclick將標籤推送到DL

目前爲止還不錯,但我需要創建另一個UA標籤(Track Type - event),這個標籤觸發了以前制定的規則,這是我的問題,使用這種方法似乎創建了許多標籤,如果我有另外20個鏈接想要從中收集數據,是否需要繼續創建這樣的標籤?當然,這會影響頁面加載速度,並且會在所有頁面上觸發多個標籤。希望大家都清楚。

+1

要澄清,您正在尋找一種方法來動態設置事件標籤,因爲這是鏈接跟蹤中唯一發生變化的部分? –

+0

嗨艾克,我的推理是否正確?我是否必須爲每個點擊事件創建標籤和規則? – Ninjasys

+0

不,請參閱下面的答案。 –

回答

2

如果您需要檢索鏈接文本以將其用作事件標籤,則不需要太多的事件跟蹤標籤,這可能會非常冗長。相反,您可以使用自定義JavaScript宏 - 對他們來說很酷的是您可以使用自定義函數中的現有宏。

如果您創建點擊偵聽器或鏈接點擊偵聽器,則會創建幾個宏 - 其中一個是{{element}},它是接收點擊的DOM元素。

現在您創建一個類型爲「自定義Java腳本」的宏,該宏必須包含具有返回值的匿名函數。

功能的準系統版本檢索點擊鏈接的文本將

function() { 
var el = {{element}}; 
return el.innerText; 
} 

(其實你不需要變量分配新建分配FY,你可以使用{{元素}}。innerText屬性直接)。

您將該宏命名爲Linktext,並在您的單個事件跟蹤代碼中使用宏{{Linktext}},並將其動態設置爲點擊鏈接文本的值(儘管您可能想要檢查跨瀏覽器對innerText的支持,或者可以使用innerHTML代替它在你的使用案例中服務可能是相同的目的)。

+0

Great Eike,這是有道理的,並減少所需標籤的數量。一旦創建宏(下面),我是否需要創建一個將文本傳遞給GA的標記? function(){ return {{element}}。innerText; } – Ninjasys

+0

也許我失去了一些東西,它的所有設置,但沒有什麼是在調試模式下通過新標籤傳遞。我將{{Linktext}}作爲事件標籤並在我之前的回答中使用自定義Javascropt宏。有什麼想法嗎?? – Ninjasys

+0

我測試了這個,所以我很確定它的工作原理(但是,您應該也許不接受答案,直到這對你有用)。該宏應該使用Google Analytics(分析)事件跟蹤標記進入事件標籤字段(它本身不會跟蹤任何內容,它只是在那裏動態設置事件標籤,因此您不需要使用許多事件跟蹤標記)。 –