Testowanie trzech stanów zgody cookie (Brak akcji, Odrzuć, Akceptuj) w audycie RODO

Trzy odizolowane komory badają tę samą stronę bez decyzji, po odrzuceniu i po akceptacji zgody, a ślady trafiają do jednej teczki dowodowej.

Kiedy firma wdraża baner cookie na swojej stronie internetowej, sprawdzenie poprawności trwa zazwyczaj dziesięć sekund. Ktoś otwiera stronę główną w oknie incognito, widzi wyskakujące okienko na dole ekranu, klika „Akceptuj” lub „Odrzuć”, widzi, że baner znika, i uznaje zadanie za zamknięte.

Nawet wiele popularnych skanerów zgodności robi niewiele więcej: pobiera stronę jeden raz i wypisuje listę plików cookie znalezionych w pierwszej sekundzie ładowania. Taka jednorazowa kontrola pomija dokładnie te błędy, które prowadzą do skarg do UODO oraz utraty danych w systemach reklamowych.

Aby sprawdzić, co strona internetowa naprawdę robi z danymi odwiedzających, trzeba przetestować kolejno trzy odrębne stany przeglądarki: co dzieje się przez pierwsze osiem sekund, gdy użytkownik jeszcze niczego nie kliknął (Brak akcji), co dzieje się po kliknięciu Odrzuć wszystkie oraz co uruchamia się po kliknięciu Akceptuj wszystkie. Dopiero porównanie tych trzech stanów w izolowanej przeglądarce ujawnia skrypty śledzące uruchamiane przed zgodą, przyciski odrzucenia, które jedynie ukrywają okienko wizualne, oraz błędy konfiguracji blokujące analitykę nawet po wyrażeniu zgody.

Główne wnioski


Pojedyncze załadowanie strony rejestruje jedynie statyczny wycinek ruchu sieciowego z pierwszej sekundy, nie widząc opóźnionych timerów, wadliwej obsługi przycisku odrzucenia ani zachowania strony po przejściu na kolejną podstronę.

Podczas weryfikacji mechanizmu zgody o tym, czy strona działa zgodnie z prawem, decyduje moment uruchomienia skryptu oraz reakcja na wybór użytkownika:

  1. Opóźnione wyzwalacze przed zgodą (setTimeout oraz przewijanie ekranu): Część konfiguracji menedżerów tagów opóźnia uruchomienie Meta Pixela, LinkedIn Insight Tag lub Hotjara o trzy sekundy albo do momentu przewinięcia strony o 200 pikseli, zakładając, że użytkownik od razu kliknie „Akceptuj”. Prosty skaner zamykający stronę po sekundzie zgłasza brak naruszeń, podczas gdy prawdziwy czytelnik przeglądający nagłówek przed dotknięciem banera zostaje objęty śledzeniem bez zgody.
  2. Ukrycie banera bez faktycznej blokady skryptów: Kliknięcie „Odrzuć wszystkie” lub „Tylko niezbędne” musi robić więcej niż tylko ustawić display: none na oknie banera. Musi utrzymać flagi Google Consent Mode v2 w stanie denied oraz zablokować uruchamianie tagów marketingowych na kolejnych podstronach.
  3. Zapisywanie identyfikatorów poza tradycyjnymi plikami cookie: Nowoczesne skrypty analityczne i reklamowe często zapisują unikalne identyfikatory użytkownika (UUID) w pamięci window.localStorage, sessionStorage lub IndexedDB, gdy tradycyjne ciasteczka są zablokowane. Audyt sprawdzający wyłącznie document.cookie w ogóle nie zauważa tych danych.
AUDYT TRZECH STANÓW PRZEGLĄDARKI: BRAK AKCJI VS ODRZUĆ VS AKCEPTUJ
Weryfikacja w czasie rzeczywistym
01
Stan 1: Brak akcji (0s do 8s)
Czysty profil przeglądarki, przewinięcie o 300 px, brak kliknięcia w baner
Zero zapytań reklamowych
02
Stan 2: Odrzuć wszystkie + Nawigacja
Kliknięcie Odrzuć/Tylko niezbędne, przeładowanie i przejście na drugą podstronę
Potwierdzenie ciszy w sieci
03
Stan 3: Akceptuj wszystkie + Kontrola tagów
Nowa sesja, kliknięcie Akceptuj, weryfikacja analityki i listy podmiotów w polityce
Zgodność z polityką

Jak wygląda protokół inspekcji trzech stanów w Playwright

Zautomatyzowany audyt w Playwright uruchamia czyste instancje przeglądarki, aby zarejestrować każde wychodzące zapytanie HTTP, zapis ciasteczka oraz klucz w pamięci lokalnej we wszystkich trzech scenariuszach zachowania użytkownika.

Zamiast polegać na ręcznym zaglądaniu do zakładki Network w narzędziach deweloperskich, uruchamiamy deterministyczny skrypt kontrolny sprawdzający po kolei każdy stan:

Stan 1: Brak interakcji (Weryfikacja przed wyrażeniem zgody)

Skrypt otwiera badaną stronę w nowym, czystym profilu przeglądarki Chromium z europejskiego adresu IP, czeka pełne osiem sekund i przewija widok do połowy strony bez dotykania banera cookie.

Stan 2: Stan po odrzuceniu zgody (Odmowa i trwałość przy nawigacji)

W drugim kroku skrypt odnajduje przycisk odmowy na banerze („Odrzuć wszystkie”, „Tylko niezbędne” lub „Odmawiam”), klika go, czeka pięć sekund, a następnie klika wewnętrzny link prowadzący do kolejnej podstrony w obrębie serwisu.

Stan 3: Stan po akceptacji (Zgodność z polityką i poprawność analityki)

Na koniec skrypt uruchamia zupełnie nową sesję przeglądarki, klika „Akceptuj wszystkie” i zapisuje każdą zewnętrzną domenę, czas życia plików cookie oraz klucze zapisane w pamięci przeglądarki.


4 najczęstsze błędy stanów zgody wykrywane na stronach produkcyjnych

Porównanie logów sieciowych z trzech stanów od razu wskazuje, czy źródłem problemu jest wklejony na sztywno kod w szablonie HTML, błędny wyzwalacz w GTM, czy uszkodzony zapis odmowy.

Wzorzec błęduStan 1 (Brak akcji)Stan 2 (Odrzuć wszystkie)Stan 3 (Akceptuj wszystkie)Techniczna przyczyna w kodzie
1. Prawidłowe wdrożenie0 zapytań śledzących; 0 zbędnych ciasteczek0 zapytań śledzących; 1 ciasteczko z zapisem odmowyZadeklarowane tagi analityki i reklam działają poprawnieSkrypty owinięte w funkcje sprawdzające zgodę; wyzwalacze GTM zablokowane do czasu akceptacji.
2. Śledzenie przed zgodą (najczęstsze)GA4, Meta Pixel lub YouTube ładują się od razuZaładowane wcześniej skrypty nadal wysyłają daneSkrypty działają dalejKod śledzący wklejony bezpośrednio w sekcji <head> z pominięciem blokady banera CMP.
3. Pozorny przycisk „Odrzuć”0 zapytań śledzących przy pierwszym wejściuAnalityka lub nagrywanie sesji rusza po kliknięciu OdrzućWszystkie tagi działająWyzwalacz w GTM reaguje na samo zdarzenie kliknięcia przycisku bez sprawdzenia statusu zgody.
4. Utrata odmowy na drugiej podstronie0 zapytań śledzących na stronie głównej0 na głównej, ale skrypty ruszają po kliknięciu w podstronęWszystkie tagi działająCiasteczko odmowy zapisane ze złą ścieżką path lub nadpisywane przy przeładowaniu widoku.
5. Zablokowana analityka po zgodzie0 zapytań śledzących0 zapytań śledzących0 zapytań analitycznych (ślepa plamka marketingu)Uszkodzony skrypt aktualizujący stan consent update po kliknięciu przycisku akceptacji.

Kontrola wzrokowa vs prosty skaner vs audyt trzech stanów w przeglądarce

Sam fakt wyświetlania banera na ekranie nie mówi nic o bezpieczeństwie prawnym; dopiero porównanie ruchu sieciowego we wszystkich trzech stanach daje twardy dowód, że mechanizm zgody działa.

GŁĘBOKOŚĆ AUDYTU: PROSTY SKANER VS WERYFIKACJA 3 STANÓW W PRZEGLĄDARCE
Metoda weryfikacji

Podstawowy skaner cookie

Pojedynczy odczyt

Wczytuje adres URL jeden raz bez klikania w baner i bez sprawdzania przejścia na kolejną podstronę.

  • Nie sprawdza, czy przycisk Odrzuć naprawdę blokuje skrypty
  • Pomija skrypty uruchamiane przy przewijaniu strony
  • Ignoruje identyfikatory zapisywane w localStorage

Audyt 3 stanów w Playwright

Pełna interakcja

Wykonuje scenariusze Brak akcji, Odrzuć oraz Akceptuj w osobnych sesjach z pełnym porównaniem sieci i pamięci.

  • Dowodzi braku śledzenia przed zgodą i po odmowie
  • Weryfikuje utrzymanie odmowy na kolejnych podstronach
  • Potwierdza poprawne działanie analityki po akceptacji

Najczęściej zadawane pytania (FAQ)

Czy korzystanie z certyfikowanego banera CMP (np. Cookiebot, Usercentrics, OneTrust) gwarantuje, że stan „Odrzuć” działa poprawnie?

Nie. Platforma CMP odpowiada jedynie za wyświetlenie okna wyboru i przekazanie sygnału o decyzji użytkownika. Jeżeli programista lub agencja marketingowa wkleiła wcześniej piksel LinkedIn, kod Hotjar, widżet Calendly albo czcionki Google Fonts bezpośrednio w sekcji <head> szablonu strony z pominięciem atrybutów blokujących CMP, skrypt ten uruchomi się zarówno przed wyrażeniem zgody, jak i po kliknięciu „Odrzuć”, niezależnie od opłacanej licencji CMP.

W podstawowym trybie Google Consent Mode (Basic Mode) do momentu wyrażenia zgody przeglądarka nie wysyła żadnych zapytań do serwerów Google. W trybie zaawansowanym (Advanced Mode) przeglądarka może wysyłać bezciasteczkowe sygnały ping (gcs=G100), o ile polityka prywatności i podstawa prawna wyraźnie to przewidują. W większości rygorystycznych interpretacji europejskich (w tym w Polsce i Niemczech) najbezpieczniejszą konfiguracją techniczną pozostaje pełne zablokowanie komunikacji analitycznej do czasu wyraźnego kliknięcia „Akceptuj”.

Jak często należy powtarzać test trzech stanów zgody?

Automatyczny test trzech stanów warto uruchamiać po każdej publikacji zmian w kontenerze Google Tag Manager, po dodaniu zewnętrznego odtwarzacza wideo lub formularza rezerwacji oraz przy aktualizacjach szablonu strony. Podobnie jak przy większych pracach modernizacyjnych, które opisaliśmy w studium przypadku o modernizacji starszych systemów webowych, automatyczna kontrola przed wdrożeniem chroni przed przypadkowym wpuszczeniem zewnętrznych skryptów na produkcję.


Sprawdź, co Twoja strona robi we wszystkich trzech stanach

Nie zgaduj, czy baner cookie na Twojej stronie rzeczywiście blokuje skrypty śledzące przed kliknięciem i po wyborze opcji „Odrzuć”. Prześlij nam adres swojej domeny. Przeprowadzimy automatyczny audyt trzech stanów przeglądarki na żywej stronie i przekażemy Ci czytelny raport inżynierski pokazujący każde zapytanie sieciowe, ciasteczko oraz wpis w pamięci lokalnej dla stanów Brak akcji, Odrzuć oraz Akceptuj.

Zobacz nasze usługi inżynierii webowej i audytów technicznych lub zamów techniczny audyt strony już dziś.