Een catalogus met een performancesignaal op elk product.
Meta leest elke catalogusadvertentie uit je feed. Feedance verstuurt een complete, geldige catalogus plus de signalen die Meta zelf niet heeft.
Meta AdsKanaal · Catalogi voor Facebook en InstagramFeedance bouwt je catalogusfeed voor Commerce Manager en voegt labels op productniveau toe voor score, 4T-segment, prijspositie en gebroken maatreeksen, zodat Advantage+ catalogusadvertenties en dynamische advertenties zich richten op wat verkoopt.
Meta leest elke catalogusadvertentie uit je feed. Feedance verstuurt een complete, geldige catalogus plus de signalen die Meta zelf niet heeft.
Meta Ads draait voor e-commerce op Commerce Manager, de tool van Meta voor het beheer van catalogi en winkels op Facebook en Instagram. In plaats van voor elk product afzonderlijk een advertentiecreative te ontwerpen, upload je één keer een catalogusfeed met je producten, en haalt Meta de artikelgegevens (titel, prijs, afbeelding, beschikbaarheid) er rechtstreeks uit om automatisch dynamische advertenties, Advantage+-catalogusadvertenties en shoppable posts en tags te bouwen. De catalogus is ook de productdatabase achter Facebook en Instagram Shops, dus dezelfde feed die je advertenties aanstuurt, kan ook winkels en checkout op het platform aansturen.
Een gekoppelde feed ontgrendelt advertentieformaten op basis van catalogi die een enkele statische advertentie niet op schaal kan nabootsen: dynamische advertenties die een shopper automatisch precies de producten tonen die hij heeft bekeken of in zijn winkelwagen heeft gelegd, Advantage+-catalogcampagnes waarbij het leveringssysteem van Meta de best presterende artikelen uit je hele assortiment kiest, en shoppable tags in berichten op Instagram en Facebook. Omdat al deze formaten live uit de catalogus lezen, heeft feednauwkeurigheid een directe invloed op advertentieprestaties: een verouderde prijs of een uitverkocht artikel dat nog als "in stock" staat, wordt getoond aan een shopper die vervolgens afhaakt, en herhaalde verschillen tussen je feed en je landingspagina's zijn een gedocumenteerde oorzaak van artikelen die in Commerce Manager worden gemarkeerd of afgekeurd.
Dynamische advertenties werken door twee gegevensbronnen te verbinden: je productcatalogus (die afbeeldingen, titels, prijzen en voorraadstatus levert) en de Meta Pixel of Conversions API (die meldt wat een bezoeker op je site deed: een product bekijken, het in de winkelwagen leggen, het afrekenen starten). De schakel tussen beide is het veld id: Meta koppelt de content_id die het Pixel/CAPI-event meldt aan de id van het bijbehorende artikel in je catalogus. Als deze waarden niet exact overeenkomen, kan Meta het gedrag van een shopper op de site niet terugkoppelen aan een specifiek product, en wordt dynamische retargeting voor dat artikel simpelweg niet geactiveerd. Daarom moet het veld id een stabiele identifier zijn (Meta raadt aan je eigen SKU te gebruiken) die tussen feedupdates nooit verandert.
Commerce Manager accepteert een productfeed als CSV, TSV, RSS XML, ATOM XML of een link naar Google Sheets; voor programmatische updates biedt Meta ook de Catalog Batch API en de Direct Upload API. Je kunt op drie manieren een feed aan Commerce Manager toevoegen: een feed-URL plakken die Meta volgens een schema ophaalt, handmatig een bestand vanaf je computer uploaden, of een Google Sheet koppelen die Meta op geplande tijden opnieuw ophaalt. CSV- en XML-feeds moeten UTF-8-gecodeerd zijn, en alle veldnamen (plus bepaalde ondersteunde waarden) moeten in Amerikaans Engels zijn, ongeacht de markt van je winkel. Gebruik je XML, dan moet die het RSS 2.0-formaat volgen met de Google-productnamespace gedeclareerd als xmlns:g="http://base.google.com/ns/1.0", en moeten speciale tekens zoals &, < en > als entiteit worden gecodeerd (&, <, >), omdat ze anders niet geldig zijn binnen de inhoud van XML-tags.
De tabel hieronder gebruikt de eigen veldnamen van Meta voor catalogi precies zoals ze zijn gedocumenteerd, zodat ze één op één overeenkomen met de kolommen of XML-tags die Commerce Manager verwacht. Voor e-commerceartikelen moet naast de hieronder als verplicht gemarkeerde velden minstens één van brand, gtin of mpn aanwezig zijn; Meta behandelt een ontbrekende productidentifier als een eigen foutcategorie, los van een ontbrekend verplicht veld.
| Veld | Verplicht | Formaat | Voorbeeld | Opmerkingen |
|---|---|---|---|---|
id | Ja | string, max. 100 tekens | 404718SKU | Unieke content-ID per artikel; gebruik je SKU. Moet overeenkomen met de content_id van Pixel/CAPI om dynamische advertenties te laten werken |
title | Ja | string, max. 200 tekens (65 aanbevolen) | Women's Floral Midi Dress | Specifieke, relevante productnaam |
description | Ja | platte tekst, max. 9.999 tekens | 100% cotton midi dress with floral print... | Geen HTML en geen tekst in hoofdletters |
availability | Ja | enum | in stock | Alleen in stock of out of stock zijn ondersteunde waarden |
condition | Ja | enum | new | Ondersteunde waarden: new, refurbished, used |
price | Ja | getal + spatie + ISO 4217-valutacode | 29.99 USD | Gebruik een punt voor decimalen; moet overeenkomen met de prijs op je landingspagina |
link | Ja | URL | https://example.com/product/404718 | Moet beginnen met http:// of https:// en verwijzen naar de pagina van precies dat product |
image_link | Ja | URL, JPEG of PNG | https://example.com/images/404718.jpg | Minimaal 500x500 pixels, maximaal 8 MB |
brand | Voorwaardelijk | string, max. 100 tekens | Acme | Verplicht, tenzij in plaats daarvan gtin of mpn wordt aangeleverd |
gtin | Voorwaardelijk | UPC/EAN/JAN/ISBN/ITF-14 van 8-14 cijfers, zonder streepjes of spaties | 0012345678905 | Verplicht, tenzij in plaats daarvan brand of mpn wordt aangeleverd |
price in het verplichte formaat "getal + ISO 4217-code" (bijv. 29.99 USD), je voorraadvlag wordt de enum in stock/out of stock die availability verwacht, en je categoriewaarden worden vertaald naar de productcategorietaxonomie van Google of Facebook die Meta vereist om in aanmerking te komen voor checkout op het platform.xmlns:g en als entiteit gecodeerde speciale tekens, of CSV/TSV), zodat je ampersands niet zelf hoeft te coderen of de Google-productnamespace niet zelf hoeft te beheren.In Commerce Manager kun je een feed-URL elk uur, dagelijks of wekelijks opnieuw laten ophalen, en geplande feeds kunnen niet vaker dan één keer per uur draaien; voor snellere updates heb je de Catalog Batch API of Direct Upload API nodig in plaats van een gepland ophalen via een URL. Hoe vaak je daadwerkelijk moet bijwerken, hangt af van hoe snel je voorraad en prijzen veranderen: dagelijks ophalen is meestal genoeg voor catalogi die langzaam veranderen, terwijl winkels met veel prijswijzigingen, flashsales of snel wisselende voorraad baat hebben bij updates per uur, zodat de prijs en beschikbaarheid in advertenties blijven aansluiten bij wat er echt op de landingspagina staat. Een aanhoudend verschil tussen feedgegevens en de live pagina is een gedocumenteerde oorzaak van artikelen die worden gemarkeerd omdat ze onjuiste of verouderde informatie tonen.
| Fout | Waarschijnlijke oorzaak | Oplossing |
|---|---|---|
| Verplicht veld ontbreekt | Een verplicht attribuut zoals price, image_link of availability is leeg of ontbreekt voor een of meer artikelen | Controleer vóór het opnieuw uploaden of elk verplicht veld voor elk artikel is ingevuld, niet alleen voor een steekproef |
| Productidentifier ontbreekt | Geen van brand, gtin of mpn is aanwezig voor een e-commerceartikel | Voeg minstens één van de drie identifiervelden aan elk product toe |
| Dubbel artikel | Dezelfde content-ID (id) komt voor in meer dan één datafeed die dezelfde catalogus voedt | Zorg dat elke id uniek is in alle gegevensbronnen die aan die catalogus zijn gekoppeld |
| Artikel niet goedgekeurd / afgekeurd | Het artikel mist verplichte informatie, of het is in strijd met het advertentie- of commercebeleid van Meta | Bekijk de specifieke reden op het tabblad Issues van de catalogus, corrigeer de feedgegevens en vraag een beoordeling aan als je denkt dat de afkeuring onterecht is |
| Onjuiste of verouderde productinformatie in advertenties of Shop | De crawler van Meta vergelijkt je landingspagina met je feedgegevens, en de feed (prijs, titel of beschikbaarheid) loopt achter op de live pagina | Verhoog de ophaalfrequentie van je feed, zodat prijs- en beschikbaarheidswijzigingen op je site vóór de volgende crawl zijn verwerkt |
| Landingspagina onbereikbaar | De URL in link geeft een fout, stuurt door weg van het product of is geblokkeerd voor crawlen (bijv. via robots.txt) | Controleer of de link van elk product direct naar dat product leidt en niet is geblokkeerd voor crawlers |
Deze tips zijn direct gebaseerd op het gedocumenteerde gedrag van de velden van Meta, niet op algemeen marketingadvies:
id stabiel en identiek aan de content_id die je Meta Pixel of Conversions API verstuurt: zo kan dynamische retargeting een sitebezoek aan het juiste product koppelen.google_product_category of fb_product_category zo specifiek mogelijk in; een categorie is vereist om in aanmerking te komen voor checkout op het platform en helpt het leveringssysteem van Meta het artikel aan de juiste doelgroep te koppelen.brand, gtin of mpn aan: dit is een harde identifiervereiste voor e-commercecatalogi, niet slechts een best practice.price en availability in je feed bij elke update overeenkomen met je live landingspagina; de crawler van Meta controleert dit, en verouderde gegevens zijn een gedocumenteerde aanleiding voor gemarkeerde artikelen.item_group_id om maat- en kleurvarianten van hetzelfde product te groeperen, zodat Meta ze toont als één artikel met variantkeuze in plaats van als dubbele, concurrerende vermeldingen.additional_image_link (tot 20 afbeeldingen) in plaats van alleen te vertrouwen op één hoofdfoto voor image_link.Accepteert Meta Ads dezelfde feedformaten als Google Shopping?
Grotendeels wel. Meta accepteert CSV, TSV, RSS XML en ATOM XML, dezelfde brede formaatfamilies die de meeste Google Merchant-feeds gebruiken, plus een optie met een link naar Google Sheets die Google niet biedt.
Wat gebeurt er als de content_id van mijn Pixel niet overeenkomt met de id in mijn feed?
Dynamische advertenties en retargeting voor dat artikel werken dan niet, omdat Meta gedrag op de site uitsluitend aan catalogusartikelen koppelt via overeenkomende waarden van content_id en id.
Heb ik zowel brand als GTIN nodig?
Nee. Meta vereist minstens één van brand, gtin of mpn per e-commerceartikel, niet alle drie.
Hoe snel kan ik prijzen of voorraad bijwerken?
Geplande feeds kunnen maximaal elk uur worden opgehaald (het snelste geplande interval dat Commerce Manager ondersteunt); voor bijna realtime wijzigingen heb je de Catalog Batch API of Direct Upload API nodig in plaats van gepland ophalen via een URL.
Waarom toont Meta een oude prijs in mijn advertentie?
De crawler van Meta vergelijkt je feedgegevens regelmatig met je live landingspagina; als je feed sinds je prijswijziging niet opnieuw is opgehaald, blijven de advertentie en de Shop-vermelding de verouderde waarde tonen tot de volgende ophaalronde.
Kan ik één feed gebruiken voor zowel Facebook als Instagram?
Ja. Eén catalogus en feed sturen zowel de Shops, tags en dynamische advertenties op Facebook als op Instagram aan; er is geen apart feedformaat specifiek voor Instagram.
Welk afbeeldingsformaat vereist Meta?
De afbeelding in image_link moet JPEG of PNG zijn, minimaal 500x500 pixels en niet groter dan 8 MB.
Meta Ads is het advertentiesysteem van Meta Platforms, het bedrijf achter Facebook, Instagram, Messenger en WhatsApp. Voor webwinkels draait productadvertising op Meta op catalogi die worden beheerd in Commerce Manager, de tool van Meta voor catalogi en winkels op Facebook en Instagram.
In plaats van voor elk product een advertentie te ontwerpen, koppelt een webwinkel één keer een productcatalogus en bouwt Meta daar advertenties uit: dynamische advertenties die shoppers de producten tonen die ze hebben bekeken of in hun winkelwagen hebben gelegd, Advantage+ catalogusadvertenties die de beste producten uit het hele assortiment kiezen, en shoppable tags in posts. Dezelfde catalogus voedt ook Facebook en Instagram Shops.
Catalogi kunnen worden gevuld vanuit een CSV-, TSV- of XML-feed, een Google Sheet of de API's van Meta, waarbij feeds volgens een schema worden opgehaald. Voor dynamische advertenties koppelt Meta catalogusartikelen via de product-ID aan activiteit die door de Meta Pixel of Conversions API wordt gemeld, dus ID's moeten stabiel blijven en exact overeenkomen.
Omdat elke catalogusadvertentie uit de feed leest, is de feedkwaliteit direct zichtbaar in de resultaten. Verouderde prijzen, artikelen die ten onrechte als op voorraad zijn gemarkeerd of verschillen tussen de feed en de landingspagina's leiden tot verspilde kliks en kunnen ertoe leiden dat artikelen in Commerce Manager worden gemarkeerd of afgekeurd.
Dynamische advertenties verbinden twee databronnen: je catalogus, die afbeeldingen, titels, prijzen en voorraad levert, en de Meta Pixel of Conversions API, die doorgeeft wat een bezoeker op je site heeft gedaan. Meta koppelt ze door de content_id van het event te matchen met de id van het catalogusitem.
Als de waarden niet exact overeenkomen, wordt retargeting voor dat product niet geactiveerd. Houd de id stabiel tussen updates. Meta raadt je eigen SKU aan.
De veldnamen volgen de catalogusdocumentatie van Meta. Voor e-commerce-items is naast de verplichte velden ook minimaal één van brand, gtin of mpn nodig.
| Field | Required | Format | Notes |
|---|---|---|---|
| id | Yes | string, max. 100 tekens | Gebruik je SKU. Moet overeenkomen met de content_id van Pixel/CAPI. |
| title | Yes | string, max. 200 tekens (65 aanbevolen) | Specifieke, relevante productnaam. |
| description | Yes | platte tekst, max. 9.999 tekens | Geen HTML en geen tekst in hoofdletters. |
| availability | Yes | in stock / out of stock | Alleen deze twee waarden worden ondersteund. |
| condition | Yes | new / refurbished / used | |
| price | Yes | getal + ISO 4217-code | bijv. 29.99 USD. Moet overeenkomen met de landingspagina. |
| link | Yes | URL | Begint met http:// of https:// en verwijst naar dat product. |
| image_link | Yes | URL, JPEG of PNG | Minimaal 500x500 px, maximaal 8 MB. |
| brand | Conditional | string, max. 100 tekens | Verplicht tenzij gtin of mpn is opgegeven. |
| gtin | Conditional | 8 tot 14 cijfers, zonder streepjes of spaties | Verplicht tenzij brand of mpn is opgegeven. |
| mpn | Conditional | string | Verplicht tenzij brand of gtin is opgegeven. |
| item_group_id | Optional | string | Groepeert maat- en kleurvarianten tot één item. |
| additional_image_link | Optional | URL's, maximaal 20 | Extra invalshoeken naast de hoofdafbeelding. |
| fb_product_category | Optional | categorie | Nodig voor onsite checkout; helpt bij de levering. |
| custom_label_0 to 4 | Optional | string | Hier schrijft Feedance score, 4T, Price War en Broken Size. |
Commerce Manager kan een feed-URL elk uur, elke dag of elke week ophalen. Geplande ophaalacties kunnen niet vaker dan één keer per uur draaien; voor snellere wijzigingen heb je de Catalog Batch API of Direct Upload API van Meta nodig.
| Error | Likely cause | Fix |
|---|---|---|
| Verplicht veld ontbreekt | Een verplicht attribuut zoals price, image_link of availability is bij sommige items leeg. | Controleer elk verplicht veld bij elk item, niet alleen bij een steekproef. |
| Productidentificatie ontbreekt | Geen van brand, gtin of mpn is aanwezig. | Voeg er bij elk product minimaal één van de drie toe. |
| Dubbel item | Dezelfde id komt voor in meer dan één gegevensfeed van de catalogus. | Houd elke id uniek over alle databronnen heen. |
| Item afgekeurd | Ontbrekende informatie of een beleidsprobleem. | Bekijk het tabblad Problemen, corrigeer de feed en vraag een beoordeling aan. |
| Verouderde productinformatie | De feed loopt achter op de live landingspagina. | Haal de feed vaker op, zodat wijzigingen vóór de volgende crawl binnen zijn. |
| Landingspagina onbereikbaar | De link geeft een fout, leidt door naar een andere pagina of is geblokkeerd voor crawlen. | Zorg dat elke link dat product opent en crawlbaar is. |

“Met Feedance konden we belangrijke aankooptriggers, zoals prijs- en campagnegegevens, direct op onze visuals zetten. Zo maakten we creatives in onze eigen huisstijl die opvallen in de feed en echt aansloten bij onze klanten.”
Feedformaten, matching en timing van updates.
Grotendeels wel. Meta accepteert CSV, TSV, RSS XML en ATOM XML, dezelfde formaatfamilies die de meeste Google Merchant-feeds gebruiken, plus een link naar Google Sheets.
Meta kan de activiteit van de bezoeker dan niet aan dat catalogusitem koppelen, dus retargeting voor dat product wordt niet geactiveerd. Houd de id stabiel tussen updates en identiek aan de content_id die je Pixel of Conversions API verstuurt.
Nee. Voor e-commerce-items heeft Meta naast de verplichte velden minimaal één van brand, gtin of mpn nodig. Eén van de drie is genoeg.
Commerce Manager kan een feed-URL elk uur, elke dag of elke week ophalen, en geplande ophaalacties kunnen niet vaker dan één keer per uur draaien. Voor snellere wijzigingen heb je de Catalog Batch API of Direct Upload API van Meta nodig.
De feed loopt achter op de live landingspagina. Haal de feed vaker op, zodat prijswijzigingen vóór de volgende crawl binnen zijn, en laat prijs en beschikbaarheid bij elke update overeenkomen met de landingspagina.
Ja. De Commerce Manager-catalogus bedient catalogusadvertenties op zowel Facebook als Instagram, dus één Feedance-feed dekt beide.
image_link moet een JPEG of PNG zijn van minimaal 500x500 px en maximaal 8 MB. Met additional_image_link kun je tot 20 extra invalshoeken toevoegen.
Nee. Feedance bouwt de catalogusfeed en schrijft de labels erin. Biedingen, budgetten en productsets blijven in je Meta-account.
Koppel je productfeed en GA4. We laten je Product Score, 4T, Price War en Broken Size zien op je eigen catalogus.