Przejdź do treści
codecollab.pl
§ Blog omnibus woocommerce

Omnibus w WooCommerce - jak wdrożyć najniższą cenę z 30 dni

Omnibus to nie wtyczka do zainstalowania, tylko historia cen, której WooCommerce domyślnie nie zapisuje

Krystian Kacik 9 min czytania
Spis treści

Omnibus to nie wtyczka do zainstalowania, tylko historia cen, której WooCommerce domyślnie nie zapisuje. Dlatego kiedy ktoś wpisuje w Google „omnibus woocommerce”, zwykle szuka jednego pluginu, który załatwi sprawę w pięć minut, a trafia albo na listę wtyczek, albo na artykuł kancelarii o obowiązkach informacyjnych. Jedno i drugie omija pytanie, które decyduje o wdrożeniu: skąd Twój sklep ma wiedzieć, ile ten produkt kosztował trzy tygodnie temu.

Zasada w skrócie wygląda tak: jeśli ogłaszasz obniżkę, obok nowej ceny ma stać informacja o najniższej cenie z 30 dni przed tą obniżką. To obowiązek informacyjny, który wszedł do polskiego prawa wraz z dyrektywą Omnibus i dotyczy każdego sklepu sprzedającego konsumentom. Od razu zastrzeżenie: piszę to z perspektywy człowieka, który wdraża takie rzeczy w sklepach, a nie prawnika. Jak dokładnie sformułować komunikat, co liczy się jako „ogłoszenie obniżki” i jak traktować nietypowe akcje rabatowe - to potwierdź u prawnika albo u swojej księgowej. Ja odpowiadam za to, żeby sklep umiał te dane pokazać i żeby się nie rozjechały.

W tym wpisie pokazuję, z czego naprawdę składa się wdrożenie Omnibusa w sklepie internetowym, skąd wziąć historię cen, której nikt nie zapisywał, kiedy wystarczy wtyczka, a kiedy trzeba własnego kodu, i co po cichu psuje ten mechanizm już po wdrożeniu.

Omnibus w WooCommerce - jak wdrożyć najniższą cenę z 30 dni

Z technicznego punktu widzenia to nie jeden mechanizm, a trzy osobne, i każdy można zepsuć niezależnie od pozostałych.

Pierwszy to zapisywanie historii ceny. WooCommerce trzyma przy produkcie cenę regularną i cenę promocyjną, ale trzyma tylko te wartości, które obowiązują teraz. Zmieniasz cenę z 199 na 149, i stare 199 po prostu przestaje istnieć - nie ma żadnego dziennika, do którego sklep mógłby zajrzeć za dwa tygodnie. Dopóki czegoś nie dołożysz, Twój sklep nie wie nic o własnej przeszłości cenowej.

Drugi to wyliczenie minimum z okna 30 dni liczonego od momentu obniżki. Tu zaczynają się decyzje: czy do minimum wliczasz tylko ceny widoczne dla wszystkich, czy też ceny z poprzednich promocji; co z okresem, kiedy produkt był niedostępny; i od której godziny liczysz dobę. Brzmi jak detal, ale przy produktach, które wchodzą w promocję co dwa tygodnie, różnica potrafi być widoczna w komunikacie.

Trzeci to wyświetlenie informacji tam, gdzie klient widzi cenę. I to jest miejsce, w którym najczęściej widzę luki: komunikat ładnie siedzi na karcie produktu, a nie pokazuje się na liście kategorii, w wyszukiwarce sklepu, w kafelku produktu polecanego, w koszyku ani w mailu z potwierdzeniem. Jeśli obniżkę ogłaszasz na stronie kategorii, informacja ma być widoczna tam, gdzie ją ogłaszasz.

Co pomaga: zanim wybierzesz narzędzie, wypisz wszystkie miejsca w swoim sklepie, w których pokazujesz przekreśloną cenę. To jest Twoja lista do odhaczenia przy testach - zwykle jest dłuższa, niż się ludziom wydaje.

Skąd brać historię cen, której sklep nie zapisywał

To jest najczęstsze zderzenie z rzeczywistością. Wtyczka zainstalowana dzisiaj zaczyna zapisywać ceny od dzisiaj, więc przez pierwsze tygodnie jej dziennik jest prawie pusty. Dobre narzędzia zachowują się wtedy ostrożnie i albo nie pokazują nic, albo pokazują cenę z krótszego okresu z adnotacją - ale nadal nie wyczarują danych, których nikt nie zapisał.

Historię można odzyskać, jeśli masz ją gdzieś poza sklepem:

  • ERP albo program magazynowy - jeśli ceny wchodzą do sklepu z zewnątrz, to tam jest prawdziwa historia zmian, często z datami.
  • Eksporty produktów - jeśli ktoś cyklicznie robił plik CSV albo XML z cenami, każda taka paczka to zdjęcie cen z konkretnego dnia.
  • Kopie bazy danych - backupy sprzed kilku tygodni zawierają ceny z tamtego dnia; to żmudne, ale wykonalne.
  • Feedy reklamowe - pliki wysyłane do porównywarek i do Google też noszą w sobie ceny z datą wysyłki.

Jeśli nie ma nic z tej listy, zostaje uczciwe wyjście: włączasz zapisywanie od dziś i wstrzymujesz się z ogłaszaniem obniżek na produktach, dla których nie masz czym podeprzeć komunikatu. To decyzja bardziej biznesowa niż techniczna i dobrze ją przegadać z prawnikiem, zamiast wpisywać do sklepu liczby, których nie da się obronić.

Co pomaga: jeżeli dopiero planujesz pierwszą dużą akcję promocyjną, włącz zapisywanie historii cen miesiąc wcześniej. Mechanizm ma wtedy czym się karmić w dniu, w którym naprawdę go potrzebujesz.

Wtyczka czy własny kod

Wtyczka wystarcza w większości sklepów i to jest zwykle moja pierwsza rekomendacja. Warunki są trzy: ma aktualizacje i widać, że ktoś ją utrzymuje; dokłada komunikat we wszystkich miejscach, w których Twój szablon pokazuje cenę; i nie wymaga, żebyś przerabiał pliki szablonu, bo przy kolejnej aktualizacji motywu te zmiany wyparują.

Własny kod bierze górę wtedy, gdy cena w sklepie nie jest zwykłym polem w panelu:

  • ceny przychodzą z ERP albo z hurtowni i zmieniają się automatycznie wiele razy w tygodniu,
  • masz ceny hurtowe i cenniki per rola, więc ten sam produkt ma kilka cen naraz,
  • sposób prezentacji ceny jest w sklepie nietypowy, bo szablon albo konfigurator przelicza ją po swojemu,
  • promocje odpalają się z zewnętrznego systemu, a nie z pola ceny promocyjnej w WooCommerce.

Przy wyborze wtyczki warto policzyć ją tak jak każdą inną - razem z utrzymaniem, nie tylko z ceną licencji, bo realne koszty wtyczek w WooCommerce rzadko kończą się na pierwszym roku. I tak samo jak przy każdej ingerencji w ceny, aktualizacje takiego narzędzia robi się po kolei i z kopią pod ręką, a nie hurtem na żywym sklepie w piątek.

Jeśli nie masz pewności, w którym jesteś przypadku, to zwykle widać to po pół godziny w panelu i w kodzie szablonu. Taką ocenę robię na starcie każdego sklepu na WooCommerce, który biorę pod opiekę - bo od niej zależy, czy wystarczy konfiguracja, czy trzeba dołożyć własny mechanizm.

Pułapki, które psują to po cichu

Najgorsze w Omnibusie jest to, że zepsuty wygląda dokładnie tak samo jak działający. Komunikat jest, liczba się wyświetla, tylko liczba jest nie ta. Lista rzeczy, które sprawdzam zawsze:

  • Produkty z wariantami. Każda wariacja ma własną cenę, więc i własną historię. Sklep musi pokazać minimum dla konkretnego wybranego rozmiaru czy koloru, a nie dla najtańszej wariacji w całym produkcie.
  • Harmonogram ceny promocyjnej. WooCommerce umie włączyć promocję z datą. Mechanizm historii musi zareagować na moment, w którym cena zmienia się sama, bez udziału człowieka.
  • Kupony i rabaty koszykowe. Rabat naliczany w koszyku to inna sytuacja niż obniżona cena na karcie produktu. Czy konkretna akcja jest „ogłoszeniem obniżki” - to pytanie do prawnika, ale sklep ma być skonfigurowany zgodnie z tym, co ustalisz, i nie może mieszać jednego z drugim.
  • Import cen z zewnątrz. Codzienny import z hurtowni albo z ERP potrafi nadpisać ceny tysiąca produktów i albo zalać dziennik śmieciem, albo w ogóle go ominąć, jeśli zapisuje ceny inną drogą niż panel. To ten sam problem, który opisuję przy imporcie produktów z plików od hurtowni.
  • Cache. Strona produktu trzymana w pamięci podręcznej pokaże wczorajszą najniższą cenę jeszcze długo po zmianie. Przy cenach cache musi być czyszczony razem z ceną.
  • Strefa czasowa. Serwer, WordPress i ERP potrafią mieć trzy różne ustawienia godziny. Przy oknie liczonym w dniach to realna różnica na granicy okresu.

Co pomaga: test robię na jednym produkcie od końca. Zmieniam cenę w górę i w dół kilka razy, zapisuję, co i kiedy ustawiłem, a potem patrzę, czy komunikat w sklepie zgadza się z moją kartką. Dopóki nie zgadza się na jednym produkcie, nie ma sensu patrzeć na cały katalog.

Co sprawdza UOKiK

Od strony praktycznej warto wiedzieć jedno: kontrola nie zagląda do bazy danych, tylko patrzy na sklep tak, jak widzi go klient. Liczy się to, co jest na stronie w momencie ogłaszania obniżki - w wyniku wyszukiwania, na liście kategorii, na karcie produktu, w banerze na stronie głównej. Zrzut ekranu z Twojego sklepu jest tu dowodem łatwiejszym do zdobycia niż cokolwiek innego, również dla konkurencji i dla samych klientów, bo zgłoszenie może przyjść z każdej z tych stron.

Dlatego sprawdzam wdrożenie zawsze z dwóch stron: w panelu, czy dane się zapisują, i w przeglądarce w trybie prywatnym, czy klient faktycznie widzi to, co ma widzieć. Rozjazd między jednym a drugim to najczęstszy wynik takiego przeglądu.

Jakie konsekwencje grożą za brak tej informacji i jak liczy się ich wysokość - tego nie podam Ci z pamięci, bo to materia prawna, a nie techniczna. Kary w tym obszarze są powiązane z obrotem firmy, więc rozmowa z prawnikiem jest tu tańsza niż zgadywanie. Moja część odpowiedzi jest prosta: sklep ma umieć pokazać prawdziwą liczbę w każdym miejscu, w którym ogłaszasz obniżkę, i ma to robić dalej po kolejnej aktualizacji wtyczki.

Podsumowanie

Omnibus w WooCommerce rozbija się na trzy rzeczy: zapis historii cen, wyliczenie najniższej ceny z 30 dni i pokazanie jej wszędzie tam, gdzie klient widzi przekreśloną cenę. Sklep nie ma tej historii z pudełka, więc wdrożenie zaczyna się od pytania, skąd wziąć dane, a nie od wyboru wtyczki. W typowym sklepie wtyczka wystarcza, w sklepie z cenami z ERP, cennikami per rola albo nietypową prezentacją ceny trzeba dołożyć własny kod. Najwięcej problemów robią warianty, importy cen i cache, bo psują liczbę, nie komunikat - i dlatego nikt tego nie zauważa.

Jeśli masz w sklepie promocje i nie wiesz, czy pokazywana najniższa cena jest policzona poprawnie, podeślij mi link i nazwę jednego produktu, który był ostatnio w promocji. Sprawdzę, co widzi klient, co jest w danych i gdzie te dwie rzeczy się rozjeżdżają.

Najczęstsze pytania

Czy wystarczy jedna wtyczka, żeby mieć Omnibusa z głowy? W typowym sklepie tak, pod warunkiem że pokazuje komunikat we wszystkich miejscach z ceną i że jest utrzymywana. Problem zaczyna się tam, gdzie ceny wchodzą do sklepu automatycznie albo gdzie ten sam produkt ma kilka cen dla różnych grup klientów - wtedy sama wtyczka zwykle nie wystarcza.

Co zrobić, jeśli sklep nie zapisywał historii cen? Odzyskać ją z ERP, z eksportów produktów, z feedów reklamowych albo z kopii bazy, a jeśli nic takiego nie ma - włączyć zapisywanie od teraz i powstrzymać się z ogłaszaniem obniżek na produktach, których nie ma czym podeprzeć. Jak opisać okres przed włączeniem zapisu, ustal z prawnikiem.

Czy informacja musi być przy każdej cenie w sklepie? Informacja ma towarzyszyć ogłoszeniu obniżki. Jeśli ogłaszasz ją na liście kategorii i w banerze, to tam też musi być widoczna, a nie tylko na karcie produktu. Dlatego przed wdrożeniem wypisuję wszystkie miejsca, w których sklep pokazuje przekreśloną cenę.

Czy to wpływa na szybkość sklepu? Przy dobrze zrobionym zapisie historii nie powinno, bo to jeden dodatkowy odczyt przy wyświetlaniu ceny. Zauważalnie boli dopiero wtedy, gdy wtyczka liczy minimum na żywo przy każdym wejściu na listę kategorii zamiast trzymać policzoną wartość przy produkcie. To jedna z rzeczy, które sprawdzam w przeglądzie.


Masz sklep, w którym coś nie działa tak, jak powinno? Buduję i przebudowuję sklepy internetowe na WooCommerce - od pojedynczej naprawy po przebudowę całej sprzedaży. Opisz, z czym się mierzysz, a odeślę wycenę z zakresem i terminem.

§ Porozmawiajmy o projekcie

Twój sklep zwalnia albo wygląda staro, a nie wiesz, od czego zacząć?

Opisz zakres w dwóch zdaniach albo podeślij link do sklepu. Wskażę, co poprawić najszybciej, a wycenę dostajesz na piśmie - bez „od X zł".

Porozmawiajmy o projekcie