Twoja agencja raportuje ROAS 6,5x — wyglądasz jak gwiazda. Tymczasem netto na konto wpłynęło Ci tyle samo co miesiąc wcześniej. Co poszło nie tak? Najprawdopodobniej liczyłeś z niewłaściwego KPI. Pokażemy, czemu POAS (Profit on Ad Spend) coraz częściej zastępuje ROAS w dojrzałych sklepach e-commerce — i jak go wdrożyć w Google Ads.

Definicje — szybka powtórka

  • ROAS (Return On Ad Spend) = przychód z reklamy / wydatek na reklamę. Przykład: wydałeś 1 000 zł, przychód 6 500 zł → ROAS = 6,5x.
  • POAS (Profit On Ad Spend) = zysk netto (po koszcie towaru) z reklamy / wydatek. Przykład: ten sam 1 000 zł, przychód 6 500 zł, ale marża 35% → zysk = 2 275 zł → POAS = 2,28x.

Wniosek z definicji: ROAS mówi o obrocie. POAS mówi o tym, ile realnie zostaje. Dla biznesu liczy się POAS.

Czemu ROAS może kłamać

Klasyczny scenariusz: sklep meblowy ma dwa segmenty produktów.

SegmentŚrednia cenaMarża nettoWydatek AdsPrzychód AdsROASPOAS
A: Łóżka tapicerowane3 500 zł12%3 000 zł21 000 zł7,0x0,84x
B: Dodatki (poduszki, narzuty)180 zł55%1 500 zł9 000 zł6,0x3,3x

Patrząc na ROAS: segment A (7,0x) wygląda zdecydowanie lepiej niż B (6,0x). Logika klasyczna: „skaluj A, dorzucaj więcej budżetu”.

Patrząc na POAS: segment A jest strukturalnie nierentowny (0,84x oznacza, że na każdy 1 zł wydany na Ads zarabiasz 0,84 zł zysku — tracisz 16 gr per złotówka). Segment B z POAS 3,3x daje 2,30 zł zysku per złotówka. Powinieneś skalować B, ograniczać A.

Bez POAS — agencja optymalizująca pod ROAS będzie pchać budżet w łóżka tapicerowane (świetnie wyglądają na dashboardzie), aż sklep zbankrutuje powoli na świetnym raporcie.

Kiedy ROAS wystarczy

ROAS jako single metric ma sens, gdy:

  • Marża jest homogeniczna — wszystkie produkty mają zbliżoną marżę netto (różnice <5pp). Wtedy ROAS dobrze przybliża POAS.
  • Sklep startup, brak danych o marży — w pierwszych miesiącach lepiej optymalizować pod ROAS niż czekać na precyzyjne dane o marży. Po 6 miesiącach przejść na POAS.
  • SaaS / subskrypcja — przy wysokim LTV i niskim variable cost na transakcję ROAS jest wystarczającą proxy.

W reszcie scenariuszy (klasyczny e-commerce z różnymi marżami) POAS jest lepszy.

Jak wdrożyć POAS w Google Ads

Krok 1: Wypełnij cost_of_goods_sold w feedzie Merchant Center

Merchant Center ma od 2023 pole cost_of_goods_sold — koszt zakupu / produkcji produktu netto. Google używa go do liczenia profit per conversion. W WooCommerce można je dodać przez:

  • Wtyczka WooCommerce Cost of Goods (free, podstawowa) — dodaje pole „Cost” do każdego produktu
  • Custom field przez ACF (Advanced Custom Fields) i custom mapping w feedzie
  • Własny endpoint REST, który ciągnie marżę z ERP/Magazynu klienta

Krok 2: Ustaw conversion value rules

W Google Ads → Tools → Conversions → Value Rules. Możesz nadać różne wagi konwersjom na podstawie produktu / klienta / lokalizacji. Przykład: konwersje z `custom_label_0 = high_margin` mają wagę 1,0, z `low_margin` wagę 0,4. Algorytm uczy się, że low_margin warty mniej niż 1:1 — i automatycznie alokuje budżet do high.

Krok 3: Target ROAS = przewidywany POAS × średnia marża

Najprostszy sposób przejścia z ROAS na POAS bez przebudowy: ustal target ROAS na poziomie, który przy twojej średniej marży da break-even POAS. Przykład: chcesz POAS = 2,0x, średnia marża sklepu 30% → target ROAS = 2,0 / 0,30 = 6,67x. Wszystko poniżej 6,67x ROAS = strata na operacji.

Krok 4: Profit Conversion Tracking (zaawansowane)

Najlepsza implementacja: zmienić conversion value w GTM tak, by wysyłać do Ads zysk netto, a nie przychód. Wymaga to dynamicznego mapowania per produkt (znasz `cost_of_goods_sold` per SKU). Dwa sposoby:

  • DataLayer profit event — w WooCommerce checkout success page dataLayer push z `profit` (suma per item: price – cost), GTM tag wysyła to jako conversion value
  • Server-side conversion offline — co 24h endpoint REST eksportuje wszystkie nowe orders do Google Ads z `conversion_value` = profit, nie revenue

Po tej zmianie kampania optymalizująca pod „Max Conversion Value” optymalizuje pod profit, nie revenue. To jest faktyczny POAS w Google Ads.

Pułapki POAS — o czym pamiętać

  • Cost of goods sold to nie cała koszt — POAS w Google to „revenue – COGS”. Nie odejmuje: kosztu wysyłki dla klienta (jeśli darmowa), refundu (returns), kosztów płatności (1–2% transakcji). Realny zysk netto może być o 10–15% niższy niż POAS w Ads.
  • Customer Lifetime Value — jeśli dany produkt jest „loss leader”, który ściąga nowych klientów (potem kupują przez 2 lata) — POAS pierwszej transakcji może być < 1,0x, ale LTV pozytywne. Trzeba uważać, by nie wyłączyć kampanii, która buduje pipeline.
  • POAS nie uwzględnia kosztu pracy agencji ani CAC offline — to jest profit per ad spend, nie profit per total cost

POAS jako standard w Elsii

W naszych raportach miesięcznych pokazujemy oba KPI — ROAS dla porównań rynkowych (większość benchmarków jest w ROAS) i POAS dla decyzji budżetowych. Klient widzi: ROAS PMax 6,5x (target rynkowy), POAS PMax 2,1x (decision metric). Pierwsze pytanie nie jest „jak wygląda”, tylko „ile realnie zostaje”.

Setup POAS u nowego klienta zajmuje 2–4 tygodnie (zależy od stanu feedu i WooCommerce). Część pakietu Google Ads dla sklepów z marżą zróżnicowaną. Pełen case implementacji w PMax dla sklepu meblowego — case study.