Consent Mode v2 w PrestaShop: dlaczego samo okienko cookies nie wystarczy
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.