Pasek Top Bar Prestashop
Kod produktu: topbarps
Moduł dla sklepów Prestashop - pasek informacyjny informujący każdego klienta sklepu o promocji, rabacie czy kampanii na Black Friday.

Kampanie zamiast jednego paska
Sercem modułu jest obiekt CustomTopInfoCampaign — wielojęzyczny ObjectModel z własnymi tabelami. Zamiast edytować jeden globalny pasek, tworzysz dowolną liczbę kampanii i decydujesz, która i kiedy się pokaże.
Lista kampanii w panelu z ID, nazwą, statusem, kolejnością i zakresem dat.
Włącznik per kampania oraz globalny wyłącznik paska dla całego sklepu.
Duplikowanie kampanii jednym kliknięciem (kopia powstaje jako wyłączona, z nazwą „… (kopia)”).
Kolejność (position) decyduje o priorytecie, gdy pasuje kilka kampanii.
Usuwanie sprząta też statystyki i wgrany plik ikony.
Tryby rotacji — gdy do kontekstu pasuje więcej niż jedna kampania:

Targetowanie: komu i gdzie pokazać
Kampania trafia na front dopiero po przejściu przez komplet filtrów (matchesContext()). Każdy z nich jest opcjonalny — puste pole znaczy „bez ograniczeń”.
Kto to widzi
Typ odwiedzającego: wszyscy / tylko goście / tylko zalogowani.
Grupy klientów — wielokrotny wybór; niezalogowani są dopasowywani do grupy
PS_UNIDENTIFIED_GROUP.
Gdzie to widać
Typ strony: strona główna, kategorie, produkt, koszyk, kasa, CMS, wyszukiwarka, promocje, nowości, bestsellery — albo cały sklep.
Zawężenie do konkretnych ID kategorii (np. kampania tylko na kategorię „Wyprzedaż”).
Zawężenie do konkretnych ID stron CMS.
Wybór sklepów w multistore — jedna kampania może działać tylko w wybranym sklepie.
Kiedy to widać
Zakres dat od–do (z dokładnością do godziny).
Zakres godzin w ciągu doby, np. tylko
18:00–23:00na happy hours.Dni tygodnia — np. kampania weekendowa tylko sob.–niedz.

Sekcja produktu
Wszystkie treści są wielojęzyczne, z automatycznym fallbackiem na język domyślny sklepu, gdy tłumaczenie jest puste.
Treść główna z edytorem WYSIWYG i przełącznikiem „Zezwól na HTML” (
Tools::purifyHTML()przy włączonym,strip_tags()przy wyłączonym).Osobna, krótsza treść na telefon — pełny komunikat nie musi się łamać na trzy linie na małym ekranie. Gdy pole jest puste, mobile dostaje treść desktopową.
Dwa niezależne przyciski CTA, każdy z własnym tekstem, adresem per język, kolorem tła, kolorem tekstu, opcją otwarcia w nowej karcie i
rel="nofollow". Adres CTA przyjmuje np.?submitDiscount=KOD, żeby od razu wpiąć kupon.Kod rabatowy do skopiowania — osobny przycisk kopiuje kod do schowka i pokazuje potwierdzenie „OK”.
Odliczanie do daty końca kampanii:
Xd HH:MM:SS, odświeżane co sekundę, zatrzymywane po dojściu do zera.Ikona paska: emoji albo wgrany obrazek (jpg / jpeg / png / gif / webp, plik zapisywany jako
campaign-<id>.<ext>, stary usuwany przy podmianie).

Wygląd i zachowanie paska
Kolor tła jednolity lub gradient — podanie drugiego koloru automatycznie przełącza pasek na
linear-gradient(90deg, …).Kolory i rozmiary osobno dla tekstu, pierwszego CTA i drugiego CTA; osobny rozmiar czcionki na desktop i na telefon (zmienna CSS
--cti-size-mobile).Wysokość paska (
min-height), np.48px.Pozycja:
top(zwykły),sticky(przykleja się przy scrollu),fixed(zawsze na wierzchu — JS dokładapadding-topdobody, żeby pasek nie zasłaniał treści).Animacje: wjazd z góry (
slide), pulsowanie przycisku CTA (pulse) lub brak. Obie respektująprefers-reduced-motion: reduce.Zamykanie paska z zapamiętaniem w cookie na wybraną liczbę dni (1–365). Zamknięta kampania jest pomijana przy wyborze — jeśli pasuje inna, pokaże się ona.
Ukrycie przycisków CTA na telefonie dla najciaśniejszych układów.
Współpraca z wysuwanym koszykiem — przy otwartym drawerze (
body.ic-cart-open) pasek schodzi pod overlay i nie łapie kliknięć.

Statystyki i analityka
Moduł mierzy skuteczność każdej kampanii bez zewnętrznych narzędzi.
Zliczane zdarzenia (dziennie, per kampania, per sklep — tabela customtopinfo_stat):
ZdarzenieCo znaczyimpressionsWyświetlenia paskaclosesZamknięcia przez odwiedzającegoclicks_ctaKliknięcia pierwszego przyciskuclicks_cta2Kliknięcia drugiego przyciskucopiesSkopiowania kodu rabatowego
Podsumowanie z 30 dni w panelu, posortowane po liczbie wyświetleń.
Wysyłka przez
navigator.sendBeacon(z fallbackiem naXMLHttpRequest), więc zliczanie nie blokuje renderowania ani nawigacji.Zapis przez dedykowany kontroler AJAX, chroniony tokenem liczonym z ID kampanii.
Integracja z GTM / GA4 — moduł wypycha zdarzenia do window.dataLayer: customtopinfo_impression, customtopinfo_click (z cta: cta|cta2), customtopinfo_close, customtopinfo_copy (z kodem rabatu). Każde zdarzenie niesie customtopinfo_id, więc kampanie da się rozróżnić w raportach.
Instalacja & Integracja
Instalacja, aktualizacja i migracja danych
Instalacja zakłada trzy tabele, rejestruje hooki i tworzy przykładową „Kampanię 1”, żeby panel nie był pusty.
Aktualizacja ze starszych wersji (1.3.0 / 1.3.1 / 1.4.0) prowadzi do jednej, wspólnej ścieżki
applyUpgrade140()— bezpieczny przeskok nawet z bardzo starej instalacji.Migracja starych ustawień — konfiguracja sprzed systemu kampanii (treść, kolory, CTA, daty, zamykanie) jest automatycznie przenoszona do kampanii „Kampania z poprzednich ustawień”. Nic nie trzeba przepisywać ręcznie.
Samonaprawa — wejście w konfigurację modułu sprawdza, czy tabele istnieją i czy hooki są zarejestrowane; brakujące elementy są dokładane w locie.
Deinstalacja usuwa tabele oraz wszystkie klucze
CUSTOMTOPINFO_*, łącznie ze starymi z wersji jednopaskowej.
Integracja z motywem i wydajność
sdsdsCztery hooki naraz: displayHeader, displayAfterBodyOpeningTag, displayBanner, displayTop. Moduł działa więc w motywach, które nie mają wszystkich pozycji — i mimo to renderuje pasek dokładnie raz (blokada po stronie PHP + usuwanie duplikatów po stronie JS).
Pasek zawsze na górze
body— JS przenosi go na pierwszą pozycję, niezależnie od tego, który hook go wyrenderował.Zasoby ładowane warunkowo — CSS i JS trafiają na stronę tylko wtedy, gdy jakaś kampania faktycznie pasuje do kontekstu. Na pozostałych podstronach moduł nie dokłada ani jednego bajtu.
Jedno zapytanie startowe — lista aktywnych kampanii pobierana raz, dopasowanie liczone w PHP, wynik zapamiętany statycznie na czas żądania.
JS bez zależności — czysty vanilla JavaScript, bez jQuery, ładowany na dole strony.
Dostępność —
aria-labelna przycisku zamknięcia,aria-hiddenna ikonie dekoracyjnej, poszanowanieprefers-reduced-motion.
Specyfikacja techniczna
Sprawdź wymagania i kompatybilność przed instalacją.
Historia zmian
Wydanie poprawkowe
- PoprawkaPodgląd kampanii w panelu — pasek nie „ucieka” już jako sticky/fixed, ma wyłączone animacje i poprawne odstępy przycisków.
- PoprawkaWspółpraca z wysuwanym koszykiem — przy otwartym drawerze pasek schodzi pod overlay i nie przechwytuje kliknięć.
- PoprawkaWersja mobilna treści nie dubluje się już z wersją desktopową w podglądzie w panelu.
Piąte wydanie: system kampanii
- NowośćWiele kampanii zamiast jednego paska — własny model danych i trzy tabele w bazie.
- NowośćLista kampanii w panelu z kolejnością, włącznikiem, duplikowaniem i usuwaniem.
- NowośćTryby rotacji przy kilku pasujących kampaniach: pierwsza wg kolejności, losowa albo rotacja po kolei przy każdej odsłonie.
- NowośćTargetowanie odbiorców: wszyscy / tylko goście / tylko zalogowani + wybór grup klientów.
- NowośćTargetowanie stron: strona główna, kategorie, produkt, koszyk, kasa, CMS, wyszukiwarka, promocje, nowości, bestsellery.
- NowośćZawężenie do konkretnych ID kategorii i konkretnych ID stron CMS.
- NowośćWybór sklepów w trybie multistore.
- NowośćHarmonogram godzinowy (np. 18:00–23:00) i wybór dni tygodnia.
- NowośćDrugi przycisk CTA z własnymi kolorami, nową kartą i rel="nofollow".
- NowośćAdres CTA ustawiany osobno dla każdego języka (np. ?submitDiscount=KOD).
- NowośćKod rabatowy do skopiowania jednym kliknięciem, z potwierdzeniem.
- NowośćOdliczanie do końca kampanii (dni + godziny:minuty:sekundy).
- NowośćIkona kampanii: emoji albo wgrany obrazek (jpg, png, gif, webp).
- NowośćStatystyki: wyświetlenia, zamknięcia, kliknięcia obu CTA, kopiowania kodu — dziennie, per kampania i per sklep, z podsumowaniem z 30 dni.
- NowośćZdarzenia dla Google Tag Managera / GA4 wypychane do dataLayer.
- NowośćGradient tła (drugi kolor), ustawiana wysokość paska.
- NowośćPozycja paska: zwykły, sticky (przykleja się przy scrollu) lub fixed (zawsze na wierzchu).
- NowośćAnimacje: wjazd z góry i pulsowanie przycisku CTA.
- NowośćOsobna, krótsza treść na telefon oraz osobne rozmiary czcionki desktop / mobile.
- NowośćOpcja ukrycia przycisków CTA na telefonie.
- NowośćPodgląd kampanii w panelu, renderowany dokładnie tym samym szablonem co front.
- NowośćPrzełącznik „Zezwól na HTML” w treści, z filtrowaniem niebezpiecznego kodu.
- UlepszenieAutomatyczna migracja starych ustawień do kampanii „Kampania z poprzednich ustawień” — nic nie trzeba przepisywać ręcznie.
- UlepszenieCSS i JS ładowane tylko na stronach, gdzie faktycznie pasuje jakaś kampania.
- UlepszeniePełna sanityzacja danych z formularza: kolory, rozmiary CSS, godziny, daty i listy ID.
- UlepszenieModuł sam dokłada brakujące tabele i hooki przy wejściu w konfigurację.
Dodatkowy opis wydania
Największa zmiana w historii modułu. Konfiguracja przeniesiona z Configuration do własnych tabel; jeden pasek zastąpiony nieograniczoną liczbą kampani
Wydanie poprawkowe
- PoprawkaUjednolicona ścieżka aktualizacji — przeskok ze starej instalacji od razu na najnowszą wersję jest bezpieczny.
- PoprawkaPasek przenoszony przez JS na samą górę body, niezależnie od tego, który hook go wyrenderował.
Czwarte wydanie
- PoprawkaZgodność z PrestaShop 8.0 – 9.x (ps_versions_compliancy)
- PoprawkaPrzejście na nowy system tłumaczeń PrestaShop (XLIFF) zamiast pl.php.
- NowośćPasek rejestrowany w czterech hookach: displayHeader, displayAfterBodyOpeningTag, displayBanner, displayTop — działa w motywach bez standardowych pozycji.
- PoprawkaPasek renderuje się dokładnie raz, nawet gdy motyw obsługuje kilka hooków naraz.
- NowośćSkrypt aktualizacyjny upgrade-1.3.0.php.
Trzecie wydanie
- NowośćZakres dat wyświetlania (DATE_FROM / DATE_TO).
- NowośćMożliwość zamknięcia paska i liczba dni ukrycia (cookie).
Drugie wydanie
- NowośćMożliwość zamknięcia paska i liczba dni ukrycia (cookie).
- NowośćWielojęzyczna treść (CUSTOMTOPINFO_MESSAGE) i tekst CTA.
- NowośćGlobalny wyłącznik CUSTOMTOPINFO_DISABLE.
Pierwsze wydanie
- NowośćJeden przycisk CTA ze wspólnym adresem dla wszystkich języków.
- NowośćKolory tła, tekstu, przycisku i tekstu przycisku.
- NowośćRozmiary czcionki tekstu i przycisku.
Wybierz swoją licencję
Każdy plan obejmuje dostęp do pliku, klucza licencyjnego i aktualizacji zgodnie z podanym okresem.
Start
W planie otrzymujesz
- ✓Licencja na 1 domenę
- ✓Aktualizacje przez 365 dni
- ✓Pomoc techniczna przez 6 miesięcy od zakupu
- ✓Ostatnia wersja pozostaje po wygaśnięciu aktualizacji
Rozliczenie roczne
Biznes
W planie otrzymujesz
- ✓Licencja na 3 domeny
- ✓Aktualizacje przez 365 dni
- ✓Pomoc techniczna przez 6 miesięcy od zakupu
- ✓Ostatnia wersja pozostaje po wygaśnięciu aktualizacji
Rozliczenie roczne
Agencja
W planie otrzymujesz
- ✓Licencja na 10 domen
- ✓Aktualizacje przez 365 dni
- ✓Pomoc techniczna przez 6 miesięcy od zakupu
- ✓Ostatnia wersja pozostaje po wygaśnięciu aktualizacji
Rozliczenie roczne
Pytania i odpowiedzi
Odpowiedzi na pytania, które klienci zadają przed zakupem tego produktu.
Do czego służy moduł?
Wyświetla pasek promocyjny na samej górze sklepu — nad nagłówkiem, na każdej podstronie. To nie jest jednak zwykły „banner z tekstem”: moduł pozwala prowadzić wiele kampanii naraz, każdą z własnym harmonogramem, targetowaniem i statystykami.
Z jakimi wersjami PrestaShop działa?
PrestaShop od 8.0.0 do 9.x. Moduł korzysta z nowego systemu tłumaczeń (XLIFF) i standardowych klas ObjectModel, HelperForm, HelperList.
Czy moduł działa z każdym motywem?
W praktyce tak. Pasek jest rejestrowany w czterech hookach naraz — displayHeader, displayAfterBodyOpeningTag, displayBanner i displayTop — więc znajdzie miejsce nawet w motywie, który nie obsługuje wszystkich standardowych pozycji. Mimo czterech hooków pasek renderuje się dokładnie raz, a skrypt dodatkowo przenosi go na samą górę <body>.
Czy potrzebuję cron-a, konta w zewnętrznej usłudze albo API?
Nie. Moduł działa w całości wewnątrz sklepu — harmonogram jest liczony przy każdym wyświetleniu strony, a statystyki zapisywane do bazy sklepu.
Czy moduł spowalnia sklep?
Wpływ jest minimalny. Plik CSS i JS trafiają na stronę tylko wtedy, gdy jakaś kampania faktycznie pasuje do bieżącego kontekstu — na pozostałych podstronach moduł nie dokłada ani jednego bajtu. Lista aktywnych kampanii pobierana jest jednym zapytaniem, a wynik zapamiętywany na czas żądania. Skrypt jest napisany w czystym JavaScripcie (bez jQuery) i ładowany na dole strony.
Czy zobaczę pasek zaraz po instalacji?
Tak. Instalacja tworzy przykładową kampanię o nazwie „Kampania 1” z tekstem zastępczym, żeby panel nie był pusty. Wystarczy wejść w jej edycję i wpisać własną treść.
Ile kampanii mogę utworzyć?
Dowolnie wiele — nie ma limitu. Kampanie widzisz na liście w konfiguracji modułu, z ID, nazwą, statusem, kolejnością i zakresem dat.
Czy mogę pokazać dwa paski jednocześnie?
Nie. Moduł zawsze wyświetla jedną kampanię — tę, która wygra dopasowanie. To celowe: dwa paski nad sobą zjadają ekran i rozpraszają klienta.
Co się stanie, gdy do jednej strony pasuje kilka kampanii?
Typ: Pierwsza według kolejności
Zachowanie: Wygrywa kampania z najniższą wartością pola „Kolejność” (domyślne)
Typ: Losowa
Zachowanie: Przy każdym wejściu losowana jest inna pasująca kampania
Typ: Rotacja po kolei
Zachowanie: Każda kolejna odsłona pokazuje następną kampanię z listy
Jak działa rotacja po kolei?
Moduł zapamiętuje w ciasteczku ostatnio pokazaną kampanię i przy następnej odsłonie wybiera kolejną z listy pasujących. Rotacja jest liczona per przeglądarka, a nie globalnie dla sklepu — każdy klient przechodzi przez kampanie po swojemu.
Jak natychmiast wyłączyć pasek w całym sklepie?
W ustawieniach ogólnych przełącz „Pasek na stronie” na wyłączony. To nadrzędny wyłącznik — chowa wszystkie kampanie naraz, bez ruszania ich konfiguracji.
Jak przygotować kampanię z wyprzedzeniem?
Ustaw pole „Pokazuj od” na przyszłą datę i zostaw kampanię włączoną. Pasek pojawi się sam o wyznaczonej godzinie. Analogicznie „Pokazuj do” wyłącza go automatycznie.
Czy mogę skopiować istniejącą kampanię?
Tak — kopia powstaje jako wyłączona, z dopiskiem „(kopia)” w nazwie. Dzięki temu możesz spokojnie ją dopracować, zanim trafi na sklep. Ikona nie jest kopiowana, trzeba ją wgrać ponownie.
Co się stanie z kampanią po usunięciu?
Usuwane są także jej statystyki oraz wgrany plik ikony. Operacja jest nieodwracalna — jeśli chcesz tylko wstrzymać kampanię, wyłącz ją zamiast usuwać.
Czy mogę pokazać pasek tylko na wybranych stronach?
Tak. W polu „Strony” wybierasz typy podstron: strona główna, kategorie, karta produktu, koszyk, kasa, CMS, wyszukiwarka, promocje, nowości, bestsellery. Puste pole lub „Cały sklep” oznacza brak ograniczeń.
Jak zawęzić kampanię do konkretnych kategorii?
Wpisz ID kategorii po przecinku w polu „Tylko kategorie”. Ważne: ten filtr działa tylko na stronach kategorii — na karcie produktu czy w koszyku nie blokuje paska. Jeśli chcesz kampanię wyłącznie w jednej kategorii, ustaw też „Strony” na „Kategorie”. Ta sama zasada dotyczy pola „Tylko strony CMS”.
Czy mogę pokazać pasek tylko zalogowanym klientom?
Tak, pole „Odbiorcy” ma trzy tryby: wszyscy, tylko goście, tylko zalogowani. Dodatkowo możesz zawęzić kampanię do wybranych grup klientów — np. pasek z rabatem hurtowym tylko dla grupy „Hurt”. Puste zaznaczenie = wszystkie grupy.
Czy moduł obsługuje multistore?
Tak. W polu „Sklepy” wskazujesz, w których sklepach kampania ma działać. Puste = wszystkie. Statystyki także są liczone osobno dla każdego sklepu.
Jak ustawić kampanię tylko na weekend albo tylko wieczorem?
Pole „Dni tygodnia” ogranicza kampanię do wybranych dni, a „Godzina od / do” (format HH:MM) do konkretnych godzin w ciągu doby — np. 18:00–23:00 na happy hours. Puste godziny oznaczają cały dzień.
Według jakiej strefy czasowej liczone są daty i godziny?
Według czasu serwera / sklepu (ustawienie strefy czasowej w PrestaShop). Jeśli sprzedajesz do klientów w innej strefie, uwzględnij to przy ustawianiu godzin.
Czy mogę użyć HTML w treści paska?
Tak — służy do tego przełącznik „Zezwól na HTML”. Przy włączonym treść przechodzi przez filtr bezpieczeństwa PrestaShop, który usuwa niebezpieczny kod (m.in. skrypty). Przy wyłączonym wszystkie znaczniki są usuwane i zostaje sam tekst.
Co się stanie, jeśli nie wypełnię treści w jakimś języku?
Moduł automatycznie użyje treści z domyślnego języka sklepu. Nie zobaczysz pustego paska tylko dlatego, że zapomniałeś o jednym tłumaczeniu.
Kampania nie ma treści w żadnym języku — co wtedy?
Nie zostanie pokazana. Pusta treść (i desktopowa, i mobilna) automatycznie dyskwalifikuje kampanię, nawet jeśli jest włączona i mieści się w harmonogramie.
Jak zrobić krótszą treść na telefon?
Wypełnij pole „Krótsza treść na telefon”. Na ekranach do 767 px zamiast pełnego komunikatu wyświetli się ta wersja. Zostawienie pola pustego oznacza, że telefon dostanie treść desktopową.
Czy mogę mieć dwa przyciski?
Tak. Każdy z dwóch przycisków CTA ma własny tekst, adres osobny dla każdego języka, kolor tła, kolor tekstu, opcję otwierania w nowej karcie oraz rel="nofollow".
Jak działa kod rabatowy na pasku?
Wpisany kod pojawia się jako klikalny przycisk — kliknięcie kopiuje go do schowka klienta i pokazuje potwierdzenie „OK”. Moduł nie tworzy kuponu w PrestaShop: kod musi już istnieć w Katalog → Reguły koszyka.
Jak sprawić, żeby rabat naliczał się sam po kliknięciu?
Zamiast (albo obok) kodu do skopiowania ustaw adres przycisku CTA z parametrem ?submitDiscount=KOD — PrestaShop doda kupon do koszyka po kliknięciu.
Jak działa odliczanie?
Pokazuje czas pozostały do daty z pola „Pokazuj do”, w formacie Xd HH:MM:SS, odświeżany co sekundę. Wymaga dwóch rzeczy naraz: włączonego przełącznika „Odliczanie do końca” i wypełnionej daty końcowej. Po dojściu do zera licznik zatrzymuje się na 00:00:00, a kampania przestaje się wyświetlać.
Czym różnią się pozycje: zwykły, sticky i fixed?
Zwykły — pasek przewija się razem ze stroną i znika przy scrollu w dół.
Sticky — przykleja się do górnej krawędzi, gdy do niej dojedzie.
Fixed — jest zawsze widoczny na wierzchu; moduł automatycznie dokłada odstęp u góry strony, żeby pasek nie zasłaniał nagłówka.
Jak dodać ikonę do paska?
Do wyboru są emoji (wpisujesz je wprost w pole) albo wgrany obrazek w formacie JPG, PNG, GIF lub WEBP. Obrazek jest wyświetlany w rozmiarze 28×28 px, więc przygotuj mały, kwadratowy plik.
Zamknąłem pasek podczas testów — jak go przywrócić?
Usuń ciasteczka strony w przeglądarce (albo otwórz sklep w oknie prywatnym). Zamknięcia są zapisywane po stronie przeglądarki, nie na koncie klienta.
Co dokładnie mierzy moduł?
Pięć zdarzeń, zliczanych dziennie dla każdej kampanii i każdego sklepu osobno: wyświetlenia, zamknięcia, kliknięcia pierwszego CTA, kliknięcia drugiego CTA oraz skopiowania kodu rabatowego.
Za jaki okres widzę statystyki?
Podsumowanie w panelu obejmuje ostatnie 30 dni, posortowane malejąco po liczbie wyświetleń. Surowe dane dzienne zostają w bazie i nie są kasowane automatycznie.
Czy mogę podpiąć to pod Google Analytics albo GTM?
Tak. Moduł wypycha zdarzenia do window.dataLayer: customtopinfo_impression, customtopinfo_click (z informacją, który przycisk), customtopinfo_close i customtopinfo_copy. Każde niesie ID kampanii, więc w raportach da się rozróżnić poszczególne paski.
Dlaczego liczby w module różnią się od tych w Google Analytics?
Bo mierzą co innego i w innych warunkach. Blokery reklam częściej blokują GA niż zapytania do własnego sklepu, a moduł liczy każde wyświetlenie paska, nie sesję. Traktuj statystyki modułu jako źródło do porównań między kampaniami, a nie jako substytut pełnej analityki.
Czy statystyki zawierają dane osobowe (RODO)?
Nie. Zapisywane są wyłącznie liczniki zbiorcze: ID kampanii, ID sklepu, data i liczba zdarzeń. Nie ma tam adresów IP, identyfikatorów klientów ani niczego, co pozwalałoby wskazać konkretną osobę. Ciasteczka modułu (zamknięte kampanie, ostatnia kampania w rotacji) są funkcjonalne i również nie identyfikują klienta.
Czy mogę wyzerować statystyki?
Nie ma do tego przycisku w panelu. Statystyki kampanii znikają dopiero razem z jej usunięciem. Wyczyszczenie samych liczników wymaga ingerencji w bazę danych.
| Gwiazdy | Procent |
|---|---|