All notes

Why ChatGPT Doesn't Recommend Your Product: 5 Real Reasons

Five checkable reasons ChatGPT recommends competitors instead of your product, plus a ten-minute test you can run for each one today.

July 6, 2026 · 7-min read

AEOChatGPTAI searchanswer engine optimizationmarketing

Ask ChatGPT for the best tool in your category and watch it name three competitors and skip you. When that happens, it is almost always one of five reasons. AI crawlers can't read your site. The web doesn't agree on what you are. No source ChatGPT trusts says what you do. An aggregator list owns your category's answer. Or the model's picture of you is stale. Each one has a check you can run today, most in under ten minutes.

One caveat before the list. Answer engine optimization (AEO) is young and the ranking math inside these systems is not public. Anyone promising you a guaranteed spot in ChatGPT's answers is guessing with confidence. What follows is the set of failure modes I can actually verify, not a secret algorithm. It comes from crawler logs and repeated testing across the 30+ projects we've shipped at Space & Story.

Reason 1: AI crawlers can't read your site#

Three OpenAI bots matter. GPTBot gathers training data. OAI-SearchBot builds the search index. ChatGPT-User fetches pages live when someone asks a question. If those bots are blocked, or they arrive and get served an empty shell, nothing downstream can work. This is the boring reason, and it is the most common one.

Two failure modes show up constantly. First, JavaScript rendering. As far as anyone has publicly verified, the major AI crawlers do not execute JavaScript, so a client-rendered React app hands them a blank div where your product description should be. This bites vibe-coded products especially hard, which I get into in is Lovable good for real products. Second, bot blocking you never chose: as of this writing, Cloudflare blocks AI crawlers by default on new sites, and plenty of WAF rules classify these bots as scrapers.

The check: run curl -A "GPTBot" https://yoursite.com and read the response. Is your actual product description in the raw HTML, or is it a loading spinner? Then open yourdomain.com/robots.txt and look for the three bot names above, and glance at your CDN's bot settings. Ten minutes, and it is where I'd look first.

Reason 2: The web doesn't agree on what you are#

Language models work with entities: a stable idea of a thing, assembled from every mention of it across the training data and the live web. Now imagine your homepage says "revenue intelligence platform," your LinkedIn says "AI sales copilot," and your Crunchbase profile says whatever someone wrote in 2023. There is no consistent entity to bind those recommendations to. Your competitors, meanwhile, are described in nearly identical words across forty different pages. The model has consensus on them and noise on you.

The check: ask ChatGPT "What is [your product] and who is it for?" with web search toggled off if your plan allows it. If it hallucinates features, describes your old positioning, or confuses you with a similarly named company, you have an entity problem. The fix order is unglamorous: make your own properties say the same one-line description everywhere, then push that same line into the big third-party profiles.

Reason 3: No citable source says what you do#

When ChatGPT browses to answer a recommendation question, it leans heavily on third-party pages: review sites, comparison posts, Reddit threads, niche industry blogs. Your homepage saying you're the best is a claim. A third party saying it is evidence. If the only page on the internet asserting "[you] is a good [category] for [audience]" is a page you own, retrieval has nothing independent to hand the model. The model behaves accordingly.

The check: search "best [your category] for [your customer]" on Bing, which is historically the index ChatGPT's browsing has leaned on. Scan the top 20 results, including other people's listicles, not just your own rankings. If you don't appear anywhere in any of those pages, this is your reason, and no amount of content on your own domain fixes it directly.

Reason 4: An aggregator list owns your category's answer#

Recommendation answers are mostly assembled, not divined. The model retrieves a handful of sources for a "best X" question. Those sources are usually G2, Capterra, Clutch, a couple of "top 10" listicles, and occasionally a Reddit thread. If those specific pages don't include you, you effectively don't exist for that query. This is uncomfortable for people who spent two years on their own blog, but the citations don't lie.

The check: ask the exact recommendation question your buyer would ask, with search on, and expand the citations under the answer. Write down the domains. That short list is your actual battleground. Getting onto those pages tends to move this needle more than another post on your own site. That means claiming directory profiles, pitching the authors of the listicles, and earning honest mentions in the forums.

Reason 5: The model's picture of you is stale#

Two clocks run here. The trained model has a knowledge cutoff months behind the present. If you launched or repositioned recently, the baked-in knowledge is thin or wrong, and it stays wrong until the next model release. The retrieval layer favors pages that look current, so a site that hasn't visibly changed since 2024 loses ground to competitors publishing dated, maintained content.

The check: with browsing off, ask ChatGPT what it knows about your company and try to date-stamp the answer from the details it gives. If your rebrand from two years ago is still the story it tells, the trained layer is stale. Reasons one through four (the retrieval side) are your only levers in the meantime.

What nobody can honestly promise you#

Here is the plain version, because this space is filling up with certainty nobody has earned. The ranking function is opaque. There is no query volume data for ChatGPT, so "we'll get you ranking for X" is unfalsifiable. Answers are non-deterministic: ask the same question twice and you can get two different product lists. Attribution is murky because people copy answers into a new tab instead of clicking through.

The one hard signal you can own is your server logs. AI bots either visited or they didn't, and the pages they fetched are knowable facts. That's why I built crawler analytics into Cite-met, my own product, so weight that recommendation accordingly. However you get at the logs, watching which AI bots hit which pages is roughly the only ground truth available in AEO right now.

Common questions#

Does ChatGPT recommend products based on Google rankings?#

Not directly. Recommendations come from trained knowledge plus ChatGPT's own browsing index, which has historically drawn on Bing. In practice the signals correlate: sites that earn links, mentions, and clear descriptions do well in both. But a page-one Google ranking is neither necessary nor sufficient for showing up in an answer.

How long until fixes show up in ChatGPT's answers?#

On the retrieval side, sometimes days to weeks after the bots can crawl you and citable sources mention you. On the trained side, you wait for model release cycles, which means months at minimum. Anyone quoting you a firm timeline is guessing.

Do I need an llms.txt file?#

It costs twenty minutes, so I add one. But the evidence it changes anything is thin, and no major lab has confirmed using it. I dug through actual crawler logs in does llms.txt actually work before deciding how much to care.

No. OpenAI has flirted publicly with advertising, but there is no pay-to-be-recommended product today. And even if one appears, paying wouldn't fix any of the five problems above. The organic answer would still skip you.

Where to go from here#

Run the five checks in order; the whole pass takes about an hour, and I'd start with reasons one and three. If you want the wider system this diagnostic lives inside, the Agentic Marketing Operating System is open and free (CC-BY 4.0). And if you'd rather have a second set of eyes on the diagnosis than run it alone, that's the kind of hands-on work described on the engagements page. Start with the curl command, though. It's usually that one.

Operator notes, monthly.

Working notes on agentic marketing, Claude Code skills, and the operating models behind four ventures. It ships when there is something worth reading.

Subscribe free