Wysyłaj wygodnie to nie lista przewoźników, a trzy mierzalne rzeczy: wybór metody bez szukania, etykieta w jeden klik po stronie magazynu i status przesyłki, który klient widzi sam. Jeśli brakuje choćby jednej z nich, płacisz za to porzuconymi koszykami na kroku dostawy albo mailami „gdzie moja paczka”. Poniżej znajdziesz reguły konfiguracji dla PrestaShop, WooCommerce i integracji z ERP oraz listę wskaźników do zmierzenia przed zmianami. Cały artykuł spina jedno: mniej klikania po obu stronach procesu.
„Wysyłaj wygodnie” to nie lista przewoźników. To trzy rzeczy, które da się zmierzyć i rozliczyć. Jeśli któraś nie działa, płacisz albo porzuconym koszykiem, albo czasem obsługi.
Wygoda klienta i wygoda obsługi to dwie różne rzeczy i jedna bez drugiej nie działa. Klient wybiera automat, a magazyn ręcznie przepisuje punkt odbioru — dostajesz opóźnienia i maile „gdzie moja paczka”. Masz etykietę w jeden klik, ale klient nie widzi kosztu dostawy przed koszykiem — dostajesz porzucenia na kroku dostawy.
Zanim cokolwiek zmienisz, zmierz trzy liczby z ostatnich 4 tygodni. Bez punktu odniesienia nie udowodnisz, że nowe wdrożenie cokolwiek poprawiło.
| Wskaźnik | Jak go zmierzyć | Po co |
|---|---|---|
| % porzuconych koszyków na kroku dostawy | GA4 → Eksploracje → lejek z kroków checkout (WooCommerce wysyła zdarzenia begin_checkout i add_shipping_info); w PrestaShop porównaj liczby koszyków i zamówień w panelu | Pokazuje, czy problem jest w wyborze metody, czy wcześniej |
| Liczba maili WISMO na 100 zamówień | Oznacz tematy typu „gdzie paczka” etykietą w skrzynce i policz w miesiącu | Mierzy przewidywalność dostawy i koszt obsługi |
| Średni czas pakowania i nadania | Zmierz na 10 kolejnych zamówieniach czas od statusu „Płatność zaakceptowana” do „Wysłane” | Pokazuje, ile realnie oszczędza etykieta w jeden klik |
W sprzedaży B2C kolejność wdrożenia jest zwykle ta sama: automat paczkowy, potem punkt odbioru, na końcu kurier. Nie podajemy tu sztywnego procentu udziału automatów, bo te dane zmieniają się co kwartał i różnią się między branżami. Sprawdź własne zamówienia: metoda wysyłki jest zapisana przy każdym zamówieniu zarówno w WooCommerce, jak i w PrestaShop. Eksport do arkusza i przeliczenie udziałów zajmuje kilkanaście minut i daje odpowiedź na Twoich danych.
Kurier zostaje jedyną sensowną opcją w trzech sytuacjach: przesyłki ponadgabarytowe (meble, sprzęt, palety), zamówienia B2B z oknem czasowym i dokumentami, oraz przesyłki o wysokiej wartości, których nie chcesz zostawiać w automacie. W tych przypadkach nie kombinuj — kurier z potwierdzeniem doręczenia jest tańszy niż reklamacja.
Trzymaj maksymalnie trzy metody na kroku dostawy. Każda dodatkowa opcja to kolejna decyzja do podjęcia, a lista ośmiu przewoźników z różnymi cennikami realnie obniża konwersję i zwiększa liczbę pytań do obsługi. Resztę metod schowaj warunkowo: kurier widoczny tylko powyżej ustalonej kwoty zamówienia, paleta jako osobna metoda po zapytaniu.
Wykluczenia działają różnie w obu systemach:
Konfigurację stref i metod w WooCommerce opisuje dokumentacja WooCommerce.
| Metoda | Kiedy dawać | Typowa pułapka |
|---|---|---|
| Automat paczkowy | Domyślna opcja dla drobnych i średnich przesyłek | Brak limitu wagi i gabarytu — nadanie zostaje odrzucone |
| Punkt odbioru | Gdy klient chce odebrać po drodze, przesyłki drobne | Godziny otwarcia punktu na mapie bywają nieaktualne |
| Kurier pod adres | Przesyłki większe, B2B, wysoka wartość | Brak okna czasowego oznacza więcej nieodebranych paczek |
| Za pobraniem | Klient nie chce płacić z góry | Limity kwoty i brak obsługi w części punktów |
| Ponadgabaryt / paleta | Meble, sprzęt, zamówienia hurtowe | Wycena indywidualna, zwykle brak gotowej integracji |
Integracja z przewoźnikiem w PrestaShop to nie „moduł do mapy”. Musi obsłużyć sześć rzeczy: widget mapy punktów, wybór punktu zapisany przy zamówieniu (najlepiej w osobnym polu lub tabeli, nie tylko w polu adresowym), generowanie etykiety z poziomu zamówienia, zapis numeru przesyłki i linku do śledzenia, automatyczną zmianę statusu po zdarzeniu z API (webhook albo cron) oraz zwroty. Siódmy element to obsługa błędów: brak zasięgu, przekroczona waga, odrzucone dane adresowe.
Moduły oficjalne mają trzy powtarzalne kłopoty. Skrypt mapy bywa ładowany na wszystkich stronach sklepu, nie tylko w koszyku. Aktualizacja modułu potrafi nadpisać Twój override szablonu lub kontrolera. I wreszcie: moduł nie zna niestandardowego checkoutu — jeśli masz one-page checkout albo dodatkowe pola, mapa pojawi się w złym miejscu albo wcale. Po aktualizacji PrestaShop moduł przestaje działać i nadania stoją, dopóki ktoś tego nie zauważy.
Własny moduł wygrywa w trzech przypadkach: nietypowe reguły wysyłki (na przykład automat tylko do ustalonej kwoty zamówienia), integracja z ERP, gdzie statusy i faktury mają być w jednym miejscu, oraz multishop — kilka sklepów na jednej bazie, różne cenniki, ta sama logika nadania. Budowa modułu opisana jest w dokumentacji deweloperskiej PrestaShop.
Widełki pracochłonności z naszych wdrożeń — nie oferta. Wycena zależy od checkoutu, liczby reguł i tego, jak bardzo ERP utrudnia współpracę. Do kosztu dodaj utrzymanie: zmiany API i aktualizacje PrestaShop to kilka godzin kwartalnie.
| Zakres | Pracochłonność (godziny) | Uwagi |
|---|---|---|
| Etykieta + zapis numeru w zamówieniu | 20–40 | Bez mapy punktów, bez zwrotów |
| Mapa punktów + zapis punktu + etykieta | 60–100 | Wymaga testów na niestandardowym checkoutcie |
| Pełna integracja: mapa, etykiety, statusy, zwroty, multishop | 120–200 | Największy narzut daje ERP i wielosklep |
| Utrzymanie po zmianach API i aktualizacji PrestaShop | kilka godzin kwartalnie | Wpisz to w koszt przed startem |
Trzy płatne wtyczki do wysyłki w WooCommerce to roczny koszt rzędu 1500–3000 zł. Do tego dochodzą odnowienia licencji i wersje Pro. Przykład: wtyczka do punktów odbioru (200 zł/rok), do generowania etykiet (400 zł/rok), do statusów przesyłek (300 zł/rok), do mapy w checkoucie (500 zł/rok). Razem 1400 zł, a każda z nich dokłada skrypty do kasy.
Alternatywa: jedna własna wtyczka. Koszt jednorazowy 4000–8000 zł, ale bez subskrypcji i z pełną kontrolą nad flow. Poprawny flow wygląda tak:
woocommerce_checkout_create_order (HPOS) lub woocommerce_checkout_update_order_meta. Zapisujesz meta: _shipping_point_id, _shipping_point_name.woocommerce_order_status_changed i wysyłasz status do przewoźnika lub ERP.Pułapka: blokowy checkout (Gutenberg) vs klasyczny shortcode [woocommerce_checkout]. W blokowym mapę punktów osadzasz przez IntegrationInterface, inaczej wtyczka nie zadziała. Jeśli nie chcesz tego pisać, zostań przy klasycznym.
Wpływ na czas ładowania kasy: każda wtyczka to dodatkowe JS i CSS. Mierz w sekundach, nie w odczuciach. Podstawa to Core Web Vitals – LCP na mobile poniżej 2,5 s. Trzy wtyczki mogą dołożyć 0,8–1,5 s. Przetestuj przed i po przez PageSpeed Insights.
| Wariant | Koszt roczny | Czas ładowania kasy | Kontrola nad flow |
|---|---|---|---|
| 3 wtyczki + Pro | 1500–3000 zł | +0,8–1,5 s | ograniczona |
| Własna wtyczka | 0 zł po wdrożeniu | bez narzutu | pełna |
Bez integracji z ERP nadanie 50 paczek to godzina klikania. Z integracją – kilkanaście sekund na zamówienie. Klucz to jedno miejsce prawdy dla statusów. W ERP masz statusy: „nowe”, „w realizacji”, „spakowane”, „wysłane”. W WooCommerce domyślnie: „pending”, „processing”, „completed”. Nie mapuj ich ręcznie w dwóch miejscach. Ustal, że ERP nadaje status, a sklep tylko go odbiera i pokazuje klientowi.
Masowe etykiety: użyj batch endpointu przewoźnika. Pobierz 50 zamówień, wyślij jedno zapytanie, odbierz 50 numerów przesyłek. Zapisz je w meta _tracking_number i wygeneruj CSV dla magazynu z kolumnami: numer zamówienia, kurier, numer przesyłki, waga.
Obsługa błędów API to nie dodatek, to podstawa:
Kontrola spójności wagi i wymiarów: etykieta złą wagą to dopłata po Twojej stronie. W WooCommerce waga produktu to pole weight. Jeśli suma wag w zamówieniu przekracza 30 kg, nie pozwól wybrać paczkomatu. Dodaj walidację przed generowaniem etykiety. Dokumentacja WooCommerce opisuje pola produktów i meta zamówień: WooCommerce Documentation.
| ERP | WooCommerce | Kiedy zmieniać |
|---|---|---|
| nowe | pending | po imporcie |
| w realizacji | processing | po opłaceniu |
| spakowane | processing + meta | po spakowaniu |
| wysłane | completed | po nadaniu |
Reguły wysyłki oparte na wadze, wartości koszyka i strefie muszą mieć jasny priorytet. W PrestaShop ustawiasz je w Shipping > Preferences oraz w konfiguracji przewoźników. Kolejność warunków: najpierw waga (bo decyduje o koszcie kuriera), potem wartość koszyka (bo decyduje o darmowej dostawie), na końcu strefa (bo różnicuje cennik). Jeśli ustawisz odwrotnie, klient z lekkim, ale drogim koszykiem może dostać darmową wysyłkę, która zjada marżę. Hooki do własnych reguł znajdziesz w PrestaShop Developer Documentation.
Próg darmowej dostawy licz z marży, nie z konkurencji. Przykład: średni koszyk 120 zł, marża 35% (42 zł), koszt wysyłki kurierem 14 zł. Próg 120 zł oznacza, że oddajesz 14 zł z 42 zł marży – zostaje 28 zł. Próg 200 zł: marża 70 zł minus 14 zł = 56 zł. Ustaw próg tak, aby po odjęciu kosztu wysyłki marża nie spadła poniżej 25%. Dla powyższych liczb to około 160–180 zł.
Dopłata za pobranie: realny koszt operacyjny to prowizja przewoźnika (5–10 zł) plus czas na obsługę zwrotu gotówki. Ustaw 7–10 zł. Nie ukrywaj jej w cenie – klient to wyłapie.
Testy reguł przed włączeniem: zrób macierz waga × strefa × metoda. Minimum 12 przypadków. Przykład: waga 0–1, 1–5, 5–10, 10–20 kg; strefy PL i UE; metody: kurier, paczkomat, pobranie. To 4×2×3 = 24 przypadki. Sprawdź, czy dla każdego koszyk pokazuje poprawną cenę i czy darmowa dostawa włącza się tylko tam, gdzie chcesz.
Wydrukowana etykieta to połowa pracy. Druga połowa to komunikacja po nadaniu — i to ona generuje większość zgłoszeń. Jeśli klient musi pytać „gdzie moja paczka”, zwykle nie brakuje mu numeru, tylko trafił na link, który nic nie otwiera.
Kolejność powiadomień ustal raz i traktuj jak proces:
Link do śledzenia musi działać bez logowania. Najczęstszy błąd integracji: w mailu jest numer, ale link prowadzi do ekranu logowania albo symbol @ w szablonie adresu śledzenia nie został podstawiony. W PrestaShop adres śledzenia ustawiasz w konfiguracji przewoźnika (Shipping → Carriers), gdzie @ zastępuje numer przesyłki — po wygenerowaniu etykiety sprawdź, czy podstawia się poprawnie. W WooCommerce numer dodajesz z poziomu zamówienia i musisz zweryfikować, czy trafia do maila „Completed order”, a nie tylko do panelu — mechanikę maili transakcyjnych opisuje dokumentacja WooCommerce.
Zwroty: etykieta zwrotna, okno zwrotu, adres i koszt muszą być spójne w trzech miejscach — regulaminie, mailu i na wydruku. Konsument ma 14 dni na odstąpienie od dnia dostawy; to, kto płaci za odesłanie, musi wynikać z regulaminu przed zakupem. Ustal jeden adres zwrotny i numer RMA, a etykietę zwrotną dołączaj do paczki albo udostępniaj w panelu klienta.
Miara efektu: policz zgłoszenia „gdzie moja paczka” na 100 zamówień przez 14 dni przed zmianą i 30 dni po. Zejście z 12 do 4 na 100 to realny wynik jednego dobrze zrobionego maila z nadania.
| Powiadomienie | Kiedy wysłać | Co zawiera |
|---|---|---|
| Potwierdzenie zamówienia | do 5 minut od złożenia | numer, kwota, metoda dostawy i płatności, termin nadania |
| Nadanie | w dniu przekazania paczki | przewoźnik, numer przesyłki, link do śledzenia bez logowania |
| Gotowe do odbioru | po skanie w punkcie | adres punktu, godziny otwarcia, kod odbioru |
| Przypomnienie o odbiorze | 24–48 h przed zwrotem | do kiedy paczka czeka, link do punktu |
Pięć błędów odpowiada za większość problemów z wysyłką. Każdy ma test, który wykonasz dziś, bez dewelopera.
Do punktów 1 i 3 zajrzyj do dokumentacji PrestaShop dla deweloperów — opis hooków przy walidacji zamówienia i renderowaniu listy przewoźników pokazuje, w którym momencie dane punktu powinny trafić do zamówienia.
Kolejność prac ma znaczenie, bo część rzeczy da się zrobić równolegle, a część nie.
Kryterium wyboru własnego modułu to trzy pytania. Ile masz zamówień dziennie — powyżej 50 i rosnąco gotowe wtyczki zaczynają wymagać obejść. Ile masz nietypowych reguł — jeśli ponad trzy (np. paleta powyżej 30 kg, własna strefa, dostawa w sobotę) — konfiguracja przestaje wystarczać. Ile masz sklepów i kanałów — dwa i więcej sklepy na jednym magazynie prawie zawsze wymagają jednego modułu zamiast dwóch konfiguracji.
W umowie po wdrożeniu zapisz: monitoring i alerty, czas reakcji na błąd krytyczny i standardowy, liczbę godzin poprawek w cenie oraz dostęp do repozytorium i bezpośredni kontakt z deweloperem bez pośredników. Bez tego każda drobna zmiana staje się osobnym zleceniem.
| Zakres | Orientacyjny czas | Kiedy zrobić samodzielnie |
|---|---|---|
| Konfiguracja przewoźników, stref i cen | 4–8 godzin | standardowe strefy, 1–3 przewoźnicy |
| Mapa punktów, etykiety, statusy | 3–7 dni roboczych | gotowa mapa od przewoźnika i wtyczka do etykiet |
| Integracja z ERP i zwroty | 2–4 tygodnie | gdy ERP ma API i gotowy konektor |
| Własny moduł przy nietypowych regułach | 4–8 tygodni | rzadko — dopiero przy kilku sklepach i nietypowych regułach |
Włączenie wszystkich przewoźników na kroku dostawy „na wszelki wypadek”
Jak wykryć: Wejdź w checkout jak klient i policz opcje widoczne bez rozwijania listy. W GA4 lub na nagraniach sesji sprawdź, ile osób otwiera listę przewoźników i wychodzi bez wyboru.
Jak naprawić: Zostaw maksymalnie 3 opcje: punkt odbioru, automat paczkowy, kurier. Kolejnych przewoźników włączaj regułą tylko dla koszyków, które naprawdę ich wymagają, np. powyżej określonej wagi.
Traktowanie wygody klienta i wygody obsługi jako tej samej rzeczy
Jak wykryć: Porównaj trzy liczby przed i po zmianie: porzucenia na kroku dostawy, liczbę maili WISMO na 100 zamówień i średni czas pakowania oraz nadania.
Jak naprawić: Optymalizuj oba końce naraz. Klient ma wybrać metodę w dwóch kliknięciach, a magazyn dostać etykietę bez przepisywania danych z zamówienia do panelu przewoźnika.
Wybrany punkt odbioru zapisany w notatce do zamówienia
Jak wykryć: Otwórz 10 losowych zamówień z punktem i sprawdź, czy kod punktu siedzi w osobnym polu, czy tylko w komentarzu klienta lub w treści maila.
Jak naprawić: Zapisz kod i nazwę punktu w meta danych zamówienia albo w dedykowanej tabeli, żeby eksport, ERP i etykieta czytały je bez parsowania tekstu.
Dwa źródła prawdy o statusie przesyłki
Jak wykryć: Zostaw na jeden dzień wysyłki i porównaj statusy w sklepie oraz w ERP. Jeśli ktoś je ręcznie zgadza, to znak, że brakuje integracji.
Jak naprawić: Ustal jedno miejsce prawdy – najczęściej sklep albo ERP – i podłącz webhooki oraz statusy w jedną stronę. Ręczne poprawianie statusów zawsze kończy się błędem przy większej liczbie zamówień.
Domyślna waga i wymiary na etykiecie
Jak wykryć: Zestaw fakturę od przewoźnika z wagami deklarowanymi przez integrację. Dopłaty za zaniżoną wagę albo zły gabaryt widać jako osobną pozycję na fakturze.
Jak naprawić: Uzupełnij wagi i wymiary w kartach produktów. Jeśli to nierealne, licz wagę koszyka i dodaj stały zapas na opakowanie, a przy przesyłkach ponadgabarytowych wymuś ręczną korektę.
Stos płatnych wtyczek, które robią to samo
Jak wykryć: Wypisz wszystkie wtyczki i moduły dotykające checkoutu oraz wysyłki razem z kosztem rocznym, wersją i datą ostatniej aktualizacji.
Jak naprawić: Zostaw jedną wtyczkę odpowiedzialną za mapę punktów i jedną za etykiety. Resztę zastąp własnym wdrożeniem pisanym pod Twój proces, jeśli powielone funkcje generują konflikty na kroku dostawy.
Wysyłka działa wygodnie wtedy, gdy klient wybiera metodę w dwóch kliknięciach, a magazyn dostaje etykietę bez przepisywania danych. Zacznij od pomiaru: WISMO na 100 zamówień, porzucenia na kroku dostawy i średni czas nadania. Dopiero potem ograniczaj liczbę przewoźników do trzech i decyduj, czy wystarczy gotowy moduł, czy potrzebny jest własny. Bez tych liczb każda zmiana w konfiguracji wysyłki jest zgadywaniem.
Nie. InPost to jedna z metod, a nie cała wygoda. Wygoda to trzy rzeczy naraz: wybór metody bez szukania, etykieta w jeden klik po stronie obsługi i przewidywalny status widoczny dla klienta. Sama mapa punktów bez obsługi etykiet przenosi tylko pracę z kasy do magazynu.
Maksymalnie trzech, w kolejności wdrażania: punkt odbioru, automat paczkowy, kurier. Kurier zostaw tam, gdzie jest naprawdę potrzebny: przesyłki ponadgabarytowe, zamówienia B2B i przesyłki o wysokiej wartości. Osiem opcji na jednym ekranie to prosta droga do porzuconego koszyka.
Oficjalny wystarcza, jeśli masz standardowy checkout i jedną, główną metodę wysyłki. Własny moduł wygrywa przy nietypowych regułach wysyłki, kilku sklepach na jednej bazie albo integracji z ERP – wtedy nie walczysz z override szablonów i aktualizacjami, które potrafią je łamać.
Nie podajemy ceny z sufitu, bo zakres bywa bardzo różny. Prosty moduł generujący etykiety to zwykle kilkanaście godzin pracy. Pełna integracja z mapą punktów, zapisem wyboru, statusami i zwrotami to dziesiątki godzin, a dołożenie ERP oznacza osobny etap: mapowanie statusów, kolejkę zadań i obsługę błędów API.
Może spowolnić, jeśli ładuje zewnętrzny skrypt w nieodpowiednim momencie albo dubluje zapytania. Dotyczy to szczególnie checkoutu blokowego w WooCommerce, gdzie osadzenie mapy wygląda inaczej niż w klasycznym. Zmierz czas ładowania kroku dostawy przed i po zmianie, zamiast oceniać to na oko.
Uzupełnij wagę i wymiary produktów, a przy koszyku licz sumę z zapasem na karton. Zestaw potem fakturę przewoźnika z tym, co realnie wysłała integracja. Każda rozbieżność to dopłata po stronie sklepu, więc kontrola wagi jest tańsza niż kolejna faktura korygująca.
Jeśli chcesz sprawdzić, gdzie w Twoim sklepie wysyłka gubi klientów i czas magazynu, napisz do nas – przejrzymy konfigurację i wskażemy, co zmienić w pierwszej kolejności.