Consent Mode v2 w PrestaShop: dlaczego samo okienko cookies nie wystarczy

Baner cookies działa, przełączniki się klikają, a analityka i tak startuje przed zgodą. Powód prawie zawsze jest ten sam.

Sklepy, które trafiają do nas z pytaniem „mamy baner cookies, dlaczego audyt wypadł źle”, mają zwykle ten sam problem. Baner działa, przełączniki się klikają, decyzja się zapisuje, a Google Analytics i piksel Meta i tak startują przy pierwszym otwarciu strony, zanim ktokolwiek cokolwiek kliknął.

Co robi moduł zgód, a czego nie robi

Moduł zgód kontroluje wyłącznie te skrypty, które przez niego przechodzą. Kod wklejony na sztywno w szablon motywu, na przykład w _partials/head.tpl, jest częścią strony i uruchomi się razem z nią. Moduł zgód nie ma jak go zatrzymać, bo nie wie o jego istnieniu.

To dotyczy również skryptów dodawanych przez inne moduły: integracja z Google Tag Managerem, moduł remarketingu, widget czatu. Każdy z nich wstrzykuje własny kod przez hook i każdy trzeba objąć zgodą osobno.

Jak to sprawdzić u siebie

Otwórz sklep w oknie prywatnym, włącz narzędzia deweloperskie na karcie „Sieć” i odśwież stronę bez klikania czegokolwiek w banerze. Jeśli w wynikach widzisz żądania do google-analytics.com, googletagmanager.com albo facebook.net, zgodności nie ma, niezależnie od tego, jak ładny jest baner.

Consent Mode v2 w praktyce

Consent Mode v2 nie jest banerem ani jego zamiennikiem. To sposób, w jaki przekazujesz skryptom Google informację o zgodzie. Skrypty ładują się zawsze, ale przed decyzją użytkownika działają w trybie ograniczonym: nie zapisują ciasteczek i wysyłają jedynie sygnały bez identyfikatorów.

Cztery sygnały, które trzeba ustawić:

  • analytics_storage – pomiar ruchu; odpowiada kategorii statystyczne w banerze,
  • ad_storage – reklama; kategoria marketingowe,
  • ad_user_data – przekazywanie danych użytkownika do Google,
  • ad_personalization – personalizacja reklam.

Domyślnie wszystkie cztery ustawia się na denied, a po decyzji odwiedzającego aktualizuje na granted dla tych kategorii, które zaakceptował. Kolejność ma znaczenie: stan domyślny musi zostać ustawiony przed załadowaniem skryptu Google, inaczej pierwsze zdarzenie poleci bez sygnałów.

Kategorie muszą się zgadzać z rzeczywistością

Baner z trzema przełącznikami, za którymi nic nie stoi, jest gorszy niż brak banera, bo obiecuje kontrolę, której nie ma. Zanim ustawisz kategorie, zrób listę ciasteczek, które sklep faktycznie ustawia. PrestaShop sam z siebie ustawia ciasteczko sesji i koszyka (funkcjonalne, zgoda niepotrzebna), a reszta zależy od tego, co masz zainstalowane.

Skaner ciasteczek w module zgód potrafi tę listę zbudować automatycznie: przechodzi po stronie i notuje, co zostało ustawione. To dobry punkt wyjścia, ale wynik warto przejrzeć ręcznie, bo skaner nie zobaczy skryptów, które odpalają się dopiero po zdarzeniu użytkownika.

Baner i pamięć podręczna

Jeśli sklep stoi za pamięcią podręczną, która wycina nagłówek Set-Cookie z odpowiedzi, decyzja odwiedzającego nie ma gdzie się zapisać i baner pokazuje się przy każdym wejściu. Wyklucz z cache’owania odpowiedzi z ciasteczkami albo trzymaj decyzję w pamięci przeglądarki, nie w ciasteczku serwerowym.

Geolokalizacja

Baner można pokazywać wyłącznie odwiedzającym z Unii Europejskiej. To wygodne, ale ma haczyk: jeśli sklep nie ma danych geolokalizacyjnych, moduł nie potrafi rozstrzygnąć pochodzenia i najczęściej nie pokaże banera nikomu. Zanim włączysz tę opcję, sprawdź, czy geolokalizacja w sklepie w ogóle działa.

Sam baner nie wystarczy. Potrzebna jest jeszcze kompletna lista ciasteczek i skrypty faktycznie wstrzymane do momentu zgody, a sygnały Consent Mode muszą być ustawione przed załadowaniem kodu Google.

Nasz moduł blokady cookies obsługuje listę ciasteczek z kategoriami, skaner i geolokalizację. Dokumentacja opisuje ustawienia, a karta modułu pozostałe szczegóły.

← Powrót do bloga
Ładowanie...
Powrót do góry