Skip to content

Knowledge Base

Google Shopping Feed: 83% Overlap With ChatGPT

Louie Valkhof
Louie Valkhof
17 min read
Isometric view of a product feed as a conveyor belt delivering three product cards to an AI answer window

In March 2026 an analysis of roughly five thousand ChatGPT carousels appeared. Together good for more than forty thousand products. Those were laid next to the organic shopping results of Google and Bing for the same buying questions.

The outcome: more than 83% of the carousel products turned up as a strong match in the top 40 of Google's organic shopping results. For Bing that sat at 11%, and the number of products findable only at Bing dropped away to almost nothing.

What 83% overlap does and does not prove

This is an overlap measurement, not a look inside the engine. Nobody on the outside can demonstrate that ChatGPT sends a query to Google Shopping. All that has been established is that the products in the carousel and the products in Google's shopping index are almost the same set.

That distinction is not academic, because it decides what you do with it. If it were a proven link, your Google position would be the button. Now that it is co-occurrence, your Google position is an indicator: both systems most likely select on largely the same product data, and that is the data you supply.

In practice it comes down to the same thing. If almost every product in those carousels also sits in the shopping index, absence there is a strong predictor of absence in the answer. It just is not a guarantee the other way round. Ranking at the top of Google Shopping does not buy you a spot in the carousel.

What it does do is take the mystique out of the subject. Presence in Google Shopping is measurable, traceable and fixable by yourself. You do not need a subscription for it, you need access to your own Merchant Center.

Your feed is the shortlist, your website is the case

Most webshops treat their product feed as an export. Something the developer set up once, that has been running since, and that only gets attention when an error notice comes in.

That worked as long as the feed only fed ads. Now it also feeds the layer where products get preselected, and then it is no longer a technical side issue.

The division of roles is fairly sharp. Your feed decides whether you are on the shortlist. Your product page decides whether you survive that choice once somebody clicks through and puts three options side by side. Two layers, two kinds of work, and they fail in different ways.

A feed fails silently. A disapproved product disappears without anything changing on your website. You sell less and you do not see why. A product page fails visibly: you get traffic, they do not buy, and you can see in your numbers where they drop off.

That silence is the problem. At the brands whose feed we open, part of the catalogue has as a rule been sitting disapproved for months over something small. A missing GTIN. A price that no longer matches the page because a promotion went live on the site and not in the feed. An image link that has been dead since the migration to a new image server. None of those three throws a notice anywhere somebody looks.

Which signals an AI then weighs on your page itself is in how ChatGPT recommends your product. This piece is about the layer before that.

The fields Google asks for before you take part

Free product listings are not a favour and not a secret. Google publishes exactly what has to be in your product data.

For every product Google asks for id, title, link, image link, price, description, availability and condition. On top of that brand and GTIN or MPN for identification, and for apparel colour, size, age group and gender. Shipping costs sit in your settings or travel along as an attribute, and your return policy belongs on your site.

There is also a sentence in there that most brands skip: your products are not guaranteed to show, because Google relies on the data you supply to match your product with what customers are searching for.

That is not a disclaimer. That is the rule of the game. The matching happens on your data, not on your brand story, not on your house style, not on how good your webshop looks.

The difference between brands that do this well and brands that do not rarely sits in those eight basic fields. Everyone fills those. It sits in the brand field filled with the webshop name instead of the product brand. In the description copied from the supplier and therefore identical to that of forty other sellers. In the availability that stays on in stock while the item ran out two weeks ago.

None of those three produces an error notice. They only cost you the match.

The layer nobody fills: taxonomy, variants and identification

Underneath those basic fields sits a second layer that decides which competition you are in. Almost every feed we open goes wrong there, and that is also where the explanation for the title figure later in this piece sits.

Taxonomy. The field google_product_category places your product in Google's own product tree. If you do not fill it, Google guesses for itself, and that guessing happens on your title and description. Put yourself in a branch that is too broad and you compete in a category where you have no business. Alongside it there is product_type, your own classification, which you may fill freely and which you can use to group your range the way you sell it. The first field decides who you get compared with. The second decides how you can steer yourself.

Filling in that category is less work than it sounds. Google publishes the full product tree as a downloadable file. In it you look for the deepest level that still describes your product exactly, not the level above it because that feels safer. Deeper is almost always better: the more specific the branch, the fewer products you get compared with and the sharper the match. For a range of a few hundred items you do that in an afternoon with one lookup per product group, not per SKU.

Variants. With item_group_id you tie all variants of the same product together: the same jumper in five sizes, the same jar in three flavours. Leave it empty and there are five separate products in the index that look alike, eat each other's visibility and each have to be matched on their own. Fill it in and there is one product with five versions.

Identification. GTIN is the key systems use to recognise that your product is the same product as somebody else's. Sell private label and you often do not have one. That is what identifier_exists is for, which you set to no so Google knows there is no barcode rather than that you forgot one. It does cost you something: without a shared key the matching has to run entirely on brand, title and description. For a private label brand the text in your feed is therefore not marketing but your proof of identity.

Price parity. The price in your feed has to be equal to the price on your product page, including what the customer ends up paying. A promotion that is live in your webshop and not in your feed is the most common silent disapproval we come across, and it hits exactly the products you most want to sell at that moment.

These four fields are in every feed export and stay empty or wrong in most default setups. They cost an afternoon. They decide which pond you swim in.

45.8% exact title match: your product title is not a slogan

The figure that says the most about how these systems work is not the 83%. It is this: 45.8% of the carousel products had an exact title match with a product in the matching Google results.

Almost half, literally the same. In a channel where products have to be tied to each other without a shared barcode, the title is the strongest key there is. That also explains why variant structure matters: five separate titles that are identical apart from one word are exactly what makes that key unreliable.

The titles that do well have the same build. Brand, product type, the property that sets this item apart from the rest of your range. Size, flavour, colour, volume, count. In that order, without decoration.

The bad ones are recognisable by three things. They open with a claim instead of a brand. They contain exclamation marks, words in capitals or shipping promises. Or they are so short that twenty products fit under them.

A title that matches well is not the title a brand builder gets excited about. It is functional, boring and repeats itself across your whole catalogue. That feels like handing in brand, and it is not. It is choosing where your brand works. In the carousel your image does the brand work and your title does the match work. On your product page, in your packaging and in your content across channels you have all the room for tone. An SKU title is the wrong place to fight that fight.

The top 20 is the room you have, not the top 40

The measurement looks at the top 40 of the organic shopping results. That sounds like a lot of room. It is not.

Within those strong matches, 60% sat in the top 10 of the Google shopping results and almost 84% in the top 20. The tail between 20 and 40 still delivers something, but most of it happens at the top.

That corrects a story that goes around a lot: that AI search reshuffles the cards and gives small brands an equal chance. Half true. You do not have to be a big domain to make a carousel, but you do have to sit at the top of those shopping results for the term that belongs to it. Sit at position 60 and the chance is small.

Where the room does sit is in specificity. A generalist ranks high on broad terms. A brand with a sharply defined product wins on the question that fits it exactly. That is the whole strategy: not competing on "best protein powder", but winning on "protein powder without sweetener for lactose intolerance".

You make that choice in your range and your positioning. Your feed only carries it out. The content side of that is in GEO for webshops.

ChatGPT does not search on the question you hear

There is a layer between your customer's question and the query the system fires off. In the same analysis, 99.70% of the shopping queries differed from the user's original prompt.

That is called query fan-out. Somebody asks for a gift for a colleague who has just taken up running. The system translates that into a series of concrete product searches: running socks, sports watch, water bottle, per price bracket and per situation.

The consequence for your feed is direct. The terms you get found on are not the terms your customer searches on. They are the terms a machine broke that question down into. Properties that are obvious to you therefore have to sit explicitly in your data.

At a supplements brand the description neatly said what the product was good for. Nowhere did it say whether it was vegan, whether it was sugar free, or how many doses were in a jar. To the owner that was obvious: it is on the packaging. To a fan-out searching for "vegan supplement without sugar" that product did not exist. The packaging was not the problem. The feed left out three facts that were printed on it.

The exercise that goes with this is boring and it works. Take your twenty best selling products. Per product write down ten questions this product is the answer to. Check whether the answer to each of them sits literally as text in your feed or on your page, and not only in an image or in the owner's head.

The same discipline, three channels, different fields

Almost no Dutch brand sells only through its own webshop. Part of it sits on bol, part on Amazon, and that means the same products live in three different data structures.

The reflex is to treat those three as separate jobs. Somebody does the Google feed, somebody else fills the bol dashboard, and the Amazon listings were supplied by an agency at some point. Three times the same products, three times a different title, three times a different set of images.

That is exactly the pattern you see back in an AI answer. A model that ties products together on brand, title and properties gets three different answers from you to the question what this product is. Every deviation makes the match weaker.

The channels do ask for different fields. Google works with google_product_category and item_group_id. Bol works with its own category tree, EAN as a hard key and attributes per product group. Amazon works with browse nodes, a parent-child structure and required attributes that differ per category. You cannot copy those one to one.

What you can copy is the source. One place where it says per product what the brand is, what the product type is, which three properties set it apart, which images there are and in what order. From that source you feed all three channels, with a translation step per channel. That is work at the front and it saves you working out what sits where every single time.

For marketplaces there are separate image requirements on top, those are in Amazon's product photo requirements. The listing side of the same story we worked out in optimising your bol.com listing, and how we tackle that in practice is at product listing design.

There is also a brand argument in there that stands apart from findability. A customer who finds you on bol, visits your webshop and then sees your product back in an AI answer has to see the same brand three times. At most brands that customer sees three different names for the same item.

What Google says itself, and where it stays quiet

Google publishes something shorter and more sober on this subject than most of the offers going around right now.

There are no extra requirements to appear in AI Overviews or AI Mode and no special optimisations needed. And more explicitly: you do not have to create new machine-readable files, AI text files or markup, and there is no special schema.org structure you need to add.

If you get sold a file or a tag that puts you at the front of the AI queue, you are being sold something that does not exist. What Google does mention is keeping your Merchant Center information up to date.

More important is where Google stays quiet. There is nothing about ChatGPT, because that is a different company. Nothing about how heavily product data weighs against your page. Nothing about how free product listings get ranked against each other. Those three things nobody outside Google knows, and everybody who claims otherwise is guessing.

That is exactly why the overlap measurement is usable. With no documentation, a measurement from the outside is the only hard thing there is.

The image in position one

If your product shows up in a carousel, your customer sees an image first. Not your page, not your brand story, not your reviews. One image next to two competitors.

In OpenAI's product feed specification the first item in the media list is treated as the primary image. At Google the image link does the same work: there is one image that has to carry it.

At most webshops that order was never chosen. It is the order images once got uploaded in, or the order the supplier kept. The image your brand appears with in an AI answer is then decided by an export setting.

What has to be there is not complicated. The product recognisable, on white, filling the frame, without text or badges over it. Mood shots and use situations come after that, on your page, where they do the convincing work. In a channel where three products stand side by side, that one image is the only brand moment you get. That is why image order is a design choice for us and not a setting, and why every product photography project starts with the question which image has to carry this work.

How you measure whether it works

Most advice on this subject ends at a list. Without measurement you still know nothing in three months, so this is the routine we run.

Pick five buying questions the way a customer asks them. Not your keywords, real questions. "Which protein powder is suitable with lactose intolerance" is one, "best protein powder" is not.

Run those five through ChatGPT every week and note per question the three products and brands that come back. Then search Google Shopping for the product term closest to that question and note your own position. Two columns, one sheet, ten minutes a week.

After four weeks you have a baseline: you appear in none of the five, in one of the five, or you keep coming back. After that push through one change at a time. First the titles of your ten most important products, then the descriptions, then the image order. One change per two weeks, otherwise you do not know what did it.

This is deliberately manual. There are tools that automate it and they are worth their money once your catalogue is big enough. For the first months a sheet is better, because then you read for yourself what comes back. I build AI systems myself and precisely because of that I am sober about what these models do: they read what is there. The first time you see an answer with a competitor in it that has a worse product and a better feed, you understand the subject better than any report does.

What you do this month

Seven steps, in this order.

  1. Count your disapprovals in Merchant Center. Not the warnings, the disapprovals. Every disapproved product sits outside the shortlist.
  2. Check the brand field on your twenty best selling products. Does it say the product brand or the name of your webshop?
  3. Fill google_product_category and item_group_id. Taxonomy decides who you get compared with, variant linking stops you competing with yourself.
  4. Look up your top products in Google Shopping. Are you in the first twenty for the term you want to win on? If not, that is your real task.
  5. Rewrite ten product titles to brand, type, distinguishing property. No exclamation marks, no shipping promises.
  6. Replace the supplier description on your ten most important products. If forty sellers carry the same text, there is nothing to match on except price.
  7. Set up the measurement. Five questions, weekly, two columns. Without that sheet, steps 1 to 6 are a gamble.

No tool, no tag, no subscription. Want us to walk through that feed with you once, alongside your listings and your findability, then we will take a look. The gain usually sits in the first three steps, and that is exactly the work nobody enjoys and everybody puts off.

Louie Valkhof
Louie ValkhofFounder & Art Director, Oase Creative
Knowledge Base

Frequently asked questions

Need help with execution?

From strategy to production. Tell us about your project — no strings attached.

Response within 24 hours.
Start a project?