How an AI assistant picks between two similar products
Melvin Adu, AI Engineer · September 19, 2026

Two trail running shoes. Same price, same category, both in stock, both with decent photography. A shopper asks an assistant which one handles mud, and it names one of them. Often the same one, over and over.
The choice isn't random, and it isn't only about who ranks first in Google. It helps to look at how the answer gets made.
An answer is built in two stages
The research that named this field describes a generative engine as a system that retrieves documents from an index, then uses a language model to write an answer grounded in what it retrieved (Aggarwal et al., 2024).
Two stages, two different jobs for your catalog:
- Be retrievable. If your page or feed isn't in the index the assistant searches, nothing else matters.
- Be easy to justify. The model has to write a sentence explaining why this product fits. It will pick the product it can say something specific about.
Most stores lose at stage two, and never find out, because nothing in their analytics shows an answer they weren't in.
Stage one: retrievable
Being retrievable is mostly mechanical:
- The page is crawlable, fast enough, and not blocked.
- The product is in the indexes those assistants use. ChatGPT's shopping results lean on merchant feeds and its own crawl; AI Overviews follow Google's index.
- Prices and stock are current. A feed that says in stock when the page says sold out is a feed that gets trusted less.
None of this is glamorous, and all of it is table stakes.
Stage two: the product that's easiest to justify
Here's the part worth internalising. The assistant is writing a recommendation it has to support. Given two products, it favours the one whose data lets it finish the sentence.
A listing that supports “handles mud” says something like: lugged outsole, 5mm lugs, water-resistant upper, recommended for wet and soft ground. A listing that doesn't says: engineered for performance, all-terrain ready, built to last.
The second one isn't worse marketing. It's just unusable as evidence.
The same goes for the qualifiers shoppers attach to questions: fit (“true to size”), who it's for (“wide feet”, “beginners”), and constraints (“under $150”, “vegan”, “machine washable”). Each one either exists in your data or it doesn't.
What breaks a tie
When two listings are equally specific, a few things tend to decide it:
- Reviews. Ratings and review text are both a trust signal and a source of phrasing an assistant can quote. Google lists
aggregateRatingandreviewamong its recommended properties. - Identifiers.
gtinandmpnlet an engine recognise that your listing and three other sites describe the same physical product, and pool what it knows. - Consistency. If your site, your feed, and the marketplaces you sell on disagree about the title, the weight, or the material, the disagreement itself is a reason to pick someone else.
- Recency. Some engines discount stale pages. A listing that hasn't changed in three years competes against one updated last month.
What you can't control
Plenty. Brand familiarity, the model's own quirks, how a given assistant weighs price, and the fact that the same question asked twice can return different products. Anyone selling you certainty about this is selling something else.
What's controllable is whether the assistant has the material to name you. That's a data problem, and it's the one we work on.
A test you can run this week
- Write down five questions a good customer would ask an assistant before buying from you. Include the qualifiers: budget, use case, fit.
- Ask each one in ChatGPT and Perplexity. Record which products get named, and the reason the assistant gives.
- For every reason given, check whether your own listing could have supported that sentence. Usually it's one missing attribute, repeated across the catalog.
The reasons are the useful part. They tell you exactly which field to fix first.