It's not luck, it's six checkable causes

When a SaaS founder asks me why ChatGPT recommends three competitors and never their product, the instinct is to treat it as a mystery, something about "the algorithm" that can't really be diagnosed. It isn't. AI systems either can or can't reach your pages, and once they can, they either do or don't meet a small set of measurable properties that decide whether they're worth citing. Every omission traces back to one of those two categories.

The stakes are bigger than they look. A 2026 study tracking over 100,000 prompt responses across more than 100 brands found a steep, three-tier visibility hierarchy: global brands showed up in roughly 73% of relevant AI answers, mid-market brands in 44%, and niche or emerging brands in just 11%, a gap of some 30 percentage points between each tier (arXiv:2606.20065). Most B2B SaaS companies are not the global brand in their category. The six reasons below are what actually moves you between tiers.

This is the diagnostic version of that list: six specific, checkable reasons, each backed by a primary source, in roughly the order I check them during an audit.

Reason 1: the crawlers can't reach you

The most basic failure is also the most common. If the bot that would read your page is blocked or the content it needs never loads for a non-executing crawler, nothing else on this list matters.

  • Robots.txt is blocking the AI crawler outright. OpenAI's crawler documentation, Perplexity's bot documentation, and Anthropic's crawler documentation all confirm their bots honor standard robots.txt disallow rules. A blanket Disallow: / left over from a staging site, or a rule copied from a template without reading it, silently removes you from consideration.
  • Key content is JavaScript-only. Bots built for citation, not full rendering, read what's in the initial HTML response. Pricing, feature detail, or comparison content that only appears after client-side rendering may simply not exist as far as these crawlers are concerned.

This is a five-minute check: fetch your key pages as each named bot (or view them with JavaScript disabled) and confirm the content you want cited is actually there.

Reason 2: you blocked the wrong bot, without realizing it

This is the one almost nobody checks, because it looks like the same problem as Reason 1 but has the opposite fix. OpenAI runs multiple, separately named crawlers with different jobs, and blocking one does not do what most site owners assume:

  • GPTBot is, in OpenAI's words, used "to crawl content that may be used in training our generative AI foundation models." Disallowing it opts your content out of model training. It has nothing to do with whether ChatGPT can cite you in an answer today.
  • OAI-SearchBot is the separate crawler that exists specifically "to surface websites in search results in ChatGPT's search features." OpenAI is explicit that sites opted out of OAI-SearchBot "will not be shown in ChatGPT search answers, though can still appear as navigational links" (OpenAI).

A site that blocked GPTBot for a defensible reason, keeping proprietary content out of training data, but never checked whether OAI-SearchBot is also blocked, may have accidentally removed itself from ChatGPT's actual answers while thinking it only opted out of training. The reverse mistake happens too: assuming one blanket AI-blocking rule handles everything, then wondering why citations never come.

Worth checking today

Read your robots.txt line by line against the actual bot names: GPTBot and OAI-SearchBot from OpenAI, PerplexityBot and Perplexity-User from Perplexity, ClaudeBot, Claude-User, and Claude-SearchBot from Anthropic. A rule that says "block AI" in a comment is not the same as knowing which of these it actually disallows.

Reason 3: no stated pricing

Once a page is reachable, the next failure is content that AI systems can retrieve but won't cite. The largest controlled study on this, What Gets Cited: Competitive GEO in AI Answer Engines (SIGIR 2026), ran 252,000 trials across six language models and found explicit pricing to be one of a handful of gatekeeper factors: content that stated pricing was dramatically more likely to be cited than content that omitted it, independent of every other quality signal tested (arXiv:2605.25517).

"Contact us for pricing" is a common B2B SaaS habit, usually to force a sales conversation. The research says it also has a direct, measurable AI visibility cost. A competitor who publishes a price, even a starting price or a range, is handing the model something concrete to cite. You're handing it nothing.

Reason 4: content too vague to cite

Past the gatekeepers, the same SIGIR study found a second tier of booster factors that separate cited content from merely eligible content: statistics and specific numbers, concrete specifications rather than vague description, evidence for claims rather than unsupported assertion, and direct comparisons against named alternatives (arXiv:2605.25517). A model generating an answer needs something quotable. "Powerful, flexible, built for teams" gives it nothing to lift. "Supports up to 500 concurrent users on the Growth plan" does.

How small an edge actually matters is the striking part. A 2026 study testing GPT-4o-mini, Claude Sonnet, and Gemini 3 Flash on products with identical specifications found that a well-known incumbent got recommended 100% of the time, a "conditional monopoly." That monopoly broke with less than a one-tenth-of-a-star rating advantage for a competitor, and specific, evidenced language on its own was measured as equivalent to a 0.17-point rating edge (arXiv:2606.17443). Vagueness is not a minor stylistic flaw. It is the single thing letting the incumbent keep the monopoly by default.

Reason 5: stale pages

Recency is the fourth gatekeeper factor in the same research: a current date beat a stale one by a wide margin (arXiv:2605.25517). A pricing or comparison page last touched two years ago is competing against ones updated last month, and AI systems weigh that difference directly, not just ranking algorithms.

Reason 6: no third party corroboration

This is the reason I have direct evidence for, not just a cited study. I ran 30 real buyer prompts through ChatGPT, Perplexity, Gemini, Claude, and Google's AI Overview, spread across six B2B software categories. Perplexity and Gemini in particular cited real source links directly inside their answers, and a genuine share of those citations went to third party review platforms and communities the model had learned to trust, not just the vendor's own site.

The nuance most "get listed on G2" advice misses: it is not either or. In the same experiment, names like Oxmaint and Fabrico, two vendors most buyers have never heard of, got cited directly from their own blogs in "alternatives to" prompts. Third party presence and your own published content both function as real citation sources. A larger 2026 study analyzing over 100,000 prompt responses across 100-plus brands puts a number on that balance: roughly 78% of citations went to the brand's own corporate website, not a third party review or community post (arXiv:2606.20065). Third party presence still matters, particularly for reaching skeptical buyers, but it is not where most of the citation volume actually sits. A SaaS with weak owned content is giving up the majority channel to chase the minority one.

The same study found something else worth knowing: whether a brand is framed positively or negatively in an AI answer flips roughly 6.7 times more often than whether it is mentioned at all (arXiv:2606.20065). Getting mentioned and getting recommended favorably are different problems. Solve visibility first; tone is a separate, more volatile fight. I go through the full 30 prompt experiment, engine by engine, in the main AI visibility guide.

Worth noticing

Reasons 3 through 6 all point the same direction: content that is specific, current, evidenced, and corroborated. None of it is a trick. It's the standard a genuinely useful page already meets, which is exactly why gaming it with formatting tricks doesn't work.

The self-check list

Run down these six before assuming the problem is something more exotic:

  1. Is any AI crawler blocked in robots.txt, intentionally or by an old template rule?
  2. Does the content you want cited exist in the raw HTML, not just after JavaScript renders it?
  3. If you blocked GPTBot for training reasons, did you check whether OAI-SearchBot is also blocked?
  4. Is your pricing stated anywhere a crawler can read it, even a starting price?
  5. Does your key content include real numbers, specs, and evidence, or mostly adjectives?
  6. When were your pricing and comparison pages last actually updated?
  7. Do you have accurate, current presence on the review sites and communities your buyers already trust?

A proper audit checks all seven items above against your actual pages, not a generic template. That is what I do.

FAQ
Why doesn't my SaaS show up on ChatGPT?
Usually one of six checkable causes: an AI crawler is blocked in robots.txt, key content only renders in JavaScript, the site lacks stated pricing, the content is too vague to cite, pages are stale, or there is no third party corroboration on the sites AI systems trust.
Does blocking GPTBot stop me from appearing in ChatGPT search?
No. GPTBot governs AI model training data. OAI-SearchBot is the separate crawler that governs whether a page can appear in ChatGPT's search answers, per OpenAI's own documentation. Blocking the wrong one is a common, invisible mistake.
Does hiding my pricing hurt my AI visibility?
Yes. Controlled research across six language models found explicit pricing to be one of the strongest gatekeeper factors in whether content gets cited, independent of every other quality signal tested.

Primary sources: OpenAI crawler documentation · Perplexity bot documentation · Anthropic crawler documentation · What Gets Cited: Competitive GEO in AI Answer Engines, SIGIR 2026 (arXiv:2605.25517) · Incumbent Advantage: Brand Bias and Cognitive Manipulation Dynamics in LLM Recommendation Systems (arXiv:2606.17443) · Generative Engine Optimization at Scale: Measuring Brand Visibility Across AI Search Engines (arXiv:2606.20065) · original 30 prompt, 5 engine experiment (July 2026). All crawler documentation accessed July 25, 2026.