Jak wdrożyć Consent Mode v2 w sklepie - kolejność kodu
Najczęstszy błąd techniczny to zła kolejność. Dokumentacja Google wymaga, by polecenie ustawiające domyślne zgody było wywołane na każdej stronie przed jakimkolwiek poleceniem pomiarowym, np. config lub event - w przeciwnym razie wartości domyślne nie zadziałają. Typowa kolejność to: kod domyślnych zgód, tag Google, a potem narzędzie do zarządzania zgodami, które po decyzji użytkownika wywołuje aktualizację (stan na maj 2026 - sprawdź aktualną dokumentację Google). Cały przebieg wygląda tak:
[#chart:wpr41b]
[#przyklad] Domyślne zgody w gtag.js, przed kodem tagu Google: gtag('consent', 'default', { 'ad_storage': 'denied', 'analytics_storage': 'denied', 'ad_user_data': 'denied', 'ad_personalization': 'denied', 'wait_for_update': 500 }); Po akceptacji w banerze: gtag('consent', 'update', { 'ad_storage': 'granted', 'analytics_storage': 'granted', 'ad_user_data': 'granted', 'ad_personalization': 'granted' });
Parametr wait_for_update określa w milisekundach, jak długo tagi mają czekać na aktualizację zgód z banera, zanim wyślą dane. Dokumentacja pozwala też ustawić domyślne zgody osobno dla regionów według kodów ISO 3166-2, np. tylko dla krajów UE. W zgodzie po akceptacji wysyłasz oczywiście tylko te typy, na które użytkownik się zgodził - jeśli zaakceptował analitykę, a odrzucił marketing, ad_storage, ad_user_data i ad_personalization pozostają na denied.
Kod domyślnych zgód musi być umieszczony w nagłówku strony, jak najwyżej, przed fragmentem kodu tagu Google lub kontenera GTM. W sklepach na platformach SaaS oznacza to zwykle edycję szablonu nagłówka albo skorzystanie z miejsca na własny kod, które platforma udostępnia w panelu. W sklepach z własnym kodem warto, by ten fragment generował szablon główny, a nie poszczególne podstrony, bo wtedy żadna strona - np. koszyk z innym układem albo strona podziękowania po płatności - nie zostanie pominięta.
Drugą sprawą jest zapamiętanie decyzji. Platforma zgód zapisuje wybór użytkownika, a przy kolejnych wizytach powinna odczytać go na tyle wcześnie, żeby aktualizacja zgód nastąpiła, zanim tagi wyślą pierwsze dane. Jeśli baner ładuje się wolno, tagi wyślą pierwsze zdarzenia z odmową, nawet gdy użytkownik wcześniej wszystko zaakceptował. Właśnie temu służy parametr wait_for_update, ale lepiej, gdy skrypt platformy zgód ładuje się szybko i nie jest blokowany przez inne skrypty.
Consent Mode v2 w Google Tag Manager
W Google Tag Manager każdy kontener internetowy ma regułę Consent Initialization - All Pages, przeznaczoną dla tagów ustawiających zgody, np. tagu platformy zgód. Według pomocy Google uruchamia się ona przed innymi regułami, także przed regułami Initialization. Przy aktualizacji zgód w GTM dokumentacja Google zaleca korzystanie z mechanizmów szablonów (updateConsentState) zamiast ręcznego wywołania gtag('consent', 'update') (stan na maj 2026 - sprawdź aktualną pomoc Google).
Consent Initialization - All Pages - reguła dla tagu banera lub szablonu ustawiającego domyślne zgody,
Wbudowane kontrole zgody - tagi Google same dostosowują działanie do stanu zgód,
Dodatkowe kontrole zgody - opcja wymagająca określonych zgód, zanim tag się uruchomi, przydatna dla tagów spoza Google,
Przegląd zgody - widok włączany w ustawieniach kontenera, który pokazuje ustawienia zgód wszystkich tagów.
Platformy zgód (CMP) często mają gotowe szablony GTM, które ustawiają domyślne zgody i je aktualizują. Nazwy i możliwości konkretnych narzędzi zmieniają się, dlatego przed wyborem sprawdź na stronie dostawcy, czy obsługuje Consent Mode v2 i parametry ad_user_data oraz ad_personalization. Zgody wpływają też na to, jak zamówienia są przypisywane do kanałów - piszemy o tym we wpisie atrybucja sprzedaży w sklepie - UTM, GA4 i własne raporty z API.
Pixel Meta a zgody cookies w sklepie
Pixel Meta nie korzysta z Consent Mode Google, ma własny mechanizm. Dokumentacja Meta dla deweloperów opisuje dwa polecenia: fbq('consent', 'revoke') wstrzymuje wysyłanie zdarzeń piksela do Meta, a fbq('consent', 'grant') je wznawia po wyrażeniu zgody. Polecenie revoke trzeba wywołać na każdej stronie, przed poleceniem init, a grant - dopiero gdy użytkownik zaakceptuje pliki cookie (stan na maj 2026 - sprawdź aktualną dokumentację Meta).
[#przyklad] Kolejność w kodzie piksela Meta: fbq('consent', 'revoke'); fbq('init', 'ID_PIKSELA'); fbq('track', 'PageView'); a w funkcji wywoływanej przez baner po zgodzie marketingowej: fbq('consent', 'grant');
Jeśli piksel jest wdrożony przez GTM, alternatywą jest uruchamianie tagu Meta dopiero po zgodzie, np. przez dodatkowe kontrole zgody na typie ad_storage. Ważne, by nie mieszać metod: piksel wklejony w szablon sklepu i drugi w GTM to podwójne zdarzenia i brak kontroli nad zgodą. Zgodność identyfikatorów produktów w pikselu z katalogiem opisujemy we wpisie feed produktowy dla Meta Ads i katalogu Facebook - wymagania techniczne.
Jak sprawdzić, czy Consent Mode v2 i pixel Meta działają poprawnie
Wdrożenie trzeba przetestować w trzech scenariuszach: przed decyzją, po odmowie i po akceptacji. Do testów przydają się tryb podglądu GTM, który pokazuje stan zgód przy każdym zdarzeniu, narzędzia deweloperskie przeglądarki z listą plików cookie i zapytań sieciowych oraz narzędzie Meta Pixel Helper do podglądu zdarzeń piksela. Najczęstsze problemy i poprawki:
[#chart:wpr41c]
Przed decyzją - w ciasteczkach nie ma reklamowych plików cookie, a stan zgód w podglądzie GTM to denied.
Po odmowie - stan pozostaje denied, piksel Meta nie wysyła zdarzeń.
Po akceptacji - stan zmienia się na granted dla zaakceptowanych typów, piksel wysyła PageView i kolejne zdarzenia.
Kolejna strona - zapisany wybór jest odczytywany od razu, bez ponownego pokazania banera.
Zmiana decyzji - użytkownik może wycofać zgodę, a tagi przestają zapisywać dane.
Zgody cookies a pozostałe tagi i utrzymanie wdrożenia
Sklep rzadko ma tylko tag Google i piksel Meta. Zwykle działają też narzędzia do mailingu, czatu, map ciepła, porównywarek cen czy programów partnerskich, a każde z nich może zapisywać pliki cookie. Consent Mode wpływa tylko na tagi Google, a polecenia consent piksela tylko na Meta. Pozostałe skrypty trzeba uruchamiać warunkowo, zgodnie z kategorią zgody, do której je przypisano - w GTM przez dodatkowe kontrole zgody, a w kodzie sklepu przez ładowanie skryptu dopiero po zgodzie. Dobrze jest mieć aktualną listę wszystkich skryptów na stronie z przypisaną kategorią zgody, bo to ona jest punktem wyjścia do konfiguracji banera.
Zgody to nie jest zadanie jednorazowe. Każda nowa wtyczka, aplikacja w sklepie czy nowy tag dodany przez agencję może ominąć baner, jeśli ktoś wklei kod bezpośrednio w szablon. Dlatego warto przyjąć zasadę, że wszystkie tagi marketingowe trafiają do GTM, a zmiany w kontenerze są opisane i testowane w trybie podglądu przed publikacją. Raz na kwartał przydaje się przegląd: lista plików cookie po wejściu na stronę bez zgody, widok przeglądu zgody w GTM i porównanie liczby konwersji przed zmianą i po niej. Po aktualizacji platformy sklepu albo motywu dobrze jest powtórzyć test trzech scenariuszy, bo zmiana w nagłówku strony potrafi przesunąć kod domyślnych zgód za tag Google i po cichu zepsuć całe wdrożenie.
[#checklista] Consent Mode v2 i pixel Meta w sklepie: domyślne zgody denied przed tagiem Google; cztery typy zgód, w tym ad_user_data i ad_personalization; aktualizacja zgód po decyzji w banerze; reguła Consent Initialization dla CMP w GTM; fbq('consent', 'revoke') przed init piksela na każdej stronie; grant tylko po zgodzie marketingowej; brak podwójnego piksela; testy trzech scenariuszy w podglądzie GTM.
Jak Vinson pomaga z Consent Mode v2 i pikselem Meta
Zapewniamy wsparcie programistyczne dla sklepów i sprzedawców: integracje, automatyzacje, poprawki i rozwój sklepów oraz narzędzi. Przy zgodach cookies sprawdzamy, w jakiej kolejności ładują się baner, tagi Google i piksel Meta, wdrażamy Consent Mode v2 w kodzie sklepu lub GTM, porządkujemy zdublowane tagi i testujemy wszystkie scenariusze zgód. Jako Google Partner i Meta Business Partner dbamy, by pomiar po zmianach nadal zasilał kampanie. Treść banera i polityki prywatności zostawiamy prawnikowi. Szczegóły znajdziesz na stronie Wsparcie programistyczne dla e-commerce.
Najczęściej zadawane pytania
Czym jest Consent Mode v2?
Consent Mode v2 to mechanizm Google, który przekazuje tagom informację o zgodach użytkownika w czterech typach: ad_storage, analytics_storage, ad_user_data i ad_personalization. Tagi Google dostosowują swoje działanie do tych zgód. Wersja druga dodała ad_user_data i ad_personalization, związane z wykorzystaniem danych w reklamach i personalizacją.
Czy Consent Mode v2 jest obowiązkowy w sklepie?
Według pomocy Google, aby korzystać z pomiaru, personalizacji i remarketingu w odniesieniu do użytkowników z EOG, trzeba zbierać ich zgody i przekazywać sygnały zgód do Google. Bez parametrów wersji drugiej reklamodawca traci m.in. możliwość budowania list remarketingowych. O obowiązkach prawnych wynikających z RODO warto porozmawiać z prawnikiem.
Czym różni się podstawowy i zaawansowany Consent Mode?
W trybie podstawowym tagi Google są zablokowane, dopóki użytkownik nie wybierze opcji w banerze, a przy odmowie do Google nie trafiają żadne dane. W trybie zaawansowanym tagi ładują się od razu i przy odmowie wysyłają pomiary bez plików cookie, co pozwala na dokładniejsze modelowanie konwersji. Wybór trybu warto uzgodnić z prawnikiem i polityką firmy.
Jak zablokować pixel Meta do czasu zgody?
Meta zaleca wywołanie fbq('consent', 'revoke') na każdej stronie przed fbq('init'), co wstrzymuje wysyłanie zdarzeń. Po wyrażeniu zgody baner powinien wywołać fbq('consent', 'grant'). Alternatywnie w GTM można uruchamiać tag piksela dopiero po zgodzie marketingowej.
Dlaczego po wdrożeniu zgód spadła liczba konwersji?
Część użytkowników odmawia zgody, więc tagi rejestrują mniej zdarzeń z plikami cookie - to oczekiwany efekt. Duży spadek może jednak oznaczać błąd, np. aktualizację zgód, która nie dociera do tagów, albo zablokowanie tagów nawet po akceptacji. Warto przetestować scenariusz akceptacji w trybie podglądu GTM.
Poprawne wdrożenie Consent Mode v2 i piksela Meta pozwala szanować wybór klientów i zachować możliwie pełny pomiar dla kampanii. Jeśli chcesz sprawdzić lub wdrożyć zgody cookies w swoim sklepie, zobacz wsparcie programistyczne Vinson.