Much advice on this topic rests on guesswork, because the assistants disclose only some of the factors behind a recommendation and none of the weights. This playbook labels every step by how well it is supported, so you can spend your first hours on the steps with the best footing and treat the rest as experiments.
Each step carries one of three labels.
- Documented: the platform's own documentation says it.
- Observed: it shows up in Dopbot's October 2026 sample. That is an association in answers we sampled, not a cause.
- Reasoned: our inference from how these tools work. Untested.
What is a brand up against?
Across 160 categories in the US, Mexico and Canada, the October 2026 edition collected 1,587 answers to shopping questions. The engines were OpenAI's API with web search (gpt-6-luna) and Perplexity's Agent API with the Sonar model (perplexity/sonar), at 800 from OpenAI and 787 from Perplexity. These are answers to prompts we wrote, not observations of shoppers. Four patterns matter for a playbook.
Shortlists are short. Excluding the alternative-to-a-brand question, which names a brand and inflates counts, an answer recommended 2.3 brands on average and a median of 2 (1,271 answers). Of those answers, 84.4% recommended one to three brands and 3.4% recommended none. By engine, the mean was 2.2 for OpenAI (640 answers) and 2.5 for Perplexity (631 answers).
The two engines recommend different brands. Per category, we divided the brands both engines recommended by the brands either one recommended, then averaged over categories. Excluding the alternative question, that overlap averaged 47.0%. A category had 3.9 brands recommended by both engines and 5.3 recommended by only one, on average. It is not an answer-by-answer agreement rate.
The question changes the list. In 155 of 160 categories we had two budget answers and two premium answers. The brand lists of those two groups overlapped by 8.2% on average across all 160 categories (per category, brands in both groups divided by brands in either, averaged over categories), and 70% of the 160 categories had no brand in both. The October budget prompts had a price ceiling and most premium prompts a price floor, so some of this is built into the questions. That is observed overlap between shortlists, not proof that price wording causes it.
The engines read different kinds of pages. OpenAI's source list is the pages its answer links. Perplexity's is the pages its search retrieved, some of which the answer may leave unused. The table shows each engine on its own denominator.
| Share of answers whose source list holds... | OpenAI, linked pages (800 answers) | Perplexity, retrieved sources (787 answers) |
|---|---|---|
| A retailer domain (hand-made list) | 17.6% | 76.7% |
| A recommended brand's own site (strict match) | 46.6% | 62.0% |
| A forum or video domain | 1.3% | 3.3% |
| A Wirecutter page | 0 of 800 | 333 of 787 (42.3%) |
The own-site rule matches a domain whose first label equals a recommended brand's name, so it misses country domains and parent companies. Both own-site rates use every answer, including the alternative-to-a-brand question, whose answers recommend about 5.0 brands, against 2.3 brands on average for the others, so each answer has more chances to match; a single brand's rate would be lower. OpenAI's answers linked a mean of 2.2 pages each and Perplexity's retrieved lists held a mean of 27.3, so do not rank one engine against the other on these percentages. The websites in AI shopping answers post lists the most frequent domains per engine. A domain in a source list does not show that it influenced a recommendation.
The playbook at a glance
| Order | Step | Label |
|---|---|---|
| 1 | Measure each engine and question type before changing anything | Reasoned |
| 2 | Let the assistants' search bots reach your site | Documented |
| 3 | State product facts as plain text on your own pages | Observed, reasoned |
| 4 | Appear in the review and retail pages the engines read | Observed |
| 5 | Write for each kind of question | Observed, reasoned |
| 6 | Use the product feeds and markup that platforms document | Documented |
| 7 | Collect reviews within the rules | Documented |
| 8 | Re-measure with enough answers, one change at a time | Reasoned |
1. Measure first
Without a baseline you cannot tell a gain from noise. Write four neutral questions for your category (best overall, a budget with a price ceiling, premium, and a specific use), ask each question about four times on each engine you can reach, in a fresh session each time, and record your brand's share of answers per engine, with the number of answers beside it (16 answers per engine here; the manual method linked below adds a fifth question type, for 20). One answer is a large share of a handful, so a share of 4 answers cannot serve as a baseline. The manual measurement method gives a spreadsheet layout, how many answers to trust a change shows how wide the uncertainty is at small sizes, and what AI shopping visibility is defines the terms. Keep the engines apart, because their lists overlap by less than half.
2. Let the search bots in (documented)
Platform documentation covers this step directly, as it does steps 6 and 7 below. OpenAI says OAI-SearchBot is what surfaces websites in the search results of ChatGPT's search features, and that sites opted out of it will not be shown in ChatGPT search answers. It says a robots.txt change can take about 24 hours to be reflected. Perplexity gives a similar figure, up to 24 hours. OpenAI treats GPTBot, a separate crawler, as an independent setting: disallowing GPTBot is about training use, not about search.
Perplexity says PerplexityBot is designed to surface and link websites in search results on Perplexity, and recommends allowing it in robots.txt. It describes a second agent, Perplexity-User, that fetches pages when a person asks, and says that, because a person requested the fetch, this agent generally ignores robots.txt rules.
For Google's AI Overviews and AI Mode, Google says there are no additional requirements to appear and no special optimizations are necessary, and that all existing SEO fundamentals continue to be worthwhile. Dopbot does not measure Google, so we have no data on how its AI answers treat brands.
A bot that can fetch your page is not a bot that will recommend you. Access is a precondition, nothing more. These facts are as of October 2026 and bot behavior changes.
3. State product facts as plain text on your own pages
A recommended brand's own domain was in OpenAI's linked pages for 46.6% of the 800 OpenAI answers, and in Perplexity's retrieved sources for 62.0% of the 787 Perplexity answers. Those are per-answer rates across all recommended brands, not your odds, and we cannot say that the page changed any recommendation.
The reasoning is simple. These engines search the web and read what the search returns, so a fact stated plainly on a page can be used, while a fact that is missing, stale or locked in an image or a script may not be readable by the tool. Price and currency, availability and the regions you ship to, model and variant names, dimensions and materials, who the product suits, and your returns and warranty terms are facts a shopper's question about price, quality or a specific use is likely to turn on. Our prompts ask for a best, budget, premium or use-case pick, and we did not test which page facts matter. Label this step as reasoned: we did not test whether better pages change answers.
4. Appear in the pages the engines read
Perplexity's retrieved lists held a retailer domain in 76.7% of its 787 answers and a Wirecutter page in 42.3%. OpenAI's most frequently linked domain, rtings.com, appeared in 5.9% of the 797 OpenAI answers that linked any source, followed by rei.com (5.0%) and tomsguide.com (4.4%). The Wirecutter post explains why OpenAI's 0 of 800 and Perplexity's 333 of 787 are counted differently.
What a brand can take from this is a to-do list, not a theory of cause:
- Run your baseline questions and save the source lists.
- Note which review sites and retailers appear for your category on each engine.
- Check whether your products are listed there, with accurate names, prices and photos.
- Pursue review coverage through each site's published process, with disclosure where required.
We cannot say that being listed on those pages causes a recommendation. We can say that, in the lists we sampled, those pages were common.
5. Write for each kind of question
Budget and premium shortlists barely overlapped, so treat them as separate targets. Across all non-alternative question types the mean number of brands per answer was 2.2 for budget questions (318 answers), 2.2 for specific-use questions (318), 2.4 for best-overall (318) and 2.6 for premium (317). Best-overall answers recommended no brand in 9.1% of their 318 answers (both engines together), the highest share of any type. The budget vs premium post has the overlap detail.
The practical step is to give each question type a page that answers it: a clear price position and what is included for budget shoppers, what the extra money buys for premium, and a named fit for each use case you serve. This step is observed in the sense that the lists differ by question; whether tailored pages move them is untested.
6. Use the feeds and markup platforms document
- Google. Google says structured data should match the visible text on the page, and that Merchant Center and Business Profile information should be up to date. It says no special schema.org markup is needed for its AI features.
- OpenAI. OpenAI's developer documentation describes a product feed, in CSV or JSON, refreshed regularly, as one of the steps a merchant implements to support Instant Checkout in ChatGPT. It says required fields ensure price and availability display correctly and that recommended attributes improve ranking, relevance and user trust in that experience. Whether a feed affects the unpaid answers we sample is unknown, and we have not tested feeds. This is the documentation as of October 2026; check it for current eligibility.
- Shopify. Shopify says on its ChatGPT channel page that the channel is on by default for eligible stores and that you do not need to do anything for your products to be discovered through Shopify Catalog. Eligibility includes selling to customers in the United States, agreeing to Shopify's supplemental terms and completing your store policies. Its Catalog requirements add that a store must be on the Starter plan or higher and cannot be in private mode. These conditions are as of October 2026.
None of this is evidence that markup or a feed changes which brands an assistant recommends. It is the set of channels the platforms themselves document.
7. Collect reviews within the rules
Reviews appear as a recommended attribute in OpenAI's feed documentation, which makes manufactured ones tempting. The FTC's final rule on fake reviews bars, among other things, creating, buying or selling fake reviews, and offering incentives conditioned on reviews expressing a particular sentiment, and the FTC says it can seek civil penalties against knowing violators. This is a pointer to the rule, not legal advice. Google's structured data rules also forbid marking up fake reviews. Ask every buyer, not only the happy ones, and mark up only reviews visible on the page.
8. Re-measure, then change one thing at a time
If you change robots.txt, product copy, markup and feeds all at once, you cannot say which helped. Change one group of things, wait for the documented delays, then ask the same questions the same number of times and compare with an interval, not by eye. Model updates and answer variation mean some change will always appear.
What we do not know
- Whether any on-site change alters a recommendation. We did not run experiments.
- How the apps behave. Our data is the APIs; the apps can differ in personalization, memory, location and interface. The API vs app post covers this.
- How anything here carries over to other markets or categories. The October edition has about 10 answers per category.
The October 2026 findings and methodology give the full setup.
Frequently asked questions
Do I need a different approach for each assistant?
The steps are the same, but the measurement is not. In the October 2026 edition, the engines' brand lists overlapped by 47.0% per category on average (brands both recommended divided by brands either recommended, excluding the alternative-to-a-brand question), and their source lists look different, so a result on one engine does not predict the other.
How soon will a change show up in answers?
We do not know. OpenAI says a robots.txt change can take about 24 hours to be reflected, and Perplexity says up to 24 hours. Neither bot page cited here gives a timeline for content changes, so measure after a fixed period and compare with an interval.
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.