Strona główna / Poradniki

Śledzenie wewnątrz osadzonego widżetu

Widżet rezerwacji, krok płatności albo czat w iframe ma własny dataLayer. Dlaczego podgląd pokazuje jedno zdarzenie tam, gdzie log pokazuje dwa, i co naprawdę przekracza granicę.

· Autor: hsynkvlc

Iframe to osobny dokument. Ma własne window, własny dataLayer, prawdopodobnie własny kontener GTM i żadnego obowiązku mówienia czegokolwiek stronie nadrzędnej. Większość zamieszania ze śledzeniem widżetów rezerwacyjnych, kroków płatności i czatów bierze się z traktowania tej granicy tak, jakby jej nie było.

Co robi podgląd GTM na granicy

Podgląd podpina się do ramki, w której go otworzyłeś. Zdarzenia w innej ramce są albo niewidoczne, albo pojawiają się raz, choć wystąpiły dwa razy. To nie błąd podglądu, tylko zakres, jaki dostał. Oznacza to jednak, że „podgląd pokazał jedno page_view” nie jest dowodem, że wysłano tylko jedno.

Ta sama domena i inna domena to dwa różne problemy

Trzy awarie warte znajomości

  1. Konwersja dzieje się w cudzej usłudze. Widżet rezerwacji na domenie dostawcy uruchamia jego własne GA4. Zdarzenie istnieje — tylko nie na Twoim koncie. Zostaje Ci sesja urywająca się na widżecie i brak zakupu, co czyta się jak błąd śledzenia, a jest błędem architektury.
  2. Krok płatności to przebrany skok między domenami. Czy to iframe, czy przekierowanie, opuszczenie Twojej domeny bez linkera zaczyna nowy client ID. Odwiedzający wraca jako nowa osoba odesłana przez operatora płatności.
  3. Ten sam kontener w obu ramkach. Zainstaluj GTM w stronie nadrzędnej i jeszcze raz w iframe z tej samej domeny, a dostaniesz dwa page_view na jedną stronę. Sesje i zaangażowanie po cichu rosną, a podgląd — patrzący na jedną ramkę — pokazuje jedno, całkiem zdrowe zdarzenie.

Tag Master nasłuchuje w każdej ramce, nie tylko w najwyższej. Każdy push do dataLayer jest oznaczony ramką, z której przyszedł, i nazwą hosta iframe'a, a filtr „Main frame” pozwala je ukryć lub pokazać — i tak przypadek duplikatu przestaje być niewidoczny.

Jak to sprawdzić

  1. Wczytaj stronę z widżetem i policz zdarzenia page_view przy wyłączonym filtrze ramek. Więcej niż jedno oznacza kontener zainstalowany dwukrotnie.
  2. Wejdź w interakcję z widżetem. Jeśli w żadnej ramce nic się nie pojawia, widżet jest z innej domeny i milczy, a odpowiedzią jest rozmowa z dostawcą, nie reguła.
  3. Jeśli zdarzenia z iframe'a jednak przychodzą, sprawdź, jakie konto niosą — tid dla GA4, identyfikator piksela dla Mety. Własny identyfikator dostawcy oznacza, że dane idą do dostawcy.
  4. Po obu stronach granicy widżetu sprawdź cid tak samo jak przy każdym skoku między domenami.

Jeśli dostawca daje Ci postMessage

Wtedy wzorzec jest taki: widżet wysyła zdarzenie, listener w stronie nadrzędnej je odbiera i wypycha do dataLayer strony nadrzędnej, a Twoje tagi uruchamiają się stamtąd. Na dwie rzeczy trzeba nalegać. Sprawdzaj event.origin względem oczekiwanego hosta — listener przyjmujący wiadomości zewsząd chętnie przyjmie zdarzenie zakupu ze strony, której nie pisałeś. I zadbaj, by ładunek niósł identyfikator zamówienia, żeby zdarzenie dało się zdeduplikować z tym, co dostawca wysyła równolegle.

Powiązane poradniki

Sprawdź na własnej stronie

Tag Master jest darmowy, nie wymaga konta i nie zbiera żadnych danych.

Dodaj do Chrome — za darmo