How AI assistants choose which products to recommend
The documented steps from a shopping question to a named brand, what October 2026 source data shows for two engines at retrieval, and what it cannot explain.
Ask three assistants for the best carry-on suitcase and the short answers can name different brands. Vendors do not publish how much each input weighs. What is public is the outline of the pipeline, and what a researcher can see is the sources an assistant reports. This post lays out both, stage by stage, and says plainly where the evidence stops.
What happens between a shopping question and a named brand?
Putting the vendors' public documentation together gives roughly five stages for a search-enabled assistant. The list is our synthesis, not a pipeline any vendor documents. The stage detail below comes from OpenAI's and Google's documentation. The Perplexity pages we reviewed cover its API, search system and crawler, not its stages, and the index does not sample Google. The details differ by product and change often, so everything here is as of October 2026.
- Interpret the question. The model works out the intent and the constraints, such as a budget. The vendors document this stage in little detail.
- Decide whether to search. In OpenAI's API, as with any tool, the model can choose to search or not based on the prompt. The API documents several ways of searching, including a non-reasoning mode that passes the search tool's results along without internal planning, and an agentic mode where the model searches as part of its reasoning, evaluates results and decides whether to continue.
- Rewrite into queries and retrieve. OpenAI's help center says ChatGPT search typically rewrites a question into one or more targeted queries sent to search providers. Google's documentation describes "query fan-out" for AI Overviews and AI Mode: multiple related searches across subtopics and data sources. So what the search system receives is often not the asker's wording.
- Read. The assistant reads the retrieved text and, in agentic modes, may open pages and search within them; OpenAI's API lists "open page" and "find in page" actions. For shopping, ChatGPT also considers structured product metadata from first-party and third-party providers, such as price and description, per OpenAI's help center. Google describes the same family of techniques as retrieval-augmented generation, also called grounding.
- Write. The model composes the answer, drawing on what it read and on what it already knows. OpenAI's help center lists, among the things ChatGPT considers for products, model responses generated before it considers any new search results, and OpenAI's safety standards and product policies.
Two further points from the documentation matter for brands. OpenAI says product results in ChatGPT are selected independently, are not ads and are not influenced by its partnerships, with ads shown separately. And where ChatGPT lists merchants for a product, it says it ranks them on factors such as availability, price, quality and whether they are the maker or primary seller.
None of this says how much each input weighs. No vendor documents that, and this index cannot measure it.
What does the October 2026 data show about the inputs?
The index records the sources each engine reports. For OpenAI that is what the answer links, for Perplexity what its search retrieved, so it is a partial view of stages 3 and 4. The October 2026 edition covers 1,587 answers across the US, Mexico and Canada. OpenAI supplied 800, from its API with the web search tool (gpt-6-luna), and Perplexity supplied 787, from its Agent API with the Sonar model (perplexity/sonar). Perplexity's documentation says support for its older Sonar Chat Completions endpoint ended on September 27, 2026, and the index does not use that endpoint. The two engines record sources differently, so they are shown side by side, never pooled. OpenAI's list is the pages its answer links. Perplexity's list is the pages its search retrieved, and its API does not say which ones the answer relies on.
| Measure (October 2026 edition) | OpenAI (800 answers) | Perplexity (787 answers) |
|---|---|---|
| What the source list is | Pages linked in the answer | Pages in its retrieved sources |
| Source URLs per answer, mean | 2.2 | 27.3 |
| Distinct domains per answer, mean | 2.0 | 15.2 |
| Answers with a retailer domain in the list | 17.6% | 76.7% |
| Answers with a strict own-site match in the list | 46.6% | 62.0% |
| Answers with a forum or video domain in the list | 1.3% | 3.3% |
| Brands recommended per answer, mean (excluding the alternative-to-a-brand question; 640 and 631 answers) | 2.2 | 2.5 |
Table: per-engine inputs and outputs, October 2026. An own-site match is a domain whose first label equals a recommended brand's name (samsung.com for Samsung); it misses country domains, parent companies and other store names. The retailer list is hand-made and incomplete.
Which domains are most frequent also differs. In OpenAI's linked pages: rtings.com in 5.9% of answers that link any page, rei.com 5.0%, tomsguide.com 4.4%. In Perplexity's retrieved sources: nytimes.com in 42.3% (333 of 787 answers, and every nytimes.com URL recorded was a Wirecutter page), amazon.com 33.7%, forbes.com 21.7%. Percentages are of each engine's answers that have any source, across all three markets. See the websites post for the full lists.
What follows from this is limited but useful:
- Perplexity's search retrieves wide. About 27 URLs and 15 domains per answer, with retailers present in about three answers in four. The retrieval stage is where a brand's off-site pages can enter.
- OpenAI's answers link few pages. About two per answer, from about two domains. Brand sites appear in 46.6% of them, so a recommended brand's own page is often among the few links an answer shows.
- Neither list proves influence. A domain in a list was linked or retrieved. The index cannot show it changed the recommendation.
Why do two assistants name different brands?
In the same sample, brand lists overlapped by 47.0% on average between OpenAI and Perplexity. That measure is per category: brands both recommended divided by brands either recommended, averaged over 160 categories with equal weight, excluding the alternative-to-a-brand question. It is not answer-by-answer agreement. On average a category had 3.9 brands recommended by both engines and 5.3 by only one.
The documented stages suggest where the divergence could enter. Each engine may use its own search system and query rewriting. The index did not measure either, so it cannot say which factor accounts for the overlap. In the October 2026 edition each prompt was asked once per engine, so a category's overlap compares about 4 answers per engine (7 or 8 answers without the alternative-to-a-brand question). Part of the gap may be ordinary run-to-run variation within one engine, which this sample cannot separate from a difference between engines. Perplexity's documentation says its API uses the same search system as its own interface, with differences in configuration, so even one vendor's API and app can differ.
Do budget and premium questions name different brands?
Across both engines together, the brand lists differ by question type. Per category, the brands in budget answers and premium answers overlapped by 8.2% on average (usually two answers each, 155 of 160 categories). A best-overall question overlapped with the budget question by 23.8% and with the premium question by 26.8% (both engines together). Those are overlaps of observed brand lists, not evidence of a price-wording effect or of what shoppers want.
The number of slots also depends on the question. The mean brands per answer in October 2026 (both engines together) was 2.4 for best overall, 2.2 for budget, 2.2 for a specific use case, 2.6 for premium, and 5.0 for the alternative-to-a-brand question, which names a brand in the prompt and is why brand-count measures exclude it. Best-overall answers recommended no brand in 9.1% of 318 answers (both engines together).
Where in the pipeline might your brand be losing?
A triage you can run with any assistant, in order. It tells you where to look, not what caused the result.
- Is the assistant able to read your site? Check which bots your robots.txt and CDN allow. OpenAI documents OAI-SearchBot for ChatGPT search and Perplexity documents PerplexityBot; both are described as search crawlers, so check each by name, not just a general AI bot rule. See GEO vs AEO vs SEO.
- Is anything of yours retrieved? For Perplexity-style retrieval, look at the source list for your category's questions: your site, editorial reviews, retailers. For OpenAI, look at the pages the answer links.
- Is the brand named when its pages are present? If your pages appear but another brand is named, compare the facts: price band, use case, ratings, availability.
- Is it named first? Position in the answer is a separate measure. The index shows average position only for brands recommended in 3 or more answers.
- Does the answer change with wording? Run all five question types. A brand present for "best overall" and absent for "budget" may reflect how each question is worded or the price band it implies. The index cannot separate those from other causes, so ask more questions of each type before drawing a conclusion.
Then measure again with enough answers; one answer is a weak signal. See share of answer for the arithmetic and the free measurement method for the procedure. Product feeds covers the structured-data route that OpenAI and Google both describe.
What can this data not tell you?
- Cause. Nothing here shows that any input produced any recommendation. The source lists are what the engines report.
- The apps. The data is from developer APIs, not the ChatGPT or Perplexity apps, which may differ in models, tools and personalization. See API answers vs app answers.
- Google. The index does not sample Google's AI Overviews or AI Mode.
- Sample size. About 10 answers per category in October 2026 (7 or 8 without the alternative-to-a-brand question), each prompt asked once per engine.
- The user. Requests carried no account, history or memory, and a country location. A signed-in shopper may see something else.
Frequently asked questions
Are the products an assistant names paid placements?
As of October 2026, OpenAI says product results in ChatGPT are selected independently by ChatGPT, are not ads, and are not influenced by its partnerships, and that ads are shown separately. We did not review other assistants' policies on this. The October 2026 data comes from API calls. The index did not record ads, so it cannot speak to how ads appear in any app.
Does my product schema reach the assistant?
As of October 2026, for ChatGPT shopping, OpenAI says it considers structured metadata from first-party and third-party providers, and that its list of merchants for a product is generated from merchant and product metadata supplied by third-party providers or directly by merchants. Google says it uses structured data it finds to understand a page. Whether a particular assistant reads your own page's markup is not documented in the sources we reviewed, and the index has not measured it.
How we write: drafted with AI tools from Dopbot Index data and public sources; every number and outside fact is traced to its source in a claims record and checked before publishing. More about how we write; corrections to hello@dopbot.com.