A competitor gets named and you do not. It is almost never because their product is better, and it is usually not because their content is better either. Four causes explain most of what we see, and you can work out which one applies to you in an afternoon.
The useful move is comparative rather than introspective. Instead of auditing yourself, look closely at what is happening to them, because the engine will tell you more about the mechanism than any analysis of your own site will.
Reason one: they are reachable and you are not
The dullest cause and the most common. Their crawler access is clean and yours is not, usually because of a bot management rule, a security plugin default, or a rate limit added during an unrelated incident and never removed.
This is binary and verifiable. Pull thirty days of server logs and count hits by user agent. Not robots.txt, which records what you intended. If a crawler has not reached you in a month, nothing downstream matters and no content will fix it. The full separation of causes is in retrieval problem or reputation problem.
Reason two: their pages come apart cleanly and yours do not
Both of you are crawled. Their pages yield clean, self-contained passages and yours yield fragments that make no sense alone.
The tell is specific and easy to check. Ask the engine a question you should win, note which competitor page it cites, then open that page and find the actual paragraph that got used. It is almost never their best-written paragraph. It is the one that stated a complete claim without depending on the paragraph above it.
Then read the equivalent paragraph on your own page. In most cases yours opens with This means or As a result, or the number sits in a chart rather than in a sentence, or the whole section arrives via JavaScript. Those are editing problems with a fortnight-long fix, covered in answer-first writing.
The comparison that ends the argument internally
Put their winning paragraph and your equivalent paragraph side by side in a document. No commentary. It settles debates about content quality faster than any audit, because the difference is usually structural and obvious once the two are next to each other.
We do this at scale as part of a free visibility check, returning the competing passages verbatim so you can see exactly what beat you and why.
Reason three: other people vouch for them
Both crawlable, both extractable, and they still get named. Now look at where the citations point. If the engine cites their own domain, you have an extractability gap. If it cites third-party pages about them, you have a corroboration gap, and those are different problems with very different costs.
Corroboration is independent sources describing a company consistently. Industry press, research citations, conference listings, well-maintained directory records, communities. It is slow, it cannot be bought without destroying the property that makes it work, and it is what moves broad category questions.
A cheap partial fix exists and is usually neglected. The structured records that already exist about you are often wrong or contradictory, and correcting them costs nothing but attention. The fields that matter are in the Organization schema fields most companies leave blank, and you can check your own markup parses correctly with the schema validator in about two minutes.
Reason four: they are simply older
The one nobody wants and the one you should price in. A company that has existed for fifteen years, been written about continuously and filed public documents is dense in training data. A company founded three years ago is not. That is not a content gap. It is an accumulation gap.
This matters because it determines where you should compete. On unqualified category questions the older company usually wins and will keep winning for years. On constrained questions, where the buyer supplies a team size, an integration or an industry, accumulated fame helps much less and a clear page helps much more.
So the strategic answer to reason four is not to fight it. It is to change the question you are competing for. The mechanism behind why the two behave so differently is in training data versus live retrieval.
| What you observe | Reason | Cost to fix | Time |
|---|---|---|---|
| No crawler hits in your logs | One. Access | Almost nothing | Days |
| Crawled, cited pages are theirs not yours | Two. Extractability | An editing pass | Two to six weeks |
| Citations point at third-party pages about them | Three. Corroboration | Sustained effort | Two to four quarters |
| They are named with no citations at all | Four. Accumulation | Not directly fixable | Compete elsewhere |
| You win constrained questions, lose broad ones | Four, and working as expected | Nothing. This is correct | Keep going |
One caution about reading the evidence
These systems vary between identical queries, so a single observation of a competitor appearing and you not appearing is not a finding. Run each comparison at least twice, ideally in two engines, before concluding anything. The relationship between how many observations you take and how confidently you can call a difference real is standard ground, set out clearly in the NIST statistics handbook, and two runs is a compromise rather than rigour.
The other caution is about which competitor you pick. Comparing yourself to the largest company in your category will always return reason four and teach you nothing you can act on. Compare against the firm closest to your own size and age that is beating you. That comparison is the one with a fixable answer in it.
What to do tomorrow
Pick three questions you should win. Run each twice in two engines. For every answer naming a competitor, open the cited source and record one thing, which is whether the URL is on their domain or somebody else’s.
If it is mostly their domain, your work is extractability and it is quick. If it is mostly third parties, your work is corroboration and it is slow. If there are no citations at all, you are looking at accumulation and should move to constrained questions instead. That is the whole diagnostic, and it costs about an hour.
Related reading
- Why your SaaS is not showing up in ChatGPT. The longer tree, when the four reasons here do not settle it.
- The twenty prompt set. How to run these comparisons systematically rather than ad hoc.
- The five minute version. If an hour is not available this week.
Open the competitor page the engine cited. That is the whole exercise.
Most teams have never done it. They read the answer, note that a competitor was named, and draw a conclusion about content quality. The cited page usually tells you the real reason in under a minute, and it is usually structural rather than editorial.
When you want it run properly across a real sample with the competing passages pulled out side by side, send us the domain for a free AI visibility check. You keep the output either way.
