Why ChatGPT Doesn't Recommend Your Store (7 Causes, Ranked)
If ChatGPT, Perplexity and Gemini recommend competitors but never you, it’s almost never because your products are worse — it’s because the engines can’t read, confirm or trust your data. Below are the seven causes, ranked by how often they’re the real culprit in practice. The first two account for the large majority of invisible stores, and both are free to fix.
The fastest way to find your cause is to run the free AI visibility check and then view the raw source of one product page. Ten minutes, and you’ll usually know which of the seven it is.
1. A blocked crawler (the silent killer)
Section titled “1. A blocked crawler (the silent killer)”If robots.txt disallows OAI-SearchBot, PerplexityBot, ClaudeBot or Google-Extended, that engine
can never cite you — no exceptions, no workarounds. Worse and more common: a Cloudflare or WAF
bot-challenge rule that fires on the crawler’s user agent. The page returns a challenge, the engine records
an empty page, and you’re out — but your robots.txt looks fine, so nobody suspects it.
Fix: allow all the AI user agents (see the crawler directory), and confirm no bot-management rule challenges them. The checker tests all six crawlers for you.
2. A price only JavaScript can see
Section titled “2. A price only JavaScript can see”Most AI crawlers don’t run JavaScript — they read raw HTML. The trap that catches the most otherwise well-built stores: the product page renders server-side, but the price is injected by a script (configurable products, currency switchers, “from £X” widgets). You see the price in your browser; the crawler fetches the source and finds no number. An engine will not recommend a product whose price it can’t confirm, so you’re skipped despite doing everything else right.
Fix: View Source (not Inspect) on a product page and search for the literal price. If it isn’t in the raw HTML, get it server-rendered. This is the highest-value fix on this list for modern storefronts — more in the AEO for ecommerce playbook.
3. An incomplete product feed
Section titled “3. An incomplete product feed”A large majority of products the engines surface trace back to Google Shopping data. If a product isn’t in your Merchant Center feed, or the feed is missing key attributes, it effectively doesn’t exist to the shopping layer.
Fix: get every sellable product into the feed at ~95%+ attribute completion, with accurate price and stock. Detail in the ChatGPT Shopping guide.
4. Thin or missing Product schema
Section titled “4. Thin or missing Product schema”Even when the engine can read your page, sparse structured data gives it nothing safe to quote. No price,
no availability, no gtin means the engine can’t confidently state a fact about your product — so it
reaches for a competitor it can.
Fix: complete Product JSON-LD with offers, price, priceCurrency, availability and gtin.
Field-by-field in the Magento AEO checklist (the fields are universal).
5. Too few reviews
Section titled “5. Too few reviews”Reviews are one of the heaviest signals engines use to choose between comparable products. An identical product with 300 genuine reviews at 4.6★ beats yours with none, every time.
Fix: build genuine review volume and get it into your schema and onto third-party sites engines already trust.
6. No content for engines to reason from
Section titled “6. No content for engines to reason from”Engines assemble shopping answers from buying guides and comparisons, not product grids. With no answer-shaped content — no category descriptions that state the buying answer, no buying guides — you’re eligible at best but never the named recommendation.
Fix: write one answer-first category description and one buying guide per major category, each opening with a quotable sentence and covering the real buyer questions.
7. An inconsistent store identity
Section titled “7. An inconsistent store identity”Engines only recommend stores they can identify with confidence. If your store name, address and description differ across your site, Google Business Profile, Trustpilot and socials, you read as a weaker, riskier entity.
Fix: make your entity identity identical everywhere, and publish an llms.txt that names who you are and points to your best pages.
How to diagnose yours in ten minutes
Section titled “How to diagnose yours in ten minutes”- Run the AI visibility check — catches causes 1, 4 and 7 immediately.
- View Source on a top product page; search for the price string — catches cause 2.
- Check Merchant Center feed coverage and attribute completion — catches cause 3.
- Ask ChatGPT your five “best X to buy” questions; note whether you’re eligible-but-unnamed (causes 5–6) or absent entirely (causes 1–3).
Most stores find their answer in the first two steps. Once you know the cause, the ecommerce AEO playbook has the full fix for each.