Pułapka wskaźnika ROAS: jak skutecznie kontrolować rentowność sklepu internetowego na poziomie marży produktowej

Współczesna reklama internetowa, oparta na algorytmach automatycznego ustalania stawek, dąży przede wszystkim do maksymalizacji przychodu. Powszechnie stosowane wskaźniki, takie jak zwrot z nakładów na reklamę oraz udział kosztu reklamy w przychodzie, skupiają się wyłącznie na relacji między wydanym budżetem a wartością sprzedaży. Choć to podejście ułatwia codzienną ocenę działań marketingowych, niesie ze sobą duże ryzyko: całkowite oderwanie decyzji budżetowych od realnego zysku firmy.

Dlaczego sam ROAS i COS mogą generować straty?

Podejmowanie decyzji na kontach reklamowych tylko na podstawie przychodu sprawia, że systemy reklamowe chętnie inwestują budżet w produkty, które świetnie się sprzedają, ale mają bardzo niską marżę. W skrajnych przypadkach algorytmy mogą intensywnie promować produkty, które przy każdej sprzedaży przynoszą firmie stratę.

Konsekwencje braku kontroli nad marżą na poziomie konkretnego produktu (SKU) widać w dwóch sytuacjach:

  1. Skalowanie produktów niskomarżowych: produkt o wysokiej cenie i niskiej marży (np. elektronika z marżą 5%) wygeneruje wysoki przychód, co algorytm uzna za duży sukces. Jednak po odliczeniu kosztów magazynu, pakowania i samej reklamy, każda sprzedana sztuka powiększa stratę sklepu.
  2. Blokowanie produktów wysokomarżowych: produkty o unikalnej specyfice lub marki własne, które mają wysoką marżę (np. akcesoria z marżą 50%), mogą generować niższy ROAS. W efekcie algorytmy obcinają im budżety reklamowe, mimo że to właśnie te produkty przynoszą firmie najwyższy realny zysk.

Przykład: Produkt A vs Produkt B

Wyobraźmy sobie dwa produkty promowane w ramach tego samego budżetu reklamowego (1 000 PLN na każdy):

  • Produkt A: Przychód: 10 000 PLN | ROAS: 1000% | Marża: 5% | Zysk ze sprzedaży: 500 PLN | Wynik po odliczeniu reklamy: -500 PLN (Strata)
  • Produkt B: Przychód: 4 000 PLN | ROAS: 400% | Marża: 50% | Zysk ze sprzedaży: 2 000 PLN | Wynik po odliczeniu reklamy: +1 000 PLN (Zysk)

Bez wglądu w marże, system reklamowy lub niedoświadczony specjalista przeznaczy cały budżet na Produkt A, co doprowadzi do strat finansowych sklepu.

Instrukcja krok po kroku: konfiguracja danych w Data Octopus

Aby rozwiązać ten problem, musimy połączyć dane o kosztach produktów z danymi z systemów reklamowych. Poniżej znajduje się opis, jak krok po kroku wdrożyć taką kontrolę w aplikacji Data Octopus.

Krok A: Pobranie i zabezpieczenie danych o marżach

Pierwszym krokiem jest przekazanie informacji o kosztach asortymentu do Data Octopus. Dane muszą zawierać unikalne identyfikatory produktów (ID lub ID wariantu), dokładnie takie same, jak w feedzie produktowym. Informacje te można podać na trzy sposoby:

  • Gotowa marża procentowa per produkt,
  • Gotowa marża kwotowa per produkt,
  • Koszt zakupu / koszt własny sprzedaży, z którego system sam wyliczy marżę.

Dane można wgrać za pomocą standardowych metod w sekcji Sources: pliki CSV, TXT, XML, JSON, zaimportować z Google Sheets lub bezpośrednio z tabel Google BigQuery. Ponieważ dane o kosztach zakupu są poufne, zalecamy zabezpieczenie źródła (np. hasłem lub odpowiednimi uprawnieniami dostępu). Plik musi zawierać co najmniej dwie kolumny: ID produktu oraz wartość marży/COGS.

Krok B: Dopisywanie marży do modelu produktów

Gdy źródło danych jest gotowe, należy połączyć je z modelem produktów w Data Octopus:

  1. W menu aplikacji przechodzimy do sekcji: Models ⭢ Products ⭢ Model fields and mapping i klikamy „Add new field”.
  2. Typ danych: wybieramy opcję float (liczba zmiennoprzecinkowa), ponieważ marże często zawierają wartości po przecinku.
  1. Nazwa i reguły: nowe pole nazywamy np. Margin. W sekcji Mapping rules wybieramy opcję lookup in table. W polu „Source or model” wskazujemy z listy nasze źródło z marżami (plik lub tabelę BigQuery). W polach „select field” oraz „key” wybieramy identyfikator (ID), a w polu „alias” wskazujemy kolumnę z wartością marży.

Jeśli dysponujemy tylko kosztem zakupu (COGS), musimy dopisać do reguły kolejne kroki, aby system odjął COGS od ceny produktu i obliczył marżę procentową według wzoru:

Marża procentowa = (Cena – COGS) / Cena * 100 

Krok C: Uruchomienie mapowania (Run Mapping)

Po zapisaniu ustawień przechodzimy do sekcji Models ⭢ Products i klikamy przycisk „run mapping”. System połączy dane i dopisze informacje o marży do każdego produktu w naszej bazie.

Krok D i E: Tworzenie segmentów marżowych i przekazywanie ich do reklam

Zarządzanie stawkami dla każdego produktu osobno na koncie reklamowym bywa trudne. Dlatego warto podzielić produkty na grupy (segmenty):

  1. Tworzymy kolejne pole, klikając „Add new field”. Nazywamy je np. margin_segments, a jako typ danych wybieramy string (tekst).
  1. Ustawiamy reguły analogicznie jak w Kroku B, dodając warunki, które podzielą produkty na grupy (zalecamy przedziały co 5% lub 10%, np. segment 0-10%, segment 10-20% itd.).

Po zapisaniu i kliknięciu „run mapping”, w modelu pojawi się gotowa segmentacja. Możemy ją teraz przesłać do systemu reklamowego. W sekcji „channel fields assigned to the field” wybieramy system (np. Google lub Meta) i wskazujemy etykietę niestandardową (Custom Label), pod którą te segmenty mają zostać zapisane w feedzie.

Krok F: Wyliczanie realnego zysku (Profit)

Ostatnim etapem jest stworzenie pola, które pokaże nam czysty zysk wygenerowany przez dany produkt, uwzględniając koszty marketingu. Tworzymy nowe pole o nazwie Profit i konfigurujemy je tak, aby system wykonywał następujące działania:

  1. Pobierał liczbę sprzedanych sztuk produktu z ostatnich 30 dni.
  2. Pobierał koszt zakupu (COGS).
  3. Pobierał aktualną cenę (lub cenę promocyjną).
  4. Ojmował od ceny wartość COGS (uzyskując zysk na jednej sztuce).
  5. Mnożył ten wynik przez liczbę sprzedanych sztuk z ostatnich 30 dni.
  6. Ojmował od uzyskanej kwoty koszty reklamowe, jakie ten konkretny produkt wygenerował w systemie reklamowym (Google/Meta) w ciągu tych 30 dni.

Wzór, według którego system liczy tę wartość, wygląda następująco:

Profit = (Cena – COGS) * Liczba zamówień – Koszty reklamy 

Dzięki temu otrzymujemy czysty zysk z produktu po odliczeniu kosztu jego zakupu oraz wydatków na reklamę.

Co robić na kontach reklamowych, gdy produkt przynosi straty?

Gdy system wykona obliczenia, zobaczysz listę produktów, których wartość w polu Profit jest ujemna. Oznacza to, że dopłacasz do ich sprzedaży. W takiej sytuacji należy natychmiast wdrożyć odpowiednie działania na koncie reklamowym.

Tabela działań dla różnych grup produktów

Grupa produktówStatusCo to oznacza w praktyce?Zalecane działanie w reklamie
Wysoki ROAS / Ujemny ProfitKrytyczny (Pozorny lider)Produkt generuje duże obroty, ale przez niską marżą i wysokie koszty reklamowe przynosi stratę.Wyklucz produkt z głównych kampanii (np. Performance Max). Przenieś go do osobnej kampanii i ustaw bardzo wysoki docelowy ROAS (tROAS).
Niski ROAS / Dodatni ProfitSzansa na wzrostProdukt ma niski ROAS i mało wyświetleń, ale dzięki wysokiej marży zarabia dla firmy realne pieniądze.Przenieś produkt do osobnej kampanii z obniżonym docelowym ROAS, aby dać mu więcej budżetu i zwiększyć jego sprzedaż.
Ujemny Profit / Brak konwersjiDo redukcjiProdukty, które generują koszty, rzadko się sprzedają i mają zbyt wysoki koszt zakupu.Całkowicie wstrzymaj reklamy dla tych produktów. Przekaż listę do działu zakupów w celu negocjacji cen z dostawcą.

Praktyczne porady marketingowe:

  1. Używaj etykiet niestandardowych (Custom Labels): podziel kampanie w Google Ads i Meta Ads na podstawie stworzonych segmentów marży i zysku. Odetnij produkty przynoszące straty od ogólnych budżetów, aby nie „zjadały” pieniędzy przeznaczonych na zarabiający asortyment.
  2. Podnoś wymagania algorytmom (tROAS): jeśli widzisz, że dany produkt przy ROAS na poziomie 400% przynosi stratę, wymuś na systemie reklamowym wyższy cel (np. docelowy ROAS na poziomie 800%). Algorytm zacznie wyświetlać reklamy tylko tym użytkownikom, którzy najchętniej dokonają zakupu, co obniży koszt reklamy w przeliczeniu na jedno zamówienie.
  3. Zmień wartość konwersji (Profit-Driven Bidding): docelowym krokiem w optymalizacji jest przesyłanie do Google lub Meta wartości realnego zysku (Profit) zamiast czystego przychodu z koszyka. Dzięki temu algorytmy przestaną szukać sztucznego obrotu, a zaczną optymalizować kampanie pod kątem generowania jak największego zysku dla Twojej firmy.
  4. Zmień ceny w sklepie: ujemny zysk to informacja nie tylko dla marketingu, ale też dla biznesu. Jeśli produkt dobrze się sprzedaje, ale na siebie nie zarabia, warto podnieść jego cenę na stronie sklepu lub sprawdzić, czy koszty pakowania i wysyłki nie są zbyt wysokie.

Podsumowanie

Zmiana podejścia z optymalizacji pod sam wskaźnik ROAS na zarządzanie zyskiem z reklamy to klucz do trwałej rentowności sklepu internetowego. Dzięki wdrożeniu tych procesów w Data Octopus, możesz w pełni zautomatyzować kontrolę marży, chroniąc budżet marketingowy przed marnowaniem pieniędzy i bezpośrednio zwiększając realny zysk swojej firmy.

Zobacz więcej frameworków
Sprawdź konkretne rozwiązania, które łączą problemy e-commerce, know-how i aplikację Data Octopus, a także realne dane z wielu źródeł wraz z systemami reklamowymi.