Your Brand Doesn't Show Up in ChatGPT: A 7-Layer Diagnostic
Work the layers in order — access, rendering, entity, corpus, competitive, prompt-fit, freshness — because a fix at layer 4 does nothing if layer 1 is broken. Most brands that are invisible in ChatGPT fail at layer 1 or 2, which are configuration problems solvable in an afternoon, not content problems.
Twelve AI visibility platforms compared on a normalized cost: monthly price divided by included prompts × engines × refreshes per week. Prices checked 21 Aug 2026.
HasData's AI Crawler Block Index (July 2026, 10,894 domains) found that 39.5% of GPTBot bans written in robots.txt were not enforced by the sites that set them.
The inverse case is the one owners miss: no AI disallow in robots.txt, and the CDN, WAF, bot-fight mode, or datacenter-IP policy still challenges or blocks the fetch.
Cloudflare Radar publishes what sites declare.
It does not tell you whether GPTBot received the article or a JavaScript challenge.
Four places blocking happens:
robots.txt and X-Robots-Tag
CDN and WAF (Cloudflare, Fastly, Akamai, CloudFront)
JavaScript challenges and bot management
Login walls and geo blocks
A site can look healthy in Chrome from your office IP and still return 403, a challenge page, a soft-404, or an empty shell to GPTBot.
Layer 2 — Can they read what they reach?
A 200 OK is not a readable page.
If the primary explanation lives behind client-side rendering, a cookie banner, a "load more" click, or a login, many crawlers store a shell.
Open the URL.
View source.
Search for a sentence you consider essential.
If it is missing, the bot that does not execute your full app has nothing to quote.
Then disable JavaScript and reload.
If the page collapses to navigation, layer 2 is broken even when layer 1 is clean.
llms.txt does not repair this.
It is inconsistently fetched and, by 2026, is not a substitute for HTML the crawler can parse.
Layer 3 — Do engines know what you are?
Retrieval needs a stable entity, not a clever tagline.
Pick one legal name, one product name, and one domain.
Repeat them on the site, LinkedIn, G2, Crunchbase, and — if you qualify — Wikipedia or Wikidata.
Add Organization schema with sameAs links to those profiles.
If another company shares your name, disambiguate in the first paragraph and in schema (alternateName, description, founding location).
Inconsistent naming is how a model merges you into a competitor or a different industry.
There is no LLMConquer module for this layer.
It is a checklist you can finish in an hour.
Layer 4 — Are you in the sources engines actually pull from?
Engines cite third parties more often than they cite your homepage.
That is uncomfortable and it is the mechanism.
If ChatGPT recommends a category, it often leans on review sites, roundups, Reddit threads, and comparison pages written by someone else.
Your own blog is a weak citation unless other domains already corroborate you.
Build a short list: for each of your 10 test prompts, write down every domain the answer cites.
Then search those URLs for your brand.
Absence there is a corpus gap, not a headline gap.
Layer 5 — Are you visible, but they are more visible?
This layer only matters if layers 1–4 are not obviously broken.
You appear in some answers.
A competitor appears more often, earlier, or with better sentiment.
Measure three things on the same prompt set: share of voice (how often you are named vs them), position in the answer, and how you are described.
Do not use a single screenshot as a ranking.
Model answers move.
Relative order across a week is more stable than one mention percentage.
Layer 6 — Are you winning the wrong questions?
Branded prompts measure whether the model knows your name.
Category prompts measure whether it recommends you.
Teams that only track "best [your product] alternative" or "[brand] pricing" report high scores and still lose the sale.
Split the set: Awareness, Consideration, Decision.
In LLMConquer those tags are tofu, mofu, and bofu.
If branded Decision prompts light up and unbranded Consideration prompts are empty, you have a prompt-fit problem.
How to build that set — including why the core index should contain zero brand names — is the next post.
Cited URLs change even when your product does not.
If dateModified never moves on the pages you expect engines to reuse, you look stale relative to a competitor who shipped a comparison update last month.
Re-run the same frozen prompt set.
A one-day drop is noise.
A four-week slide in relative share is a freshness or corpus problem.
A one-day drop is noise.
Compare trend direction, not a single dashboard percentage.
Copy this. Work in order. Stop when a layer fails.
Write 10 category prompts with no brand name. Run each twice, logged out. Record mention, citation, competitor.
Fetch /robots.txt. Request the homepage as GPTBot and as Chrome from the same machine. Note 403, challenge, soft-404, empty shell.
View source and disable JavaScript. Confirm the primary explainer is in the raw HTML.
Compare name, domain, and one-sentence description across your site, LinkedIn, G2, Crunchbase, and Wikipedia or Wikidata. Add Organization + sameAs if missing.
List every domain cited in the 10 answers. Search those pages for your brand.
On the same 10 prompts, record who is named first and the sentiment of the sentence that mentions you.
Split branded vs category vs decision prompts. If you only win branded queries, rebuild the set.
Check dateModified on the five pages you most want cited. Re-run the frozen set in seven days.
Frequently asked questions
How long until fixes show up in AI answers?
Access and rendering fixes can take effect on the next crawl or live fetch, often days rather than months. Entity and corpus changes take longer because engines still prefer third-party sources. Treat weekly trend direction as the signal, not a single overnight answer.
Does blocking GPTBot keep me out of Google AI Overviews?
No. HasData's July 2026 AI Crawler Block Index found about 52% of sampled AI Mode cited domains disallowed at least one AI crawler in robots.txt, versus a 15% baseline. That is a declaration rate, not GPTBot-only CDN enforcement. Google retrieval is not the same path as OpenAI training crawlers.
Why does ChatGPT know my competitor but not me?
Usually one of three things. The competitor is reachable when you are not. They appear in the third-party pages the model actually cites. Or your prompt set is branded and theirs is category-shaped. Run the layers in order before rewriting the homepage.
Is llms.txt part of this?
Barely. Consensus through 2026 is that llms.txt is inconsistently fetched and rarely decisive. Fix access, rendering, and the sources engines already cite. Do not treat an llms.txt file as a visibility strategy.
Do I need a tool, or can I do this manually?
You can run a 10-prompt logged-out test and a robots.txt check by hand. A tool helps when you need repeated samples across engines, citation domains, and competitor gaps. Start manual. Instrument once the triage points at a layer you cannot see from one browser tab.
How do I know I am actually invisible?
Asking ChatGPT "do you know [brand]" is a bad test. Build a clean 10-prompt set, run it logged out, and repeat. The method is in this post and in our prompt-set guide.
A usable prompt set has 30–50 prompts, zero brand names in the core index, a frozen list, and more decision-stage questions than vanity branded queries.
The same prompt can return two answers ten minutes apart. Tools then diverge on sampling, geography, login state, provider path, and what they count as a mention. Compare trends, not one-day percentages.