PS PrestaShop Początkujący

Social Proof: powiadomienia o zakupach i odwiedzający na żywo

Instalacja, konfiguracja i praktyka etycznego social proof: powiadomienia o prawdziwych zakupach z anonimizacją (3 poziomy), licznik odwiedzających bez cookies, zaokrąglone czasy, próg wyświetlania i zgodność z RODO dla PrestaShop 8 i 9.

Zaktualizowano Wersja modułu 1.0.0

Prezentacja

Moduł Social Proof: powiadomienia o zakupach i odwiedzający na żywo dodaje na kartach produktów dwa mechanizmy budujące zaufanie: dyskretne powiadomienia o ostatnich zakupach („Anna K. kupiła ten produkt 2 godz. temu”) oraz odznakę odwiedzających na żywo („12 osób ogląda ten produkt”).

Jego wyróżnikiem jest podejście etyczne i zgodne z RODO już na poziomie projektu: wyświetla wyłącznie zamówienia rzeczywiście złożone w Twoim sklepie oraz odwiedzających rzeczywiście obecnych. Nigdy niczego nie wymyśla. Anonimizacja jest wykonywana po stronie serwera przed jakąkolwiek wysyłką do przeglądarki, czasy są zaokrąglane, żadne surowe dane klienta nie są ujawniane, a moduł nie zapisuje żadnego cookie.

Zgodny z PrestaShop od 8.0 do 9.x, obsługuje tryb wielosklepowy i wiele języków (w zestawie tłumaczenia FR, EN, ES, DE, IT), bez Composera i bez jQuery. Jeśli nie ma ostatnich zamówień albo odwiedzających jest za mało, moduł po prostu nic nie wyświetla.

Instalacja

  1. W panelu administracyjnym otwórz Moduły > Menedżer modułów.
  2. Kliknij Wgraj moduł i wybierz plik dfsocialproof.zip.
  3. Instalacja automatycznie tworzy tabelę odwiedzających i zapisuje domyślne wartości konfiguracji.
  4. Moduł działa na kartach produktów od razu, z ostrożnymi i sprawnymi ustawieniami startowymi.

Aby zacząć, nie trzeba niczego ustawiać. Domyślnie: powiadomienia z zamówień z ostatnich 7 dni, anonimizacja „imię i inicjał”, licznik wyświetlany od 3 jednoczesnych odwiedzających.

Konfiguracja

Strona Konfiguruj jest podzielona na trzy panele oraz ramkę „Privacy by design”, która podsumowuje gwarancje modułu.

Powiadomienia o zakupach

  • Włącz powiadomienia o zakupach: przełącznik pierwszego mechanizmu.
  • Okno czasowe (godziny): wyświetlane są wyłącznie prawdziwe zamówienia złożone w tym oknie (domyślnie 168 godz., czyli 7 dni). Jeśli takich nie ma, nic się nie wyświetla.
  • Maksymalna liczba powiadomień: limit na jedno załadowanie strony (domyślnie 5).
  • Poziom anonimizacji: trzy tryby opisane w kolejnej sekcji.
  • Uwzględniane statusy zamówień: lista wielokrotnego wyboru (Ctrl lub Cmd, aby wybrać kilka). Powiadomienia generują tylko zamówienia w tych statusach; domyślnie są to statusy „zatwierdzone” w Twoim sklepie.

Licznik odwiedzających

  • Włącz licznik odwiedzających: przełącznik drugiego mechanizmu.
  • Okno zliczania (minuty): odwiedzający jest liczony, dopóki jest aktywny w tym oknie (domyślnie 15 min). Zapisy są potem automatycznie czyszczone.
  • Minimalna liczba odwiedzających do wyświetlenia: poniżej tego progu (domyślnie 3) odznaka pozostaje ukryta, aby nigdy nie wskazywać pojedynczej osoby.

Wyświetlanie

  • Pozycja: róg wyświetlania powiadomień (lewy dolny albo prawy dolny).
  • Opóźnienie początkowe (sekundy): czas do pierwszego powiadomienia (domyślnie 4 s).
  • Odstęp między powiadomieniami (sekundy): przerwa między dwoma powiadomieniami (domyślnie 9 s).
  • Czas wyświetlania (sekundy): jak długo widoczne jest każde powiadomienie (domyślnie 6 s).

Powiadomienia wyświetlają się tylko raz na załadowanie strony: żadnej nieskończonej pętli, która w końcu irytuje. Odwiedzający może zamknąć powiadomienia, a ten wybór jest zapamiętywany na całą sesję przeglądania.

Trzy poziomy anonimizacji

Wybrany poziom obowiązuje dla wszystkich powiadomień, a przekształcenie odbywa się na serwerze: przeglądarka otrzymuje wyłącznie gotowy tekst, nigdy dane źródłowe.

  • Imię i inicjał: „Anna K. kupiła ten produkt”. Najbardziej angażujące, a mimo to nieidentyfikujące.
  • Tylko miasto: „Klient z Krakowa kupił ten produkt”. Miasto pochodzi z adresu dostawy zamówienia.
  • Pełna anonimowość: „Ktoś kupił ten produkt”. Najostrożniejszy wariant, odpowiedni dla wrażliwych asortymentów.

Zaokrąglone czasy względne

Wyświetlane znaczniki czasu („2 godz. temu”, „25 min temu”) są celowo zaokrąglane, minuty do pełnych 5 minut. Cel: uniemożliwić ponowną identyfikację klienta przez zestawienie dokładnej godziny zamówienia z innymi informacjami. To świadoma decyzja projektowa w duchu privacy by design, a nie techniczne przybliżenie.

Jak działa licznik odwiedzających

Każdy odwiedzający kartę produktu jest liczony przez solony odcisk SHA-256 z tajnym kluczem Twojego sklepu (_COOKIE_KEY_). Ten odcisk nigdy nie jest wyświetlany ani ujawniany przeglądarce i służy wyłącznie do usuwania duplikatów wizyt.

  • Zero cookies: moduł nie zapisuje ani cookie, ani danych w pamięci lokalnej na potrzeby zliczania.
  • Automatyczne czyszczenie: wygasłe zapisy są usuwane z bazy przy okazji kolejnych operacji, bez konfigurowania zadania cron.
  • Próg godności: poniżej skonfigurowanego minimum odznaka znika, pojedynczy odwiedzający nigdy nie zostanie opisany jako „1 osoba ogląda ten produkt”.
  • Odświeżanie: licznik aktualizuje się co 60 sekund lekkim zapytaniem AJAX.

Privacy by design i RODO

  • Wyłącznie prawdziwe zamówienia: żadnych wymyślonych danych, nigdy. Wiarygodność Twojego sklepu pozostaje nienaruszona, a Ty po właściwej stronie prawa konsumenckiego (praktyki wprowadzające w błąd).
  • Anonimizacja po stronie serwera: teksty trafiają do przeglądarki już zanonimizowane i sformatowane. Do frontu nie przechodzą żadne surowe dane klienta (pełne nazwisko, e-mail, adres).
  • Odpowiedzi AJAX bez cache: nagłówki uniemożliwiają pośrednie przechowywanie tekstów.
  • Odciski są czyszczone: tabela odwiedzających sama się porządkuje, a retencja ogranicza się do niezbędnego minimum.
  • Zero cookies, zero zasobów zewnętrznych: nie musisz nic dodawać do swojego banera zgód z powodu tego modułu.

Panel „Privacy by design” w panelu administracyjnym podsumowuje te gwarancje: możesz przedstawić go w tej formie swojemu inspektorowi ochrony danych albo dołączyć do rejestru czynności przetwarzania.

Dostępność i wydajność

  • Powiadomienia ogłaszane przez aria-live polite dla czytników ekranu.
  • Respektowanie prefers-reduced-motion: animacje są wyłączane, jeśli odwiedzający sobie tego życzy.
  • Tryb ciemny obsługiwany automatycznie.
  • Vanilla JS bez jQuery, zasoby ładowane tylko na stronie produktu: pomijalny wpływ na szybkość.

Zgodność techniczna

  • PrestaShop: od 8.0 do 9.x.
  • PHP: od 7.4 do 8.x.
  • Hooki: actionFrontControllerSetMedia (zasoby i konfiguracja frontu, wyłącznie strona produktu) oraz displayProductAdditionalInfo (odznaka odwiedzających).
  • Obsługa trybu wielosklepowego i wielojęzycznego (w zestawie tłumaczenia FR, EN, ES, DE, IT).
  • Bez zależności Composera, bez jQuery.

Najczęstsze pytania

Czy moduł wymyśla zakupy albo odwiedzających?

Nie, nigdy. Powiadomienia pochodzą wyłącznie z rzeczywiście zarejestrowanych zamówień, a licznik zlicza tylko realnie obecnych odwiedzających. Bez danych moduł nic nie wyświetla.

Co zrobić, jeśli mój sklep ma mało zamówień?

Poszerz okno czasowe, na przykład do 336 godz. dla 14 dni: powiadomienia pozostają prawdziwe, tylko względny znacznik czasu jest starszy. Moduł nigdy nie wypełni pustki fałszywymi danymi.

Nie. Opiera się na solonym odcisku SHA-256 wyliczanym po stronie serwera, nigdy nieujawnianym i automatycznie czyszczonym. Nie trzeba zbierać dodatkowej zgody.

Czy działa z PrestaShop 9 i trybem wielosklepowym?

Tak, od PrestaShop 8.0 do 9.x, z natywną obsługą trybu wielosklepowego.

Rozwiązywanie problemów

  • Nie wyświetla się żadne powiadomienie: sprawdź, czy w oknie czasowym istnieją zamówienia w jednym z wybranych statusów. Przy braku prawdziwych danych to normalne zachowanie modułu.
  • Licznik odwiedzających się nie pojawia: liczba aktywnych odwiedzających jest prawdopodobnie poniżej progu minimalnego. Obniż próg albo przetestuj na kilku przeglądarkach lub urządzeniach jednocześnie.
  • Powiadomienia nie wracają: jeśli odwiedzający zamknął powiadomienie, ten wybór jest zapamiętany na czas sesji. Otwórz okno prywatne, aby przetestować ponownie.
  • Odznaka się nie aktualizuje: odświeżanie następuje co 60 sekund; sprawdź też, czy zbyt agresywny cache nie blokuje zapytań AJAX do kontrolera frontu.
Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia