Research11 min readAugust 28, 2026

How ChatGPT Learns Which Brands to Recommend (And What You Can Do About It)

*A field guide to the sources, signals, and shortcuts that shape which brands land in an AI model's "preferred set" — and how to get yours in there.*


Ask ChatGPT for "the best project management tool for a 20-person marketing agency" and you'll get a list. Asana, ClickUp, Monday, Notion, maybe Basecamp if the model is feeling nostalgic. Ask it ten more times, phrased ten different ways. The list barely moves.

That stability is not a coincidence. It's the output of a specific set of processes: pretraining on a specific slice of the internet, reinforcement learning from a specific group of human raters, and — increasingly — a browsing tool that hits a specific handful of sources during the answer itself. Every brand recommendation is the compressed opinion of those three systems arguing with each other in the span of 800 milliseconds.

If you understand which sources feed which system, you stop guessing. You start engineering.

The three layers of "what ChatGPT knows about your brand"

There isn't one place where brand knowledge lives. There are three, and they don't behave the same way. Confusing them is why most "AEO strategies" you see on LinkedIn read like nonsense.

Layer one is pretraining data. This is the frozen snapshot of the internet the model was trained on — Common Crawl, curated web dumps, licensed datasets, code, books, Wikipedia. It has a cutoff date. For GPT-4o that cutoff is October 2023. For GPT-4.1 it's June 2024. Anything published after the cutoff isn't in the base model's head at all.

Layer two is RLHF and post-training. After pretraining, human raters and constitutional AI systems shape the model's preferences: which sources it trusts, which formats it uses, which brands it treats as "safe defaults" versus "you should verify this." This is where the model learns to name Asana before naming some tool it saw mentioned twice in a Reddit thread.

Layer three is browsing at inference time. When ChatGPT decides to search (either because the user asked, or because the query is time-sensitive), it hits Bing, retrieves 5-20 pages, and synthesizes an answer from what it reads. This layer changes daily. It's also the layer most brands ignore because they think AEO is about "getting into the training data."

Each layer has different levers. Confusing them is fatal.

Pretraining: what actually ended up in the model

The pretraining corpus is not "the whole internet." It's a heavily filtered, deduplicated, quality-scored subset. And within that subset, some sources are weighted far more than others because they show up more often, get cited more often, or were flagged as high-quality during the curation phase.

For brand-related queries, the sources that punch above their weight are remarkably consistent across GPT, Claude, and Gemini:

Source typeWhy the model over-weights itConcrete examples
WikipediaHigh trust score, dense internal linking, factual framingCompany pages, "Comparison of X software" articles
Reddit (pre-2023 especially)Long-form conversational context, real user language, deduped in trainingr/ProjectManagement, r/SaaS, r/skincareaddiction
Established publisher listiclesEditorial trust signals, structured "top N" formatNYT Wirecutter, PCMag, TechRadar, G2 top-rated lists
Comparison contentDirect "X vs Y" framing maps to how users ask questionsG2, Capterra, TrustRadius comparison pages
Y Combinator / Hacker NewsRepeatedly scraped, high-signal discussionsShow HN threads, founder AMAs
Stack Overflow / GitHubOverrepresented in training, matters for dev toolsREADME files, issue threads
Notice what's not on that list. Your own marketing site is not on that list. Your blog is not on that list. Your carefully SEO'd product pages are not on that list — not because they weren't crawled, but because in the aggregate signal of "which brands are the good ones for X category," a self-published claim from a brand about itself carries almost zero weight.

The model learned brand rankings from what other people wrote about brands. Which is a very old lesson wearing new clothes.

The pretraining corpus rewards the brands other people talk about, not the brands that talk about themselves.

Why Reddit is doing so much of the heavy lifting

OpenAI paid $60 million a year for Reddit. Google signed a similar deal. That is not because Reddit produces particularly polished content. It's because Reddit produces the closest thing on the internet to a labeled dataset of "here's what real humans think about X."

When a Redditor writes "I've tried Ahrefs and Semrush for three years and honestly for a solo consultant Ahrefs is worth the extra $30/mo," that sentence is doing five things at once for the model: it's naming brands, it's expressing a preference, it's providing a reason, it's specifying a user segment, and it's giving a price point. That's a training example the model can generalize from.

Contrast with your blog post titled "5 Reasons Our Tool Is The Best For Solo Consultants." Zero training signal. The model has learned that self-promotional content is unreliable.

The implication is not "spam Reddit." The implication is that authentic Reddit conversations — where your brand comes up organically, with reasons, in threads that get upvoted — are worth roughly 100x a self-published blog post in terms of what the model absorbs. If nobody on Reddit is talking about you, you are functionally invisible to the pretraining layer of every major model.

Check r/ecommerce, r/shopify, r/DTC. If your brand isn't in the recurring "what are you using for X" threads, that's your problem, not your marketing team's opinion of your product.

RLHF: why the model plays it safe

After pretraining, the model gets opinions beaten into it. Human raters at OpenAI, Anthropic, and Google score model outputs on helpfulness, harmlessness, and — critically for brand queries — "reasonableness." When asked to recommend project management tools, a model that names Asana, ClickUp, and Monday gets a higher score than a model that recommends a tool the rater has never heard of.

This creates a snowball. The safe defaults become safer. The obscure options stay obscure. Even if a challenger brand is objectively better for a specific use case, the model has been trained to hedge toward the names the rater recognized.

You can see this in action. Ask ChatGPT for "best email marketing tool for a $2M/year Shopify brand" and you'll almost always get Klaviyo at position one. That's not just because Klaviyo is good. It's because "Klaviyo for Shopify" is such a well-established pairing in the training corpus and among raters that the model treats it as the canonical answer. Omnisend, Sendlane, Postscript, and half a dozen others might be genuinely competitive, but they're fighting a positional handicap.

Two ways to break through:

  • Own a specific segment. The model is more willing to recommend a challenger for a narrow, well-defined use case than for a broad category. Postscript wins "SMS for Shopify brands over $5M revenue" because the specificity forces the model to move past the default.
  • Get named alongside the defaults. If enough training data contains "Klaviyo or Postscript" as a phrase pair, Postscript inherits some of Klaviyo's positional authority. This is why comparison content matters so much — not for SEO reasons, for co-occurrence reasons.

Browsing at inference: the layer that changes daily

Here's where most AEO advice falls apart. People obsess over "getting into the next training run" — a moving target that arrives every 12-18 months. Meanwhile, ChatGPT is browsing the web in real time for a growing share of queries, and that's the layer where you can actually see changes within weeks.

When ChatGPT invokes its browsing tool, it queries Bing. It grabs the top results plus any URLs that seem promising, retrieves the page content, and feeds it into the answer synthesis. Which means for browsing-triggered queries, ranking well on Bing (not just Google) matters. It also means the pages the model retrieves need to be readable to it: clean HTML, clear headings, an answer to the query near the top of the page, and — this part is underrated — structured comparison data.

The sources ChatGPT reaches for during browsing skew heavily toward:

  • G2, Capterra, TrustRadius, and other review aggregators
  • Reddit threads (yes, again — often the top browsing result for "best X" queries)
  • Publisher listicles with recent update dates (Wirecutter, PCMag, TechRadar, Forbes Advisor)
  • Comparison sites that rank on Bing for "X vs Y" queries
  • The brand's own site, but only for factual questions like pricing or features
If you want to influence the browsing layer, you need to be present on those sources with fresh, structured content. A five-year-old G2 listing with 12 reviews does nothing. A G2 listing with 800 reviews from the last 18 months, top-quartile ratings, and a filled-out comparison profile does a lot. Getting into the next model training run takes 18 months. Getting into next Tuesday's ChatGPT answer takes two weeks.

The sources that actually move the needle

Based on months of scanning brand mentions across ChatGPT, Claude, Perplexity, and Google AI Overviews, here's the rough hierarchy of sources by how frequently they show up as cited or as clearly-influential context:

SourcePretraining influenceBrowsing influenceEffort to influence
Reddit (organic mentions)Very highVery highHigh — takes real community presence
WikipediaVery highMediumVery high — notability requirements are strict
G2 / CapterraMediumVery highMedium — pay-to-play plus review programs
Established publisher listiclesHighHighMedium — PR relationships and pitching
Comparison content ("X vs Y")MediumVery highLow-medium — you can write these yourself
YouTube reviews (transcripts)MediumLowMedium — creator outreach
Your own blog / marketing siteVery lowLowLow — but low ROI
Press releasesVery lowVery lowLow ROI, don't bother
The two entries that surprise most people are the top and bottom: Reddit is doing more than you think, and press releases are doing less than you think. The model has learned to discount promotional language regardless of the domain it appears on.

What to actually do

Here's the playbook that maps to the mechanism. Not a checklist of tactics — a set of moves that match how each layer works. 1. Get your comparison content in order. Write "Yourbrand vs Competitor" pages that are genuinely useful, not thinly disguised sales pages. When ChatGPT browses for "Klaviyo alternatives," it's pulling from comparison content. If your brand isn't in that comparison ecosystem, you don't exist for that query. This is the single highest-leverage action for the browsing layer. 2. Take your G2 / Capterra / TrustRadius presence seriously. These are not just SEO plays. They are the primary structured data source AI models trust for software recommendations. Run a review-acquisition campaign every quarter. Fill out every field. Respond to reviews. The models read all of it. 3. Engineer Reddit presence — without astroturfing. The model can tell (and human raters can tell) when a thread reads like marketing. What works: sponsoring subreddit AMAs, having your actual team answer questions in relevant subs with their real accounts, participating in "what tool do you use for X" threads without leading with your brand. The goal is authentic co-occurrence with the category defaults. 4. Get on publisher listicles. "Best X for Y in 2025" articles from established publishers are gold for both layers. This means PR work, product database submissions to sites like Product Hunt and BetaList, and pitching writers who cover your category. One inclusion in a TechRadar or PCMag roundup is worth 50 self-published blog posts. 5. Structure your own pages for retrieval. When ChatGPT does pull your own site, it wants: clean HTML, a Q&A section that mirrors how users ask questions, a comparison table, pricing that's actually on the page (not gated), and clear factual claims it can quote. If your homepage is a JavaScript-heavy hero video with animated text, the model can't read it. 6. Track what's actually happening. You can't optimize what you don't measure. Which prompts mention you? Which mention your competitors instead? Which sources does the model cite when it does mention you? Every improvement effort should be tied to a measurable delta in a specific prompt set.

The uncomfortable truth about all this

Most of this is not new. Get talked about on Reddit. Get into publisher roundups. Get reviews. Write comparison content. Make your site readable. That was the advice for winning SEO in 2015, and it's basically the advice for winning AEO in 2025.

What is new is the compression. In old SEO, you could win a query with a single well-optimized page. In AEO, you're not winning a page — you're influencing a compressed synthesis of hundreds of sources into a three-sentence recommendation. The signal has to be strong across the ecosystem, not just at one URL.

Which means the brands that will win the AI recommendation layer are the brands that are genuinely, widely talked about by real people in the places the model trusts. There's no shortcut around it. There's just a smarter or dumber way to invest in getting there.

Where Foxish fits

Foxish measures which brands ChatGPT, Claude, Gemini, and Google AI Overviews recommend for the prompts your category cares about — and, critically, tells you which sources the models are citing when they recommend your competitors. If your competitor is winning because of a G2 comparison page you didn't know existed, or a Reddit thread from 2022, we surface it. That's the diagnostic step before any of the tactics in this article become worth doing. Start a free scan →. Free plan, first scan on us, no credit card.

See what AI says about your brand

Foxish monitors ChatGPT, Claude, Gemini, and Google AI Overview and shows you exactly what to change.

Start free trial