Why doesn't ChatGPT recommend my company?

  1. Blog
  2. Discoverability & Content

By Saroj Jha · August 3, 2026 · 8 min read

Ask an AI engine this and you get a visibility checklist: fix your Google Business Profile, get consistent NAP details, collect reviews, earn backlinks, add schema. All true, all worth doing, and none of it explains the actual failure.

The checklist ceiling

out of 100 — agent-readiness score

"Contact us" is a non-answer to a machine.

Pass every visibility and markup check and nothing else, and the agent-readiness engine still returns 52 out of 100 — because roughly half the score is about what you publish and what a stranger can act on without a human.Source: AAJ agent-readiness audit (self-reported) — run it yourself with the command in this article

You can complete every item on that checklist and still score 52 out of 100 on whether an AI agent can do anything with you.

That is not a rhetorical number. It is what the agent-readiness engine returns when you pass every visibility and markup check and nothing else.

The reason the checklist tops out so low is that roughly half the score has nothing to do with being found. It is about what your business has decided to publish, and what it will let a stranger do without talking to a human. No amount of structured data fixes a pricing page that says "contact us."

None of this is specific to ChatGPT — the same gap applies to Perplexity, Claude and Google's AI Overviews. Here is the arithmetic, run on a real audit, with the output shown, using the same reproducible engine-output method as My LTV:CAC is bad. Which number do you actually fix? The same discipline applied to quarterly reporting metrics is in How do I know if marketing is working?

The visibility half of the problem

The engine scores fifteen checks across five dimensions. Eight of them are things the standard advice already covers — findability and machine-readability:

That is 52 points. Every one of them is on every "get recommended by AI" listicle published in the last year, and they are all worth doing.

The other 48 points are different in kind:

None of those are visibility. Publishing your prices is a commercial decision. Offering a route that completes without a sales call is a go-to-market decision. Documenting an API is a roadmap decision. No amount of directory listings or review volume moves any of them.

What a perfect visibility score actually looks like

Pass all eight findability checks, fail everything else:

AAJ · AGENT READINESS
──────────────────────────────────────────────────────────────────
  Score  █████░░░░░  52/100
  WEAK — An agent can read the site but can't reliably evaluate or transact.

BY DIMENSION
  Machine-readable content     30/30  ██████████
  Evaluable facts               0/25  ░░░░░░░░░░
  Action surface                6/20  ███░░░░░░░
  Identity & trust              6/15  ████░░░░░░
  Agent access policy          10/10  ██████████

Two dimensions at full marks. The verdict is still WEAK, and the engine's one-line summary is the whole problem: an agent can read the site but can't reliably evaluate or transact.

Being found is the part everyone optimises. It is also the part that no longer differentiates anything, because it is the part that is easy.

The single most expensive line item is your pricing page

The largest deduction in the entire rubric is not schema, or reviews, or backlinks. It is twelve points for pricing a machine cannot parse. The engine's reasoning is blunt:

An agent comparing options cannot include you. 'Contact us' is a non-answer to a machine — it will return your competitor's number instead.

That is worth sitting with, because it explains the original question better than any visibility answer does. An agent asked to shortlist three vendors does not pause at a contact form. It does not email you. It returns the two vendors whose numbers it could read — and you are not rejected or ranked lower. You are simply absent.

Publishing prices moves the same site from 52 to . One change, no code, worth more than server-side rendering and structured data combined.

Our own site scores 75

We ran this on aajconsult.com. Prices are published, specs are in tables, facts are consistent across pages. Here is the result, unedited:

{
  "score": 75,
  "verdict": "PARTIAL",
  "blocked": false,
  "dimensions": [
    { "id": "readable",   "name": "Machine-readable content", "earned": 30, "possible": 30 },
    { "id": "evaluable",  "name": "Evaluable facts",          "earned": 19, "possible": 25 },
    { "id": "actionable", "name": "Action surface",           "earned":  6, "possible": 20 },
    { "id": "trust",      "name": "Identity & trust",         "earned": 10, "possible": 15 },
    { "id": "access",     "name": "Agent access policy",      "earned": 10, "possible": 10 }
  ],
  "gaps": [
    { "id": "selfServe",      "label": "Self-serve path exists",              "points": 8 },
    { "id": "comparisonData", "label": "Comparison facts available",          "points": 6 },
    { "id": "api",            "label": "Public API or documented integration","points": 6 },
    { "id": "claimsSourced",  "label": "Claims are sourced and verifiable",   "points": 5 }
  ]
}

Action surface: 6 out of 20. That is the number that matters, and it is the worst score on our own site.

Every one of the four remaining gaps is a business-model decision. A consultancy selling sprints has no self-serve path because the product is a person's attention. There is no public API because there is nothing to call. Those are defensible choices — but they are choices, and the engine correctly refuses to let markup compensate for them.

The closing summary is the part worth printing out:

WHAT AN AGENT CAN DO TODAY
  Read your content      yes
  Compare you on price   yes
  Take an action         no — every path needs a human
  Reach you at all       yes

Three out of four. The one that fails is the one where revenue happens.

The comparison gets built whether you supply the facts or not

The six-point deduction for missing comparison data carries the sharpest line in the rubric:

Agents build comparisons whether or not you supply the facts. Absent yours, they use a competitor's framing.

This inverts the usual instinct. The conventional reason not to publish comparison pages is that you would rather not draw attention to alternatives. In an agent-mediated market that stops working, because the comparison happens regardless — assembled from whatever the agent can find, which will be your competitor's page about you, not your page about you.

The same logic applies to unsourced claims. An agent that cannot verify "3.2× pipeline growth" does not simply believe it less. It discounts it against a source it trusts more, and that source is rarely you. This is also why review volume and backlinks help less than the checklist implies: they establish that you exist, not what you cost or what you do.

Run it on your own site

Two commands, no configuration, no account:

npx skills add sarojkjha/aaj-marketing-skills --skill agent-readiness-audit
node .agents/skills/agent-readiness-audit/resources/agent-readiness.js --help

Then add one flag for each check you pass. To reproduce the 52-point visibility-only score above:

node .agents/skills/agent-readiness-audit/resources/agent-readiness.js \
  --ssr --schema --llms-txt --clean-headings \
  --org-schema --allows-ai-crawlers --no-agent-blocking --no-captcha

Add --json for machine-readable output, or --all to see what a perfect score looks like.

One caveat the engine states about itself: this is a self-assessment. Verify each answer against the live site — view-source for rendering, robots.txt for access, and an actual agent attempt for the action surface. To measure the reach, read and understand layers on a live URL instead of self-reporting them, use the SEO & GEO Readiness Scorer.

What to do with the result

If you scored in the fifties with good visibility, you do not have a discoverability problem. You have a publishing problem, and the order is:

  1. Publish prices. Twelve points, and the only gap that removes you from comparisons entirely rather than ranking you lower within them.
  2. Structure your specs. Seven points. Tables with consistent labels. Say what it does, not how transformative it is.
  3. Open one self-serve path. Eight points. A trial, a purchase, or a booking that completes without a human.
  4. Publish your own comparison facts. Six points, including what you don't do.

The first two are copy changes. The third is a real decision, and for some businesses the right answer is to accept the deduction knowingly — which is a different thing from not knowing it exists. Our own published rates, including the AI visibility work, are on the pricing page — which is the first fix in this list, applied to ourselves.

Saroj Jha runs AAJ, a marketing consultancy for Seed–Series B startups. The agent-readiness-audit engine is part of AAJ's open skills catalog. Every figure in this post is real output, reproducible with the commands above.

Sources & Further Reading

The insights in this article draw on research and thinking from these reputable sources:

Anthropic — Agent Skills (open standard)

The open skill format the agent-readiness engine ships in, including how a skill's resources are installed and run locally.

https://www.anthropic.com/news/skills →

Anthropic — Model Context Protocol specification

The open protocol agents use to call tools and read structured data — the mechanism behind 'can an agent actually do something with you'.

https://modelcontextprotocol.io/specification/latest →

schema.org — Offer

The vocabulary for publishing a machine-parseable price, currency and unit, which is the single largest deduction in the rubric.

https://schema.org/Offer →

schema.org — Product

Reference for putting specifications, features and limits into structured form rather than prose.

https://schema.org/Product →

Google Search Central — AI features and your website

Google's own documentation on how AI Overviews and AI Mode use your pages, and what controls you have.

https://developers.google.com/search/docs/appearance/ai-features →

Google Search Central — Structured data general guidelines

Requirements for structured data eligibility, including that marked-up facts must match visible page content.

https://developers.google.com/search/docs/appearance/structured-data/sd-policies →

llmstxt.org — the /llms.txt proposal

The proposed convention for publishing a machine-readable site summary, worth five points in the rubric.

https://llmstxt.org/ →

AAJ — SEO & GEO Readiness Scorer

Browser tool that measures the reach, read and understand layers on a live URL, with the methodology published alongside it.

https://aajconsult.com/tools/seo-geo-readiness-scorer →

AAJ Marketing Skills — agent-readiness-audit engine (MIT)

The open-source, runnable engine that produced the 52, 64 and 75 scores quoted in this post.

https://skills.aajconsult.com →

AAJ — My LTV:CAC is bad. Which number do you actually fix?

Companion post applying the same reproducible engine-output method to unit economics.

https://aajconsult.com/blog/ltv-cac-which-number-to-fix →

More in AI Search & Agent Readiness

Part of the AI Search & Agent Readiness hub - see all 13 resources on this topic.