2016-04-14 45 views
6

我正在客戶端的網站上設置Google跟蹤代碼管理器,並且無法獲取點擊事件代碼。Google跟蹤代碼管理器單擊事件不會冒泡到家長

我將觸發器設置爲觸發按鈕的CSS選擇器。

該按鈕本身有一些子元素,包括svg圖標。點擊svg時,點擊會在數據層註冊,但標籤不會被觸發。標籤只有在我選擇按鈕時纔會觸發。

我也嘗試在我自己的腳本中刪除事件監聽器,這些腳本被連接到這些按鈕,以防return false;e.stopPropagation()阻止它,但這並沒有改變任何內容。

我瞭解GTM會監聽點擊事件,並將它們吸引到文檔中。如果是這種情況,我的標籤應該在點擊兒童時觸發,對嗎?或者我誤解了一些東西?

或者,我應該將事件推送到腳本中的dataLayer而不是使用單擊觸發器嗎?

screenshots

10 gtm.click正確解僱標籤

9 gtm.click是孩子SVG未

最後的屏幕截圖是我的觸發器觸發規則。

+0

什麼是你的目標標籤類型運行在自定義HTML標籤這樣的事情?它是一個錨,還是它是一個div或按鈕或別的東西?你如何配置點擊觸發器?它是否觸發所有點擊或只是鏈接? – nyuen

+0

目標元素是一個div。點擊觸發器爲所有點擊設置,具有「點擊元素」過濾器以匹配CSS選擇器。 – alaskey

+2

好的我認爲我在[文檔](https://support.google.com/analytics/answer/6164470?hl=zh-CN)中找到了答案。我需要將目標更改爲錨點,然後將觸發器更改爲「Just Links」。 「所有元素」會冒充兒童信息,而「Just Links」會給我父錨信息。 – alaskey

回答

5

我遇到過這類問題很多。它與<i>標籤一樣也出現在glyphicons等標籤中。只需將CSS pointer-events:none;添加到該SVG(除非您要求SVG是可點擊的而不僅僅是parentElement)。 SVG上的pointer-events:none將意味着當它被單擊時,單擊事件將在父元素上註冊。

最好的方法是讓客戶端開發人員添加JS。更哈克的方式是通過GTM

jQuery('a.link-youre-tracking svg').css('pointer-events','none)

+0

非常好。這就是GTM將其'gtm.click'事件冒泡到我的'''場景的直接父'',這與包裝'svg'等類似。 – adi518

相關問題