Performance Max is een campagnetype in Google Ads dat vanuit één campagne op al het Google Ads-inventaris adverteert (Zoeken, YouTube, Display, Discover, Gmail en Maps), waarbij Google AI biedingen en plaatsingen regelt. Voor webshops haalt een Performance Max-campagne de producten uit een gekoppeld Google Merchant Center-account. Je productfeed bepaalt dus welke artikelen kunnen worden getoond, wat er in een Shopping-advertentie staat en hoe fijn je je assortiment kunt opdelen.
Omdat Google biedingen en plaatsingen automatiseert, is de feed een van de weinige knoppen waar je nog zelf aan draait. In deze gids lees je hoe een Performance Max-campagne Merchant Center-data leest, welke zeven dimensies listing groups hebben, wat het verschil is tussen feed-only en volledige asset groups, welke attributen het zwaarst wegen (titel, afbeelding, GTIN, prijs, beschikbaarheid, product highlights) en hoe je custom labels inzet voor margeklassen, bestsellers en seizoenen. Alle limieten komen uit Google Ads Help en Merchant Center Help zoals die er nu uitzien.
Zo gebruikt een Performance Max-campagne je Merchant Center-data
Je koppelt Google Ads aan Merchant Center en kiest bij het aanmaken van de campagne het Merchant Center-account en, waar nodig, het land of feedlabel. Google meldt dat je het Merchant Center-account niet meer kunt wijzigen zodra de campagne bestaat, dus bepaal vooraf welk account de producten bevat die je wilt adverteren.
Binnen de campagne heeft elke asset group listing groups: filters die bepalen welke producten die asset group mag tonen. Producten komen via gegevensbronnen in Merchant Center. Alleen een primaire bron kan producten toevoegen of verwijderen; een aanvullende bron voegt alleen attributen toe of werkt ze bij voor producten die al in een primaire bron staan (Merchant Center Help).
Van productrecord naar Performance Max-advertentie
De zeven dimensies van listing groups in Performance Max
De helppagina over listing groups noemt zeven manieren om de producten in een asset group op te delen. Elke dimensie hangt aan een feedattribuut. Een rommelige feed beperkt je campagnestructuur dus al voordat je Google Ads opent:
- Categorie: de Google-producttaxonomie (`google_product_category`). Opdelen op categorie kan alleen in genoemde landen, waaronder Nederland, Duitsland, Frankrijk, het VK en de VS. België staat niet in de lijst.
- Merk: het attribuut `brand`.
- Item-ID: het attribuut `id`, voor losse producten.
- Staat: nieuw, gebruikt of refurbished (`condition`).
- Producttype: je eigen indeling (`product_type`), tot vijf niveaus diep op te delen.
- Kanaal: online of lokaal, voor winkels met fysieke voorraad.
- Custom label: `custom_label_0` tot en met `custom_label_4`, met waarden die je zelf kiest.
Een asset group kan maximaal 1.000 listing groups bevatten, en Google waarschuwt dat het geen goed idee is om in de buurt van dat aantal te komen. Opdelen op item-ID is de valkuil: dat werkt voor tien topproducten en loopt vast bij vijfhonderd. Merk, producttype en custom labels schalen wel, omdat één waarde veel producten dekt.
Feed-only asset groups of asset groups met eigen creatives
Een asset group kan naast listing groups ook teksten, afbeeldingen, logo's en video's bevatten. Veel adverteerders draaien juist wat ze feed-only asset groups noemen: listing groups en een uiteindelijke URL, zonder geüploade creatives. De afweging is bereik. In de Performance Max-documentatie voor retail schrijft Google dat het systeem na een Merchant Center-koppeling automatisch assets kan maken, maar dat bereik en prestaties dan beperkt zijn. Met eigen tekst, afbeeldingen of video kunnen advertenties op meer formaten verschijnen, zoals Discover, YouTube in-stream en Display.
Let op een naamswijziging: de instelling die eerst automatisch gemaakte assets heette, heet nu tekstaanpassing (text customization), en volgens Google werkt die niet voor Shopping-advertenties. Wat je ook kiest voor creatives: Shopping-advertenties bestaan uit je feedtitel, afbeelding en prijs. De feed telt dus in beide opzetten.
Feedattributen die bepalen hoe Performance Max een product toont
Merchant Center verplicht `id`, `title` (of `structured_title`), `description`, `link`, `image_link`, `availability` en `price` voor elk product (productdataspecificatie). Goedkeuring is de ondergrens. Deze attributen verdienen extra aandacht als je producten eenmaal zijn goedgekeurd.
Producttitels: tot 150 tekens, belangrijkste woorden vooraan
De titel is de hoofdtekst van een Shopping-advertentie en een sterk relevantiesignaal. De limiet is 150 tekens, maar op de meeste plekken zie je alleen het begin. Zet daarom vooraan wat een shopper intypt: merk, producttype en het kenmerk waarin varianten verschillen. "Ardenne gietijzeren braadpan 24 cm, kersenrood, 4,2 L" werkt beter dan "Ronde Braadpan No. 24". In onze gids voor titeloptimalisatie vind je patronen per categorie.
Productafbeeldingen: 500 x 500 pixels voor elk product vanaf 31 januari 2027
Google heeft aangekondigd dat alle productafbeeldingen vanaf 31 januari 2027 minimaal 500 x 500 pixels moeten zijn, en raadt 1500 x 1500 of groter aan. De hoofdafbeelding moet het product duidelijk tonen, zonder promotietekst, watermerken of prijzen erover. Vervang te kleine afbeeldingen nu al, niet in januari, wanneer afkeuringen midden in je uitverkoop zouden vallen. Onze gids voor productfotografie behandelt de opstelling en afbeeldingsbestanden per kanaal.
GTIN, merk en MPN in je feed
Een merk is verplicht voor nieuwe producten, behalve films, boeken en muziek, en opvullers als "Generic" of "N.v.t." worden niet geaccepteerd. Google noemt GTIN sterk aanbevolen als die bestaat, en voegt toe dat je hem alleen moet opgeven als je zeker weet dat hij klopt. Een verkeerde GTIN geeft meer gedoe dan een ontbrekende.
Prijs en actieprijs (price en sale_price)
Buiten de VS en Canada is `price` inclusief btw, in Nederland en België dus inclusief 21%. Bij een actie stuur je `sale_price` mee en laat je `price` op de normale prijs staan, met `sale_price_effective_date` als de actie een einddatum heeft. Plan je een Black Friday-actie? De Black Friday checklist zet dit feedwerk in een aftelschema van vier weken. Wijkt de feedprijs af van de productpagina, dan krijg je een fout voor niet-overeenkomende prijs, en die kan het product pauzeren in precies de weken waarin je het hardst adverteert.
Beschikbaarheid: waarden en verversing
Toegestane waarden zijn `in_stock`, `out_of_stock`, `preorder` en `backorder`, en bij `preorder` is `availability_date` verplicht. Performance Max kan klikken blijven sturen naar een artikel dat volgens de feed op voorraad is. Beschikbaarheid moet dus net zo vaak worden bijgewerkt als je voorraad verandert, en niet één keer per nacht als je snel verkoopt.
Product highlights en product_type
`product_highlight` accepteert 2 tot 100 korte zinnen van maximaal 150 tekens; Google raadt er vier tot zes aan en zegt dat ze shoppers helpen productinformatie te vinden op AI-oppervlakken zoals AI Mode in Google Zoeken. `product_type` mag 750 tekens lang zijn, en alleen de eerste waarde wordt gebruikt om biedingen en rapportage in te delen. Zet je hoofdcategoriepad dus vooraan: "Keuken > Pannen > Braadpannen".
Custom labels indelen voor marge, bestsellers en seizoen
Custom labels zijn vrije waarden die je aan producten hangt om te filteren, te rapporteren en te bieden in Performance Max-, Shopping- en Demand Gen-campagnes. Shoppers zien ze nooit. Elk van de vijf labels mag per waarde 100 tekens bevatten, met maximaal 1.000 unieke waarden per label in het hele account (specificatie custom labels). In de praktijk wil je er veel minder: drie tot acht vaste waarden per label, elk met een geschreven definitie.
Voorbeeld van een custom label-indeling voor een kookwinkel
| custom_label_0 | Wat verdienen we eraan? | margin_high, margin_mid, margin_low | Marge (prijs min inkoop, gedeeld door prijs): 45% of meer, 25 tot 45%, onder 25% |
|---|---|---|---|
| custom_label_1 | Hoe goed verkoopt het? | bestseller, core, long_tail | Top 10% van verkochte stuks in de laatste 90 dagen, de volgende 40%, de rest |
| custom_label_2 | Wanneer verkoopt het? | winter, summer, all_year | Per categorie vastgesteld door de categoriemanager |
| custom_label_3 | Wat betaalt de klant? | under_25, 25_75, over_75 | Verkoopprijs inclusief btw, in euro |
| custom_label_4 | Zit het in een actie of levensfase? | new, promo, clearance | Minder dan 60 dagen live, actieve actieprijs, uit assortiment met restvoorraad |
Met die indeling kan een adverteerder bestsellers met margin_high een eigen asset group geven met een hoger rendementsdoel, en long-tail-artikelen met margin_low naar een groep met minder budget verplaatsen. Het margelabel levert het vaakst iets op, omdat Performance Max anders op omzet stuurt en niet weet dat het ene product bij een vergelijkbare prijs twee keer zoveel oplevert als het andere.
De margeklasse uitrekenen voor vier producten
Marge reken je over de prijs zonder btw: (nettoprijs min inkoopprijs) gedeeld door nettoprijs. Zo werkt de indeling van de kookwinkel voor vier producten met 21% btw (prijzen en inkoopprijzen ter illustratie):
- Gietijzeren braadpan 24 cm: € 99,95 incl. btw, € 82,60 netto, inkoop € 44,00, marge 46,7%, dus margin_high.
- Koksmessenset, 3-delig: € 79,95 incl. btw, € 66,07 netto, inkoop € 46,50, marge 29,6%, dus margin_mid.
- Koekenpan met antiaanbaklaag 28 cm: € 39,95 incl. btw, € 33,02 netto, inkoop € 26,80, marge 18,8%, dus margin_low.
- Siliconen spatel: € 9,95 incl. btw, € 8,22 netto, inkoop € 2,90, marge 64,7%, dus margin_high.
De spatel laat zien waarom één label zelden genoeg is. Het margepercentage is het hoogste uit de lijst, maar hij levert € 5,32 per verkoop op tegen € 38,60 voor de braadpan. Combineer de margeklasse met het prijslabel (under_25), zodat goedkope accessoires niet in dezelfde asset group belanden als de braadpannen. En de koekenpan laat zien waarom de inkoopprijs actueel moet zijn: een prijsverhoging van de leverancier van een paar euro schuift hem van mid naar low, en het label moet meebewegen zonder dat iemand eraan hoeft te denken.
Een paar regels houden labels bruikbaar. Gebruik kleine letters met underscores, want labels zijn niet hoofdlettergevoelig. Gebruik een labelpositie nooit opnieuw voor een andere vraag, anders zijn de rapporten van vorig kwartaal onleesbaar. Bereken waarden op een vast moment opnieuw (marge zodra inkoopprijzen veranderen, verkoopklasse maandelijks) in plaats van met de hand. En verspil geen label aan iets dat al in de feed staat, zoals merk of staat.
Feedhygiëne voordat je een Performance Max-campagne herindeelt
Nieuwe asset groups beginnen zonder eigen prestatiegeschiedenis. Maak dus eerst de feed schoon en deel daarna één keer opnieuw in. Deze checklist bevat de controles die een listing group-indeling het vaakst breken.
Feedcontroles voor Performance Max
Labels en schone attributen naar Merchant Center sturen met WISEPIM
WISEPIM beheert geen campagnes, biedingen of budgetten; dat blijft in Google Ads. Het beheert de productdata die beide Merchant Center-routes lezen. De Google Merchant Center-koppeling stuurt producten via de Merchant API van Google: titel, omschrijving, link, tot elf afbeeldingen, prijs en actieprijs, beschikbaarheid, staat, GTIN (alleen met een geldig controlecijfer), merk, MPN, item group ID, verzendgewicht, `product_type` op basis van het categoriepad van het product en `google_product_category` uit je bevestigde Category map. Custom labels en product highlights stuurt de koppeling niet mee.
Custom labels lopen via Feed Hub. Een Google Shopping-feed in Feed Hub heeft `custom_label_0` tot en met `custom_label_4` als optionele velden, en elk veld kun je koppelen aan een productattribuut, een vaste waarde of een template string. Zet de margeklasse, verkoopklasse of het seizoen in een attribuut (bijvoorbeeld `margin_band`, in bulk gevuld), koppel dat aan een label, en Merchant Center haalt de feed-URL op volgens het schema dat je instelt. Is de Merchant Center-koppeling je primaire bron, dan kan de Feed Hub-feed dienen als aanvullende bron die de labels toevoegt (aanvullende bronnen vereisen de add-on Advanced data source management). Google koppelt aanvullende gegevens via de product-ID aan producten, en die ID moet exact overeenkomen met de primaire bron (Merchant Center Help). De koppeling stuurt de SKU als product-ID, dus koppel `id` in de feed aan de SKU.
Twee andere onderdelen dekken het attribuutwerk hierboven. Regels in Quality Guard kunnen voorkomen dat een product zonder geldige GTIN of hoofdafbeelding überhaupt wordt geëxporteerd, en prijsregels per kanaal bepalen de Google-prijs (opslag, afronding, minimale marge) bij de export. Zo blijven feed en de prijs die je voor dat kanaal wilt gelijk, zonder dat je de opgeslagen prijs aanpast. Alle velden voor het kanaal staan in de gids voor de Google Shopping-feed.

