Cookies Revolution — Dokumentacja

Cookies Revolution to oparty na kategoriach menedżer zgód na pliki cookie dla PrestaShop. Pomaga zbierać wybory odwiedzających, blokować opcjonalne skrypty śledzące do czasu wyrażenia zgody, przechowywać logi zgód oraz wysyłać sygnały Google Consent Mode v2.

Funkcje

  • Zgoda według kategorii. Odwiedzający mogą zaakceptować wszystkie pliki cookie, odrzucić opcjonalne pliki cookie albo wybrać zgody osobno dla każdej kategorii.
  • Domyślne grupy plików cookie. Moduł instaluje kategorie niezbędne, funkcjonalne, analityczne i marketingowe wraz z nazwami oraz opisami widocznymi dla odwiedzających.
  • Reguły blokowania skryptów. Pasujące skrypty zewnętrzne i skrypty inline są przepisywane do czasu zaakceptowania powiązanej kategorii opcjonalnej.
  • Dynamiczna ochrona skryptów. Frontowy JavaScript obserwuje nowo dodawane skrypty i blokuje pasujące skrypty śledzące przed uzyskaniem zgody.
  • Google Consent Mode v2. Moduł wysyła domyślne sygnały Consent Mode ze stanem odmowy i aktualizuje je, gdy odwiedzający zapisze swoje wybory.
  • Log zgód. Zapisane wybory mogą być rejestrowane z hashem odwiedzającego, hashem IP, hashem user-agenta, wersją zgody, źródłem i datą.
  • Eksport CSV. Ekran logu zgód zawiera eksport CSV dla rekordów audytowych.
  • Skaner plików cookie. Skaner wykrywa nagłówki Set-Cookie oraz proste przypisania document.cookie, a następnie pozwala skategoryzować nowe pliki cookie.
  • Generowana polityka plików cookie. Kontroler ustawień może ręcznie utworzyć lub zaktualizować stronę CMS z polityką plików cookie na podstawie skonfigurowanych kategorii i plików cookie.
  • Własny wygląd banera. Możesz edytować pozycję banera, kolory, tekst, nakładkę, animację, pływający przycisk i własny CSS.
  • Link w koncie klienta. Link „Cookie Settings” jest dodawany do obszaru konta klienta, aby odwiedzający mogli później zmienić swoje wybory.
Cookies Revolution — Consent banner preferences Cookies Revolution — Admin dashboard

Opcje konfiguracji

  • Enable Module. Włącza lub wyłącza baner w front office, panel preferencji, zasoby, link w koncie i funkcje zgód; domyślnie: 1.
  • Default Consent. Ustawia stan początkowy przed wyborem odwiedzającego: denied dla opt-in albo granted dla opt-out; domyślnie: denied.
  • Cookie Expiry. Ustawia, jak długo mprcr_consent i mprcr_version są przechowywane w przeglądarce odwiedzającego; domyślnie: 365.
  • Re-consent after. Przechowuje przedział dni wpisany w Back Office; obecne ponowne zbieranie zgody na froncie jest sterowane zmianami wersji zgody, a nie tą wartością liczby dni; domyślnie: 0.
  • Re-consent on cookie list change. Pokazuje baner ponownie, gdy aktywne kategorie lub aktywne pliki cookie się zmienią, a zapisana wersja jest nieaktualna; domyślnie: 1.
  • Enable Script Blocking. Włącza przepisywanie skryptów po stronie serwera oraz reguły blokowania po stronie klienta; domyślnie: 1.
  • Enable GCM v2. Wysyła i aktualizuje sygnały Google Consent Mode v2; domyślnie: 1.
  • wait_for_update. Ustawia wartość Google Consent Mode wait_for_update w milisekundach; domyślnie: 500.
  • Enable Consent Logging. Wysyła zapisane wybory zgód do frontowego kontrolera modułu i zapisuje je w logu zgód; domyślnie: 1.
  • Log Retention. Ustawia liczbę dni używaną przez akcję czyszczenia starych logów zgód; domyślnie: 365.
  • Auto-Update CMS Page. Przechowuje wartość CMS_AUTO_UPDATE z formularza ustawień; obecny kod źródłowy nie używa tej wartości do automatycznej aktualizacji strony CMS; domyślnie: 1.
  • Custom Policy URL. Nadpisuje link do wygenerowanej strony CMS z polityką w banerze i panelu preferencji; domyślnie: ``.
  • Automatic Cookie Scanning. Uruchamia skaner w tle przy ładowaniu stron administracyjnych, gdy nadejdzie termin skanowania; domyślnie: 1.
  • Scan Interval. Ustawia interwał automatycznego skanera w godzinach; domyślnie: 24.
  • Consent Version. Wewnętrzny 8-znakowy hash generowany z aktywnych kategorii i aktywnych plików cookie; domyślnie: ``.
  • Generated CMS Page ID. Wewnętrzny identyfikator wygenerowanej strony CMS z polityką plików cookie; domyślnie: 0.
  • Category name. Etykieta kategorii widoczna dla odwiedzającego w panelu preferencji; domyślne kategorie: Strictly Necessary, Functional, Analytics & Performance, Marketing & Advertising.
  • Category description. Wyjaśnienie widoczne dla odwiedzającego pod nazwą każdej kategorii; domyślnie: instalowane razem z czterema domyślnymi kategoriami.
  • Category system name. Wewnętrzny identyfikator używany w plikach cookie zgody i JavaScript, na przykład analytics; domyślnie: necessary, functional, analytics, marketing.
  • Category required. Sprawia, że kategoria jest zawsze aktywna i odwiedzający nie mogą jej przełączać; domyślnie: necessary ma 1, kategorie opcjonalne mają 0.
  • Category active. Pokazuje lub ukrywa kategorię w panelu preferencji odwiedzającego; domyślnie: 1.
  • Category icon. Przechowuje nazwę ikony, taką jak shield, settings, chart albo megaphone; domyślnie: instalowana osobno dla każdej kategorii domyślnej.
  • GCM category mappings. Mapuje każdą kategorię na sygnały Google, takie jak analytics_storage, ad_storage, ad_user_data, ad_personalization, functionality_storage, personalization_storage i security_storage; domyślnie: niezbędne mapują się na security_storage, funkcjonalne na functionality_storage, analityczne na analytics_storage, marketingowe na sygnały reklamowe i personalizacyjne.
  • Cookie Name. Dokładna nazwa pliku cookie albo nazwa w stylu wildcard widoczna na liście plików cookie, taka jak _ga albo _ga_*; domyślnie: instalowane są popularne pliki cookie PrestaShop, Google, Facebook, DoubleClick i Bing.
  • Cookie Category. Przypisuje każdy zarejestrowany plik cookie do jednej kategorii; domyślnie: instalowane z listy znanych plików cookie.
  • Cookie Provider. Określa usługę, która ustawia plik cookie; domyślnie: instalowane nazwy dostawców, takie jak PrestaShop, Google Analytics, Facebook i Microsoft Bing.
  • Cookie Purpose. Wielojęzyczny tekst celu wyświetlany w panelu preferencji i wygenerowanej stronie polityki; domyślnie: instalowany dla znanych plików cookie.
  • Duration Value. Numeryczny czas życia pliku cookie widoczny dla odwiedzających; domyślnie: instalowany z danych znanych plików cookie, gdy są dostępne.
  • Duration Unit. Jednostka czasu życia pliku cookie: session, minutes, hours, days, months albo years; domyślnie: instalowana z danych znanych plików cookie.
  • Is Regex Pattern. Traktuje wzorzec pliku cookie jako dopasowanie regex; domyślnie: 1 dla domyślnych wartości wildcard, takich jak _ga_*, w pozostałych przypadkach 0.
  • Cookie Pattern (Regex). Regex używany do dopasowania grupowanych plików cookie, takich jak ^_ga_.*$; domyślnie: generowany dla domyślnych wartości wildcard.
  • Cookie Active. Uwzględnia lub wyklucza plik cookie z publicznej listy i wersji zgody; domyślnie: 1.
  • Script rule category. Przypisuje regułę blokowania do kategorii opcjonalnej; domyślnie: instalowane są reguły analityczne, marketingowe i funkcjonalne.
  • Rule Type. Wybiera url_pattern dla dopasowania src skryptu albo script_content dla dopasowania skryptu inline; domyślnie: instalowane zgodnie z regułą.
  • Pattern (Regex). Regex używany do dopasowania adresu URL skryptu albo treści skryptu inline; domyślnie: instalowane wzorce obejmują Google Analytics, GTM, Clarity, Hotjar, Meta, TikTok, Bing, LinkedIn i popularne widżety czatu.
  • Rule Description. Notatka w Back Office dla reguły blokowania; domyślnie: instalowane opisy, takie jak Google Tag Manager albo Facebook SDK.
  • Rule Active. Włącza lub wyłącza pojedynczą regułę blokowania; domyślnie: 1.
  • Banner Position. Kontroluje, gdzie pojawia się baner; domyślnie: bottom.
  • Banner Layout. Przechowywana wartość układu banera; domyślnie: bar.
  • Preferences Panel Layout. Otwiera preferencje jako modal, slide-right albo slide-left; domyślnie: modal.
  • Animation. Używa slide, fade albo none; domyślnie: slide.
  • Floating Button Position. Umieszcza przycisk ponownego otwierania w bottom-left albo bottom-right; domyślnie: bottom-left.
  • Floating Button Enabled. Renderuje pływający przycisk „Cookie Settings” po zapisaniu zgody; domyślnie: 1.
  • Banner Background. Ustawia kolor tła banera; domyślnie: #232323.
  • Banner Text. Ustawia kolor tekstu banera; domyślnie: #f5f5f5.
  • Accept Button Background. Ustawia tło przycisku akceptacji; domyślnie: #2196f3.
  • Accept Button Text. Ustawia kolor tekstu przycisku akceptacji; domyślnie: #ffffff.
  • Reject Button Background. Ustawia tło przycisku odrzucenia; domyślnie: transparent.
  • Reject Button Text. Domyślna wartość instalacyjna na ciemnym tle banera modułu: #b0b0b0.
  • Customize Button Background. Ustawia tło przycisku personalizacji; domyślnie: transparent.
  • Customize Button Text. Domyślna wartość instalacyjna na ciemnym tle banera modułu: #b0b0b0.
  • Preferences Background. Ustawia tło panelu preferencji; domyślnie: #ffffff.
  • Preferences Text. Ustawia kolor tekstu panelu preferencji; domyślnie: #333333.
  • Toggle Active. Ustawia kolor aktywnego przełącznika; domyślnie: #2196f3.
  • Toggle Inactive. Ustawia kolor nieaktywnego przełącznika; domyślnie: #cccccc.
  • Floating Button Background. Ustawia tło pływającego przycisku; domyślnie: #2196f3.
  • Floating Button Icon. Ustawia kolor ikony pływającego przycisku; domyślnie: #ffffff.
  • Banner Title. Wielojęzyczny nagłówek banera; domyślnie: We respect your privacy.
  • Banner Message. Wielojęzyczny akapit banera; domyślnie: We use cookies to enhance your browsing experience, serve personalized content, and analyze our traffic. By clicking "Accept All", you consent to our use of cookies.
  • Accept Button. Wielojęzyczny tekst przycisku akceptacji wszystkiego; domyślnie: Accept All.
  • Reject Button. Wielojęzyczny tekst przycisku odrzucenia wszystkiego; domyślnie: Reject All.
  • Customize Button. Wielojęzyczny tekst przycisku preferencji; domyślnie: Customize.
  • Preferences Title. Wielojęzyczny tytuł panelu preferencji; domyślnie: Cookie Preferences.
  • Preferences Description. Wielojęzyczne wyjaśnienie preferencji; domyślnie: Choose which cookies you want to allow. You can change these settings at any time. However, blocking some types of cookies may impact your experience of the site.
  • Save Button. Wielojęzyczny tekst przycisku zapisu preferencji; domyślnie: Save Preferences.
  • Accept All (in prefs). Wielojęzyczny tekst przycisku akceptacji wszystkiego w preferencjach; domyślnie: Accept All.
  • Floating Button Label. Wielojęzyczna etykieta i tooltip pływającego przycisku; domyślnie: Cookie Settings.
  • Policy Link Text. Wielojęzyczna etykieta linku do polityki; domyślnie: Cookie Policy.
  • Floating Button Size (px). Ustawia szerokość i wysokość pływającego przycisku; domyślnie: 48.
  • Border Radius (px). Ustawia zaokrąglone rogi banera, panelu i przycisków; domyślnie: 12.
  • Font Size (px). Ustawia rozmiar fontu banera i preferencji; domyślnie: 14.
  • Font Family. Dodaje własny font-family przed systemowym fallbackiem; domyślnie: ``.
  • Button Border Color. Ustawia kolor obramowania przycisków odrzucenia i personalizacji; domyślnie: ``.
  • Show Overlay. Pokazuje nakładkę strony za banerem albo panelem preferencji; domyślnie: 1.
  • Overlay Color. Ustawia kolor nakładki; domyślnie: rgba(0,0,0,0.5).
  • Show Close (X) Button. Dodaje przycisk zamknięcia do banera; domyślnie: 0.
  • Close Button Action. Kontroluje, co dzieje się, gdy odwiedzający kliknie przycisk X: reject zapisuje odrzucenie i zapobiega ponownemu pojawieniu się banera, accept przyznaje wszystkie zgody, a dismiss ukrywa baner bez zapisywania zgody, więc pojawi się ponownie przy następnej wizycie; domyślnie: reject.
  • Consent Wall. Rozmywa stronę, centruje baner jako modal i blokuje przewijanie do czasu, aż odwiedzający zaakceptuje, odrzuci albo spersonalizuje zgodę; domyślnie: 0.
  • Custom CSS. Przechowuje dodatkowy CSS drukowany z wyglądem modułu; domyślnie: ``.
Cookies Revolution — Admin cookie scanner Cookies Revolution — Admin design

Przykłady personalizacji

Użyj ekranu reguł skryptów, aby blokować skrypt śledzący według URL do czasu przyznania zgody analitycznej:

Category: analytics
Rule Type: url_pattern
Pattern (Regex): googletagmanager\.com/gtag/js
Description: Google gtag.js
Active: 1

Użyj reguły treści skryptu, gdy kod śledzący jest inline:

Category: marketing
Rule Type: script_content
Pattern (Regex): fbq\s*\(
Description: Inline Facebook Pixel
Active: 1

Moduł przepisuje pasujące skrypty zewnętrzne w ten sposób do czasu zaakceptowania kategorii:

<script type="text/plain"
        data-cookiecategory="analytics"
        data-original-src="https://www.googletagmanager.com/gtag/js?id=G-XXXX">
</script>

Plik cookie zgody używa kompaktowych wartości kategorii, co jest przydatne, gdy inny własny skrypt musi sprawdzić stan przeglądarki:

mprcr_consent=necessary:1|functional:0|analytics:1|marketing:0
mprcr_version=1a2b3c4d

Użyj publicznego API JavaScript w motywie albo własnym module, aby sprawdzić aktualny stan przeglądarki i nasłuchiwać zapisanych zmian zgody:

function loadAnalyticsCode() {
  // Load analytics-dependent code here.
}

if (window.MPRCR && window.MPRCR.isGranted('analytics')) {
  loadAnalyticsCode();
}

document.addEventListener('mprcr:consent', function (event) {
  if (event.detail && event.detail.analytics) {
    loadAnalyticsCode();
  }
});

Otwórz panel preferencji z własnego linku w stopce:

<a href="#" onclick="event.preventDefault(); window.MPRCR && window.MPRCR.showPreferences();">
  Cookie Settings
</a>

Przydatne hooki CSS front office dla pola Custom CSS:

.mprcr-banner__inner {
  max-width: 980px;
  margin: 0 auto;
}

.mprcr-btn--accept {
  font-weight: 700;
}

.mprcr-category__desc {
  line-height: 1.6;
}

.mprcr-floating {
  box-shadow: 0 4px 14px rgba(0,0,0,.2);
}

Typowa konfiguracja opt-in dla UE używa tych wartości:

DEFAULT_CONSENT = denied
SCRIPT_BLOCKING = 1
GCM_ENABLED = 1
LOG_ENABLED = 1
RECONSENT_ON_CHANGE = 1
Cookies Revolution — Admin cookie catalog Cookies Revolution — Admin integrity

Instalacja

  1. W Back Office PrestaShop przejdź do Modules → Module Manager.
  2. Kliknij Upload a module.
  3. Wybierz plik ZIP Cookies Revolution.
  4. Kliknij Install.
  5. Otwórz stronę konfiguracji modułu.
  6. Sprawdź domyślne kategorie, zarejestrowane pliki cookie i reguły blokowania skryptów.
  7. Uruchom skaner plików cookie i skategoryzuj wszystkie oczekujące pliki cookie.
  8. Przed przejściem na produkcję sprawdź tekst banera, wygląd, logowanie zgód i stronę polityki.

Tylko jeden moduł zgody na pliki cookie mypresta.rocks może być aktywny jednocześnie. Jeśli mprcookiebanner jest już aktywny, Cookies Revolution nie zostanie zainstalowany, dopóki drugi moduł plików cookie nie zostanie wyłączony albo usunięty.

Cookies Revolution — Admin banner design Cookies Revolution — Admin scanner

Jak to działa

Gdy odwiedzający wchodzi na stronę, Cookies Revolution przygotowuje domyślny stan zgody. Jeśli Google Consent Mode v2 jest włączony, moduł drukuje w nagłówku strony domyślny sygnał odmowy zgody, z przyznanym security_storage.

Baner jest ładowany z nieaktywnego szablonu i pokazywany po interakcji odwiedzającego ze stroną. Odwiedzający może zaakceptować wszystko, odrzucić kategorie opcjonalne albo otworzyć panel preferencji i wybrać zgody według kategorii. Po zapisaniu wyboru moduł zapisuje mprcr_consent i mprcr_version w przeglądarce, aktualizuje Google Consent Mode, aktywuje nowo dozwolone skrypty i opcjonalnie zapisuje wpis w logu zgód.

Odwiedzający może później ponownie otworzyć preferencje przez pływający przycisk cookie, link „Cookie Settings” w koncie klienta albo własny link używający window.MPRCR.showPreferences().

Cookies Revolution — Admin categories list Cookies Revolution — Admin script rules

Uczciwe ograniczenia

  • Ten moduł pomaga zbierać i przechowywać wybory dotyczące plików cookie, ale nie jest poradą prawną. Tekst polityki, wybór kategorii i konfiguracja śledzenia nadal muszą odpowiadać Twoim wymaganiom prawnym.
  • Skaner wykrywa pliki cookie z nagłówków Set-Cookie oraz prostego kodu document.cookie = "name=value" podczas skanowania. Pliki cookie tworzone po interakcji użytkownika, po wyrażeniu zgody albo wewnątrz złożonego kodu firm trzecich mogą wymagać ręcznej weryfikacji.
  • Skryptów, które zostały już wykonane przed cofnięciem zgody, nie da się „odwykonać” za pomocą JavaScript. Moduł może usunąć zarejestrowane pliki cookie po cofnięciu zgody i zapobiec przyszłemu uruchamianiu pasujących skryptów.
  • Re-consent after jest przechowywane przez formularz ustawień, ale obecny frontowy mechanizm ponownej zgody opiera się na zmianach wersji zgody.
  • Wygenerowana treść polityki CMS opiera się na kategoriach i plikach cookie zarejestrowanych w module. Akcje tworzenia i aktualizacji są ręcznymi akcjami Back Office; zapisany przełącznik CMS_AUTO_UPDATE nie jest używany przez obecny kod źródłowy do utrzymywania strony w synchronizacji.
  • Jeśli używasz własnej strony prawnej, wpisz ją w Custom Policy URL.
  • Eksport logu zgód zawiera kolumnę country_code, ale obecna metoda logowania jej nie uzupełnia.
Cookies Revolution — Admin consent log

Najczęściej zadawane pytania

Jaka jest różnica między tym modułem a Lightweight Cookie Banner?
Lightweight Cookie Banner służy do prostszego komunikatu z akceptacją/odrzuceniem. Cookies Revolution dodaje preferencje kategorii, reguły blokowania skryptów, logowanie zgód, skanowanie plików cookie, generowaną treść polityki i Google Consent Mode v2.

Czy blokowanie skryptów może zepsuć mój sklep?
Może, jeśli niezbędne skrypty checkout, logowania, koszyka, płatności albo bezpieczeństwa zostaną przypisane do opcjonalnych kategorii śledzenia. Trzymaj skrypty krytyczne dla sklepu poza opcjonalnymi regułami blokowania albo w kategorii wymaganej.

Czy moduł blokuje Google Analytics przed zgodą?
Tak, gdy odpowiedni skrypt Google pasuje do aktywnej reguły analitycznej, a blokowanie skryptów jest włączone. Moduł wysyła także domyślne sygnały Google Consent Mode przed zgodą.

Czy odwiedzający mogą później zmienić swoje wybory?
Tak. Mogą ponownie otworzyć preferencje przez pływający przycisk cookie, link w koncie klienta, własny link albo publiczne API JavaScript.

Czy mogę utworzyć własne kategorie?
Tak. Możesz dodawać kategorie, wpisywać wielojęzyczne nazwy i opisy, wybierać, czy są wymagane, oraz mapować je na sygnały Google Consent Mode.

Czy moduł usuwa pliki cookie po odrzuceniu kategorii?
Gdy odwiedzający zapisuje preferencje i cofa wcześniej przyznaną zgodę dla kategorii, skrypt frontowy próbuje usunąć zarejestrowane pliki cookie tej kategorii.

Czy mogę eksportować rekordy zgód?
Tak. Ekran logu zgód zawiera eksport CSV z hashem odwiedzającego, hashem IP, danymi zgody, wersją, źródłem, kolumną kodu kraju i datą. Obecna metoda logowania nie uzupełnia country_code.

Czy muszę ponownie zebrać zgodę po dodaniu plików cookie?
Tak, jeśli ponowna zgoda przy zmianie jest włączona. Moduł aktualizuje wersję zgody, gdy aktywne kategorie lub pliki cookie się zmienią, a powracający odwiedzający są proszeni o ponowne potwierdzenie.

Czy skaner znajduje każdy możliwy plik cookie?
Nie. Znajduje nagłówki Set-Cookie i proste przypisania document.cookie podczas skanowania. Niektóre pliki cookie firm trzecich pojawiają się dopiero po zgodzie albo po interakcji odwiedzającego, więc ręczna weryfikacja nadal jest ważna.

Czy mogę użyć własnej strony polityki plików cookie?
Tak. Wpisz własny URL polityki w ustawieniach. Gdy to pole jest wypełnione, baner i panel preferencji używają go zamiast wygenerowanej strony CMS.

Kompatybilność: PrestaShop 1.6 do 9.0 (najnowsza), PHP 7.1+. Nadal wspieramy nadchodzące wersje PrestaShop.

Cookies Revolution — Admin cookie inventory
Ładowanie...
Do góry