Here's a scenario every brand eventually hits: you and a competitor publish near-identical posts on the same topic. Theirs gets quoted by ChatGPT and Perplexity. Yours never shows up. Same words, opposite outcome. Why?
The text reading "similar" to a human is not what the model retrieves on. The reasons split into two layers.
Layer 1: the content & brand
Several things separate the cited post from the invisible one, and most have little to do with the prose:
- Entity strength of the brand, not the post. Engines lean heavily on how well-established you are as an entity. Brand search volume, a Wikipedia/Wikidata presence, how often your brand co-occurs with the topic across the web. If your competitor is already a recognised name for "expense cards" and you aren't, their post inherits that authority even with identical wording.
- Off-site corroboration. There's a strong, documented bias toward third-party authoritative sources. If a claim is echoed on Reddit, G2, news, and review sites, the model treats it as corroborated and is comfortable citing it. The same claim sitting only on your own site reads as a lone, self-interested assertion.
- Specificity. Engines favour verifiable, numeric, named claims. "Cut onboarding from 9 days to 36 hours across 1,200 customers" gets pulled; "streamlines onboarding" doesn't. Even in otherwise similar posts.
- Structural retrievability. Retrieval works on passages, not whole pages. A post that answers the question in one clean, self-contained chunk. Clear question-style headings, an answer-first paragraph, schema markup. Beats one where the answer is diffused across the page.
- Freshness. There's roughly a three-month citation cliff: recently updated content gets favoured, and "publish and forget" posts decay. A refreshed page holds its citations.
- Crawler access. The mundane, decisive one: if the competitor is retrievable and you're blocking the crawler (or got caught by a CDN default-block), your content simply isn't in the index.
Layer 2: the platform
Even with identical content, the engines don't share one mechanism, so outcomes legitimately differ:
- Trained-in vs. retrieved-live. A post absorbed into a model's training data (directly or via Common Crawl) can be "known" without any live search. A post that missed that window only appears if it's in the live index. Your competitor might be cited simply because they made an older training snapshot you didn't.
- Different retrieval backends. Perplexity and ChatGPT-search run their own real-time indexes and favour fresh, well-structured pages with clean source links. Google's AI Overviews lean on Google's existing index and classic ranking signals. Gemini weights the Google ecosystem. The same page can rank in one and not another.
- Different source policies. Some engines over-weight earned media and high-authority domains; some prefer recency. Perplexity is notably citation-hungry; ChatGPT is more selective; AI Overviews favour entities already strong in Google.
- Different crawler permissions. Allow
OAI-SearchBotbut blockClaudeBot, and you'll appear in ChatGPT but be absent from Claude. Purely arobots.txtartifact, not a quality signal (see the crawler lifecycle).
How to actually diagnose it
Don't guess. Compare:
- Crawler access for both URLs (robots.txt + CDN + rendering).
- Index presence: ask the same prompt across ChatGPT, Claude, Perplexity, and Gemini and log who gets cited.
- Off-site mentions for each brand + topic.
- Structural & specificity signals on each page.
If the gap is consistent across every engine, it's content or entity strength. If it's specific to one or two engines, it's almost always crawler access or index coverage. The easier of the two to fix.
That cross-engine comparison. Same questions, tracked over time, logging exactly who gets cited and where. Is precisely what Buffy Intel does, so you're acting on a diagnosis instead of a hunch.