Kort antwoord: je krijgt je producten niet in ChatGPT door ergens een feed te uploaden. Die route bestaat wel, maar hij staat niet open voor de gemiddelde Nederlandse webshop. OpenAI's eigen aanleverspecificatie beschrijft een SFTP-push met parquet-bestanden en minimaal één volledige catalogussnapshot per dag, en bovenaan diezelfde pagina staat dat dit op dit moment alleen beschikbaar is voor goedgekeurde partners.
De vraag "hoe laat ik ChatGPT mijn webshop aanbevelen" is dus niet te beantwoorden met een dienst, een abonnement of een trucje. De voordeur zit dicht en de sleutel ligt bij een partij waar jij geen invloed op hebt.
Wat wél in je macht ligt, is de achterdeur. Een AI-agent die namens een koper op pad gaat, hoeft niet te wachten op een feed. Hij klopt aan bij je winkel zelf en stelt daar zijn vragen. Wij hebben dat aankloppen nagebootst op 65 Nederlandse webshopdomeinen, gemeten op 9 en 10 augustus 2026. Negen shops gaven een volledig antwoord, en dit artikel gaat over dat antwoord: welke velden de agent krijgt, in welke taal, en welke onzichtbare fouten daar al in zitten.
Kan ChatGPT je webshop aanbevelen? De voordeur is een SFTP-server
De aanleverspecificatie van OpenAI leest niet als een marketingkanaal maar als een datakoppeling. Je duwt je catalogus via SFTP naar hun servers, bij voorkeur als parquet-bestand met zstd-compressie, anders als gecomprimeerde jsonl, csv of tsv. Minimaal één keer per dag stuur je een volledige export onder dezelfde bestandsnaam, die je elke keer overschrijft. Aanbiedingen kunnen niet via een bestand mee; die lopen alleen via de API.
Dat is een cronjob, een bestandsformaat dat de meeste webshopplatformen niet uit zichzelf uitspugen, en een monitoringlaag voor als de push een nacht overslaat. Het is bouwwerk, geen contentwerk. En bovenop dat bouwwerk komt een toelating die je niet zelf afdwingt.
Bij Microsoft loopt het precies andersom. In hun aankondiging van januari 2026 staat dat Microsoft openbare standaarden zoals het Agentic Commerce Protocol overneemt en dat Shopify-verkopers automatisch worden aangemeld na een afmeldvenster. Geen aanmelding dus, maar een afmelding. Wel met een belangrijke beperking die je erbij moet lezen: die uitrol beschrijft Microsoft voor de Amerikaanse markt. Voor een Nederlandse verkoper is dit vooralsnog een richtingaanwijzer, geen knop die vanochtend in je beheerscherm is omgegaan.
De praktische conclusie voor een Nederlandse webshop is oncomfortabel maar helder. Aan de kant van de grote platformen valt weinig te sturen: het ene systeem laat je niet binnen, het andere kan je er straks ongevraagd in zetten. Alles wat je daartussen hoort over "je product in ChatGPT zetten" is op dit moment geen dienst maar een belofte over andermans toelatingsbeleid.
Over de Google-kant van dit verhaal, waar wel een zelfbedieningspaneel bestaat, schreven we apart in wat de overlap tussen je Google Shopping-feed en de ChatGPT-carrousel betekent. Dit stuk gaat over de laag die daar los van staat.
Wat een agent wél doet: hij belt je winkel rechtstreeks op
Shopify heeft in elke winkel een adres ingebouwd waar software vragen mag stellen: /api/mcp. Geen inloggegevens nodig, geen koppeling, geen app. Het is een openbaar adres dat antwoordt in een vast formaat, beschreven in Shopify's eigen documentatie.
Wij hebben 65 Nederlandse webshopdomeinen op dat adres bevraagd. Daarvan vielen er 21 af omdat het domein niet meer leefde. Van de 44 overgebleven shops gaven er negen een volledige functielijst terug. De rest gaf een foutmelding, een omleiding of een blokkade van de firewall. Negen van de 44 is een ondergrens, want zeven domeinen werden door hun beveiligingslaag tegengehouden voordat het adres überhaupt aan de beurt was.
Belangrijker dan dat aantal is wat er in die functielijst staat. Bij een Nederlandse koffiebrander kwam er dit uit:
| Functie | Wat een agent ermee kan |
|---|---|
search_catalog |
Zoeken in je assortiment op een vraag in gewone taal |
get_product_details |
De volledige gegevens van één product ophalen |
search_shop_policies_and_faqs |
Je klantenservice- en over-ons-pagina's bevragen |
get_cart |
De inhoud van een winkelwagen uitlezen |
update_cart |
Producten in een winkelwagen zetten |
Die laatste twee zijn het opvallendst. Een agent leest niet alleen mee, hij kan zelfstandig een winkelwagen vullen. De stap van "een AI die je productpagina samenvat" naar "een AI die de bestelling voorbereidt" is in je eigen winkel al gezet, of je dat nu ingericht hebt of niet.
Je kunt dit zelf controleren zonder ontwikkelaar. Eén opdracht in de terminal, met je eigen domein en een zoekterm uit je eigen assortiment:
curl -s -X POST "https://jouwdomein.nl/api/mcp" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_catalog",
"arguments":{"catalog":{"query":"koffie","context":{"address_country":"NL",
"language":"nl","currency":"EUR"},"pagination":{"limit":2}}}}}'
Let op één ding dat in de meeste uitleg ontbreekt: de argumenten zitten genest onder catalog. Een platte opzet met alleen een zoekterm geeft een foutmelding, waarna mensen concluderen dat het adres niet bestaat.
En let op de houdbaarheid. Elk antwoord dat wij terugkregen droeg een melding dat dit adres na 31 augustus 2026 niet meer bereikbaar is en dat de nieuwe plek /api/ucp/mcp heet, met een migratiepagina in Shopify's documentatie. Wie dit test, test dus vanaf september op twee adressen.
Wat krijgt een AI-agent precies terug van je product?
Het antwoordschema is niet van jou, het is van Shopify. Elke winkel geeft dezelfde tien velden terug en je kunt er geen elfde aan toevoegen. Dat verklaart waarom dit bij alle negen shops identiek was: er valt niets aan te configureren. Wat je wel bepaalt, is wat er in die tien velden staat.
| Veld | Inhoud |
|---|---|
id |
Interne productcode van het platform |
title |
De producttitel zoals jij hem hebt geschreven |
description |
De productomschrijving |
url |
Link naar de productpagina |
price_range |
Laagste en hoogste prijs |
variants |
Varianten met eigen prijs en beschikbaarheid |
options |
Keuzeopties zoals maat of gewicht |
media |
Beeld en video |
categories |
Categorie-indeling |
tags |
Losse labels |
Wat er niet staat: een merkveld. Geen brand, geen vendor, geen manufacturer. Over 90 producten verspreid over negen shops kwam dat veld geen enkele keer voor. Bij de hermeting stonden de tien velden er nog steeds, zonder merk.
Je merknaam bereikt de agent overigens wel: hij staat meestal in het webadres en vaak ergens in de omschrijving. Maar dat is losse tekst die geïnterpreteerd moet worden, geen veld dat gekoppeld kan worden. Het verschil merk je zodra er vergeleken wordt. Bij een bekend Nederlands chocolademerk krijgt de agent een product terug met een titel in de vorm van "dark chocolate" plus een cacaopercentage, en het label "small bars". Leg daar twee andere repen naast met vrijwel dezelfde omschrijving, en er is niets om op te sorteren behalve prijs.
De regel die daaruit volgt is saai en effectief: zet je merknaam in de producttitel, vooraan. "Merk, dan producttype, dan de eigenschap die het onderscheidt" is geen achterhaalde marktplaatsformule maar de enige plek waar je merknaam als gegeven meegaat in plaats van als tekst die iemand moet uitleggen. Dat is precies het werk dat wij in product listing design doen, alleen nu met een tweede lezer erbij. Welke signalen daarna meewegen bij de keuze staat in hoe ChatGPT je product aanbeveelt.
De basis staat bij de meeste shops trouwens gewoon. Bij acht van de negen was het omschrijvingsveld gevuld, van 186 tot 769 tekens, en beeld en prijsbereik waren overal compleet. De onderkant van dat bereik is één alinea. Dat is dan ook alles wat de agent over dat product te lezen krijgt.
Dezelfde vraag in het Engels levert drie keer zoveel op
Dit is de meting die ons het meest verraste. Dezelfde drie vragen, aan negen Nederlandse merken, in het Nederlands en in het Engels. Over 27 gepaarde vragen kwamen er in het Nederlands negen antwoorden terug en in het Engels 27.
De scherpste is de vraag naar de oprichter. "Wie heeft dit bedrijf opgericht?" gaf bij nul van de negen shops een antwoord. "Who founded this company?" gaf er negen van de negen. Bij de koffiebrander uit de vorige sectie hebben we dat nagedaan: de Nederlandse vraag gaf een lege lijst terug, de Engelse gaf een compleet profiel met oprichter, oprichtingsjaar en duurzaamheidsinitiatieven.
Hetzelfde gebeurt in de catalogus. Over tien gepaarde koopvragen scoorde het Engels in alle tien de gevallen gelijk of beter, met 41 tegen 21 gevonden producten. "Cadeau voor iemand die veel koffie drinkt" gaf nul resultaten; "gift for someone who drinks a lot of coffee" gaf er vijf. Bij een Nederlands modemerk: "nette kleding voor op kantoor" gaf nul, "smart clothing for the office" gaf er vijf.
De voor de hand liggende verklaring is onderzocht en afgevallen. Het ligt niet aan de taalinstelling die je meestuurt. Dezelfde Nederlandse vraag gaf nul resultaten met de taal op Nederlands én met de taal op Engels, terwijl de Engelse vraag in beide gevallen resultaten gaf.
Waarom het dan wel misgaat, kunnen wij niet vaststellen; Shopify documenteert deze zoeklaag niet. Wat overblijft na die controle is de taal van de vraag zelf, en daar valt iets aan te doen. Je hoeft je webshop hier niet voor te vertalen: je klanten blijven Nederlands lezen en je etalage blijft Nederlands. Maar de laag die de agent bevraagt, je over-ons-tekst, je klantenservicepagina's en je productomschrijvingen, verdraagt een Engelstalige versie. Dat is geen exportstrategie maar een agentlaag, ook voor een puur Nederlandse doelgroep. Het is dezelfde verschuiving die we beschreven in agentic search: wat het betekent voor je webshop-verkeer, maar dan één niveau dieper: niet je vindbaarheid, je verstaanbaarheid.
Shopify schrijft je merkverhaal zelf, en doet dat in het Engels
Op de vraag "wat is het verhaal achter dit merk" kwam bij alle 27 pogingen een antwoord. Alleen kwam dat antwoord niet van de merken zelf. Het platform stelt zelf een profiel samen met vaste kopjes: omschrijving, over ons, doelgroep, categorieën en populaire zoektermen.
Bij de koffiebrander las dat profiel als een compleet bedrijfsprofiel in het Engels: gespecialiseerde brander, oprichtingsjaar, eigen branderij, keten van inkoop tot verpakking, certificering, opleidingsprogramma. Dat is een nette samenvatting. Alleen heeft niemand bij dat bedrijf hem geschreven of goedgekeurd.
En daar zit het risico. Bij een Nederlands lingeriemerk noemde datzelfde profiel een naam onder het kopje "Owner/Founder" die in werkelijkheid investeerder is en niet oprichter. De samenvatting is niet verzonnen, hij is afgeleid uit openbare pagina's. Maar een afgeleide van de verkeerde pagina is wel wat de agent aan een koper voorleest, terwijl jij het profiel zelf niet kunt redigeren.
Je stuurt dit dus indirect aan, via de bronnen waar de samenvatting uit wordt getrokken: je over-ons-pagina, je klantenservicepagina's en je voorwaarden. Dat maakt merkcopy voor het eerst meetbaar op een manier die verder gaat dan gevoel. Je schrijft de tekst, je stelt de vraag opnieuw, en je leest terug wat de machine ervan maakte. Voor en na, in dezelfde week.
Merkpositionering was jarenlang het onderdeel waarvan iedereen aannam dat het werkte maar niemand het kon aantonen. Nu is er een lezer die je kunt ondervragen.
Nul euro en niet leverbaar: wat een lege prijs met je catalogus doet
Het scherpste voorbeeld van deze meting is ook het ongemakkelijkste. We noemen het merk niet, want dit is geen afrekening en de fout is met één opdracht op je eigen domein te reproduceren. Bij een van de bekendste Nederlandse chocolademerken staan alle producten die de agent terugkrijgt op nul euro, en alle varianten op niet leverbaar.
Drie dagen achter elkaar gecontroleerd, met hetzelfde resultaat. Het is geen storing van vijf minuten. Getest met drie verschillende marktinstellingen, Nederland in het Nederlands, de Verenigde Staten in het Engels en Nederland in het Engels: elke keer hetzelfde antwoord, en de valuta blijft altijd euro, ongeacht wat je vraagt.
Wat een agent daar vervolgens mee doet, hebben wij niet gemeten, en dat gaan we hier dus ook niet beweren. Wat wel vaststaat: elk mechanisme dat op prijs of beschikbaarheid filtert of sorteert, gooit dit merk eruit voordat een koper het gezien heeft. Nul euro is geen scherpe prijs. Het is een veld dat niet gevuld is.
Het is geen algemeen platformprobleem. Bij de andere acht shops stond geen van de 80 opgevraagde producten op nul. Wat wel breder speelt is de voorraadkant: over alle negen shops stonden 160 van de 457 varianten op niet leverbaar, met het merendeel bij een modemerk en een lingeriemerk. Of dat klopt, kunnen wij van buitenaf niet zien, en de eigenaar meestal ook niet, want in de etalage staat het product er nog gewoon. Dat is precies de controle: leg de variantstatus uit het agentantwoord naast je voorraadsysteem.
Er zat nog een venijnig detail in. Op de vraag naar het retourbeleid antwoordde het adres van dat chocolademerk met een terugroeptekst: niet consumeren, terugbrengen naar de winkel. Dat is wat een agent een koper voorleest als hij vraagt of hij het product mag terugsturen.
Voorraadhygiëne en prijssynchronisatie waren tot voor kort een intern probleem, hooguit zichtbaar in je eigen conversiecijfers. Nu bepalen ze of je merk überhaupt genoemd wordt. Dat maakt datakwaliteit een merkvraagstuk, en daarmee een onderwerp voor de mensen die de webshop bouwen én de mensen die het merk bewaken.
Staat je firewall de agent eigenlijk toe?
Er is een stille manier om dit hele verhaal irrelevant te maken: de agent tegenhouden voordat hij binnenkomt. En dat gebeurt vaker dan je denkt, meestal zonder dat iemand het besloten heeft.
Onderzoeksbureau Surver bekeek de robots.txt van 100 Nederlandse webshops en publiceerde de uitkomst via Emerce: 74 van de 89 shops met een leesbaar bestand noemt geen enkele AI-crawler, niet om ze toe te laten en niet om ze te blokkeren. De overige 11 zaten achter een botmuur. Van de 15 shops die wel iets vermelden, draaide zeven een identiek bestand dat als fabrieksinstelling bij de hostingomgeving hoort en vier een preset uit een beveiligingsplug-in. Er is dus in de meeste gevallen geen beleid, er is een standaardwaarde.
Tegelijk is robots.txt hier het verkeerde instrument geworden. OpenAI documenteert bij de bezoeker die namens een gebruiker langskomt letterlijk dat robots.txt-regels mogelijk niet van toepassing zijn omdat de actie door een gebruiker is gestart, en publiceert per bot een lijst met IP-reeksen. Toen wij die begin augustus ophaalden telde de lijst voor die gebruikersgestuurde bezoeker 258 reeksen, tegen 35 voor de klassieke zoekbot. Beide lijsten veranderen; de verhouding zegt genoeg over waar het verkeer vandaan komt.
Waar het dan wel misgaat, is een laag hoger: in je firewall of je beveiligingsdienst. Daar wordt onbekend verkeer geblokkeerd op gedrag, niet op naam. Een agent die namens een koper drie productpagina's achter elkaar ophaalt, ziet er van dichtbij uit als een scraper. Als die blokkade valt, zie je dat in geen enkele analysetool terug. Je verliest geen bezoekers; je verliest de aanbeveling, en dat laat geen spoor achter.
Laat je hier ook geen kunstje aansmeren. Google zegt zelf dat gestructureerde data geen vereiste is voor generatieve zoekresultaten. Wie je een schema-truc verkoopt als toegangskaartje tot AI-antwoorden, verkoopt lucht. Structuur helpt bij het koppelen van je merk aan de juiste gegevens, meer niet.
Wat je deze maand doet
Geen strategie, geen traject. Zes controles die je in een ochtend kunt doen, met een uitkomst die je aan je team kunt laten zien.
| Controle | Waar | Waar je op let |
|---|---|---|
| Antwoordt je winkel? | jouwdomein.nl/api/mcp |
Krijg je een functielijst of een foutmelding |
| Staat je merk in de titel? | Het antwoord van search_catalog |
Merknaam vooraan, niet alleen in het webadres |
| Klopt je prijs? | Veld price_range |
Een echt bedrag, geen nul |
| Klopt je voorraad? | Veld availability per variant |
Uitverkochte varianten die er nog in staan |
| Wat zegt je merkprofiel? | Vraag naar het verhaal achter het merk | Klopt de oprichter, klopt de omschrijving |
| Antwoordt hij in het Nederlands? | Dezelfde vraag in beide talen | Een leeg antwoord in het Nederlands is normaal, en oplosbaar |
De volgorde is niet willekeurig. Met de eerste twee bepaal je of je überhaupt herkenbaar bent. De derde en vierde gaan over of je koopbaar bent. Wat er over je verteld wordt, hangt af van de laatste twee.
Wat je daarna doet, is gewoon werk dat je al kent. Producttitels herschrijven zodat merk en type vooraan staan. Je productdata opschonen zodat prijzen en voorraad kloppen op de plek waar het platform ze uitleest, niet alleen op de pagina. Je over-ons-tekst en je klantenservicepagina's aanvullen met een Engelstalige versie. En je beveiligingsinstellingen nalopen met iemand die het verschil ziet tussen een scraper en een koopagent.
Geen van deze stappen vraagt een nieuw systeem. Dat is precies waarom ze zelden gebeuren: er is geen leverancier die je ervoor factureert en geen dashboard dat rood kleurt. Een gestructureerde aanpak van je webshop-SEO hoort deze controle inmiddels gewoon te bevatten.
Hoe wij dit bij Oase aanpakken
Wij zijn hier ingerold vanuit de listingkant, niet vanuit de techniek. Zes jaar productpagina's bouwen voor merken op marketplaces en in eigen webshops, en dan een tweede lezer die dezelfde pagina compleet anders leest dan een mens.
Onze audit begint daarom met dat ene commando in plaats van met een rapport. De klant ziet het antwoord van zijn eigen winkel op het scherm voordat wij één advies hebben gegeven. Bij het ene merk is dat een keurige titel met een prijs die klopt. Bij het andere is het een generieke productnaam zonder merk, of een catalogus die op nul staat. Dat scheelt de helft van het gesprek.
Daarna is het gewoon ons vak. Titels en omschrijvingen die de merknaam dragen, zoals we dat bij screenmate en maicura deden voor de menselijke koper, alleen nu ook getoetst op wat de machine ervan overhoudt. Merkcopy die klopt in beide talen. Productdata die op orde is voordat er een euro naar advertenties gaat.
Wat we niet doen, is beloven dat je in ChatGPT komt. Dat kan niemand, en wie het wel belooft heeft de aanleverspecificatie niet gelezen. Wat we wel doen is zorgen dat de deur die openstaat ook daadwerkelijk iets fatsoenlijks laat zien. De rest is niet aan ons, en niet aan jou.
Wil je zien wat een agent van jouw catalogus maakt? Plan een gesprek en we draaien het commando samen, op jouw domein, terwijl je meekijkt.
