Jedno kliknięcie, trzy pushe: wybór właściwego zdarzenia dataLayer
Dodanie do koszyka rzadko wywołuje jedno zdarzenie. Co naprawdę wypycha sklep, którego z nich ma słuchać reguła i cztery rodzaje pusha, które nigdy nie są odpowiedzią.
Instrukcja brzmi prosto: kliknij dodaj do koszyka, zobacz, co strona wypycha, zbuduj na tym regułę. Potem robisz to na prawdziwym sklepie i w pół sekundy przychodzą trzy rzeczy, a chodzi Ci tylko o jedną.
Jedna akcja to nie jeden push
Sklep na motywie zwykle wywołuje najpierw własne zdarzenie przycisku, a chwilę później to analityczne.
Karta produktu potrafi wypchnąć select_item, a zaraz po nim view_item. Widżet
koszyka dokłada jeszcze swoje cart_updated.
Wzięcie pierwszego pusha to uczciwa odpowiedź na pytanie „co zrobiło to kliknięcie" i zła odpowiedź na pytanie „czego ma słuchać moja reguła". Przydatne jest więc nie wybieranie jednego, tylko zachowanie tych, które przyjdą w kolejnych sekundach, i pozostawienie wyboru. Dwunastosekundowe okno i kilku kandydatów obejmuje jedno kliknięcie; dłuższe zaczyna łapać następną rzecz, którą zrobiłeś.
Pick Event w Tag Master robi dokładnie to: uzbrój, wykonaj akcję na stronie, a on pokaże złapane zdarzenie obok innych pushy wywołanych tą samą akcją — po czym zamieni Twój wybór w nazwę reguły Custom Event i listę zmiennych Data Layer do utworzenia.
Cztery rodzaje pusha, które nigdy nie są odpowiedzią
Cokolwiek obserwuje dataLayer, musi je ignorować — inaczej z pełnym przekonaniem złapie nie to, co trzeba:
- Zdarzenia cyklu życia kontenera.
gtm.js,gtm.dom,gtm.loadi spółka pojawiają się przy każdym wczytaniu strony. To kontener rozmawiający sam ze sobą i wygrywa każdy wyścig z prawdziwą interakcją. - Pushe bez nazwy zdarzenia. Push niosący same dane przygotowuje wartości dla późniejszego zdarzenia. Wydarzył się, ale nie jest czymś, co spotkało odwiedzającego.
- Reset ecommerce. Zalecany wzorzec to wypchnięcie
{ ecommerce: null }tuż przed każdym zdarzeniem e-commerce, żeby wyczyścić poprzednie. Poprzedza więc każdy zakup i każde dodanie do koszyka — cokolwiek bierze push następujący po Twoim kliknięciu, łapie czyszczenie zamiast samej rzeczy. - Wywołania konfiguracyjne gtag.
gtag('js', new Date()),gtag('config', 'G-…')igtag('set', …)trafiają do dataLayer. Potraktuj je jak zdarzenia, a skończysz z propozycją reguły Custom Event o nazwiejs— takiej, która celowo nigdy się nie uruchomi.
Pułapka nazewnicza w gtag
Strona używająca gtag('event', 'add_to_cart', {…}) wpisuje w pole zdarzenia dataLayer ciąg
event, bo to jest komenda gtag. Nazwa, o którą naprawdę chodzi —
add_to_cart — jest drugim argumentem.
Czytając surowe pole, każda strona oparta na gtag wygląda, jakby wywoływała jedno zdarzenie o nazwie
„event". Warto o tym wiedzieć nawet przy ręcznym sprawdzaniu: jeśli dataLayer w konsoli pokazuje
event: "event", patrz na argumenty, nie na klucz.
Które parametry brać
Gdy masz już właściwy push, pytanie brzmi, które z jego pól staną się zmiennymi. Dwie zasady załatwiają większość myślenia:
- Pieniądze są chciane prawie zawsze: wartość, waluta, identyfikator transakcji. Rozsądne jako domyślnie zaznaczone i łatwe do odznaczenia.
- Tylko na najwyższym poziomie.
ecommerce.valueto zamówienie.ecommerce.items.0.priceto cena pierwszej pozycji, a to nie to samo i rzadko jest tym, co tag konwersji powinien wysyłać.
A jeśli przełączysz się na innego kandydata, porzuć zaznaczenia. Opisywały kształt tamtego zdarzenia; przeniesione, nazywają ścieżki, których nowe nie ma.
Zachowaj je, potem wyeksportuj raz
Wybranie jednego zdarzenia rzadko jest całą robotą. Lejek to cztery, pięć zdarzeń, a przejście go raz z zachowaniem każdego złapanego bije wracanie po nie pojedynczo — zachowany zestaw zostaje, gdy przechodzisz na kolejną stronę.
Na końcu wychodzi jeden plik JSON i warto dokładnie powiedzieć, jaki. To eksport kontenera GTM, a nie zrzut Twoich zdarzeń: zmienna Data Layer na każdą ścieżkę, reguła Custom Event na każde zdarzenie i podpięty do nich tag. Importujesz go do GTM, nie z powrotem do rozszerzenia — nie da się wczytać tego pliku, żeby odtworzyć sesję. Co ten plik musi zawierać to osobny poradnik, razem z dwoma polami, przez które GTM odrzuca cały import.
Procedura
- Uzbrój picker przed interakcją, nie po. Inaczej push, o który Ci chodzi, już się wydarzył.
- Zrób jedną rzecz. Jedno kliknięcie i stop, żeby lista kandydatów opisywała to kliknięcie, a nie trzy.
- Przeczytaj alternatywy, zanim zaakceptujesz złapane zdarzenie. Jeśli pierwsze jest własnym zdarzeniem motywu, to zwykle chodzi o następne.
- Porównaj nazwę zdarzenia z tym, czego będzie słuchał tag — łącznie z wielkością liter, bo dla GTM to inne zdarzenie.
- Powtórz przez cały lejek, zachowując każde, zanim w ogóle zbliżysz się do kontenera.
Powiązane poradniki
- Jak debugować server-side GTM
- Debugowanie Consent Mode V2: gcs, gcd i naruszenia, których nikt nie łapie
- Alternatywa dla Tag Assistant w 2026
Sprawdź na własnej stronie
Tag Master jest darmowy, nie wymaga konta i nie zbiera żadnych danych.
Dodaj do Chrome — za darmo