- Optymalizacja wartości w Meta pokazuje reklamy osobom, które prawdopodobnie przyniosą największą wartość konwersji, i waży każdą konwersję proporcjonalnie do wartości, którą wysyłasz.
- Gdy tą wartością jest przychód, zamówienie za $400 z marżą 12% liczy się bardziej niż zamówienie za $90 z marżą 60%, więc przychód może rosnąć, podczas gdy zysk spada.
- ROASaurus może wysłać obok Purchase niestandardowe zdarzenie ContributionMargin o wartości zysku brutto zamówienia, które wybierasz jako zdarzenie konwersji w Ads Manager.
- Meta zaleca co najmniej 100 zdarzeń konwersji z 5 różnymi wartościami w ciągu 14 dni oraz test trwający co najmniej 3 tygodnie, więc to rozwiązanie pasuje do sklepów ze stałą liczbą zamówień.
- Optymalizacja pod zysk coś zmienia tylko wtedy, gdy marże różnią się między zamówieniami; przy jednej marży dla wszystkiego zysk jest stałym udziałem przychodu.
Optymalizacja wartości w Meta, czyli cel wydajności Maximize value of conversions, pokazuje twoje reklamy osobom, które z największym prawdopodobieństwem przyniosą wysoką wartość konwersji. Jeśli tą wartością jest przychód, Meta dąży do dużych zamówień, nawet gdy zostawiają mało zysku. Jeśli zamiast tego wyślesz jako wartość konwersji zysk brutto każdego zamówienia, Meta optymalizuje pod pieniądze, które zostają tobie.
Ten poradnik wyjaśnia, jak działa optymalizacja wartości, dlaczego przychód jako wartość faworyzuje zamówienia o niskiej marży, jak ROASaurus wysyła wartość zysku do Meta, jak skonfigurować na niej kampanię oraz jakie są kompromisy: wolumen, faza uczenia i raportowanie.
Czym jest optymalizacja wartości w Meta?
Kampania Sales, która maksymalizuje liczbę konwersji, szuka osób, które najprawdopodobniej kupią przy najniższym koszcie. Optymalizacja wartości szuka osób, które najprawdopodobniej przyniosą najwyższą łączną wartość konwersji. Meta może wtedy uzyskać mniej konwersji, każdą po wyższym koszcie, jeśli ich łączna wartość jest wyższa.
Aby z niej skorzystać, wysyłasz wartość i walutę razem ze zdarzeniem konwersji, przez Conversions API (Meta wymienia je jako wymagane) oraz piksel Meta. Wytyczne Meta dotyczące integracji mówią, że jej system wycenia konwersje proporcjonalnie do wartości, którą odsyłasz. W praktyce Meta stara się maksymalizować dowolną liczbę, którą wpiszesz w pole wartości.
Optymalizacja wartości działa dla zdarzeń standardowych, takich jak Purchase, oraz dla zdarzeń niestandardowych w celu Sales. Wartość nie musi być przychodem. Meta opisuje wartości zdarzeń niestandardowych jako sposób optymalizacji pod dowolny wewnętrzny cel, który zdefiniujesz.
Dlaczego optymalizacja pod przychód faworyzuje zamówienia o niskiej marży?
Weźmy sklep z dwiema liniami produktów. Odsprzedaje ekspresy do espresso z marżą brutto 12% i sprzedaje własny abonament na kawę w pudełku z marżą brutto 60%.
Gdy wartością jest przychód, Meta traktuje kupujących ekspresy jako tych wartościowych i szuka kolejnych takich osób. Oto jak to może wyglądać przy tych samych $1,000 wydatków na reklamy:
| Przykładowy miesiąc | Optymalizacja pod przychód | Optymalizacja pod zysk brutto |
|---|---|---|
| Wydatki na reklamy | $1,000 | $1,000 |
| Zamówienia | 6 ekspresów, 2 pudełka | 2 ekspresy, 18 pudełek |
| Przychód | $2,580 | $2,420 |
| ROAS | 2.58 | 2.42 |
| Zysk brutto | $396 | $1,068 |
| POAS | 0.40 | 1.07 |
| Zysk po reklamach | −$604 | +$68 |
Ads Manager pokazałby pierwszą kampanię jako lepszą, bo jej ROAS jest wyższy. Dopiero zysk brutto pokazuje, że ona traci pieniądze. Tę lukę mierzy POAS (zysk z wydatków na reklamy) i z tego samego powodu jeden ROAS progu rentowności dla całego sklepu ukrywa straty.
Jak ROASaurus wysyła wartość zysku do Meta
ROASaurus robi to jednym ustawieniem. W Tracking & platforms otwórz ustawienia swojego piksela Meta i zaznacz POAS bidding: also send each order's contribution margin. Od tego momentu do każdego zdarzenia Purchase, które ROASaurus wysyła do Conversions API z wartością zysku, w tym samym żądaniu dołącza drugie zdarzenie:
- Nazwa:
ContributionMargin, zdarzenie niestandardowe. - Wartość: zysk brutto zamówienia, w tej samej walucie co Purchase.
- Event id: id zakupu z prefiksem
cm-, na przykładcm-order-1042. Zdarzenie jest wysyłane tylko z serwera, więc nie ma kopii z przeglądarki do zdeduplikowania. - Dane klienta: te same zahashowane dane kontaktowe, adres IP, user agent,
fbpifbcco w Purchase, więc Meta może je dopasować równie dobrze.
Samo zdarzenie Purchase się nie zmienia. Nadal niesie wartość zamówienia, więc raportowanie zakupów w Ads Manager działa dalej.
{
"event_name": "ContributionMargin",
"event_time": 1792929600,
"event_id": "cm-order-1042",
"action_source": "website",
"event_source_url": "https://yourstore.com/checkouts/thank-you",
"user_data": {
"em": ["<SHA-256 of the normalized email>"],
"ph": ["<SHA-256 of the normalized phone>"],
"client_ip_address": "203.0.113.24",
"client_user_agent": "Mozilla/5.0 (iPhone; ...)",
"fbp": "fb.1.1792928400000.1234567890"
},
"custom_data": { "value": 54.00, "currency": "USD", "order_id": "1042" }
}Wartość pochodzi z analityki zysku, z tymi samymi kosztami, które widzisz w raportach zysku:
- Przychód
- Przychód z zamówienia bez VAT i podatku od sprzedaży, wraz z wysyłką opłaconą przez klienta, przy ustawieniach domyślnych.
- Zwroty
- Zwroty zapisane już w chwili wysłania zdarzenia.
- COGS
- Koszt produktów w zamówieniu, z twoich kosztów produktów.
- Wysyłka
- To, co płacisz przewoźnikowi za zamówienie.
- Opłaty
- Opłaty płatnicze i opłaty za zamówienie.
- Obsługa
- Pakowanie i inne koszty obsługi na zamówienie.
Dla zamówienia na pudełko: $90 − $27 − $5 − $2.70 − $1.30 = $54.00. Zamówienie, które przynosi stratę, jest wysyłane jako 0, nigdy jako wartość ujemna.
O jakości sygnału decydują trzy szczegóły:
- Wartość jest obliczana w chwili wysłania zakupu, krótko po otrzymaniu zamówienia. Zwrot, który pojawi się później, nie zmienia wartości, którą Meta już ma.
- Brakujące koszty produktów liczą się jako zero, chyba że ustawisz Estimate missing costs at % of price w Cost settings. Produkt bez kosztu wygląda na dużo bardziej zyskowny, niż jest, a Meta by go preferowała. Uzupełnij Product costs przed przełączeniem.
- Bez wartości zysku nie ma dodatkowego zdarzenia. Jeśli ROASaurus nie ma wartości zysku dla zamówienia, wysyła samo zdarzenie Purchase.
Wartości zysku istnieją dla zamówień w analityce zysku: zamówień ze Shopify oraz zamówień wysyłanych do API zamówień ROASaurus, z którego korzysta wtyczka WooCommerce. Zamówienia, które przychodzą przez pozostałe integracje ze sklepami internetowymi, nie mają jeszcze wartości zysku, więc dla tych sklepów ROASaurus wysyła Purchase bez zdarzenia ContributionMargin.
Jak skonfigurować kampanię zoptymalizowaną pod zysk
- Wpisz swoje koszty
Dodaj w analityce zysku koszty produktów, wysyłki, opłaty płatnicze i obsługę. Meta uczy się na tych liczbach. Analityka zysku oznacza produkty i zamówienia, które nie mają kosztu.
- Włącz POAS bidding
W Tracking & platforms zaznacz opcję POAS bidding przy pikselu Meta. Sprawdź Event log: każde żądanie Purchase powinno teraz zawierać także zdarzenie ContributionMargin.
- Przejrzyj zdarzenie w Events Manager
ContributionMargin pojawia się obok Purchase. Meta wymaga, aby zdarzenie niestandardowe zostało przejrzane w Events Manager, zanim będzie można dla niego maksymalizować wartość.
- Poczekaj na wystarczającą liczbę zdarzeń
Dla standardowych i niestandardowych zdarzeń na stronie Meta zaleca co najmniej 100 zdarzeń konwersji z co najmniej 5 różnymi wartościami w ostatnich 14 dniach. Później pojawienie się opcji może potrwać kilka tygodni.
- Utwórz kampanię
Użyj celu Sales z Website jako miejscem konwersji, Maximize value of conversions jako celem wydajności i ContributionMargin jako zdarzeniem konwersji. Zacznij bez celu ROAS, jak zaleca Meta przy pierwszym teście.
- Testuj przez co najmniej trzy tygodnie
Uruchom ją obok obecnej kampanii, najlepiej jako test A/B, z budżetem na co najmniej 50 konwersji tygodniowo. Porównuj zysk po reklamach, a nie ROAS.
Jakie są kompromisy?
- Meta waży każde zamówienie według tego, ile ci przynosi, a nie według jego wartości
- Produkty o niskiej marży przestają przyciągać budżet
- Wartość ContributionMargin w Ads Manager to zysk brutto, więc wartość ÷ wydatki jest bliska POAS
- Odpowiedni wolumen: 100 zdarzeń z 5 różnymi wartościami w 14 dni
- Nowa faza uczenia i test trwający trzy tygodnie lub dłużej
- Możliwe, że mniej konwersji, po wyższym koszcie wyniku
- Sygnał, który jest tak dobry, jak twoje dane o kosztach
Wolumen
ContributionMargin uruchamia się raz na zamówienie, więc nigdy nie ma większego wolumenu niż twoje zakupy server-side. Sklep z 15 zamówieniami tygodniowo nie osiągnie zalecanych przez Meta 100 zdarzeń w 14 dni, a kampania, która nie może wyjść z fazy uczenia, pozostaje niestabilna. Meta zaleca też budżet, który pokrywa co najmniej 50 konwersji tygodniowo.
Faza uczenia
Nowy zestaw reklam lub znacząca edycja istniejącego rozpoczyna fazę uczenia. Meta podaje, że zestaw reklam zwykle z niej wychodzi po około 50 wynikach w tygodniu po ostatniej znaczącej edycji. W trakcie uczenia koszt wyniku jest zwykle wyższy, a wyniki mniej stabilne. Meta ostrzega, że optymalizacja wartości może też pokazywać wyższy koszt wyniku i mniej konwersji łącznie, więc nie oceniaj jej w pierwszym tygodniu.
Raportowanie
Zostaw zdarzenie Purchase bez zmian. Twoje kolumny z liczbą zakupów, przychodem i ROAS w Ads Manager nadal pochodzą z niego. Kolumna Results śledzi zdarzenie, pod które optymalizuje się zestaw reklam, więc liczy zdarzenia ContributionMargin, a ich wartość konwersji to zysk brutto. Podziel tę wartość przez wydatki, a otrzymasz wynik bliski POAS, z progiem rentowności przy 1.0. Jest on nieco zawyżony, gdy część zamówień przynosi stratę, bo te są wysyłane jako 0. Jeśli później dodasz do tego zestawu reklam cel ROAS, sprawdź, której wartości używa do niego Ads Manager. Jeśli używa wartości ContributionMargin, cel 1.0 oznacza próg rentowności zysku brutto, a nie ROAS przychodowy równy 1.0. Wypróbuj własne liczby w kalkulatorze POAS.
A co z własną opcją zysku w Meta?
Meta opisuje też typ wartości zysku dla optymalizacji wartości. Wysyłasz w nim zysk z zakupu w polu net_revenue zdarzenia Purchase, obok wartości zakupu, albo ustawiasz estimated_margin dla każdego produktu w katalogu na potrzeby reklam katalogowych Advantage+. W zestawie reklam wybierasz wtedy Purchase jako zdarzenie i Purchase profit jako wartość konwersji.
Meta podaje własne wymagania dla tej opcji: co najmniej 3 różne dodatnie wartości zysku i co najmniej 100 konwersji w ciągu jednego tygodnia, a tam, gdzie to możliwe, zaleca co najmniej 30 konwersji dziennie na kampanię. Mówi też, żeby nie opóźniać zdarzenia zakupu w oczekiwaniu na wartość zysku. ROASaurus nie wypełnia net_revenue. Wysyła osobne zdarzenie ContributionMargin opisane wyżej, które korzysta ze standardowej optymalizacji wartości Meta dla zdarzeń niestandardowych. Idea i kompromisy są takie same: Meta może optymalizować pod zysk tylko wtedy, gdy z każdym zamówieniem dostaje wartość zysku.
Czy optymalizacja pod zysk jest odpowiednia dla twojego sklepu?
Warto to przetestować, gdy spełnione są trzy warunki. Twoje marże wyraźnie różnią się między produktami lub zamówieniami. Wysyłasz do Meta przez Conversions API dość zakupów, by spełnić wymagania dotyczące wolumenu. A koszty produktów, wysyłki i opłaty są uzupełnione, więc wartość jest bliska prawdy. Jeśli któregoś brakuje, najpierw to napraw: kampania pod przychód z poprawnym ROAS progu rentowności jest lepsza niż kampania pod zysk, która uczy się na błędnych kosztach.
Aby sprawdzić, ile mógłby zmienić sygnał zysku, spójrz na zysk brutto według linii produktów w analityce zysku. Jeśli twoje produkty najlepiej sprzedające się pod względem przychodu nie są twoimi najlepszymi produktami pod względem zysku brutto, wartość przychodu kieruje Meta do niewłaściwych. O tym, jak działa zdarzenie Purchase i jego deduplikacja, przeczytasz w naszym poradniku Meta Conversions API, a strona integracji z Meta wymienia wszystko, co wysyła ROASaurus.
Źródła
- Meta Business Help Center: About maximizing the value of conversions using the Sales campaign objective
- Meta Business Help Center: Requirements to use Maximize value of conversions
- Meta for Developers: Integration Guidance: Value Optimization
- Meta for Developers: Value optimization for profit: overview
- Meta Business Help Center: About the learning phase