2016-04-14 39 views
6

Konfiguruję Menedżera tagów Google na stronie klienta i mam problemy z wyświetlaniem tagów zdarzeń kliknięcia.Zdarzenie kliknięcia Menedżera tagów Google nie propaguje się do rodzica

Mam ustawiony zestaw wyzwalaczy na przycisk CSS przycisku.

Sam przycisk ma niektóre elementy podrzędne, w tym ikonę svg. Po kliknięciu svg kliknięcie jest rejestrowane w warstwie danych, ale tag nie jest uruchamiany. Tag uruchamia się tylko po wybraniu samego przycisku.

Próbowałem również usunąć detektory zdarzeń we własnych skryptach, które zostały dołączone do tych przycisków w przypadku, gdy blokowało je return false; lub e.stopPropagation(), ale to nic nie zmieniło.

Miałem zrozumienie, że Menedżer tagów Google nasłuchuje zdarzeń kliknięcia, które pojawiają się w dokumencie. Jeśli tak jest, mój tag powinien zostać uruchomiony, gdy dziecko zostanie kliknięte, prawda? Czy coś nie rozumiem?

Czy należy przekazywać zdarzenie do elementu dataLayer w moich skryptach, a nie używać wyzwalacza kliknięcia?

screenshots

10 gtm.click prawidłowo zwolniony tag

9 gtm.click był SVG dziecko, które nie

Ostatni zrzut ekranu jest regułą wypalania za spust.

+0

Jaki jest Twój cel rodzaj tag? Czy to jest kotwica, czy jest to div lub button, czy coś innego? Jak skonfigurowałeś wyzwalacz kliknięcia? Czy wystrzeliwuje wszystkie kliknięcia lub tylko linki? – nyuen

+0

Elementem docelowym jest element div. Spust kliknięć jest ustawiony dla wszystkich kliknięć, z filtrem "Kliknij element", aby dopasować selektor CSS. – alaskey

+2

OK Myślę, że znalazłem odpowiedź w ich [dokumentach] (https://support.google.com/analytics/answer/6164470?hl=pl). Muszę zmienić cel na kotwicę, a następnie zmienić spust na "Just Links". "Wszystkie elementy" będą wyświetlać informacje o potomnych, natomiast "Tylko linki" dostarczą mi informacji o macierzystym punkcie kontrolnym. – alaskey

Odpowiedz

5

Bardzo często spotykałem ten typ problemu. Zdarza się też z tagami <i> dla takich rzeczy jak gliffony. Po prostu dodaj CSS pointer-events:none; do tego SVG (chyba że potrzebujesz, aby SVG było klikalne, a nie tylko parentElement). Numer pointer-events:none w SVG oznacza, że ​​po kliknięciu zdarzenie click rejestruje się w elemencie nadrzędnym.

Najlepszym sposobem byłoby, aby programiści klienta dodali JS. tym bardziej hacky sposób byłoby uruchomić coś takiego w niestandardowym tagu HTML poprzez GTM

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

+0

Bardzo ładne. To właśnie sprawiło, że GTM bańka zdarzenie 'gtm.click' do bezpośredniego rodzica' 'mojego scenariusza' , który jest podobny do pakowania 'svg' etc '. – adi518