Your Product Data Is the New Storefront: Preparing Shopware Shops for AI Shopping Agents
Somebody asks ChatGPT for a 45-litre trekking backpack under €150 that weighs less than two kilos. ChatGPT answers with three products. None of them is yours, even though you sell exactly that backpack.
ChatGPT never saw your shop. It didn’t load the theme you paid an agency for, and it doesn’t care about the trust badges in the footer. It read a row of structured data about your product, compared it with rows from other shops, and yours lost. Maybe the weight was missing, or the feed price didn’t match the page. Maybe the description said “the perfect companion for every adventure” and nothing else.
That’s the whole argument of this post: for AI shopping surfaces, your product data is the storefront. If the data is thin, there is nothing else for the agent to look at.
Who reads what
There are four AI shopping surfaces worth caring about right now (Google AI Mode, ChatGPT, Perplexity and Microsoft Copilot), and they get their product data from fewer places than you’d think.
Google AI Mode draws on the Shopping Graph, which Google says holds more than 50 billion product listings, with over 2 billion refreshed every hour. For your shop, the way in is Merchant Center. If you already run Google Shopping, you’re feeding it.
Perplexity takes a feed in Google Shopping format through its merchant program, at least according to GoDataFeed and the setup guides I found. I couldn’t check Perplexity’s own merchant page, so treat the details as second-hand.
OpenAI has its own product feed spec. JSONL is the main format; CSV and TSV work as well. It also accepts Google-format files, with two catches: column names must be lowercase with underscores (no g: prefixes from the XML feed), and products that arrive that way get search but never checkout.
So in practice one well-maintained Google Shopping feed covers most of the ground. The OpenAI-native feed is the one extra piece.
The fields that matter
Required fields differ by platform, and the names differ even where the meaning is the same:
| What it is | Google / Perplexity | OpenAI |
|---|---|---|
| Product ID | id | item_id |
| Name | title | title (max. 150 chars) |
| Description | description | description (max. 5,000 chars) |
| Product page | link | url |
| Main image | image_link | image_url |
| Stock status | availability | availability |
| Price | price | price (e.g. 79.99 EUR) |
| Brand | brand | brand |
| Shop name | – | seller_name |
seller_name is the one people forget when they convert a Google feed. Brantial lists it next to mismatched variant URLs as the typical mistake. Which makes sense: the Google feed never needed it.
GTIN is optional on OpenAI’s side. Send it anyway. Google wants it wherever the manufacturer assigned one, and matching your offer to the same product in other shops is exactly what a price comparison needs. If a product really has no GTIN (own brand, handmade, bundles), send the mpn, or set identifier_exists to no for Google instead of leaving the field empty and hoping.
Required fields only get you listed, though. The OpenAI spec has a long list of optional fields, among them shipping, return_policy, color, size, weight, dimensions, sale_price, review_count and star_rating. An agent comparing backpacks by weight can’t pick yours if the weight isn’t in the feed. And it won’t read the PDF data sheet you linked in the description to find it.
What wins the comparison
None of the platforms publishes a ranking formula. What they do publish points in one direction.
OpenAI’s spec asks for a “factual product description” and tells you to keep price and availability current, updating the feed when a sale starts or ends. GoDataFeed puts it more bluntly: complete fields, a clean image and an accurate price earn the rich result, and thin data gets left out.
From that, plus a few years of fixing product data in Shopware shops, here is what I’d prioritise:
- Fill the attributes customers actually filter by. For a backpack that’s volume, weight and material. For a drill it’s voltage, torque and battery system. Those belong in properties, not buried in a description paragraph.
- Make sure feed and shop agree. A feed that says €129 and in stock, next to a product page that says €139 and two weeks’ delivery, is the fastest way to lose trust with both the agent and Google’s policy checks.
- Add shipping costs and the return policy. No source I found weights these explicitly, so this is my inference, but an agent asked for “the cheapest one delivered by Friday” can only answer with data it has.
- Rewrite descriptions that say nothing. “High-quality backpack for every adventure” gives a language model nothing to compare. “1.8 kg, 45 litres, 210D nylon, adjustable hip belt” does.
The last point is the one most shops underestimate. Marketing copy written to impress a human skimming a product page is close to useless to a model that has to decide whether your product fits a specific query. I wrote about why manufacturer copy and generic AI copy fail a while ago, and the argument is stronger now: an agent can’t be charmed, and it reads every word.
What Shopware gives you
There are two separate things here, and they’re easy to mix up.
Shopware 6.7.10.0, released on 6 May 2026, added an “Agentic Commerce” sales channel type to the core. It exports your catalogue as JSONL, ships with a preconfigured template for OpenAI’s Merchant Center as the first provider, and tracks AI referrals through the affiliate code infrastructure. Shopware marks it as experimental, so expect fields and formats to change between minor versions. If you’re on 6.7.10 or later, it’s already in your installation; the release notes have the setup details.
Separately, there’s the free Agentic Commerce (Beta) extension, open source on GitHub under MIT. It runs on 6.5.8 and up, generates both an OpenAI JSONL feed and a Google Shopping XML feed, and adds discovery files like /llms.txt and /.well-known/ai-catalog.json. It also implements the Universal Commerce Protocol, the standard Google and Shopify announced in January 2026, which lets agents work with cart, checkout and orders directly instead of only reading a catalogue. The Shopware docs map colour, size, gender and material to feed attributes and require a return policy URL.
One line in those docs matters a lot if you sell in Germany: registration for the ChatGPT marketplace is currently only open in the US.
Both are pipes. They move your product data to the platforms, and they move it exactly as it is. If 40% of your products have no weight, the feed has no weight for 40% of your products. Neither tool fixes the data.
A one-afternoon audit
Before you configure any of this, find out where you stand. In the Shopware admin, or with an export of your catalogue:
- Count products without a GTIN or manufacturer number. Count products without a brand. Those two numbers alone tell you a lot.
- Pick your ten best-selling categories and list the three properties a customer would filter by in each. Check how many products in that category have all three filled.
- Take twenty random products and compare price and availability in your Google feed with what the product page shows right now. One mismatch is a bug. Five is a process problem.
- Open your
robots.txtand check that it doesn’t block AI crawlers such asOAI-SearchBotorPerplexityBot. A DOSS study from August 2026 checked 500 large retailers and platforms and found about 10% blocking them, and 21% among apparel and lingerie shops. - Read twenty descriptions and ask, for each: could a stranger answer “does this fit my need?” from this text alone? If the answer is “no” for most of them, that’s your biggest project.
That last item is where most of the work sits for shops with a few thousand products. I compared the ways to tackle it (manual, freelancers, agencies, AI) in an earlier post. It’s also why I built mitKai, which generates descriptions from your actual product data and syncs them back into Shopware. Use whatever fits your catalogue. Just don’t let the descriptions stay empty because the feed export is the more exciting project.
Is any of this urgent?
Honestly, the buying part isn’t. In a DOSS survey of 1,000 US consumers published in August 2026, 77% said they’d let an AI agent handle some part of their shopping, with comparing products near the top of the list at 62%. Only 6% of all respondents would let one complete a purchase on its own. OpenAI apparently came to a similar conclusion: going by trade press reports, it dropped in-chat checkout in March 2026 and now sends buyers to the merchant’s own checkout. And if you sell from Germany, you can’t register for ChatGPT’s merchant program yet anyway.
The comparing part is a different story, and it already runs through Google AI Mode, which reads the same Merchant Center data you send today.
And the work pays off without any agent involved. Complete attributes make your Google Shopping ads match better. They make your filters work. They make your on-site search find things. Marketplaces reject fewer listings. Descriptions that answer real questions convert better on your own product pages, which is still where most of your customers buy.
If you only do one thing this quarter, run the audit above and fix the ten categories that make you the most money. When the platforms open up in Europe, your feed will be ready the day you switch the sales channel on.