Key features and functionalities w kontekście sklepu to nie lista z oferty handlowej, a zestaw funkcji, które da się wskazać palcem w procesie zamówienia i zmierzyć w GA4. Feature oznacza, co system potrafi; functionality — jak ta zdolność działa w praktyce, od koszyka do faktury i statusu przesyłki. Poniżej rozkładam temat na cztery części: rdzeń PrestaShop 8.x, realne różnice wobec WooCommerce, funkcje przekładające się na konwersję oraz pomiar, bez którego żadna z tych decyzji nie ma podstaw. Bez obiecywania cudów — tylko to, co można sprawdzić w panelu sklepu i w danych analitycznych.

Key features and functionalities – co to znaczy w praktyce sklepu internetowego

Key features and functionalities w ofercie wygląda jak lista życzeń: dwadzieścia punktów, każdy z ptaszkiem. W codziennej pracy sklepu to dwa różne pojęcia i warto je rozdzielić. Feature to zdolność systemu — PrestaShop potrafi obsłużyć wiele języków, warianty produktu, faktury PDF. Functionality to sposób, w jaki ta zdolność działa w procesie zamówienia: czy klient z Niemiec dostaje e-mail ze statusem „Wysłano” po niemiecku, czy zmiana rozmiaru przelicza cenę i stan bez przeładowania strony, czy faktura PDF powstaje sama przy zmianie statusu na „Płatność zaakceptowana”.

Przykład pary, którą często rozbieramy z klientami: wielojęzyczność jako feature i automatyczne tłumaczenie statusów zamówień oraz szablonów e-mail jako functionality. Pierwsze mówi „mamy 4 wersje językowe”. Drugie mówi: zamówienie #1043 zmieniło status na „Wysłane”, a klient z Włoch dostał wiadomość po włosku, z poprawną nazwą statusu i numerem przesyłki. Tłumaczenia szablonów ustawiasz w panelu: Międzynarodowe → Tłumaczenia → Tłumaczenia szablonów e-mail.

Zanim funkcja trafi do umowy wdrożeniowej, przepuszczamy ją przez trzy pytania:

Pułapka powtarza się w co drugim przetargu: funkcje wymienione w ofercie, ale nigdy nie włączone i nieprzetestowane. W panelu wpisane są cztery języki, działa jeden; jest moduł zwrotów, ale nikt nie wie, gdzie kliknąć. Włącz, złóż zamówienie testowe, sprawdź e-mail i fakturę. Po stronie Google mierzalność wspierają dane strukturalne produktu — cena i dostępność widoczne w wynikach.

Feature (co system potrafi)Functionality (jak działa w procesie)
Wielojęzyczność (4 wersje)Status zamówienia i e-mail po języku klienta, bez ręcznego kopiowania
Warianty produktuZmiana rozmiaru przelicza cenę i stan, koszyk aktualizuje się bez przeładowania
Statusy zamówieńZmiana na „Wysłane” wysyła e-mail i udostępnia fakturę PDF
Reguły cenoweRabat 10% od 500 zł nalicza się sam w koszyku, także dla zalogowanych B2B

Kluczowe funkcje rdzenia PrestaShop 8.x – co dostajesz bez dopłat

Rdzeń PrestaShop 8.x daje więcej, niż większość firm zakłada na starcie. Katalog: produkty, kombinacje generowane z atrybutów (rozmiar, kolor, pojemność), cechy, stany magazynowe, tryb multistore. Uwaga na eksplozję kombinacji: 5 kolorów × 8 rozmiarów = 40 wariantów na produkt, każdy z własnym SKU, ceną i stanem. Przy kilku tysiącach kombinacji na jednej karcie panel zaczyna się dławić — dziel produkt albo upraszczaj atrybuty.

Zamówienia: statusy z automatycznym e-mailem przy zmianie (Zamówienia → Statusy), faktury PDF, zwroty, reguły koszyka i reguły cenowe katalogowe (Katalog → Rabaty). Do tego uprawnienia pracowników w profilach (Parametry zaawansowane → Zespół), dziennik zdarzeń (Parametry zaawansowane → Logi), zadania cron i kolejka maili — bez kolejki przy 100 zamówieniach w godzinę skrzynka wysypuje się błędami SMTP.

Wydajność, którą włączasz ręcznie po instalacji: cache Smarty i CCC (Combine, Compress, Cache) w Parametry zaawansowane → Wydajność, kompresja oraz nagłówki Cache-Control i ETag po stronie serwera. Warstwa bazowa to PHP 8.1+ i MySQL 8 — sprawdź tabelę zgodności dla swojej wersji rdzenia, bo instalator nie ustawi tego za Ciebie. Świeży sklep potrafi ładować kartę produktu o 1,5–2 s dłużej właśnie z powodu wyłączonego cache.

Granica z wersjami płatnymi: PrestaShop Essential i Enterprise to plany komercyjne. Ich zakres zmienia się w czasie — nie przepisuję go z pamięci, sprawdź aktualną tabelę na stronie PrestaShop. Zasada praktyczna: jeśli funkcja jest w rdzeniu, nie płać za nią drugi raz w module.

Element rdzeniaGdzie go włączyszStan po instalacji
MultistoreParametry zaawansowane → MultistoreWyłączony
CCC i cache SmartyParametry zaawansowane → WydajnośćWyłączony / wymaga decyzji
Reguły koszyka i cenoweKatalog → RabatyPuste
Faktury PDF i zwrotyZamówienia → Faktury / ZwrotyAktywne
Dziennik zdarzeńParametry zaawansowane → LogiZapisuje i rośnie — czyść

WooCommerce vs PrestaShop – te same funkcje, inna filozofia

Próg wejścia: WooCommerce startuje szybciej. WordPress, WooCommerce i motyw to kilka godzin pracy, jeśli katalog jest mały. Problem pojawia się później, bo każda dodatkowa funkcja to kolejna wtyczka. Faktury, kurierzy, płatności ratalne, warianty, B2B — po dziesięciu wtyczkach aktualizacja WordPressa przestaje być rutynową czynnością, a staje się projektem z testami.

Koszt utrzymania w horyzoncie 3 lat: w Woo płacisz głównie licencjami — w praktyce od kilku do kilkunastu płatnych wtyczek, rozliczanych rocznie lub miesięcznie. Do tego konflikty po aktualizacjach, czyli czas dewelopera: 2–6 godzin po każdej większej aktualizacji motywu lub samego Woo. W PrestaShop wtyczek jest mniej, bo rdzeń pokrywa zamówienia, faktury, zwroty i warianty, ale płacisz za wdrożenie i za sprawdzanie zgodności modułów z nową wersją rdzenia przed każdą aktualizacją.

Kiedy wygrywa WooCommerce: dużo treści i sklep jako dodatek, blog plus sprzedaż, katalog do kilkuset produktów, prosty model wysyłki i płatności. Kiedy PrestaShop: B2B z cenami per grupa klientów, duży katalog (tysiące SKU), rozbudowane warianty, multistore, kilka walut i języków. Wydajność sprawdź przed decyzją: Woo z kilkudziesięcioma wtyczkami potrafi nie zmieścić się w progach Core Web Vitals na mobile, a to przekłada się na widoczność w Google i na konwersję.

Test decyzyjny — 5 pytań:

Funkcjonalności, które realnie decydują o konwersji

Funkcję uznajemy za działającą dopiero wtedy, gdy da się ją wskazać palcem w ścieżce zakupu i przypisać do zdarzenia w GA4. W praktyce o wyniku decydują trzy obszary: checkout, płatności i dostawa.

Płatności: BLIK, Przelewy24 lub PayU, karty oraz płatności odroczone. Każda metoda, która wyrzuca użytkownika na zewnętrzny serwis, musi poprawnie wracać do sklepu i domykać zamówienie — inaczej rośnie liczba zamówień ze statusem „oczekiwanie na płatność”.

Dostawa: InPost Paczkomaty, DPD, DHL. Liczy się mapa punktów odbioru (widget z API kuriera), generowanie etykiet bez wychodzenia z panelu i statusy przesyłek wracające do sklepu automatycznie.

Wyszukiwarka i filtry fasetowe to najczęstszy cichy wyciek ruchu wewnętrznego. Monitoruj frazy bez wyników przez zdarzenie view_search_results i poprawiaj słownik synonimów oraz atrybuty filtrów.

Zasada na koniec: każdy dodatkowy krok w checkoucie weryfikujesz danymi z GA4, nie przeczuciem. Osobno pilnuj czasu ładowania koszyka i płatności — Core Web Vitals to najprostszy punkt odniesienia.

ObszarCo sprawdzić w paneluJak to zmierzyć
CheckoutZakup jako gość, liczba kroków, szacowanie dostawy w koszykuEksploracja ścieżki: begin_checkout → purchase
PłatnościCzy webhook potwierdza płatność, czy tylko powrót na stronęLiczba zamówień ze statusem nieopłaconych
DostawaMapa punktów, generowanie etykiet, statusy zwrotneCzas od zamówienia do nadania
Wyszukiwarka i filtryFrazy bez wyników, atrybuty fasetoweview_search_results, strony z zerem wyników

GA4 w PrestaShop i WooCommerce – funkcjonalności pomiarowe, które musisz włączyć

Minimum pomiarowe to pięć zdarzeń e-commerce: view_item_list, view_item, add_to_cart, begin_checkout i purchase. Każde musi nieść tablicę items[] z polami item_id, item_name, price i quantity. Bez tego raporty produktowe w GA4 są puste, a kampanie nie mają się do czego przyłożyć.

GTM i kolejność ładowania. Kontener wklejasz w nagłówek szablonu (w PrestaShop: themes/<twoj_szablon>/templates/_partials/head.tpl; w WooCommerce przez wtyczkę albo functions.php). Tag konfiguracyjny GA4 musi odpalać się najwcześniej, przed tagami zdarzeń, najlepiej na wyzwalaczu Initialization. Tagi zdarzeń czytają z dataLayer, więc kolejność wpisów ma znaczenie.

Consent Mode v2. Włączasz cztery sygnały: analytics_storage, ad_storage, ad_user_data, ad_personalization. Przy odrzuconej zgodzie nie tracisz wszystkiego — Google modeluje część konwersji i sesji. Nie odzyskasz natomiast danych na poziomie użytkownika, remarketingu i pełnych ścieżek w eksploracjach. Tego nie da się obejść.

Weryfikacja w 5 minut. Podgląd GTM (Preview) plus GA4 → Administracja → DebugView lub Test Events w Google Ads. Sprawdź trzy rzeczy: czy purchase leci, czy ma poprawną value z currency i czy niesie unikalny transaction_id.

Najczęstsze błędy: brak zdarzenia po płatności z przekierowaniem (zdarzenie musi odpalać się na stronie powrotu albo przez Measurement Protocol z backendu), duplikaty purchase po odświeżeniu strony potwierdzenia oraz brak kosztu dostawy doliczonego do value — raport sprzedaży rozjeżdża się wtedy z fakturą.

GTM server-side rozważ, gdy masz budżet na kontener w chmurze i chcesz wydłużyć żywotność ciasteczek first-party oraz ograniczyć utratę danych przez blokery. Zmienia to jakość danych, ale nie zastąpi poprawnego dataLayer po stronie sklepu.

ZdarzenieKiedy odpalaKluczowe parametry
view_item_listWyświetlenie listy produktów lub wyników filtrówitem_list_id, item_list_name, items[]
view_itemWejście na kartę produktuitem_id, item_name, price, currency
add_to_cartDodanie do koszykaitems[], value, currency
begin_checkoutWejście do checkoutuitems[], value, coupon
purchasePotwierdzenie opłaconego zamówieniatransaction_id, value (z dostawą), currency, items[]

Integracje: ERP, płatności, kurierzy – co sprawdzić przed podpisaniem umowy

Integrację oceniasz nie po tym, że działa, tylko po tym, jak zachowuje się przy błędzie. Zanim podpiszesz umowę, zadaj wykonawcy pytania techniczne z trzech obszarów.

ERP. Ustal jedno źródło prawdy: najczęściej stany magazynowe i faktury w ERP, ceny i opisy w sklepie. Wymagaj tabeli mapowania statusów — co dokładnie w ERP odpowiada statusowi „oczekiwanie na płatność”, „w realizacji”, „wysłane”. Zapytaj o częstotliwość synchronizacji stanów: raz na 5 minut czy webhook przy każdej zmianie. Pierwsze rozwiązanie sprzedaje towar, którego już nie ma, gdy w kampanii zejdzie 200 sztuk w kwadrans.

API i webhooki. Poproś o limity zapytań dostawcy i informację, co się dzieje przy kodzie odpowiedzi 429. Musisz wiedzieć, czy zamówienia trafiają do kolejki, czy są gubione, oraz jak działają ponowienia. Kluczowa jest idempotencja: ten sam numer zamówienia wysłany dwa razy nie może utworzyć dwóch dokumentów w ERP. Standard HTTP jest tu jednoznaczny — metody i kody odpowiedzi mają określone znaczenie, warto to zweryfikować w RFC 9110.

Kurierzy. Sprawdź generowanie etykiet w formacie wymaganym przez terminal, obsługę punktów odbioru przez API oraz statusy zwrotne. Zapytaj wprost: co się dzieje, gdy API kuriera odrzuci paczkę — błędny kod pocztowy, brak gabarytu, awaria po ich stronie? Kto widzi błąd i kto go naprawia?

Płatności. Źródłem prawdy jest webhook potwierdzający, nie powrót użytkownika na stronę sklepu — klient może zamknąć kartę po zapłacie. Webhook musi być idempotentny i weryfikować podpis.

I najważniejsza pułapka: integracja sprawdzona na 10 zamówieniach testowych wysypuje się przy 500 w kampanii. Test obciążeniowy i monitoring kolejki to nie dodatek, a warunek startu.

ObszarPytanie do wykonawcySygnał ostrzegawczy
ERPKtóre pole jest źródłem prawdy o stanie magazynowym i cenie?„Wszystko synchronizujemy w obie strony” bez mapowania statusów
APIJaki jest limit zapytań i co przy odpowiedzi 429?Brak kolejki i brak ponowień
ZamówieniaCzy zapis jest idempotentny po numerze zamówienia?Test na 10 zamówieniach bez testu obciążeniowego
KurierzyJak obsługiwane są błędy walidacji przesyłki?Brak informacji, kto widzi błąd i jak go naprawia
PłatnościWebhook czy powrót użytkownika zmienia status na opłacone?Status ustawiany po powrocie na stronę sklepu

Jak testować funkcje i wykrywać ciche błędy

Odbioru wdrożenia nie robi się na słowo. Potrzebujesz stagingu – kopii sklepu na subdomenie (np. staging.twojadomena.pl), z osobną bazą danych, wyłączoną indeksacją (noindex + ochrona hasłem) i wyłączonymi wysyłkami do prawdziwych klientów. Na staging wgrywasz dane testowe: minimum 20 produktów w 3 kategoriach, w tym jeden z wariantami (rozmiar/kolor), jeden z rabatem czasowym i jeden z niskim stanem magazynowym. Klucze API płatności i kurierów ustawiasz w trybie testowym/sandbox (Przelewy24, PayU, Stripe i większość kurierów mają osobne środowisko testowe). Bez tego pierwszy „testowy” zakup to prawdziwa płatność i prawdziwa etykieta.

Test end-to-end wykonaj w jednej sesji: dodanie do koszyka → dane klienta → wybór dostawy i płatności → przejście przez bramkę → powrót do sklepu → mail z potwierdzeniem i etykietą → zdarzenie purchase w GA4. Do sprawdzenia zdarzeń używaj DebugView i real-time w osobnej usłudze GA4 dla stagingu, żeby nie mieszać danych testowych z produkcyjnymi. Sprawdź, czy w purchase zgadza się wartość, koszt dostawy i zawartość items.

Ciche błędy to najczęstsza pułapka: płatność wchodzi, ale hook nie zmienia statusu zamówienia, więc klient nie dostaje maila i nie ma etykiety. Sprawdzasz to w trzech miejscach: logi PHP (var/logs/prod.log w PrestaShop 8.x, w starszych wersjach panel → Zaawansowane → Logi), kolejka zadań i crony, oraz webhooki bramki – czy wracają z kodem 200 i czy nie ma ponownych prób. Dorzuć alert na nieudane płatności (np. gdy odsetek błędów przekroczy ustalony próg), bo bez tego dowiesz się o awarii od klienta.

Wydajność mierz na realnym szablonie, nie na demo. PageSpeed Insights daje dane laboratoryjne, a dane polowe (CrUX) tylko przy odpowiednim ruchu – mały sklep może ich nie mieć i wtedy musisz opierać się na własnym RUM. Cele: LCP ≤ 2,5 s, INP ≤ 200 ms, CLS ≤ 0,1. Więcej o tych metrykach pisze web.dev.

Na koniec protokół odbioru na piśmie: lista przetestowanych scenariuszy, zrzuty ekranu z logów i GA4, lista znanych błędów z terminami, przekazane dostępy i dokumentacja.

ObszarGdzie sprawdzaszSygnał, że jest OK
Płatnośćwebhook w logach + panel bramkikod 200, zamówienie przeszło na status opłaconego
E-mailskrzynka testowa + logi mailowemail z potwierdzeniem i etykietą, SPF/DKIM bez błędów
AnalitykaGA4 DebugViewzdarzenie purchase z poprawną wartością i pozycjami
WydajnośćPageSpeed Insights + dane poloweLCP ≤ 2,5 s, INP ≤ 200 ms, CLS ≤ 0,1
Błędy PHPvar/logs/prod.logbrak nowych wpisów po przejściu testu

Ile to kosztuje – widełki wdrożenia i utrzymania

Nie ma jednej ceny sklepu. Jest liczba godzin pomnożona przez stawkę – i to jedyny uczciwy sposób liczenia. Stawki wdrożeniowe w Polsce mieszczą się dziś najczęściej w przedziale 100–200 zł netto za godzinę, w zależności od doświadczenia zespołu. Poniżej typowe rozbicie prac dla sklepu B2C na PrestaShop 8.x.

Prosty sklep bez migracji i z dwiema integracjami to zwykle 80–120 godzin. Sklep z migracją z innej platformy, trzema integracjami i wielosklepowością – 150–250 godzin. Przy 120 zł/h daje to odpowiednio ok. 9,6–14,4 tys. zł i 18–30 tys. zł netto.

Co podnosi koszt: integracja z systemem ERP, który nie ma API (zostaje odczyt z bazy albo pliki CSV), migracja z platformy bez pełnego eksportu danych, wielosklepowość i osobne cenniki, własny moduł pod nietypową regułę dostawy lub rabatu, niestandardowy szablon graficzny.

Rozliczenie godzinowe vs cennik „z sufitu”. Stała cena oznacza, że wykonawca dolicza sobie premię za ryzyko, a każda zmiana zakresu staje się sporem. Godzinowe jest korzystniejsze, jeśli masz: górny limit budżetu, tygodniowy raport z przepracowanych godzin i zasadę, że zmiany zakresu idą przez pisemny change request. Bez limitu i raportu to Ty ponosisz całe ryzyko.

Utrzymanie i SLA. Realne widełki to 300–1500 zł netto miesięcznie. W umowie zapisz cztery rzeczy: czas reakcji na zgłoszenie (np. 4 h robocze dla krytycznych, 1 dzień roboczy dla pozostałych), okno serwisowe na prace wdrożeniowe (np. 22:00–6:00), kopie zapasowe (1× dziennie, retencja 30 dni, kopia poza serwerem) oraz aktualizacje bezpieczeństwa w ciągu 7 dni od wydania krytycznej łatki. Monitoring powinien sprawdzać dostępność co minutę i pilnować webhooków płatności, nie tylko tego, czy strona się otwiera.

Etap wdrożeniaTypowy zakres godzin
Analiza potrzeb i mapowanie procesów8–16 h
Konfiguracja sklepu (kategorie, podatki, dostawy, warianty)40–80 h
Integracje (płatności, kurierzy, faktury, ERP)16–40 h za integrację
Migracja danych (produkty, klienci, zamówienia, przekierowania URL)20–60 h
Testy odbiorowe i poprawki16–32 h
Szkolenie i dokumentacja4–8 h

Plan wdrożenia w 6 krokach – od audytu funkcji do monitoringu po starcie

1. Audyt funkcji (1–2 tygodnie). Zanim cokolwiek wycenisz, spisz procesy: jak dziś wpływa zamówienie, kto wystawia fakturę, kto generuje etykietę, kto odpowiada na zwroty. Wynikiem jest mapa integracji – jedno zdanie na każde połączenie z zewnętrznym systemem.

2. Lista must-have i nice-to-have. Ustaw maksymalnie 10 pozycji must-have. Reszta trafia do puli nice-to-have z kolejnością – to ona chroni budżet, gdy pojawi się niespodzianka.

3. Wycena godzinowa. Godziny z kroku 1 i 2 razy stawka, plus bufor 15–20% na rzeczy, które wyjdą dopiero w konfiguracji. Bufor nie jest marżą wykonawcy – jest rezerwą na poprawki po testach.

4. Konfiguracja na stagingu. Cała praca dzieje się na kopii. Raz w tygodniu odbierasz przyrost funkcji, żeby nie zostać z gotowym sklepem do przejrzenia w jednym dniu.

5. Testy odbiorowe. Scenariusze z sekcji pierwszej, min. 20 zamówień end-to-end, lista błędów z podziałem na krytyczne i kosmetyczne. Wdrożenie nie kończy się, dopóki krytycznych nie ma zero.

6. Start z monitoringiem przez 30 dni. Po przeniesieniu na produkcję wykonawca patrzy na logi, webhooki płatności, kolejkę zadań i Core Web Vitals. Checkpointy w dniu 7 i dniu 30. W kryteriach wydajności pomaga dokumentacja Google o Core Web Vitals.

Co przygotować przed pierwszym spotkaniem: listę integracji, które muszą działać, eksport produktów z obecnego sklepu, liczbę produktów i kombinacji, informację o językach i walutach, budżet, termin startu oraz nazwisko osoby, która po Twojej stronie podejmuje decyzje.

Kryterium zakończenia: 20 zamówień testowych przechodzi bez błędów, zdarzenie purchase w GA4 ma poprawną wartość, faktura i etykieta generują się automatycznie, przez 7 dni w logach nie pojawia się nowy błąd, kopie zapasowe i monitoring działają, a Ty masz dokumentację i przeszłeś szkolenie z obsługi zamówień.

ZadanieKlientDeweloper
Decyzje i akceptacjewybór bramki, kurierów, zakresurekomendacja z uzasadnieniem
Treściopisy, zdjęcia, regulamin, polityka zwrotówprzygotowanie miejsc i szablonów
Daneeksport produktów, cennik, kody rabatoweimport, mapowanie kategorii, przekierowania
Dostępydomena, hosting, GA4, GSC, konta bramekkonfiguracja i zabezpieczenie środowisk
Testy i dokumentacjaodbiór scenariuszy, szkolenietesty, poprawki, protokół odbioru, monitoring

Najczęstsze błędy i jak je wykryć

Kupowanie funkcji, których nikt nigdy nie włączył i nie przetestował na produkcji. W ofercie wdrożenia jest wielojęzyczność, a w sklepie działa tylko polska wersja, bo nikt nie dokończył konfiguracji.

Jak wykryć: Zestaw specyfikację wdrożenia z listą modułów i wtyczek aktywnych w panelu. Sprawdź dziennik zdarzeń i datę ostatniego testu zamówienia end-to-end. Jeśli funkcja nie ma właściciela ani terminu włączenia, nie istnieje.

Jak naprawić: Dla każdej funkcji z umowy ustal właściciela, datę włączenia i scenariusz testowy: koszyk, płatność, faktura, e-mail, status przesyłki. Test zapisz w jednym miejscu razem z wynikiem.

Włączanie modułów bez pomiaru efektu. Ktoś dodaje zakup bez rejestracji i „chyba jest lepiej”, ale nikt nie porównał koszyka i konwersji przed zmianą i po niej.

Jak wykryć: W GA4 sprawdź, czy zdarzenia begin_checkout i purchase zawierają komplet parametrów items[]. Brak tych zdarzeń oznacza, że nie masz czym porównać dwóch wersji checkoutu.

Jak naprawić: Przed wdrożeniem zmiany zapisz wartości bazowe: liczba sesji, begin_checkout, purchase, wartość koszyka. Zmianę oceniaj po dwóch–trzech tygodniach na porównywalnym ruchu, nie po jednym dniu.

Traktowanie wtyczki jako funkcji. W WooCommerce każda dodatkowa możliwość to kolejna wtyczka, licencja do odnawiania i kolejne miejsce, w którym coś może się zepsuć po aktualizacji.

Jak wykryć: Policz wtyczki z płatną licencją i zsumuj roczne odnowienia na trzy lata. Do tego dołóż godziny pracy dewelopera na aktualizacje i konflikty — to realny koszt utrzymania, nie „dodatek”.

Jak naprawić: Łącz funkcje w mniejszą liczbę sprawdzonych wtyczek albo przenoś je do rdzenia platformy. Każdą nową wtyczkę oceniaj nie tylko po cenie, ale po tym, jak często jest aktualizowana i czy ma wsparcie w języku, który rozumie Twój wykonawca.

Zostawienie wydajności na ustawieniach domyślnych po instalacji. Cache Smarty, kompresja i OPcache bywają wyłączone, a sklep i tak „jakoś działa”.

Jak wykryć: Sprawdź w panelu, czy cache Smarty i kompresja są włączone, jaką wersję PHP i MySQL ma serwer (docelowo PHP 8.1+ i MySQL 8). Zestaw to z danymi Core Web Vitals dla realnych użytkowników, a nie tylko z jednego testu w laboratorium.

Jak naprawić: Włącz cache Smarty i kompresję, skonfiguruj OPcache, sprawdź LCP, INP i CLS na katalogu z dużą liczbą wariantów. Priorytety według dokumentacji Google opisanej w materiałach o Core Web Vitals.

Pomiar ustawiony bez obsługi zgody. Po odrzuceniu cookies dane przestają spływać, a właściciel patrzy na zaniżoną sprzedaż i podejmuje decyzje na niepełnych liczbach.

Jak wykryć: W podglądzie GTM sprawdź, co dzieje się ze zdarzeniami po odmowie zgody. W GA4 porównaj liczbę transakcji z liczbą zamówień w panelu sklepu za ten sam okres.

Jak naprawić: Wdróż Consent Mode v2, ustal kolejność ładowania skryptów i sprawdź, czy zdarzenia e-commerce nadal są wysyłane w trybie bez cookies. Zapisz różnicę między GA4 a panelem sklepu jako stały wskaźnik kontrolny.

Wybór platformy na podstawie ceny licencji, a nie procesów. Sklep B2B bez walidacji NIP i faktury bez ręcznej pracy wygląda dobrze w demo i przewraca się przy 50. zamówieniu dziennie.

Jak wykryć: Spróbuj złożyć w demo zamówienie B2B z NIP, fakturą, odroczoną płatnością i dostawą do punktu odbioru. Policz, ile kroków wymaga ręcznej pracy pracownika.

Jak naprawić: Przejdź test decyzyjny przed wyborem platformy: katalog, model sprzedaży, płatności, warianty, kto utrzymuje sklep. Wynik testu jest ważniejszy niż cennik licencji.

Lista kontrolna do odklikania

Podsumowanie

Kluczowa funkcja to nie pozycja w ofercie, a element procesu, który da się wskazać w zamówieniu i zmierzyć w GA4. Rdzeń PrestaShop 8.x pokrywa większość potrzeb sklepu, ale wymaga ręcznego włączenia cache, kompresji i poprawnych wersji PHP oraz MySQL. WooCommerce wygrywa tam, gdzie liczy się szybki start i treści, a PrestaShop — przy B2B, dużym katalogu i wariantach. Bez pomiaru zdarzeń e-commerce i obsługi zgody każda decyzja o funcjonalnościach jest zgadywaniem.

Najczęściej zadawane pytania

Czy key features and functionalities to po prostu lista funkcji z oferty?

Nie. Lista z oferty mówi, co system potrafi, ale nie mówi, czy ta zdolność działa w procesie zamówienia i czy da się ją zmierzyć. Funkcja kwalifikuje się jako kluczowa, gdy skraca ścieżkę do zakupu, eliminuje pracę ręczną albo ma przypisany miernik. Jeśli nie spełnia żadnego z tych warunków, jest ozdobą w specyfikacji, a nie funkcją sklepu.

Co dostaję w PrestaShop 8.x bez dokupywania modułów?

Rdzeń obejmuje katalog z produktami, kombinacjami, atrybutami i stanami magazynowymi, tryb multistore, statusy zamówień, faktury PDF, zwroty, reguły cenowe i promocje katalogowe, uprawnienia pracowników, dziennik zdarzeń oraz zadania cron i kolejkę maili. Dopłaty zaczynają się przy wersjach Essential i Enterprise, gdzie pojawiają się funkcje niedostępne w wersji darmowej. Przed zakupem porównaj konkretną listę, bo nazwy wersji bywają mylące.

WooCommerce czy PrestaShop – co wybrać przy sklepie B2B?

Przy B2B, dużym katalogu i rozbudowanych wariantach PrestaShop zwykle wygrywa, bo te mechanizmy siedzą w rdzeniu zamiast w kilku wtyczkach. WooCommerce startuje szybciej i jest sensowny, gdy stawiasz na treści, blog plus sklep i niewielki katalog. Decyzję podejmij po teście pięciu pytań: model sprzedaży, wielkość katalogu, warianty, płatności i to, kto będzie utrzymywał sklep po wdrożeniu.

Które funkcje naprawdę wpływają na konwersję?

Najczęściej te, które skracają checkout: zakup bez rejestracji, koszt dostawy widoczny przed rejestracją, walidacja NIP dla B2B, BLIK i płatności odroczone oraz mapy punktów odbioru przy dostawie. Drugą grupę stanowią wyszukiwarka i filtry fasetowe, bo od nich zależy ruch wewnętrzny. Każdą zmianę oceniaj na danych z GA4, a nie na przeczuciu — inaczej nie odróżnisz poprawy od zwykłej zmienności ruchu.

Jak sprawdzić, czy GA4 poprawnie raportuje sprzedaż?

Zacznij od podglądu kontenera GTM i DebugView: zdarzenia view_item_list, view_item, add_to_cart, begin_checkout i purchase powinny mieć komplet parametrów items[]. Potem porównaj liczbę transakcji w GA4 z liczbą zamówień w panelu sklepu za ten sam okres i zanotuj różnicę. Jeśli odstęp jest duży, sprawdź kolejność ładowania skryptów oraz to, czy płatność nie zabiera użytkownika na stronę bez tagu.

Co się stanie, jeśli nie wdrożę Consent Mode v2?

Po odrzuceniu zgody przez użytkownika stracisz część danych o zdarzeniach i konwersjach, a raporty pokażą niższą sprzedaż, niż faktycznie zrealizowałeś. Przy podejmowaniu decyzji o budżecie i zmianach w sklepie pracujesz wtedy na zaniżonych liczbach. Consent Mode v2 pozwala przekazać sygnał zgody i zachować ciągłość pomiaru w zakresie dopuszczalnym przez przepisy.

Jeśli chcesz sprawdzić, które funkcje w Twoim sklepie faktycznie działają, a które tylko widnieją w specyfikacji, napisz do nas. Przejrzymy konfigurację PrestaShop lub WooCommerce i pomiar w GA4, a potem podamy listę konkretów do poprawy.

Źródła i materiały