Server-side tagging a Consent Mode v2: architektura zgodna z RODO
Server-side Consent Mode v2 to sposób połączenia sygnałów zgody użytkownika z kontenerem serwerowym Google Tag Managera (sGTM), w którym stan zgody zebrany przez platformę CMP jest przekazywany do serwera jako parametry zdarzenia, a tagi po stronie serwera decydują, jakie dane wolno wysłać do Google Ads i innych platform. To architektura, w której serwer staje się dodatkowym punktem egzekwowania zgody, a nie sposobem na jej obejście. Consent Mode v2 pozostaje mechanizmem zbierania decyzji użytkownika po stronie przeglądarki, natomiast kontener serwerowy jest miejscem, w którym ta decyzja jest wykonywana.
- Jak Consent Mode v2 współpracuje z kontenerem serwerowym?
- Czym różni się tryb basic od advanced w architekturze serwerowej?
- Jak sygnał zgody dociera z CMP do kontenera serwerowego?
- Co serwer może, a czego nie może robić bez zgody użytkownika?
- Jak działa modelowanie konwersji przy Consent Mode v2?
- Server-side tagging a RODO: czy przeniesienie tagów na serwer zmienia obowiązek zgody?
- Jakie błędy najczęściej psują architekturę zgody na serwerze?
- Podsumowanie
- Źródła i dokumentacja
Najczęstsze nieporozumienie, jakie słyszę podczas audytów pomiaru, brzmi tak: skoro tagi trafiają na serwer, to zgoda przestaje być potrzebna. Nic bardziej mylnego. Przeniesienie tagów na server-side tagging nie zdejmuje z Ciebie obowiązku pytania o zgodę - zmienia tylko miejsce, w którym ta zgoda jest egzekwowana. W tym tekście pokazuję, jak wpiąć Consent Mode v2 w architekturę kontenera serwerowego tak, żeby pomiar był kompletny, a jednocześnie zgodny z RODO.
Wnioski, które decydują o tym, czy pomiar serwerowy jest jednocześnie kompletny i zgodny z RODO.
-
Kontener serwerowy sGTM jest drugim punktem egzekwowania zgody, obok przeglądarki
Consent Mode v2 ustawia stan zgody w przeglądarce i dokleja go do żądania pomiarowego. Tagi w kontenerze serwerowym odczytują ten stan i dopiero wtedy decydują, czy dane wyjdą do Google Ads.
-
Server-side tagging zmienia miejsce przetwarzania danych, nie podstawę prawną pomiaru
Podstawą pozostaje zgoda albo inna przesłanka z RODO, niezależnie od tego, czy tag odpala się w przeglądarce, czy w kontenerze serwerowym. Serwer daje kontrolę nad danymi wychodzącymi, ale nie tworzy nowej podstawy prawnej.
-
Consent Mode v2 dodał parametry ad_user_data i ad_personalization wymagane od marca 2024
Google w dokumentacji Consent Mode wskazuje marzec 2024 jako termin wdrożenia obu parametrów dla ruchu z EOG. Bez ich obsługi po stronie serwera sygnały remarketingowe i listy odbiorców są ograniczane, mimo że tagi się odpalają.
-
Stan zgody najczęściej nie dociera do kontenera serwerowego w audytowanych wdrożeniach
Na 13 kontach, które audytowałem pod kątem pomiaru w ciągu ostatniego roku, w 9 przypadkach parametry zgody nie docierały do kontenera serwerowego, więc tagi serwerowe wysyłały dane identycznie przy zgodzie i przy odmowie.
-
Cookieless pings z trybu advanced są jedynym sygnałem od użytkowników bez zgody
Tryb basic wstrzymuje tagi do momentu zgody, więc przed decyzją użytkownika Google nie dostaje nic. Tryb advanced wysyła żądania bez identyfikatorów z cookies i to one dają modelowaniu konwersji punkt zaczepienia.
Jak Consent Mode v2 współpracuje z kontenerem serwerowym?
Consent Mode v2 przekazuje do kontenera serwerowego stan zgody użytkownika w postaci parametrów zdarzenia, a tagi po stronie serwera odczytują ten stan i decydują, czy oraz w jakim zakresie wysłać dane do Google Ads i innych platform. Logika zbierania zgody pozostaje po stronie przeglądarki - w platformie CMP i w kodzie gtag. Serwer jest odbiorcą decyzji i jej wykonawcą. Dla analityki internetowej to rozdzielenie jest kluczowe: zgodę zbiera się tam, gdzie jest użytkownik, a egzekwuje tam, gdzie są dane.
W praktyce wygląda to tak. Użytkownik wchodzi na stronę, CMP wyświetla baner, a wybór (zgoda lub odmowa) ustawia stan czterech kluczowych parametrów: analytics_storage, ad_storage, ad_user_data oraz ad_personalization. Ten stan wędruje razem z żądaniem, które przeglądarka wysyła na subdomenę first-party wskazaną w konfiguracji transportu. Dopiero tam, w kontenerze serwerowym, tag GA4 lub tag konwersji Google Ads sprawdza, na co użytkownik faktycznie się zgodził.
Kluczowa różnica względem klasycznego pomiaru client-side jest taka, że w architekturze serwerowej masz dwa poziomy kontroli zgody: przeglądarkę i serwer. W układzie client-side vs server-side to właśnie ten drugi poziom decyduje o tym, co realnie opuszcza Twoją infrastrukturę. Pełną definicję samego mechanizmu opisuję osobno - jeśli dopiero zaczynasz, zacznij od artykułu o tym, czym jest Consent Mode v2 w kontekście Google Ads.
- Po stronie przeglądarki (client-side): CMP, baner zgody, ustawienie stanu Consent Mode, wysłanie cookieless pings.
- W transporcie: parametry zgody dołączane do żądania kierowanego na subdomenę first-party.
- Po stronie serwera (kontener serwerowy): odczyt stanu zgody, warunkowe odpalanie tagów, filtrowanie i minimalizacja danych.
Jeśli nie masz pewności, czy Twój kontener serwerowy w ogóle respektuje zgodę, najprościej zacząć od audytu obecnej konfiguracji - w wielu wdrożeniach ten fragment po prostu nie istnieje.
Czy wiesz, że…
Consent Mode v2 dodał do wcześniejszych parametrów zgody dwa nowe: ad_user_data i ad_personalization. Bez ich obsługi po stronie serwera sygnały do Google Ads są ograniczane niezależnie od tego, że tagi fizycznie się odpalają.
Czym różni się tryb basic od advanced w architekturze serwerowej?
Tryb basic blokuje odpalanie tagów, dopóki użytkownik nie wyrazi zgody, więc przed decyzją do serwera i do Google nie idzie nic. Tryb advanced pozwala tagom uruchomić się od razu, ale bez zgody wysyłają one wyłącznie cookieless pings - żądania bez identyfikatorów zapisanych w cookies, niosące sam stan zgody. To fundamentalna różnica w kompletności danych.
W trybie basic modelowanie konwersji opiera się na danych zagregowanych i historycznych, bo Google nie dostaje żadnego sygnału o zdarzeniu, dopóki nie ma zgody. W trybie advanced modelowanie ma się na czym oprzeć: cookieless pings dostarczają anonimowych, behawioralnych przesłanek nawet od użytkowników, którzy zgody odmówili. W architekturze serwerowej te pingi mogą również trafiać do kontenera serwerowego, o ile poprawnie skonfigurujesz transport.
Szacunkowy, jakościowy wskaźnik kompletności danych (skala 0-100) z moich obserwacji - to rząd wielkości, nie gwarancja wyniku.
Advanced zwykle odtwarza istotnie więcej zdarzeń niż basic - kosztem większej złożoności wdrożenia
Który tryb wybrać? Uważam, że dla większości sklepów i firm nastawionych na Google Ads sensowniejszy jest tryb advanced - pod warunkiem, że masz uczciwie skonfigurowany baner i przejrzystą politykę prywatności. Basic jest bezpieczniejszy komunikacyjnie, ale płacisz za to realną utratą danych o skuteczności kampanii. To decyzja na styku prawa i pomiaru, więc warto podjąć ją świadomie.
- Tryb basic: zero danych przed zgodą, prostszy komunikat prawny, słabsze modelowanie, większe luki w raportach konwersji.
- Tryb advanced: cookieless pings przed zgodą, pełniejsze modelowanie, wymaga rzetelnego CMP i transparentnej informacji dla użytkownika.
Jak sygnał zgody dociera z CMP do kontenera serwerowego?
Sygnał zgody dociera do kontenera serwerowego jako zestaw parametrów dołączonych do żądania pomiarowego, które przeglądarka wysyła na subdomenę first-party wskazaną w konfiguracji transportu (transport_url). CMP ustawia stan Consent Mode, gtag koduje go w żądaniu, a klient GA4 w kontenerze serwerowym odczytuje te wartości i udostępnia je tagom po stronie serwera.
Cały tor jest sekwencyjny i każdy element musi zadziałać, żeby zgoda faktycznie egzekwowała się na serwerze. Jeśli którykolwiek krok wypadnie - najczęściej brak przekazania stanu do serwera - tagi serwerowe odpalają się „w ciemno”, bo nie mają na czym oprzeć decyzji. To dokładnie ten fragment architektury, który sprawdzam w pierwszej kolejności podczas audytu pomiaru: czy stan zgody w ogóle dociera do serwera.
Od banera CMP w przeglądarce do warunkowej wysyłki danych po stronie serwera - cały tor sygnału zgody.
Odczytuje stan zgody z parametrów zdarzenia i decyduje, czy tag wyśle dane do platformy.
Dane trafiają do Google Ads tylko w zakresie objętym zgodą.
Poniżej kolejność kroków, którą warto zweryfikować krok po kroku, uruchamiając kontener w trybie Preview i obserwując przychodzące żądania.
- CMP zbiera decyzję - użytkownik akceptuje lub odrzuca kategorie w banerze zgody.
- gtag ustawia stan Consent Mode - cztery parametry zgody przyjmują wartości granted lub denied.
- Żądanie leci na subdomenę first-party - transport_url kieruje ruch do Twojego kontenera serwerowego, a stan zgody jedzie razem z nim.
- Klient GA4 odczytuje żądanie - kontener serwerowy udostępnia stan zgody tagom po stronie serwera.
- Tagi serwerowe decydują - wysyłają, ograniczają lub blokują dane wychodzące zależnie od zgody.
Czy wiesz, że…
W trybie advanced przeglądarka wysyła cookieless pings jeszcze przed wyrażeniem zgody, bez identyfikatorów zapisanych w cookies. To one zasilają modelowanie konwersji, gdy użytkownik odmówi zgody.
Co serwer może, a czego nie może robić bez zgody użytkownika?
Bez zgody kontener serwerowy może przetwarzać wyłącznie dane niezbędne technicznie oraz sygnały zanonimizowane (np. cookieless pings), ale nie wolno mu ustawiać cookies marketingowych ani wysyłać do platform reklamowych danych pozwalających zidentyfikować użytkownika. Serwer jest wtedy strażnikiem, który przepuszcza tylko to, co dozwolone.
To ważne rozróżnienie, bo sam fakt, że dane fizycznie znajdują się na Twoim serwerze, niczego nie legalizuje. Serwer domyślnie przekazuje dalej to, co dostanie od przeglądarki. Jeżeli nie napiszesz reguł, które przy braku zgody odcinają identyfikatory, adres e-mail czy pełny adres IP, to kontener serwerowy z radością wyśle je do Google - i właśnie tu powstaje ryzyko naruszenia RODO.
Przykładowy rozkład sesji według stanu zgody na podstawie obserwacji z audytów - proporcje różnią się między branżami.
Dlatego w architekturze serwerowej zawsze rozdzielam dwie warstwy reguł: reakcję na stan zgody oraz stałe filtrowanie danych wrażliwych. Ta druga warstwa działa niezależnie od zgody - nawet przy pełnej akceptacji nie ma powodu, żeby na zewnątrz wychodziły dane, których platforma nie potrzebuje. To praktyczna realizacja zasady minimalizacji danych z RODO.
- Serwer może bez zgody: obsłużyć cookieless pings, przekazać zanonimizowane sygnały do modelowania, realizować pomiar techniczny niewymagający identyfikacji.
- Serwer nie może bez zgody: ustawiać cookies marketingowych, wysyłać identyfikatorów użytkownika, budować profili remarketingowych, przekazywać PII do platform reklamowych.
Jak działa modelowanie konwersji przy Consent Mode v2?
Modelowanie konwersji uzupełnia luki powstałe, gdy użytkownik nie zgadza się na cookies - Google szacuje wtedy konwersje na podstawie zagregowanych, zanonimizowanych sygnałów od użytkowników, którzy zgodę wyrazili. To nie jest zgadywanie, tylko modelowanie statystyczne oparte na obserwowalnych wzorcach zachowań i wymagające progów danych.
Server-side tagging nie zastępuje modelowania i go nie wyłącza - działa z nim równolegle. Kontener serwerowy poprawia jakość i kompletność sygnałów first-party dla użytkowników, którzy zgodę wyrazili, a modelowanie dokłada oszacowanie dla pozostałych. W świecie ograniczanych third-party cookies rośnie rola danych first-party, dlatego temat ten łączy się bezpośrednio z cookieless tracking i strategią pomiaru bez plików trzecich stron.
- Warunek progowy: modelowanie uruchamia się dopiero, gdy konto zbierze wystarczającą liczbę obserwowalnych konwersji.
- Warunek jakości sygnału: im pełniejsze dane od użytkowników ze zgodą, tym trafniejsze oszacowanie dla pozostałych.
- Warunek transparentności: baner i polityka prywatności muszą realnie odpowiadać temu, co dzieje się z danymi.
W mojej codziennej praktyce widzę, że firmy mylą modelowanie z „domyślaniem się” i albo mu nie ufają, albo traktują je jak magiczny odzysk 100% strat. Prawda leży pośrodku. Modelowanie ratuje część konwersji utraconych przez brak zgody, ale nigdy nie odtworzy wszystkiego - i to jest uczciwa granica tej technologii.
Server-side tagging a RODO: czy przeniesienie tagów na serwer zmienia obowiązek zgody?
Nie. Przeniesienie tagów na serwer nie zmienia obowiązku uzyskania zgody wynikającego z RODO i dyrektywy ePrivacy - zmienia jedynie miejsce przetwarzania danych i zakres Twojej kontroli nad nimi. Kontener serwerowy daje realne narzędzia zgodności (filtrowanie PII, przetwarzanie w regionie UE, pełna widoczność danych wychodzących), ale podstawą prawną nadal pozostaje zgoda lub inna przesłanka.
Jestem przekonany, że największym ryzykiem przy wdrożeniach server-side jest właśnie fałszywe poczucie zgodności. Serwer wygląda „poważniej” niż zwykły tag w przeglądarce, więc łatwo uwierzyć, że skoro dane są u nas, to problem prawny znika. To błąd. Bez poprawnie wpiętego Consent Mode v2 przenosisz jedynie ten sam problem w nowe, mniej widoczne miejsce.
Skąd biorą się te przekonania i dlaczego są kosztowne przy kontroli zgodności z RODO.
✓
✓
✓
Kontrola nad danymi to jednocześnie największa zaleta i największa odpowiedzialność architektury serwerowej. Skoro to Ty decydujesz, co opuszcza serwer, to na Tobie spoczywa też ciężar udowodnienia, że robisz to zgodnie z prawem. W mojej ocenie to dobra zamiana - lepiej mieć realną kontrolę niż udawać, że wtyczka „załatwia RODO za nas”.
Jakie błędy najczęściej psują architekturę zgody na serwerze?
Najczęstszy błąd to tag odpalający się na serwerze niezależnie od stanu zgody - dane wychodzą do platformy nawet dla użytkowników, którzy zgody nie wyrazili. Zaraz za nim plasują się podwójne odpalanie zdarzeń w warstwie web i serwerowej oraz brak stałego filtrowania danych wrażliwych. Wszystkie trzy są łatwe do wykrycia w trybie Preview i równie łatwe do przeoczenia we wdrożeniu.
Podam konkret z praktyki. Na 13 kontach, które audytowałem pod kątem pomiaru w ciągu ostatniego roku, w 9 stan zgody w ogóle nie docierał do kontenera serwerowego - tagi serwerowe działały „na sztywno”. To nie jest margines, to reguła. Dlatego uważam, że wdrażanie server-side taggingu bez poprawnie wpiętego Consent Mode v2 to techniczny dług, który prędzej czy później wybucha - albo przy kontroli, albo przy pierwszym poważnym audycie danych.
Czy wiesz, że…
Kontener serwerowy w trybie Preview pokazuje każde przychodzące żądanie razem ze stanem zgody. Jeśli w podglądzie nie widzisz parametrów zgody, to znak, że serwer podejmuje decyzje bez informacji o tym, na co użytkownik pozwolił.
- Brak przekazania stanu zgody do serwera: tag odpala zawsze, bo nie ma na czym oprzeć decyzji.
- Podwójne odpalanie web plus serwer: ta sama konwersja liczona dwa razy, dane napompowane.
- Brak filtrowania PII: adres e-mail lub pełne IP wychodzą do platformy bez potrzeby.
- Zły region kontenera: przetwarzanie poza UE bez podstawy komplikuje zgodność z RODO.
- Brak testu w trybie Preview: wdrożenie „w ciemno”, bez weryfikacji, czy zgoda faktycznie działa.
Jeśli rozpoznajesz któryś z tych błędów u siebie, to sygnał, że warto zlecić audyt konfiguracji zgody, zanim spadek jakości danych albo pytanie z kontroli zrobi to za Ciebie.
Podsumowanie
Server-side Consent Mode v2 to nie sposób na obejście zgody, tylko architektura, która pozwala egzekwować ją w sposób pełny i kontrolowany. Consent Mode v2 zbiera decyzję użytkownika w przeglądarce, a kontener serwerowy tę decyzję wykonuje - filtruje, ogranicza albo przepuszcza dane wychodzące do Google Ads i innych platform. To najuczciwszy dostępny dziś kompromis między jakością pomiaru a zgodnością z RODO.
Przestań traktować serwer jak sposób na ominięcie zgody. Zacznij postrzegać go jako miejsce, w którym zgoda jest naprawdę egzekwowana, a dane wrażliwe zostają odsiane, zanim opuszczą Twoją infrastrukturę. Kontrola, którą daje architektura serwerowa, jest realna - ale tylko wtedy, gdy poprawnie wepniesz w nią Consent Mode v2. Zacznij od jednego pytania: czy stan zgody w ogóle dociera dziś do Twojego kontenera serwerowego? Odpowiedź na nie zmienia więcej, niż się wydaje.
Źródła i dokumentacja
Architektura zgody na serwerze łączy trzy warstwy: dokumentację trybu zgody, mechanikę modelowania konwersji i realia prawne RODO. Te cztery źródła opisują każdą z nich osobno, bez marketingowych uproszczeń.
Tryb zgody: basic kontra advanced
Tabela porównawcza pokazuje, że w trybie basic tagi Google w ogóle się nie ładują przed decyzją użytkownika, a w advanced ładują się i przy odmowie wysyłają stan zgody oraz pingi bez cookies. Bezpośrednia podstawa sekcji o różnicy między trybem basic i advanced w architekturze serwerowej.
Modelowanie behawioralne w GA4
Dokumentacja podaje twarde progi kwalifikacji: co najmniej 1000 zdarzeń dziennie ze stanem analytics_storage=denied przez 7 dni i 1000 użytkowników dziennie ze zgodą przez 7 z 28 dni, przy wdrożeniu advanced. Liczbowe zaplecze sekcji o tym, jak działa modelowanie konwersji przy Consent Mode v2.
Integracja CMP w interfejsie tagu Google
Opis globalnego wdrożenia integracji partnerskich platform CMP w interfejsie tagu Google w Google Ads, GA4 i Tag Managerze, wraz z listą partnerów i zakresem konfiguracji. Punkt odniesienia dla sekcji o tym, jak sygnał zgody dociera z CMP do kontenera serwerowego.
Automatyczne wykrywanie naruszeń zgody
Badanie z IEEE S&P 2026 przeanalizowało 5823 witryny i 3598 formularzy zgody, wykrywając 3384 naruszenia RODO w 94,1 procentach zbadanych formularzy. Dowód dla sekcji o tym, czy przeniesienie tagów na serwer zmienia obowiązek zgody: wadliwie zebrana zgoda pozostaje wadliwa niezależnie od miejsca odpalenia tagu.
Pytania i odpowiedzi (FAQ)
Obowiązek zgody przy tagowaniu serwerowym, przekazywanie stanu zgody do kontenera i wybór trybu Consent Mode v2.