Search “how to get cited by ChatGPT” and you'll get the same article forty times: add schema markup, write answer-first paragraphs, post on Reddit, add llms.txt, get brand mentions. Every one of them is a prescriptive checklist written by a marketer. Almost none of them actually measured anything.
I'm a builder, not a marketer. So instead of reading another checklist, I did the obvious engineer thing: I wrote a script to test whether AI engines actually cite my startup — across ChatGPT, Claude, Perplexity, and Gemini — using the real questions our buyers type into AI. This post is the code, the honest results (including the parts that look bad), and what the data says actually moves the needle.
Spoiler, because I'm not selling you a tool in this paragraph: getting cited isn't an SEO problem. It's a distribution problem.Here's how I know.
The setup: measure, don't guess
Every AI engine with a live search returns the sources it cited — you just have to read them from the API instead of the chat UI:
- Perplexity returns a
citationsarray (andsearch_resultswith URLs). - OpenAI (Responses API + web_search) returns
url_citationannotations tied to the answer text. - Anthropic (Claude + web_search) returns citation objects on its text blocks.
- Gemini (with the google_search tool) returns
groundingChunkswith source URIs.
So the test is simple: ask each engine the questions your buyers actually ask, then check whether your domain shows up in the citation URLs it returns. Here's a stripped-down starter you can run today against Perplexity (the cheapest to begin with). No paid GEO tool involved:
// test-citation.mjs — node test-citation.mjs
// Does Perplexity cite your site for the questions your buyers ask?
const DOMAIN = "yourstartup.com";
const QUERIES = [
"best tools for <your category>",
"how do founders solve <the problem you fix>",
"alternative to <your closest competitor>",
];
async function cited(query) {
const r = await fetch("https://api.perplexity.ai/chat/completions", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.PERPLEXITY_API_KEY,
"content-type": "application/json",
},
body: JSON.stringify({ model: "sonar", messages: [{ role: "user", content: query }] }),
});
const d = await r.json();
const urls = [...(d.citations || []), ...((d.search_results || []).map(s => s.url))];
return urls.some(u => (u || "").includes(DOMAIN));
}
for (const q of QUERIES) {
console.log((await cited(q) ? "CITED " : "absent ") + q);
}Swap in OpenAI's Responses API or Gemini's grounding the same way and you have a four-engine citation tracker for the price of a few API calls. That's the whole thing the $99–$2,000/month tools do at the core — the expensive part they add is scraping the consumer chat UI, which is a different (and harder) measurement. For a builder checking direction, the API version is plenty.
The honest results (including the bad parts)
I ran this across ~20 real buyer questions — the actual phrasings our customers use, like “how do I get my first 100 customers,” “best tools to help founders get customers,” “how to rank in ChatGPT” — on all four engines. Here's the real snapshot, warts and all:
- ChatGPT cited our domain on 2 of 18 unbranded questions.
- Perplexity cited us on 1 of 18.
- Claude: 0 of 18.
- Gemini: the run errored out (free API key got auto-suspended mid-test — itself a useful lesson about doing this for real).

Not a vanity flex. But here's the part that taught me everything: every citation we did earn was on a case-study question— “how did Clay grow without ads,” “how did Lovable reach $400M ARR” — where we'd published deep, sourced teardowns. On the questions that actually matter for our business (“best tools to get customers,” “how do I get my first 100”), we were invisible on all four engines.
Two patterns fell out immediately, and they match the big public studies:
- The four engines barely agree. ChatGPT cited us on different questions than Perplexity did. That tracks with the data: only ~11% of domains are cited by both ChatGPT and Perplexity, and the top 15 domains soak up ~68% of all citations (LLM Pulse; Semrush). There is no single page that wins every AI.
- Original, sourced content gets cited; sales pages don't. Our teardowns (real numbers, named sources) earned every citation we got. Our “here's our product” pages earned none.
What the data says actually works — and what's oversold
Once you're measuring, you can check the standard checklist against real evidence instead of vibes. Two of the most-recommended tactics are, bluntly, oversold:
- Schema markup. Ahrefs tested ~1,900 pages against controls and found adding schema correlated with slightly fewer AI citations, not more (Ahrefs; Digiday).
- llms.txt. Otterly's experiment found no positive effect, and that AI crawlers requested the file in only ~0.1% of visits; Google has publicly said it doesn't use it (Otterly; Search Engine Land).
To be clear — we still ship schema and an llms.txt on this very site. But we treat them as what they are: cheap, one-time hygiene you automate with a template and forget. They are table stakes, not the lever. Anyone selling them as “the way to win ChatGPT” is selling you the easy part.
What the same studies say does correlate with getting cited is uncomfortable for an on-page checklist:
- Brand mentions across the web correlate with AI visibility roughly 3× more strongly than backlinks (Ahrefs 75,000-brand study; Profound).
- YouTube mentions showed the single strongest correlation of any factor Ahrefs measured.
- Distributing the same content across multiple publications can lift citations by up to 325% versus publishing only on your own site (Ahrefs).
- Reddit is the most-cited domain across models — around 40% of citations on some — and ChatGPT's single most-cited source is Wikipedia (Search Engine Land; Semrush).
- AI citations are decoupled from Google rank: only ~12% of AI-cited URLs sit in Google's top 10 (Ahrefs).
The reframe: getting cited is a distribution problem
Look at that list again. Brand mentions across the web. YouTube. Cross-publication distribution. Reddit. Almost none of it lives on your site. You cannot schema-markup your way into being mentioned on Reddit, and you cannot llms.txt your way onto YouTube.
That's the whole point: getting cited by AI is not an on-page optimization problem. It's a distribution problem. AI assembles answers from the places it trusts across the internet — and whether you show up there is a function of how widely and credibly your work is distributed, not how clean your markup is. The teardowns we wrote got cited because they were genuinely useful, sourced, and shareable — i.e., distributable — not because of a meta tag.
And it's not a one-time job. Profound found that for a given query, 40–60% of cited domains change month to month, and 70–90% turn over within six months. Citation is a moving target you have to keep feeding — a system you run, not a checklist you complete once.
What I'd tell a founder to actually do
- Measure first. Run the script above against your real buyer questions, per engine. You can't improve what you're not tracking, and the per-engine differences will surprise you.
- Do the hygiene once, cheaply. Schema, sitemap, llms.txt, clean meta — automate them with a template and never think about them again. They're table stakes.
- Then spend your real effort on distribution. Get genuinely useful, sourced work into the places AI pulls from: original data on your own site, real participation on Reddit, mentions in other people's articles, founder presence on LinkedIn and YouTube. That's where the 3× and 325× numbers live.
- Keep feeding it. Because cited domains turn over fast, treat this as a system you run continuously, not a launch you finish.
Where Runnax fits
Here's the honest version, since I promised not to oversell: I tested my own startup and found we're cited 2/18 on the engine that likes us most, and invisible on the questions that matter. The data told me why — it's a distribution gap, not a markup gap. That gap is exactly what Runnaxis built to close: it diagnoses why customers (and AI) aren't finding you, finds what's actually working in your space, and runs the deterministic distribution system that gets you mentioned where it counts — so distribution compounds while you keep building. We're running this on ourselves, in public, with the numbers above. It's a long game; this post is part of it.
Sources: Ahrefs (AI brand visibility correlations; most-cited pages; AI/Google rank overlap; schema test); Otterly (llms.txt experiment); Profound (AI platform citation patterns); Search Engine Land & Semrush (most-cited domains); LLM Pulse (top cited domains); Princeton GEO (Aggarwal et al., ACM KDD 2024). External figures are reported from those sources and not independently verified by Runnax; the per-engine results are our own measurement and a point-in-time snapshot.