Sbjs cookies w WooCommerce przed zgodą: skąd są i co z nimi zrobić
czytaj więcej
Konsultant Google Ads albo agencja pisze Ci, że Tag Assistant, czyli narzędzie Google do sprawdzania, czy tagi na stronie działają, nie wykrywa Tag Managera na Twojej stronie. Od razu podsuwa też przyczynę: pewnie baner cookies blokuje skrypty.
Ostatnio rozwiązywałam dokładnie taką sprawę. Na stronie nie było żadnego banera, który mógłby cokolwiek blokować, tylko zdanie o cookies w stopce. Winne było… jedno słowo w kodzie Tag Managera.
Baner naprawdę potrafi zatrzymać Tag Managera, więc nie zbywaj tej diagnozy. Pokażę Ci, jak w przeglądarce sprawdzić, która przyczyna dotyczy Twojej strony, i co zrobić w każdym przypadku.
Spis treści
Czy baner cookies może zablokować Tag Managera?
Może. Pomoc Google do Tag Assistant mówi wprost, że narzędzia do zarządzania zgodami mogą blokować tagi Google (rozwiązywanie problemów w Tag Assistant). Czy zablokują też sam kontener, czyli paczkę wszystkich tagów, którą Tag Manager wczytuje na stronę, zależy od tego, jak wdrożono tryb zgody Google, czyli Consent Mode.
Consent Mode przekazuje tagom Google decyzję odwiedzającego z banera. Czym jest, opisaliśmy we wpisie Consent Mode v2 - czym jest i dlaczego bez niego tracisz dane w Google Ads i Analytics. Tu liczy się tylko to, że ma dwa tryby.
| Tryb Consent Mode | Tag Manager przed zgodą |
|---|---|
| Podstawowy | Nie ładuje się, czeka na zgodę |
| Zaawansowany | Ładuje się od razu, z odmową zgody |
W trybie podstawowym tagi Google nie ładują się, dopóki odwiedzający nie kliknie zgody w banerze. Gdy odmówi, nie ładują się wcale, a do Google nie trafiają żadne dane, nawet informacja o odmowie (opis trybów zgody w dokumentacji Google). Przewodnik Google po wdrożeniu tego trybu z Tag Managerem każe wczytać sam kontener dopiero wtedy, gdy użytkownik wyrazi zgodę (konfiguracja trybu podstawowego).
W trybie zaawansowanym tagi Google ładują się od razu po wejściu na stronę, z domyślnie odmówioną zgodą, i do czasu zgody wysyłają pomiary bez plików cookies. Kontener jest wtedy widoczny od pierwszej chwili.
Tak samo działa system zgód, który blokuje skrypty do kliknięcia zgody, jeśli kod Tag Managera jest na jego liście. Kontener ruszy wtedy dopiero po kliknięciu „Akceptuję”.
Baner może ukryć Tag Managera, ale tylko do chwili zgody. Jeśli po kliknięciu „Akceptuję” kontenera dalej nie ma, przyczyna leży gdzie indziej.
A gdy na stronie nie ma banera, tylko informacja o cookies w stopce, nie ma też niczego, co mogłoby blokować skrypty. Tak było w sprawie, od której zaczęłam. To, czy Google Analytics 4 (GA4) nie wysyła danych przed zgodą i co napisać o Tag Managerze w polityce cookies, opisałam osobno we wpisie Polityka cookies a Google Analytics i Tag Manager: test i poprawki.
Jak sprawdzić, czy Tag Manager w ogóle się ładuje?
Ta sama pomoc Google radzi sięgnąć po narzędzia deweloperskie przeglądarki (w Chrome otwiera je klawisz F12): sprawdzić, czy tag jest na stronie, czy ładuje się poprawnie i czy w jego kodzie nie ma błędów (pomoc Tag Assistant). Nie musisz umieć programować. Wystarczy Chrome i dwie karty w jego narzędziach.

Plik gtm.js to właściwy kontener z Twoimi tagami. Kod, który wklejasz na stronę, tylko go dociąga: w oryginalnym kodzie od Google widać adres googletagmanager.com/gtm.js?id= z identyfikatorem kontenera (instalacja kontenera w pomocy Tag Managera). Jeśli przeglądarka tego pliku nie pobrała, Tag Assistant nie ma czego wykryć.
Druga szybka próba: w Konsoli wpisz google_tag_manager i naciśnij Enter. Gdy kontener działa, zobaczysz obiekt z jego identyfikatorem. Komunikat „google_tag_manager is not defined” oznacza, że kontener nie wystartował.
Co oznacza wynik testu na karcie Sieć?
Możliwe są trzy wyniki, a każdy prowadzi w inne miejsce.
- check_circle
gtm.js pobiera się od razu
Kontener działa, a baner go nie blokuje. Wyłącz rozszerzenia przeglądarki, np. blokadę reklam, i połącz Tag Assistant jeszcze raz, tak radzi pomoc Google.
- cookie
gtm.js pojawia się dopiero po zgodzie
Kontener wstrzymuje baner albo tryb podstawowy Consent Mode. W sesji Tag Assistant najpierw kliknij zgodę w banerze, dopiero potem sprawdzaj tagi.
- error
gtm.js nie ma wcale, nawet po zgodzie
Baner nie jest winny. Zajrzyj w błędy na karcie Konsola i porównaj kod na stronie z oryginałem z panelu Tag Managera.
Jest jeszcze jedna możliwość: kontener celowo opóźniony, żeby strona szybciej się wczytywała. Wtedy gtm.js pojawia się na karcie Sieć dopiero po chwili. Co przy takim opóźnieniu musi ruszyć od razu, opisałam we wpisie Opóźnione ładowanie Tag Managera a zgody: co musi zostać od razu.
Błąd w kodzie Tag Managera: jedno słowo zatrzymuje kontener
W mojej sprawie konsola pokazywała błąd „d.element is not a function”, na karcie Sieć nie było pliku gtm.js, a obiektu kontenera w przeglądarce w ogóle nie było. Przyczyna siedziała w szóstej linii kodu wklejonego do strony.
| Było | j=d.element('script') |
| Po poprawce | j=d.createElement('script') |
Polecenie createElement każe przeglądarce dodać do strony nowy znacznik script, czyli element, który pobiera plik kontenera. Polecenia element przeglądarka nie zna, więc zgłasza błąd i przerywa cały skrypt. Kontener nie startuje ani przed zgodą, ani po niej.
Wystarczyła zamiana jednego słowa: po poprawce plik gtm.js zaczął się pobierać, błąd zniknął z konsoli, a kontener ruszył.
Na jakim etapie powstała ta literówka, nie wiem. Wiem tylko, że wklejony kod nie był wierną kopią z panelu, bo w oryginale od Google ten fragment wygląda tak: j=d.createElement(s). Wersja po poprawce działa tak samo jak oryginał, bo w kodzie Google litera s oznacza właśnie słowo 'script'. Najbezpieczniej i tak wkleić cały kod prosto z panelu.
Skąd wziąć poprawny kod Google Tag Managera?
Zawsze z panelu Tag Managera. Kliknij identyfikator kontenera (GTM-…) w górnym pasku obszaru roboczego, a zobaczysz dwa fragmenty kodu do wklejenia.
Google każe wkleić pierwszy fragment jak najwyżej w sekcji head (niewidoczny dla gości początek kodu strony), a drugi zaraz po otwierającym znaczniku body, od którego zaczyna się treść (instrukcja instalacji kontenera).
Kod przesłany mailem, w dokumencie albo przez kogoś trzeciego porównaj z tym z panelu, zanim wkleisz go na stronę. Każde przepisywanie i przeformatowanie to okazja do takiej zmiany jak w przykładzie wyżej. Bezpieczniej skopiować kod samemu, prosto z kontenera.
Po naprawie sprawdź, czy dane nie liczą się podwójnie
Gdy Tag Manager wreszcie ruszy, zobacz, co jeszcze jest wpięte w stronę. W mojej sprawie obok kontenera stały bezpośrednio w kodzie trzy tagi Google: dwa Google Analytics 4 i jeden Google Ads.
Pomoc Google Analytics mówi jasno: używaj albo tagu Google, albo Tag Managera, nie obu naraz, bo skończy się to m.in. zawyżonymi danymi (rozwiązywanie problemów z tagami GA4). Jeśli w kontenerze są te same tagi GA4 albo Ads, po jego uruchomieniu wizyty i konwersje policzą się dwa razy.
W źródle strony (Ctrl+U) wyszukaj gtag/js?id= i zapisz identyfikatory. Potem w Tag Managerze, w sekcji Tagi, zobacz, czy któryś tag nie używa tego samego identyfikatora. Jeśli tak, zostaw jedną drogę, a drugą usuń.
A jeśli kontener już działa, a w GA4 nadal nie widzisz kontaktów, przejdź listę z wpisu Wdrożenie GA4 przez Tag Manager: pusty raport kontaktów, co sprawdzić.
Najczęstsze pytania o Tag Assistant i Tag Managera
Czy Google Tag Assistant działa bez rozszerzenia do Chrome?+
Tak, sesję sprawdzania tagów (debugowania) otworzysz na stronie tagassistant.google.com. Google zaleca jednak rozszerzenie Tag Assistant do Chrome: wykrywa tag Google w ramkach (iframe), pozwala debugować wyskakujące okna i nowe karty, a okno debugowania otwiera w nowej karcie.
Czy przy Consent Mode w trybie zaawansowanym Tag Assistant zobaczy Tag Managera przed zgodą?+
Powinien. W tym trybie tagi Google ładują się od razu po wejściu na stronę, z domyślną odmową zgody. Jeśli kontenera mimo to nie widać, szukaj przyczyny w kodzie, w ustawieniach systemu zgód albo w rozszerzeniach przeglądarki.
Co zrobić, gdy gtm.js się pobiera, a Tag Assistant dalej nie łączy się ze stroną?+
Kliknij w Tag Assistant przycisk ponownego połączenia (Retry). Pomoc Google podaje, że tag mógł się wczytać później, niż Tag Assistant próbował połączyć się ze stroną. Może tak być na przykład przy kontenerze, który rusza z opóźnieniem albo dopiero po zgodzie.
Jeśli to nie pomoże, w Tag Assistant otwórz edycję adresu strony, który wpisałeś do sprawdzania, i odznacz przy nim opcję Include debug signal in the URL. Przy łączeniu Tag Assistant dopisuje do adresu strony dodatek _dbg, a według Google może on zakłócać działanie strony.
Czy blokada reklam może sprawić, że Tag Assistant nie widzi tagów?+
Może. Pomoc Google podaje, że tag Google bywa blokowany przez rozszerzenie przeglądarki, i radzi je wyłączyć przed ponownym połączeniem. Wśród przyczyn wymienia też zaporę sieciową, serwer proxy i politykę bezpieczeństwa treści (CSP), czyli ustawienie strony, które ogranicza, skąd wolno ładować skrypty.
Pamiętaj: najpierw karta Sieć, potem baner
Zanim zmienisz cokolwiek w ustawieniach zgód, sprawdź, kiedy pobiera się gtm.js: przed zgodą, dopiero po niej albo wcale. To jedno spojrzenie mówi, czy szukać w banerze, czy w kodzie.
Chcesz, żeby baner blokował skrypty do zgody, a Tag Manager i Consent Mode działały z nim bez niespodzianek? Zobacz nasz system zarządzania zgodami dla sklepów internetowych i napisz do nas, sprawdzimy Twoją stronę.


