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 cena | Marża netto | Wydatek Ads | Przychód Ads | ROAS | POAS |
|---|---|---|---|---|---|---|
| A: Łóżka tapicerowane | 3 500 zł | 12% | 3 000 zł | 21 000 zł | 7,0x | 0,84x |
| B: Dodatki (poduszki, narzuty) | 180 zł | 55% | 1 500 zł | 9 000 zł | 6,0x | 3,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.