- Meta-waardeoptimalisatie toont advertenties aan mensen die waarschijnlijk de hoogste conversiewaarde opleveren en weegt elke conversie mee in verhouding tot de waarde die je verstuurt.
- Wanneer die waarde de omzet is, telt een bestelling van $400 met een marge van 12% zwaarder dan een bestelling van $90 met een marge van 60%, waardoor de omzet kan groeien terwijl de winst daalt.
- ROASaurus kan naast de Purchase een custom event ContributionMargin versturen, met als waarde de brutowinst van de bestelling. Dat event kies je in Ads Manager als conversie-event.
- Meta raadt minstens 100 conversie-events aan met 5 verschillende waarden binnen 14 dagen en een test van minstens 3 weken, dus dit past bij webshops met een stabiel bestelvolume.
- Optimaliseren op winst verandert alleen iets als de marges per bestelling verschillen; bij één marge voor alles is winst een vast deel van de omzet.
Meta-waardeoptimalisatie, het prestatiedoel Maximize value of conversions, toont je advertenties aan de mensen die waarschijnlijk een hoge conversiewaarde opleveren. Als die waarde de omzet is, jaagt Meta op grote bestellingen, ook als die weinig winst opleveren. Stuur je in plaats daarvan de brutowinst van elke bestelling als conversiewaarde mee, dan optimaliseert Meta op het geld dat je overhoudt.
Deze gids legt uit hoe waardeoptimalisatie werkt, waarom omzet als waarde bestellingen met een lage marge bevoordeelt, hoe ROASaurus een winstwaarde naar Meta verstuurt, hoe je er een campagne op instelt en wat de afwegingen zijn: volume, de leerfase en de rapportage.
Wat is Meta-waardeoptimalisatie?
Een Sales-campagne die het aantal conversies maximaliseert, zoekt de mensen die het meest waarschijnlijk tegen de laagste kosten kopen. Waardeoptimalisatie zoekt de mensen die waarschijnlijk de hoogste totale conversiewaarde opleveren. Meta kan dan minder conversies krijgen, tegen hogere kosten per stuk, als hun totale waarde hoger is.
Om het te gebruiken, verstuur je met een conversie-event een waarde en een valuta, via de Conversions API (Meta noemt dat verplicht) en de Meta-pixel. Volgens de integratierichtlijnen van Meta waardeert het systeem conversies in verhouding tot de waarde die je terugstuurt. In de praktijk probeert Meta dus te maximaliseren welk getal je ook in het waardeveld zet.
Waardeoptimalisatie werkt voor standaardevents zoals Purchase en voor custom events bij het doel Sales. De waarde hoeft geen omzet te zijn. Meta beschrijft de waarden van custom events als een manier om te optimaliseren op elk intern doel dat je zelf bepaalt.
Waarom bevoordeelt optimaliseren op omzet bestellingen met een lage marge?
Neem een webshop met twee productlijnen. Daarin worden espressomachines doorverkocht met een brutomargepercentage van 12% en wordt een eigen koffieabonnementsbox verkocht met een brutomargepercentage van 60%.
Met omzet als waarde beschouwt Meta kopers van machines als de waardevolle en zoekt het er meer van. Zo kan dat eruitzien voor dezelfde $1,000 aan advertentiekosten:
| Illustratieve maand | Geoptimaliseerd op omzet | Geoptimaliseerd op brutowinst |
|---|---|---|
| Advertentiekosten | $1,000 | $1,000 |
| Bestellingen | 6 machines, 2 boxen | 2 machines, 18 boxen |
| Omzet | $2,580 | $2,420 |
| ROAS | 2.58 | 2.42 |
| Brutowinst | $396 | $1,068 |
| POAS | 0.40 | 1.07 |
| Winst na advertenties | −$604 | +$68 |
Ads Manager zou de eerste campagne als de betere tonen, omdat de ROAS hoger is. Alleen de brutowinst laat zien dat die geld verliest. Dat verschil meet POAS (profit on ad spend), en het is dezelfde reden waarom één break-even-ROAS voor een hele webshop verliezen verbergt.
Hoe ROASaurus een winstwaarde naar Meta verstuurt
ROASaurus doet dit met één instelling. Open in Tracking & platforms de instellingen van je Meta-pixel en vink POAS bidding: also send each order's contribution margin aan. Vanaf dat moment krijgt elke Purchase die ROASaurus met een winstbedrag naar de Conversions API stuurt een tweede event in hetzelfde verzoek:
- Naam:
ContributionMargin, een custom event. - Waarde: de brutowinst van de bestelling, in dezelfde valuta als de Purchase.
- Event-id: het bestel-id met
cm-ervoor, bijvoorbeeldcm-order-1042. Het event wordt alleen vanaf de server verstuurd, dus er is geen browserkopie om te ontdubbelen. - Klantgegevens: dezelfde gehashte contactgegevens, hetzelfde IP-adres, dezelfde user agent,
fbpenfbcals bij de Purchase, zodat Meta het even goed kan koppelen.
Het Purchase-event zelf verandert niet. Het bevat nog steeds de bestelwaarde, dus de aankooprapportage in Ads Manager blijft werken.
{
"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" }
}De waarde komt uit winstanalyse, met dezelfde kosten die je in je winstrapporten ziet:
- Omzet
- De omzet van de bestelling zonder btw of omzetbelasting, inclusief de verzendkosten die de klant heeft betaald, bij de standaardinstellingen.
- Terugbetalingen
- Terugbetalingen die al zijn geregistreerd op het moment dat het event wordt verstuurd.
- COGS
- De productkosten van de artikelen, uit je productkosten.
- Verzending
- Wat je de vervoerder voor de bestelling betaalt.
- Transactiekosten
- Transactie- en bestelkosten.
- Afhandeling
- Inpak- en andere afhandelingskosten per bestelling.
Voor de boxbestelling: $90 − $27 − $5 − $2.70 − $1.30 = $54.00. Een bestelling die geld verliest, wordt als 0 verstuurd, nooit als negatieve waarde.
Drie details bepalen hoe goed het signaal is:
- De waarde wordt berekend op het moment dat de aankoop wordt verstuurd, kort nadat de bestelling binnenkomt. Een terugbetaling die later komt, verandert de waarde die Meta al heeft niet.
- Ontbrekende productkosten tellen als nul tenzij je Estimate missing costs at % of price instelt in Cost settings. Een product zonder kosten lijkt veel winstgevender dan het is, en Meta zou erop jagen. Vul Product costs in voordat je overschakelt.
- Geen winstcijfer, geen extra event. Als ROASaurus voor een bestelling geen winstcijfer heeft, verstuurt het alleen de Purchase.
Winstcijfers bestaan voor bestellingen in winstanalyse: Shopify-bestellingen en bestellingen die naar de ROASaurus orders-API worden gestuurd, die de WooCommerce-plugin gebruikt. Bestellingen die via de andere webshopkoppelingen binnenkomen, hebben nog geen winstcijfer, dus voor die webshops verstuurt ROASaurus de Purchase zonder ContributionMargin-event.
Zo stel je een campagne in die op winst optimaliseert
- Vul je kosten in
Voeg productkosten, verzendkosten, transactiekosten en afhandelingskosten toe in winstanalyse. Meta leert van deze cijfers. Winstanalyse markeert producten en bestellingen zonder kosten.
- Zet POAS bidding aan
Vink in Tracking & platforms de optie POAS bidding aan bij de Meta-pixel. Controleer de Event log: elk Purchase-verzoek moet nu ook een ContributionMargin-event bevatten.
- Controleer het event in Events Manager
ContributionMargin verschijnt naast Purchase. Meta eist dat een custom event in Events Manager wordt beoordeeld voordat je er de waarde voor kunt maximaliseren.
- Wacht op genoeg events
Voor standaard- en custom websiteevents raadt Meta minstens 100 conversie-events aan met minstens 5 verschillende waarden in de afgelopen 14 dagen. Daarna kan het enkele weken duren voordat de optie verschijnt.
- Maak de campagne aan
Gebruik het doel Sales met Website als conversielocatie, Maximize value of conversions als prestatiedoel en ContributionMargin als conversie-event. Begin zonder ROAS-doel, zoals Meta aanbeveelt voor een eerste test.
- Test het minstens drie weken
Laat het naast je huidige campagne lopen, bij voorkeur als A/B-test, met een budget voor minstens 50 conversies per week. Vergelijk de winst na advertenties, niet de ROAS.
Wat zijn de afwegingen?
- Meta weegt elke bestelling naar wat die je oplevert, niet naar de bestelwaarde
- Producten met een lage marge trekken het budget niet meer naar zich toe
- De ContributionMargin-waarde in Ads Manager is brutowinst, dus waarde ÷ uitgaven komt dicht bij POAS
- Genoeg volume: 100 events met 5 verschillende waarden in 14 dagen
- Een nieuwe leerfase en een test van drie weken of langer
- Mogelijk minder conversies, tegen hogere kosten per resultaat
- Een signaal dat net zo goed is als je kostengegevens
Volume
ContributionMargin wordt één keer per bestelling verstuurd, dus het heeft nooit meer volume dan je server-side aankopen. Een webshop met 15 bestellingen per week haalt de door Meta aanbevolen 100 events in 14 dagen niet, en een campagne die de leerfase niet kan verlaten, blijft onstabiel. Meta adviseert ook een budget dat minstens 50 conversies per week dekt.
De leerfase
Een nieuwe advertentieset, of een ingrijpende wijziging in een bestaande, start een leerfase. Volgens Meta verlaat een advertentieset die meestal na ongeveer 50 resultaten in de week na de laatste ingrijpende wijziging. Tijdens het leren zijn de kosten per resultaat meestal hoger en zijn de resultaten minder stabiel. Meta waarschuwt dat waardeoptimalisatie ook hogere kosten per resultaat en minder conversies in totaal kan laten zien, dus beoordeel het niet in de eerste week.
Rapportage
Laat het Purchase-event zoals het is. Je kolommen voor aankopen, omzet en ROAS in Ads Manager komen nog steeds daarvandaan. De kolom Results volgt het event waarop de advertentieset optimaliseert, dus die telt ContributionMargin-events, en hun conversiewaarde is brutowinst. Deel die waarde door de uitgaven en je komt dicht bij POAS, met break-even op 1.0. Het is iets te hoog als sommige bestellingen geld verliezen, omdat die als 0 worden verstuurd. Als je later een ROAS-doel aan deze advertentieset toevoegt, controleer dan welke waarde Ads Manager daarvoor gebruikt. Gebruikt die de ContributionMargin-waarde, dan betekent een doel van 1.0 break-even op brutowinst, niet een omzet-ROAS van 1.0. Probeer je eigen cijfers in de POAS-calculator.
En de eigen winstoptie van Meta?
Meta documenteert ook een winstwaardetype voor waardeoptimalisatie. Daarbij stuur je de winst van een aankoop mee in een veld net_revenue op het Purchase-event, naast de aankoopwaarde, of stel je per product in je catalogus een estimated_margin in voor Advantage+ catalogusadvertenties. In de advertentieset kies je dan Purchase als event en Purchase profit als conversiewaarde.
Meta noemt eigen vereisten voor die optie: minstens 3 verschillende positieve winstwaarden en minstens 100 conversies in één week, met waar mogelijk minstens 30 conversies per dag per campagne aanbevolen. Meta zegt ook dat je een aankoopevent niet moet uitstellen terwijl je op een winstwaarde wacht. ROASaurus vult net_revenue niet. Het stuurt het hierboven beschreven aparte ContributionMargin-event, dat de standaard waardeoptimalisatie van Meta voor custom events gebruikt. Het idee en de afwegingen zijn hetzelfde: Meta kan alleen op winst optimaliseren als het bij elke bestelling een winstwaarde ontvangt.
Is optimaliseren op winst geschikt voor jouw webshop?
Het is de moeite waard om te testen wanneer drie dingen kloppen. Je marges verschillen duidelijk tussen producten of bestellingen. Je stuurt via de Conversions API genoeg aankopen naar Meta om aan de volume-eisen te voldoen. En je productkosten, verzendkosten en transactiekosten zijn ingevuld, zodat de waarde dicht bij de waarheid ligt. Ontbreekt er een van, los dat dan eerst op: een omzetcampagne met een juiste break-even-ROAS is beter dan een winstcampagne die leert van verkeerde kosten.
Om te zien hoeveel een winstsignaal kan veranderen, bekijk je de brutowinst per productlijn in winstanalyse. Als je bestsellers qua omzet niet je beste producten qua brutowinst zijn, wijst een omzetwaarde Meta naar de verkeerde. Hoe het Purchase-event en de ontdubbeling ervan werken, lees je in onze gids over de Meta Conversions API, en de Meta-integratiepagina toont alles wat ROASaurus verstuurt.
Bronnen
- 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