Każdy, kto sprzedaje przez PrestaShop, zna Facebook Pixel. Mniej osób zdaje sobie sprawę, że TikTok, Pinterest i Snapchat mają własne, niemal identyczne systemy śledzenia - oraz że wdrożenie takiego piksela w sklepie PrestaShop wygląda inaczej niż w Shopify czy WordPressie, bo PrestaShop nie ma w panelu administracyjnym pola "wklej tutaj swój piksel". Ten przewodnik dotyczy wyłącznie strony śledzenia: czym są te trzy piksele, gdzie fizycznie umieszcza się kod w PrestaShop, jak uruchamiać zdarzenia e-commerce, które naprawdę mają znaczenie (zakup, a nie tylko wyświetlenie strony), i jak zrobić to bez obniżania wyniku PageSpeed ani łamania RODO. Jeśli nadal zastanawiasz się, czy dana platforma jest warta Twojego czasu jako kanał sprzedaży, to osobny temat - opisujemy go dla TikToka tutaj i Pinteresta tutaj. Ten artykuł zakłada, że decyzja o reklamowaniu już zapadła, a teraz trzeba przygotować instalację danych.

Ostatnia aktualizacja: czerwiec 2026.

Co naprawdę robi piksel społecznościowy - i dlaczego bez zdarzeń jest bezwartościowy

"Piksel" to po prostu krótki fragment JavaScriptu, który ładuje się na Twoich stronach i raportuje dane z powrotem do platformy. Zainstalowany w podstawowej wersji robi jedną rzecz: mówi TikTokowi albo Pinterestowi "ta osoba odwiedziła Twoją stronę", co wystarcza do zbudowania grupy odbiorców do retargetingu. Wartość nie tkwi jednak w samym pikselu bazowym - tylko w standardowych zdarzeniach dodanych na jego wierzchu: wyświetleniu produktu, dodaniu do koszyka, rozpoczęciu realizacji zamówienia, a przede wszystkim ukończonym zakupie z wartością zamówienia i walutą. Bez tych zdarzeń algorytm platformy działa po omacku: może pokazywać reklamę ludziom, ale nie uczy się, kto faktycznie kupuje, i nie potrafi raportować zwrotu z wydatków na reklamy. Dlatego prawdziwe zadanie instalacyjne w PrestaShop nie brzmi "wkleić fragment kodu" - brzmi: "uruchomić właściwe zdarzenie, z właściwymi danymi, na właściwej stronie".

Mechanika wykorzystywania tych grup odbiorców do podążania za odwiedzającymi po sieci - limity częstotliwości, okna wykluczeń, kreacje - to osobna dyscyplina; omawiamy ją w artykule o tym, jak działa retargeting. Tutaj interesuje nas tylko to, żeby dane były poprawne u źródła.

Gdzie umieścić kod w PrestaShop (część, której platformy nigdy nie wyjaśniają)

TikTok, Pinterest i Snapchat dają Ci fragment kodu i zakładają, że możesz wkleić go do <head> swojego motywu. W PrestaShop masz trzy uczciwe sposoby, żeby to zrobić - mniej więcej w kolejności od najbardziej bolesnego przy kolejnej aktualizacji:

MetodaGdzie się znajdujeCzy przetrwa aktualizację motywu/rdzenia?Czy może uruchamiać zdarzenia zakupu?
Edycja szablonu motywuthemes/your-theme/templates/_partials/head.tpl (albo header.tpl)Nie - zostanie nadpisany przy aktualizacji motywuTylko przy ręcznej pracy w Smarty na każdej stronie
Własny moduł na displayHeaderTwój mini-moduł podpięty pod hookDisplayHeader / hookDisplayFooterTakTak - kontrolujesz logikę zdarzeń w PHP/JS
Kontener Google Tag ManageraJeden fragment kodu GTM w motywie; piksele zarządzane wewnątrz GTMTak (w motywie znajduje się tylko GTM)Tak, przez warstwę danych (patrz niżej)

Jaka jest więc rekomendacja? Dla pojedynczego piksela, którego rzadko będziesz zmieniać, najczystszy jest mały własny moduł podpięty pod displayHeader: jest odporny na aktualizacje i może odczytać zamówienie, żeby uzupełnić dane zakupu. Gdy uruchamiasz dwa lub więcej takich pikseli, przejdź na Google Tag Managera - jeden kontener w motywie, każdy piksel zarządzany z interfejsu WWW GTM i brak edycji motywu przy dodawaniu kolejnej platformy. Elementem, dzięki któremu GTM działa poprawnie z PrestaShop, jest warstwa danych: wypychasz zawartość koszyka oraz (na stronie potwierdzenia zamówienia) łączną kwotę zamówienia i ID zamówienia do window.dataLayer, a każdy piksel odczytuje je stamtąd. To właśnie zmienia piksel typu "ktoś odwiedził stronę" w piksel typu "ktoś wydał 84,50 EUR".

Niezawodne uruchamianie zdarzenia zakupu

Zdarzeniem, którego nie wolno zepsuć, jest zakup: musi uruchomić się dokładnie raz, na prawdziwej stronie potwierdzenia zamówienia, z prawdziwą kwotą. W PrestaShop tę stronę obsługuje OrderConfirmationController, a właściwym hookiem jest displayOrderConfirmation - przekazuje rzeczywisty obiekt Order, więc odczytujesz $order->total_paid i referencję zamówienia prosto z bazy danych, zamiast ufać wartości JavaScriptu, którą odświeżenie strony mogłoby policzyć podwójnie. Uruchamianie zdarzenia na wcześniejszych krokach kontrolera zamówienia albo na stronie CMS z podziękowaniem to sposób, w jaki sklepy zaczynają raportować dwa razy większy przychód niż faktycznie osiągnęły, a potem zastanawiają się, czemu ich ROAS wygląda jak fantazja.

Równie ważne: piksel nie może uruchomić się, zanim odwiedzający wyrazi zgodę na marketingowe pliki cookie. Wzorzec, który spełnia obie zasady - uruchom raz, na stronie potwierdzenia, i tylko za zgodą - wygląda tak dla piksela TikToka (wersje dla Pinteresta i Snapchata mają tę samą konstrukcję, tylko własne nazwy zdarzeń i obiekt globalny):

{* themes/your-theme/templates/.../order-confirmation, rendered server-side with the real Order *}
<script>
(function () {
  // 1. Only fire if the visitor accepted marketing cookies.
  function hasMarketingConsent() {
    if (window.MPRCR && typeof window.MPRCR.isGranted === 'function') {
      return !!window.MPRCR.isGranted('marketing');
    }
    return false; // no consent layer answer yet → treat as not granted
  }

  if (!hasMarketingConsent() || !window.ttq) return;

  // 2. Values come from the trusted Order object server-side, not from JS state.
  ttq.track('CompletePayment', {
    value: {$order_total_paid|floatval},      // $order->total_paid
    currency: '{$currency_iso|escape:'javascript'}',
    content_type: 'product',
    contents: {$order_contents_json nofilter}  // array of {content_id, quantity, price}
  }, {
    // 3. Stable event_id keyed on the order → de-dupes against the server-side Events API.
    event_id: 'order_{$order_id|intval}'
  });
})();
</script>

Trzy rzeczy sprawiają, że ten fragment kodu jest poprawny, a nie jest miną do bezrefleksyjnego wklejenia: działa dopiero po prawdziwym sprawdzeniu zgody (TikTok udostępnia też ttq.holdConsent() / ttq.grantConsent() w tym samym celu); wartość i referencja zamówienia są wstrzykiwane z renderowanego po stronie serwera obiektu Order, więc odświeżenie strony nie może sfabrykować drugiego zakupu; a event_id jest oparte na ID zamówienia, więc gdy później dodasz serwerowe Events API, platforma będzie mogła zdeduplikować zdarzenie z przeglądarki względem zdarzenia serwerowego, zamiast liczyć oba.

Trzy piksele i jedna rzecz, w której każdy z nich naprawdę jest dobry

Makieta pulpitu TikTok Pixel Events z identyfikatorem piksela, zdarzeniami serwera, jakością dopasowania, ostatnią synchronizacją i tabelą statusu zdarzeń
Makieta pulpitu wymienia zdarzenia piksela TikTok, takie jak Purchase, AddToCart, ViewContent, InitiateCheckout i Search.

Wzorzec instalacji jest identyczny dla całej trójki; różni się słownik zdarzeń i zachowanie, które dana platforma najlepiej rejestruje. Dopasuj piksel do swojego katalogu, nie do szumu wokół platformy.

PlatformaKluczowe zdarzenia e-commerceW czym jest wyraźnie dobryWarto, gdy...
TikTok PixelViewContent, AddToCart, InitiateCheckout, CompletePaymentWykorzystuje zdarzenia piksela do optymalizacji emisji oraz budowania podobnych i niestandardowych grup odbiorców - choć, jak na każdej platformie, wyniki zależą od wolumenu zdarzeń i dopasowania produktu do rynkuProdukty wizualne, sprzyjające zakupom impulsywnym; odbiorcy głównie poniżej 35 lat
Pinterest Tagpagevisit, viewcategory, addtocart, checkoutUchwycenie dłuższych ścieżek odkrywania i planowania - użytkownicy zapisują teraz, a kupują tygodnie później, czyli podążają ścieżką, którą inne piksele mogą przeoczyć; porównaj rzeczywiste ustawienia atrybucji na każdym koncie reklamowymZakupy aspiracyjne i planowane: wystrój wnętrz, moda, śluby, DIY, jedzenie
Snapchat PixelPAGE_VIEW, VIEW_CONTENT, ADD_CART, PURCHASEDocieranie do najmłodszych kupujących - często przy tańszych wyświetleniach niż w Meta czy na TikToku w tej grupieRzeczywiście pokolenie Z w rynkach, gdzie Snapchat nadal jest używany codziennie (USA, Wielka Brytania, Francja, Bliski Wschód)

Zwróć uwagę, że nazwy zdarzeń nie są wymienne - u Pinteresta są pisane małymi literami, u Snapchata wielkimi literami z podkreśleniami, u TikToka w camelCase - więc kopiowanie kodu między platformami po cichu się nie uda. To dokładnie ten rodzaj platformowych drobiazgów, który przemawia za zarządzaniem nimi w GTM, zamiast ręcznego wpisywania w motyw czterech niemal identycznych, ale jednak różnych fragmentów kodu.

Po stronie serwera: Events API (zdecydowanie zalecane, gdy wydajesz zauważalne kwoty)

Piksele w przeglądarce z roku na rok tracą dokładność - blokery reklam, mechanizmy Safari zapobiegające śledzeniu i odmowy zgód ograniczają to, co piksel JavaScriptowy jest w stanie zobaczyć. Wszystkie trzy platformy oferują już odpowiednik po stronie serwera, który wysyła te same zdarzenia prosto z Twojego serwera na ich serwery: TikTok Events API, Pinterest Conversions API i Snap Conversions API. W PrestaShop naturalnym miejscem do ich wywołania jest ten sam hook displayOrderConfirmation (albo nadpisanie validateOrder w module), gdzie masz już zaufany obiekt Order - wysyłasz żądanie PHP cURL do API platformy z wartością zamówienia, zahashowanym adresem e-mail klienta i ID zdarzenia zgodnym ze zdarzeniem przeglądarkowym, aby platforma mogła zdeduplikować oba sygnały. Korzyść w prostych słowach: zakup, którego piksel w przeglądarce nie złapał (bo został zablokowany albo klient zamknął kartę, zanim się załadował), nadal trafia do platformy, więc raportowana sprzedaż - a tym samym uczenie algorytmu - przestaje przeciekać. Konfiguracja wymaga więcej pracy, ale gdy wydajesz na te kanały zauważalne kwoty, jest mocno zalecana: to różnica między optymalizacją na pełnych danych a optymalizacją na ograniczonym i zmiennym wycinku zdarzeń z przeglądarki.

Jak nie pozwolić trzem narzędziom śledzącym zrujnować PageSpeed

Każdy dodany piksel oznacza więcej JavaScriptu na każdej stronie, a sklepy PrestaShop i tak walczą o utrzymanie zielonych Core Web Vitals. Ułożenie trzech pikseli plus menedżera tagów to prosty sposób na dodanie setek milisekund do ładowania - a wolny sklep traci właśnie tych klientów, za których pozyskanie płacisz. Trzymaj to pod kontrolą:

  • Ładuj piksele przez GTM, asynchronicznie. Jeden asynchroniczny kontener GTM jest znacznie lżejszy niż trzy osobne synchroniczne fragmenty kodu wklejone do nagłówka.
  • Odkładaj piksele niekrytyczne. Piksel nie musi uruchamiać się przy pierwszym renderowaniu. Wyzwolenie go przy pierwszym przewinięciu albo kilka sekund po interakcji utrzymuje Largest Contentful Paint w dobrej kondycji, a nadal łapie zdarzenia, które mają znaczenie.
  • Dla zdarzenia zakupu preferuj wariant serwerowy. Wszystko, co wysyłasz przez Events API, ma zerowy ciężar w przeglądarce - przeniesienie konwersji na serwer jednocześnie poprawia dokładność i usuwa JavaScript ze strony.
  • Audytuj uczciwie. Jeśli piksel został zainstalowany "na wszelki wypadek", a nigdy nie uruchomiono reklamy na tej platformie, usuń go. Nie zbiera niczego, czego używasz, a kosztuje każdego odwiedzającego czas ładowania.

Najpierw zgoda - inaczej nic z tego nie jest legalne

Zgodnie z RODO każdy z tych pikseli jest osobnym zewnętrznym dostawcą, którego trzeba ujawnić i zablokować do czasu uzyskania ważnej zgody marketingowej; żaden z nich nie może uruchomić się, zanim odwiedzający się zgodzi. Zgodna konfiguracja PrestaShop oznacza, że baner zgody na pliki cookie wymienia TikToka, Pinteresta i Snapchata indywidualnie, pozwala odwiedzającemu zaakceptować lub odrzucić każdego z nich, a sam fragment kodu faktycznie wstrzymuje do czasu udzielenia zgody - to kolejny mocny argument za GTM, bo pozwala scentralizować uruchamianie zależne od zgody w jednym miejscu - choć każdy tag spoza Google (TikTok, Pinterest, Snapchat) nadal musi zostać skonfigurowany tak, aby respektował stan zgody; nie dzieje się to automatycznie. W praktyce dlatego opóźnione ładowanie jest też darmowe: odwiedzający bez zgody w ogóle nie uruchamia piksela, więc nie ponosi również kosztu wydajnościowego. Dobrze ustaw warstwę zgód raz, a reszta staje się zadaniem konfiguracyjnym, nie ryzykiem prawnym.

Atrybucja: ufaj własnym liczbom, nie liczbom platform

Zainstaluj wszystkie trzy, a szybko zauważysz coś niewygodnego: raportowane przez nie konwersje nie sumują się do Twojej realnej sprzedaży. Klient, który odkrył produkt na TikToku, zapisał go na Pintereście, a ostatecznie kupił po reklamie retargetingowej na Facebooku, zostanie przypisany przez wszystkie trzy platformy - więc suma konwersji raportowanych przez platformy zawsze będzie zawyżona. Nie opieraj budżetu na tych liczbach. Traktuj własne dane zamówień z PrestaShop jako jedno źródło prawdy i porównuj je z deklaracjami każdej platformy. Faktyczny przychód sklepu znajduje się w Twoim panelu administracyjnym, a nasz moduł Financial Revolution pobiera rzeczywiste dane o opłaconych zamówieniach do przejrzystych raportów, które możesz zestawić z samodzielnie raportowanym ROAS każdego kanału - dzięki temu finansujesz platformy, które naprawdę przynoszą pieniądze, i po cichu ucinasz te, które przypisują sobie zasługi za sprzedaż, którą tylko obserwowały. O to właśnie chodzi w poprawnym śledzeniu: nie o próżne panele z wykresami, tylko o wiedzę, który kanał zasilać.

Najczęściej zadawane pytania

Czy mogę po prostu wkleić kod piksela gdzieś w PrestaShop?

Nie ma natywnego pola "wklej tutaj swój piksel". Masz trzy uczciwe opcje: edycję pliku head.tpl motywu (przepadnie przy kolejnej aktualizacji motywu), mały własny moduł podpięty pod displayHeader/displayFooter (odporny na aktualizacje, może odczytać zamówienie) albo kontener Google Tag Managera (jeden fragment kodu w motywie, każdy piksel zarządzany w GTM). Dla jednego piksela najczystszy jest własny moduł; dla dwóch lub więcej lepiej skaluje się GTM z warstwą danych. Jeśli nie chcesz budować tego ręcznie, istnieją dedykowane moduły PrestaShop dla każdego z nich - przewodnik po Facebook Pixelu omawia wariant dla Meta, a to samo podejście (bramka zgody, serwerowe zdarzenie zakupu) dotyczy TikToka, Pinteresta i Snapchata.

Dlaczego konwersje raportowane przez platformy nie zgadzają się z moją realną sprzedażą?

Bo jeden kupujący, który przed zakupem miał kontakt z TikTokiem, Pinterestem i Facebookiem, zostanie przypisany przez wszystkie trzy platformy - więc suma konwersji raportowanych przez platformy zawsze jest zawyżona. Nie opieraj budżetu na tych liczbach. Używaj własnych danych o opłaconych zamówieniach z PrestaShop jako jednego źródła prawdy i porównuj z nimi deklaracje każdej platformy.

Czy zgodnie z prawem potrzebuję zgody, zanim piksel się uruchomi?

Tak. Zgodnie z RODO każdy piksel jest osobnym dostawcą marketingowym, którego trzeba ujawnić i objąć ważną zgodą, a żaden nie może uruchomić się, zanim odwiedzający się zgodzi. Zgodna konfiguracja wymienia TikToka, Pinteresta i Snapchata osobno w banerze zgody i faktycznie wstrzymuje każdy fragment kodu do czasu udzielenia konkretnej zgody - nie dzieje się to automatycznie tylko dlatego, że uruchamiasz je przez GTM; każdy tag spoza Google nadal musi być skonfigurowany tak, aby respektował stan zgody.

Czy serwerowe Events API jest warte dodatkowej pracy?

Gdy wydajesz zauważalne kwoty - tak. Piksele przeglądarkowe z roku na rok tracą dokładność przez blokery reklam, mechanizmy Safari zapobiegające śledzeniu i odmowy zgód. TikTok Events API, Pinterest Conversions API i Snap Conversions API wysyłają te same zdarzenia serwer-serwer z zaufanego obiektu Order, więc zakupy pominięte przez przeglądarkę nadal trafiają do platformy. Dopasuj event_id zdarzenia serwerowego do zdarzenia przeglądarkowego, żeby platforma mogła je zdeduplikować.

Czy trzy piksele zrujnują mój PageSpeed?

Mogą, jeśli wkleisz trzy synchroniczne fragmenty kodu do nagłówka. Ładuj je przez jeden asynchroniczny kontener GTM, odkładaj piksele niekrytyczne do pierwszego przewinięcia zamiast pierwszego renderowania, przenieś zdarzenie zakupu na serwer (zerowy ciężar w przeglądarce) i usuń każdy piksel platformy, na której nigdy faktycznie się nie reklamujesz.

Ostatni rozsądny test przed instalacją czegokolwiek: piksel zarabia na siebie tylko wtedy, gdy platforma za nim stojąca jest rzeczywiście tam, gdzie są Twoi klienci. Jeśli nie masz tego ustalonego, zacznij od artykułu o tym, które platformy naprawdę napędzają sprzedaż - a po stronie Meta przewodnik Facebook Pixel dla PrestaShop omawia narzędzie śledzące, które powinno działać w niemal każdym sklepie. Śledź platformy, na których się reklamujesz, uruchamiaj czyste zdarzenie zakupu po stronie serwera, zabezpiecz wszystko zgodą i pozwól własnym danym zamówień rozstrzygać spory.

David Miller

David Miller

Założyciel, mypresta.rocks
O autorze

David Miller to specjalista PrestaShop z ponad dekadą praktycznego doświadczenia i założyciel mypresta.rocks, studia programistycznego z Tychów. Tworzy i utrzymuje katalog ponad 150 modułów PrestaShop, w tym 21 pakietów „Revolution" obejmujących SEO, checkout, bezpieczeństwo, wydajność, marketing, wyszukiwanie, wsparcie i operacje magazynowe, które każdego dnia usprawniają realne sklepy, testowanych na PrestaShop 1.7.8, 8.x i 9.x. Sprawuje również opiekę nad sklepami produkcyjnymi generującymi miliony rocznego obrotu, dlatego jego pracę ocenia się po realnej sprzedaży, a nie po wersjach demo. Jego doświadczenie obejmuje pełen zakres e-commerce, wydajność, bezpieczeństwo, SEO i marketing, oraz wykracza poza PrestaShop, sięgając WooCommerce, Shopify i systemów tworzonych na zamówienie. Na blogu pisze o technicznej stronie PrestaShop: co platforma naprawdę robi pod maską, co psuje się na produkcji i które rozwiązania faktycznie się sprawdzają.

Udostępnij ten wpis:

Komentarze

Brak komentarzy. Bądź pierwszy!

Spodobał Ci się ten artykuł?

Otrzymuj nasze najnowsze porady, przewodniki i aktualizacje modułów prosto na swoją skrzynkę.

Możesz zrezygnować w każdej chwili. W tym celu należy odnaleźć szczegóły w naszej informacji prawnej.

Ładowanie...
Do góry