NieuwProduct Score, 4T Segmentation, Price War en Broken Size zijn live.Bekijk wat er nieuw is
Feedance
Artikel

Zo meet je of een feedwijziging je ROAS echt heeft verschoven

Een scoremodel om te bewijzen dat een feedwijziging de ROAS in Performance Max verschoof, zonder biedingen aan te raken of het verkeerde rapport te lezen.

Kardelen YılmazKardelen Yılmaz
10 min. leestijd
Illustration of a before-and-after bar chart with a magnifying glass, representing measuring the ROAS impact of a product feed change

De meeste teams ontdekken op dezelfde manier dat een feedwijziging "werkte": ze repareerden iets in de feed, keken een week naar de ROAS in Google Ads, en die ging omhoog. Dat is geen bewijs. Google Ads zegt dat eigenlijk zelf al: een Performance Max-experiment vergelijkt alleen een volledige campagne met een andere; het heeft geen mechanisme om binnen dezelfde campagne het ene productsegment tegen het andere te testen. Wil je weten of het opnieuw labelen van 400 SKU's, het repareren van een titelformule of het toevoegen van een custom_label op basis van marge echt de ROAS heeft verschoven, dan moet je dat bewijs zelf opbouwen, met rapportagetools die daar niet voor zijn ontworpen. Deze gids geeft je een scoremodel om te bepalen wanneer een ROAS-cijfer van voor en na betrouwbaar is, een uitgewerkt voorbeeld met het custom-labelattribuut van Google zelf en een duidelijke lijst van wat de standaardrapportage van Performance Max je wel en niet vertelt. Het gaat niet over het aanpassen van biedingen: wij doen geen biedbeheer, en niets hier vraagt Google Ads om anders te bieden. Dit is het soort meetvraag waar growth- en performanceteams voortdurend tegenaan lopen zodra het werk aan feedoptimalisatie verder gaat dan de basis.

Waarom "de ROAS ging omhoog na de wijziging" geen bewijs is

Telkens wanneer een feedwijziging live gaat, gebeuren er drie dingen tegelijk: de algoritmen van Google blijven leren, seizoenseffecten blijven bewegen en je eigen team blijft andere wijzigingen doorvoeren, zoals een nieuwe actie, een hoger budget of een concurrent die door zijn voorraad heen is. Een ROAS-verschil dat in die chaos wordt gemeten, vertelt je wat er gebeurde, niet waarom. Het probleem is structureel en niet een kwestie van harder je best doen: Performance Max biedt geen ingebouwde, gerandomiseerde manier om binnen één campagne een feedsegment tegen een controlegroep te testen. De eigen documentatie van Google over Performance Max-experimenten bevestigt dat de reikwijdte de hele campagne is en niet een deel van de catalogus: een experiment verdeelt verkeer op campagneniveau tussen een "base arm" en een "trial arm" en rapporteert alleen "geaggregeerde conversies, conversiewaarde, CPA, ROAS en uitgaven voor de groepen" (Google Ads Help, veelgestelde vragen over Performance Max-experimenten). Binnen die structuur bestaat er geen arm op basis van listinggroepen of custom labels. De tool waar je als eerste naar zou grijpen, een echt Google Ads-experiment, kan de vraag "heeft deze specifieke feedwijziging de ROAS verschoven" dus niet beantwoorden. Je houdt observationele rapportage over, en die heeft vangrails nodig voordat je erop kunt vertrouwen.

Wat Google je binnen Performance Max echt laat meten

Het enige standaardmechanisme om binnen Performance Max prestaties per feedattribuut te zien, is de weergave van listinggroepen binnen een assetgroep. Je kunt de productset onderverdelen op categorie, merk, item-ID, staat, producttype, kanaal of maximaal vijf custom labels, en de tabel met listinggroepen rapporteert statistieken. De eigen helpdocumentatie van Google bevestigt dat je "je listinggroepen kunt filteren op de data die je het meest interesseert, zoals klikken, conversies of de gemiddelde kosten per klik" (Google Ads Help, een Performance Max-campagne beheren met listinggroepen). Dat is iets anders dan het rapport "Combinations" van de assetgroep, dat alleen laat zien welke creatieve assets goed samen presteerden en niets te maken heeft met prestaties op productniveau of per feedattribuut (Google Ads Help, over rapportage van assetgroepen voor Performance Max). Is je plan om een feedwijziging te meten "het assetgroeprapport bekijken", dan kijk je naar het verkeerde rapport. Controleer ook goed wat je feed in Google Merchant Center precies verstuurt voordat je aanneemt dat de listinggroepen überhaupt zijn opgebouwd op het attribuut dat je denkt.

Het attribuut dat de meeste teams gebruiken om een meetbaar segment af te bakenen, is custom_label_0 tot en met custom_label_4. Volgens de eigen specificatie van Google Merchant Center is elk daarvan een string van 1–100 tekens, optioneel per product, met één waarde per label per product en maximaal 1.000 unieke waarden per labelattribuut voor het hele account (Google Merchant Center Help, custom_label_0–4). De eigen uitgewerkte voorbeelden van Google voor het gebruik van de vijf plekken zijn seizoen, verkoopprestaties (BestSeller/LowSeller), opruimingsstatus en winstmarge (LowMargin/HighMargin) (Google Ads Help, custom labels gebruiken voor Shopping-advertenties). Dat is precies het soort segment dat je nodig hebt als je een feedwijziging wilt isoleren tot een groep die klein genoeg is om over te redeneren, maar groot genoeg om data op te leveren. Twee operationele details zijn belangrijk voor alles wat je op deze manier meet: labelwijzigingen hebben tot 24–48 uur nodig om in de rapportage van Google Ads door te komen, en Performance Max staat maximaal 1.000 listinggroepen per assetgroep toe, waarbij Google uitdrukkelijk waarschuwt dat zo hoog gaan "geen best practice is" omdat de prestaties er meestal onder lijden (Google Ads Help, een Performance Max-campagne beheren met listinggroepen).

Het scoremodel voor meetbaarheid

Voordat je een ROAS-cijfer van voor en na leest als oordeel over je feedwijziging, scoor je het op zes criteria. Elk criterium levert 0, 1 of 2 punten op, met een maximum van 12.

Criterium0 punten1 punt2 punten
Isolatie van het segmentWijziging in één keer op de hele feed toegepastWijziging toegepast op een benoemde categorie, zonder labelWijziging toegepast op een apart custom_label-segment waarop je kunt filteren
ConversievolumeSegment levert minder dan 30 conversies per week op30–100 conversies per week100+ conversies per week
Stabiliteit van de periodePeriode valt samen met een uitverkoop, feestdag of budgetwijzigingPeriode is een normale periode van 2–3 weken, met kleine overlap met een actieSchone periode van 2–3 weken, bevestigd zonder andere campagnewijzigingen (de eigen richtlijnen van Google voor experimenten raden deze lengte aan voordat je conclusies trekt (Google Ads Help, je experimenten monitoren))
Controle op verstorende factorenBiedingen, budgetten of targeting ook gewijzigd binnen de periodeEén kleine, niet-gerelateerde wijzigingNiets anders gewijzigd in het account voor dit segment
Buffer voor doorvoeringGemeten op dezelfde dag als de feedwijzigingGemeten 1 dag laterGemeten na 48+ uur, volgens de doorvoertijd van labels bij Google
VergelijkbaarheidGeen basislijn van vóór de wijziging vastgelegdBasislijn vastgelegd, maar met een andere lengte dan de testperiodeEven lange periodes voor en na, beide vastgelegd vóór de analyse

Interpretatie van de score: 9–12 betekent dat je met redelijk vertrouwen op het cijfer kunt handelen. 5–8 betekent dat je het als richtinggevend behandelt: het is een tweede cyclus waard voordat je de wijziging opschaalt. 4 of lager betekent dat het cijfer ruis is; presenteer het intern niet als resultaat en laat het geen grotere uitrol rechtvaardigen.

Een uitgewerkt voorbeeld: SKU's met lage marge opnieuw labelen

Stel dat je feed 8.400 SKU's heeft en er geen margesignaal in zit. Je voegt custom_label_3 toe met de waarden HighMargin en LowMargin, gevuld vanuit je kostprijsdata, en past dat als eerste test alleen toe op je categorie bovenkleding (612 SKU's), voordat je het over het hele account uitrolt.

VeldVoorNa
custom_label_3(leeg)LowMargin
idOW-4471OW-4471
titleMen's Packable Down JacketMen's Packable Down Jacket
price1,299.00 TRY1,299.00 TRY

In Performance Max maak je in de assetgroep voor bovenkleding een listinggroepnode voor custom_label_3 = LowMargin, wacht je 48 uur tot het label is doorgevoerd en laat je daarna een schone periode van 2–3 weken verstrijken zonder andere accountwijzigingen die die assetgroep raken. Aan het eind van de periode haal je de ROAS van die listinggroepnode op voor de twee weken voordat het label bestond (met de prestaties op categorieniveau als vervangende basislijn, omdat het label zelf toen nog niet bestond) en vergelijk je die met de twee weken erna. Haal die vergelijking door het scoremodel hierboven voordat je iets over het resultaat zegt: leverde bovenkleding binnen de periode 140 conversies per week op, zonder verstorende factoren, en heb je de volledige doorvoerbuffer afgewacht, dan zit je op 10–12 punten en is het cijfer betrouwbaar. Begon er drie dagen na de start van je testperiode een Black Friday-actie, dan zak je naar 5–6 punten, en is de eerlijke conclusie "niet doorslaggevend, test opnieuw in een schone periode" en niet "de ROAS is 14% gestegen".

Het listinggroeprapport lezen zonder jezelf voor de gek te houden

Drie gewoonten houden deze meting eerlijk. Ten eerste: vergelijk altijd even lange periodes. Een periode van vijf dagen "na" tegenover veertien dagen "voor" verschuift gemiddelden om redenen die niets met je wijziging te maken hebben. Ten tweede: maak de vergelijking op het niveau van de listinggroep, niet op het niveau van de assetgroep of campagne; de ROAS op campagneniveau neemt alles op wat elk ander segment doet en verdunt je signaal. Ten derde: behandel elke afzonderlijke voor-en-nacyclus als één datapunt, niet als oordeel. Herhaal hem op een tweede segment voordat je een labelwijziging uitrolt naar de volledige feed van 8.400 SKU's. Niets hiervan vereist dat je aan biedstrategie, doel-ROAS of budget komt; het is volledig een oefening in feeddata en rapportage, en daarom ook iets wat je feedplatform direct zou moeten ondersteunen in plaats van iets wat je alleen handmatig in de interface van Google Ads doet. Growth- en performanceteams die dit segmentatiewerk goed op orde hebben, gebruiken het om wijzigingen in de hele catalogus te onderbouwen met echte cijfers. De stap van Bilyoner naar catalogusadvertenties is een voorbeeld waarin een wijziging op feedniveau werd gekoppeld aan een gemeten ROAS-resultaat in plaats van aan een onderbuikgevoel.

Wat dit niet dekt, en waar het tekortschiet

Dit kader geeft je een verdedigbare, richtinggevende lezing met tools die elke Performance Max-adverteerder al heeft. Het is geen gerandomiseerd gecontroleerd experiment. Omdat Google binnen een live Performance Max-campagne geen echte holdout op segmentniveau biedt, kun je niet volledig uitsluiten dat het biedalgoritme van Google vertoningen naar je gelabelde segment heeft verschoven om redenen die niets met het label zelf te maken hebben. Het scoremodel verkleint dat risico, maar neemt het niet weg. Heb je statistisch rigoureuze incrementaliteitsmeting nodig (een echte controlegroep, betrouwbaarheidsintervallen, geo-holdouts), dan is dat een taak voor een speciaal platform voor experimenten of marketing-mix-modellering, niet voor een feedtool, en moet je niet verwachten dat een feedmanagementplatform (Feedance inbegrepen) dat niveau van bewijs levert. Evenzo: is je eigenlijke doel geautomatiseerde, margebewuste biedaanpassing in plaats van meting (een systeem dat handelt op basis van het winstgevendheidslabel in plaats van er alleen over te rapporteren), dan is dat een productkeuze waar sommige platforms in deze markt omheen zijn gebouwd. De taak van Feedance stopt bij ervoor zorgen dat het label bestaat, correct is gevuld en netjes wordt gerapporteerd. Wij passen geen biedingen namens jou aan. Valt je team onder een growth- of performancefunctie, dan is die discipline in rapportage, en niet geautomatiseerd bieden, meestal de plek met de meeste hefboomwerking om te beginnen.

Veelgestelde vragen

Kan ik binnen één Performance Max-campagne het ene custom_label-segment A/B-testen tegen het andere?
Nee. De eigen experimentstructuur van Google voor Performance Max verdeelt verkeer op campagneniveau tussen een base arm en een trial arm, niet tussen listinggroepen binnen één campagne, en rapporteert per arm alleen geaggregeerde statistieken.

Hoeveel custom labels kan ik gebruiken, en maken ze de feed complexer?
Vijf plekken, custom_label_0 tot en met custom_label_4, elk een string van 1–100 tekens met maximaal 1.000 unieke waarden per label voor het hele account. Ze zijn optioneel per product en onzichtbaar voor shoppers, dus toevoegen heeft geen invloed op hoe het product wordt weergegeven.

Hoe lang moet ik na een labelwijziging wachten voordat ik iets meet?
Minstens 48 uur totdat het label zelf in de rapportage van Google Ads is doorgevoerd, en daarna een volledige schone periode. Google raadt 2–3 weken aan om bij zijn eigen experimenten een betrouwbare lezing te krijgen, voordat je conclusies trekt.

Wat is het verschil tussen het rapport "Combinations" van de assetgroep en het rapport met listinggroepen?
Het rapport Combinations laat zien welke creatieve assets (koppen, afbeeldingen, video) goed samen presteerden; het heeft geen uitsplitsing naar product of feedattribuut. Met het rapport voor listinggroepen kun je prestaties filteren op categorie, merk, item-ID, staat, producttype of custom label.

Mijn segment levert maar 15 conversies per week op. Heeft meten dan zin?
Op zichzelf niet betrouwbaar. Maak het segment breder (een bredere categorie in plaats van één custom-labelwaarde), verleng de periode tot ruim boven drie weken, of accepteer dat elk resultaat hooguit richtinggevend is, en scoor het daarnaar in het scoremodel hierboven.

Geldt dit kader ook voor standaard Shopping-campagnes?
Ja, en in sommige opzichten is het daar zelfs zuiverder, omdat standaard Shopping-campagnes Google Ads-experimenten (concepten en experimenten) ondersteunen met echte tests met verkeersverdeling op advertentiegroep- en productgroepniveau, anders dan Performance Max.

Kan Feedance deze meting automatisch voor mij uitvoeren?
Feedance kan de custom_label-segmentatie in de feed zelf aanmaken en onderhouden, volgens je synchronisatieschema (dagelijks bij Essentials, elk uur bij Business), zodat de labels schoon en consistent bestaan om in Google Ads op te rapporteren. Het voert de ROAS-analyse niet uit en komt niet aan biedingen.

Wat als ik meerdere dingen tegelijk in de feed heb gewijzigd: titel, afbeeldingen en het custom label?
Dan kun je een ROAS-wijziging aan geen van die dingen toeschrijven. Geef dat scenario een 0 op het criterium verstorende factoren en beschouw de hele test als ongeldig; isoleer per meetcyclus één variabele.

Voer een gratis audit van je productfeed uit om te zien waar je feed de segmentatiesignalen mist, zoals schone custom labels, die dit soort meting überhaupt mogelijk maken.

Wil je dat iemand anders ook naar je feed kijkt? We nemen hem samen met je door en laten zien waar de gaten zitten, nog voor je volgende inzending.
Doe een gratis audit
Kardelen Yılmaz
Geschreven door
Kardelen Yılmaz

Kardelen Yılmaz werkt aan groei bij Feedance, waar ze e-commercemerken en bureaus helpt meer rendement te halen uit elk product dat ze adverteren. Ze schrijft over de kwaliteit van productfeeds, Shopping- en Performance Max-campagnes, creatieve automatisering en hoe AI-gedreven shopping de zichtbaarheid van producten verandert.

LinkedIn

Zie welke
producten opbrengen.

Koppel je feed en GA4. We tonen Product Score, 4T, Price War en Broken Size op je eigen catalogus.