Live Case Study

The Loop Closing on Itself: How We Got Cited by ChatGPT (and It Brought Real Users)

A documented, end-to-end case study of running our own AEO playbook on AIExposureTool. We took our score from 56 to 91, shipped 8 technical reference docs, and ChatGPT started citing them — bringing real users back to our product. This is the complete circle, with real data.

By AIExposureTool teamPublished on April 16, 2026Updated on May 7, 202614 min read
On this page

TL;DR — what happened, in one paragraph

We built AI Exposure Tool to help products get cited by AI engines. The honest first move was to use it on ourselves. In April 2026 we audited aiexposuretool.com, found a 56/100 score, and rebuilt the AEO posture from scratch — robots.txt, llms.txt, JSON-LD, FAQPage schema, EEAT pages, the whole stack. Score climbed to 91. Then we shipped 8 deep technical reference docs at /docs/*. Two weeks later, ChatGPT started citing our docs in its answers, and real users — both solo developers in the agency category, exactly our ICP — clicked through and signed up. One ran 5 audits and set up project tracking on day one. The loop closed: the playbook the platform sells, demonstrated on the platform itself.

The headline

Score 56 → 91. 8 technical reference docs shipped. 2 confirmed ChatGPT-attributed signups with firstReferrer chatgpt.com. Real users finding us through ChatGPT citing the exact pages we wrote to be cited. The flywheel works on us — which is the whole pitch.

56 → 91

Score gain

8

Technical docs shipped

2

ChatGPT-attributed signups

Day 1

Time from signup to active use (User A)

Act 1Auditing ourselves — 56 to 91 in 4 weeks

On March 15, 2026, we ran our own tool on aiexposuretool.com. Score: 56/100. For a tool that promises to fix AEO, the result was humbling.

The audit found:

  • robots.txt did not explicitly allow AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended)
  • No llms.txt — AI had no first-party brief to read
  • No JSON-LD structured data — no SoftwareApplication, Organization, or FAQPage
  • No FAQ schema markup
  • No comparison pages
  • Zero social proof visible to crawlers

We had 870 Google Search impressions and growing. But when we asked ChatGPT, Perplexity, Gemini, and Copilot about AI visibility tools, we did not appear in any answer. SEO traction without AEO traction.

Over four weeks (March 15 → April 16), we worked through every category. The score climbed, dipped on redesigns, recovered, and peaked at 91 on April 16 after a focused 4-hour fix session.

Score timeline

56

Mar 15

Day 1

First scan. No llms.txt, no JSON-LD, no FAQ schema. AI crawlers not explicitly allowed. Starting from scratch.

66

Mar 15

Day 1+10 pts

Added robots.txt rules for GPTBot, ClaudeBot, PerplexityBot, Google-Extended. +10 points in 5 minutes.

86

Mar 15

Day 1+20 pts

Deployed llms.txt + JSON-LD structured data. +20 points. From 56 to 86 in one afternoon.

79

Mar 20

Day 5-7 pts

Homepage redesign broke content structure. React components replaced crawlable text. Score dropped.

89

Mar 21

Day 6+10 pts

Fixed content, added FAQ schema, created comparison pages. Recovery + improvement.

91

Mar 23

Day 8+2 pts

Peak score. Added social profile links, review platform presence (Product Hunt), comparison content. All AI crawlers allowed.

84

Apr 1

Day 17-7 pts

Major feature launch — new React components increased JS ratio, dropped text-to-HTML ratio to 1%. Score dipped.

78

Apr 9

Day 25-6 pts

More features shipped. Trust signals section removed during redesign. Score dropped further.

78

Apr 16 (AM)

Day 32

Starting point for the fix session. 870 Google impressions, 0 confirmed AI mentions. Identified 7 failing checks worth 29 points.

91

Apr 16 (PM)

Day 32+13 pts

Back to peak in one afternoon. +13 points by fixing 7 checks: testimonials, metrics, trust line, integrations page, case study, FAQPage schema, dense answer-first content.

91

Apr 25

Day 41

First ChatGPT-attributed signup. firstReferrer=https://chatgpt.com/. Landed on the homepage with utm_source=chatgpt.com.

91

May 6

Day 52

Second ChatGPT-attributed signup. Landed on /docs/llms-txt directly from a ChatGPT answer. Ran 5 audits, set up project tracking. The loop fully closes.

91

May 7

Day 53

Shipped 5 additional /docs reference pages: llm-json, json-ld-for-aeo, per-llm-citation-behavior, ai-exposure-score, answer-engine-glossary. More citation surface area.

Every fix, with time and impact

FixTimeImpact

Allowed AI crawlers in robots.txt

Added GPTBot, ClaudeBot, PerplexityBot, Google-Extended, meta-externalagent. Went from blocked to fully accessible.

5 min+10 pts

Deployed llms.txt

Auto-generated from our audit, then edited for accuracy. 3,211 characters covering product name, features, pricing, audience.

10 min+8 pts

Added JSON-LD structured data

SoftwareApplication schema with real pricing, feature list, aggregate rating. Organization schema with sameAs links.

15 min+12 pts

Created FAQ schema

10 questions covering pricing, features, competitors, free plan. FAQPage JSON-LD in the homepage head.

20 min+5 pts

Built comparison pages

Created /compare/otterly, /compare/peec-ai, /compare/evertune with feature tables and honest pros/cons.

2 hrs+3 pts

Added social profile links

Twitter/X, LinkedIn, GitHub, Product Hunt in footer and Organization schema sameAs.

5 min+3 pts

Listed on Product Hunt

Free launch listing. Gets indexed by Google and cited by AI as third-party validation.

30 min+3 pts

Added testimonials in crawlable HTML

Apr 16 — 3 real customer testimonials with names, roles, and companies inside <blockquote> tags. AI needs social proof it can parse, not images or JS.

30 min+5 pts

Added quantifiable metrics

Apr 16 — '1,000+ sites scanned', '25+ signals', '7 platforms', '60s' in plain text headings.

10 min+5 pts

Added customer mention trust line

Apr 16 — 'Trusted by founders, agencies, and growth teams building with Cursor, Claude, and Lovable' in crawlable HTML.

15 min+5 pts

Created /integrations page

Apr 16 — Full integrations page listing all 7 AI platforms and 7 infrastructure services with descriptions.

30 min+3 pts

Created /case-study page (this page)

Apr 16 — Living case study documenting the journey. EEAT signal + meta proof that the process works.

1 hr+2 pts

Created /about page with EEAT content

Apr 16 — Dedicated About page with AboutPage JSON-LD, ~800 words of crawlable EEAT content.

45 minincluded

Added FAQPage schema to homepage FAQ

Apr 16 — FAQ now renders with FAQPage JSON-LD and answers always present in HTML so AI crawlers extract them without JavaScript.

15 minincluded in +5

Added answer-first intros to all sections

Apr 16 — Dense fact-first paragraphs to Problem, HowItWorks, WhatYouGet, WhoItsFor.

30 min+4 pts

Shipped /docs/llms-txt technical reference

Apr 18 — Deep technical reference with TechArticle + BreadcrumbList + FAQPage JSON-LD. Started getting cited by ChatGPT within 7 days.

2 hrscitation surface

Shipped /docs/ai-crawlers + /docs/robots-txt-for-ai

May 6 — Two additional reference docs covering crawler IPs, user-agent strings, and robots.txt directives.

3 hrscitation surface

Shipped 5 new /docs reference pages

May 7 — llm-json spec, json-ld-for-aeo, per-llm-citation-behavior, ai-exposure-score, answer-engine-glossary. Each with full TechArticle + FAQPage JSON-LD.

4 hrscitation surface

Act 2Shipping citation-bait technical docs

A 91 score is hygiene. Hygiene is necessary but not sufficient — AI engines also need something to cite. The next move was to publish technical reference content in the exact format ChatGPT and Perplexity prefer to surface in answers: deep, comprehensive, with structured data.

Between April 18 and May 7, 2026, we shipped 8 technical reference docs at /docs/*:

Every doc shipped with three JSON-LD blocks: TechArticle (or with proficiencyLevel), BreadcrumbList, and where applicable FAQPage. Every doc was internally cross-linked at the footer. Every doc led with the answer in the first paragraph (answer-first content is the single highest-citation factor).

Total time investment: roughly 18 hours. Total citation surface area created: 8 deep, structured pages aimed precisely at how ChatGPT structures answers about technical AEO topics.

Act 3ChatGPT cites us — and brings users back

On April 25, 2026, the first ChatGPT-attributed signup landed.

We track this by writing firstReferrer, firstReferrerDomain, utmSource, and firstLandingPath to every UserLead record in our database. When a user signs up, we know exactly where they came from. The first one had:

firstReferrer:        https://chatgpt.com/
firstReferrerDomain:  chatgpt.com
utmSource:            chatgpt.com
firstLandingPath:     /?utm_source=chatgpt.com

ChatGPT cited our content in an answer. The user clicked through. They signed up. Eleven days later, on May 6, 2026, the second ChatGPT-attributed signup arrived — this one landing directly on /docs/llms-txt:

firstReferrer:        https://chatgpt.com/
firstReferrerDomain:  chatgpt.com
utmSource:            chatgpt.com
firstLandingPath:     /docs/llms-txt?utm_source=chatgpt.com

That one is the proof point. ChatGPT got asked something about llms.txt, cited our docs page in the answer, the user clicked the citation, landed on the page, and signed up. The exact outcome we promise customers — happening to us, demonstrably, with full attribution.

The users who came through

Both users are anonymized below for privacy. Both are real, both are in the database, both are exactly our target ICP — solo developers / small agencies who needed AEO help.

User A

May 6, 2026
Landed on: /docs/llms-txt
Referrer: https://chatgpt.com/
UTM: utm_source=chatgpt.com
Profile: Solo developer · agency category

Activity: Signed up. Ran 5 audits on their own domain (score 70-72). Ran 1 security scan. Created a project for tracking. Active engagement on day 1.

User B

April 25, 2026
Landed on: /
Referrer: https://chatgpt.com/
UTM: utm_source=chatgpt.com
Profile: Agency category

Activity: Signed up. Ran 1 audit on their domain (score 48). Set up tracking for that domain.

Both users skipped Google entirely. They asked ChatGPT, ChatGPT cited us, they came directly. The single reason they exist as users is that the AEO playbook worked.

Why this is the complete circle

Most product companies talk about AEO as a thing they do for customers. We can show it as a thing the platform does to itself:

  1. 1.The product measures how AI engines see and describe a website.
  2. 2.The audit on ourselves found everything broken (56/100). We fixed it (91/100).
  3. 3.The docs we wrote (the AEO playbook itself) became the citation surface ChatGPT could see.
  4. 4.ChatGPT cited those docs when users asked AEO questions — exactly as the playbook says it would.
  5. 5.Users clicked through the ChatGPT citation, signed up, and started auditing their own sites — bringing them into the same flywheel we just demonstrated.

The platform is the proof. The proof is the platform.

How to replicate this for your product

This is the playbook in five lines:

  1. Audit yourself. Run your AI Exposure Score. Most sites land 50-70. Whatever the gap is, fix it before doing anything else.
  2. Ship the hygiene. robots.txt allows AI crawlers, llms.txt deployed, JSON-LD on every page (Organization + the relevant content type), FAQPage where you have Q&As. This alone gets you to ~85.
  3. Build citation surface area. Write technical reference docs about your category in the format AI engines cite — deep, comprehensive, with TechArticle + FAQPage JSON-LD. Cross-link them. Lead every page with the answer.
  4. Wait 1-2 weeks. AI engines re-crawl on a 7-14 day cycle. That's your indexing window. Don't evaluate before week 3.
  5. Track who comes through. Write firstReferrer, firstReferrerDomain, and utmSource on every signup. When ChatGPT, Perplexity, or Claude cites you, you'll see it in your data immediately.

That's exactly what we did. It worked on us. It will work on your product.

Current state — what is working, what is not

Passing (10 checks)

  • AI Crawl Access: 27/27 — all major AI crawlers explicitly allowed
  • Structured Data: 33/33 — SoftwareApplication, Organization, and FAQPage JSON-LD deployed
  • llms.txt, llm.json, and llms-full.txt all deployed at site root
  • 8 technical reference docs at /docs/* with TechArticle + BreadcrumbList + FAQPage JSON-LD
  • Sitemap present, robots.txt allows all AI crawlers, no WAF blocking
  • Product Clarity: 13/15 — clear H1, features described, pricing page crawlable
  • Trust & Social Proof: testimonials with real names, quantifiable metrics, customer mention line in crawlable HTML
  • EEAT: comparison content at /compare, /about page, /case-study page, /integrations page, social profiles linked
  • Answer-first content: dense intro paragraphs on Problem, HowItWorks, WhatYouGet, WhoItsFor sections
  • Confirmed ChatGPT citation traffic: 2 attributed signups (Apr 25, May 6) with firstReferrer chatgpt.com

Still working on (2 items)

  • Text-to-HTML ratio still on the low side (React-heavy homepage) — targeting further improvement
  • Customer logos (image logos of named customers) — pending real customer permissions

What we are shipping next

Continue shipping new /docs reference pages monthly

4 hrs each · Expected: more citation surface

Ongoing

Track which docs ChatGPT cites most via firstLandingPath

5 min weekly · Expected: data → strategy

Ongoing

Add Bing Webmaster Tools sitemap (ChatGPT search uses Bing)

10 min · Expected: +10-15 ChatGPT pickups

This week

Further reduce text-to-HTML ratio (more SSR content)

2 hrs · Expected: +2-3 pts

This month

Collect permissioned customer logos

ongoing · Expected: +5 pts

When customers agree

Key learnings

  1. Hygiene gets you to 85. Citation surface gets you cited. A perfect technical AEO posture without quality reference content gives you visibility but not citations. The docs are what ChatGPT actually quotes.
  2. llms.txt + JSON-LD = instant 20+ point jump. The two highest-ROI changes any site can make. Five-minute, 12-minute fixes.
  3. Redesigns kill scores. Every homepage redesign dropped our score because new React components reduced text-to-HTML ratio. Ship content alongside code.
  4. Trust signals are the hardest to earn. Technical fixes take hours. Social proof takes weeks of real customer relationships. Worth investing in early.
  5. Score fluctuates and that is normal. We have been between 78 and 91. Continuous monitoring catches regressions that otherwise go unnoticed.
  6. Google impressions ≠ AI mentions. We had 870 Google impressions before our first AI citation. SEO and AEO are different games with different signals.
  7. Track firstReferrer or you won't see the wins. Without referrer tracking, the two ChatGPT signups would have looked like "direct traffic" — invisible.

FAQ

Did ChatGPT really cite your docs?

Yes. We track AI referral traffic by checking firstReferrer, firstReferrerDomain, and utmSource on every signup. Two confirmed users came in with firstReferrer https://chatgpt.com/ and utmSource chatgpt.com — meaning ChatGPT cited our pages in its answer and the users clicked through. The first landed on /docs/llms-txt, the second on the homepage.

How long did it take from publishing the docs to ChatGPT citing them?

Roughly 7-14 days from publish to first citation. We shipped /docs/llms-txt in mid-April 2026; the first ChatGPT-attributed signup arrived April 25. The second arrived May 6, the day we shipped 5 additional /docs reference pages.

What kinds of users came through ChatGPT?

Both were exactly our target ICP — solo developers in the agency category. One signed up, ran 5 audits on their own site, and set up project-based tracking. The other ran an audit on their domain. Both selected agency as their product category during onboarding — the same category our content targets.

What did we do differently to get cited?

Three things. (1) Wrote technical reference docs at /docs/llms-txt, /docs/ai-crawlers, /docs/robots-txt-for-ai etc. — the exact format ChatGPT prefers to cite. (2) Shipped TechArticle + BreadcrumbList + FAQPage JSON-LD on every doc. (3) Hosted on a domain with strong AI crawler access (no GPTBot/ClaudeBot/PerplexityBot blocks) and a current llms.txt and llm.json.

How can my product earn the same outcome?

Run an AI Exposure Score audit, fix crawl access first, ship llms.txt and JSON-LD, then publish technical reference content in the format AI engines cite (deep, comprehensive, with FAQ schema). Track which pages ChatGPT cites by monitoring firstReferrer in your analytics.

Run the same playbook on your product

Free AI visibility audit in 60 seconds. Score, blockers, and auto-generated llms.txt + JSON-LD. The exact starting point we used on ourselves.

Share this article

Free newsletter

AI visibility tactics, every Tuesday

One email a week — what's moving the needle in ChatGPT, Perplexity, and Gemini. No fluff, no spam.

Join founders building visibility in AI search. Unsubscribe anytime.

AI

Track your visibility

See if ChatGPT recommends you — in 60s

Free 25-signal scan + auto-generated llms.txt, JSON-LD, and FAQ schema. No card required.

Run free audit

Used by 1,000+ teams to improve AI search visibility.