How We Increased Our AI Visibility by 48% in Four Weeks

We tracked our own AI visibility across Claude, ChatGPT, and Gemini for four weeks. Visibility rose from 18.3% to 27.0%, a 48% increase. Here's what moved it.

Taylor Manners
Taylor Manners··Updated

Every Presence account opens with the same view: a list of real questions a company's buyers ask Claude, ChatGPT, and Gemini, and how often that company's name shows up in the answer. We built that view for other people. In July we turned it on ourselves.

Over four weeks we tracked 100 prompts across all three assistants, deduplicated so a re-checked prompt never counted twice, and made a handful of specific changes along the way. Overall visibility moved from 18.3% to 27.0%, a 48% increase in how often an assistant mentioned us at all. More useful than that single number is what each assistant was actually responding to underneath it.

Two kinds of crawler visit a site, and only one can cite you live

Every major AI provider runs more than one bot. A training crawler shapes the model's general knowledge over months. A live fetch bot goes out mid conversation, the moment a user asks a specific, current question, and reads a page in real time to answer it. Our site had allowed the first kind for a while. The live fetch agents, a newer addition for most providers, weren't on the list yet: an older crawler name for Anthropic, and nothing at all for OpenAI's live search bot.

// Training-tier crawlers, already allowed
{ userAgent: 'GPTBot', allow: '/' },
{ userAgent: 'Google-Extended', allow: '/' },

// Live-fetch crawlers, added so each provider's real-time agent can read the site
{ userAgent: 'OAI-SearchBot', allow: '/' },   // ChatGPT search index
{ userAgent: 'ChatGPT-User',  allow: '/' },   // ChatGPT live fetch
{ userAgent: 'ClaudeBot',         allow: '/' },
{ userAgent: 'Claude-SearchBot',  allow: '/' },
{ userAgent: 'Claude-User',       allow: '/' },   // Claude live fetch

The change took effect right away for Claude. Allow lists work more like a switch than a dial, and Claude's direct citation rate on the same tracked prompts went from 6.9% in the two weeks before the fix to 74.9% in the two weeks after. ChatGPT was a different story: it was already citing the site directly in about 60% of its visible answers before that date, most likely because its live fetch agent had been falling back to our site's pre-existing wildcard allow rule all along, so the explicit line for it confirmed access rather than granting it.

Training-bot access and live-fetch-bot access are two separate settings, and it's worth confirming both explicitly rather than assuming a wildcard rule covers an agent the way it's supposed to. Claude's bots did not appear to fall back to our wildcard rule the way ChatGPT's did, so the gap only showed up once we checked each named agent, not the general access.

Visibility rises the closer a question sits to a purchase

We tag every tracked prompt by funnel stage: broad awareness ("what's the best AI visibility tool"), consideration ("how does it compare to X"), and decision ("how is it priced," "is there a refund policy"). Splitting the four week trend by stage tells a sharper story than the overall number does on its own.

Funnel stage4 weeks agoNow
Decision34.9%65.1%
Consideration28.7%34.3%
Awareness1.6%2.3%

Decision-stage visibility nearly doubled in a month. A question like "how is Halogen Presence priced" has one factual answer, and once a crawler can read the pricing page, an assistant can give that answer with confidence. Broad, comparison style questions like "what's the best AI visibility tool" moved much less in the same window. Those questions don't resolve to a single page with a single fact on it, so there's less for a crawler to fetch and quote even when its path to the site is wide open.

If you're deciding where to point AEO work first, the questions closest to a purchase decision are the ones most likely to have a clean, citable answer waiting on your own site already.

One page, kept current and linked, carried most of the citations

The changes weren't spread evenly across the site. A trust page, a resources hub, an FAQ pass, and a glossary each picked up a handful of citations. One page accounted for most of the rest.

PageClaude citesChatGPT citesPublished / changed
/pricing10692Existing page; dedicated per-tier landing pages added Aug 17
/presence029Product page, shipped Jul 28
/ (homepage)815Source-attributed stats, Jul 30
/trust04New page, Aug 5
/about03Linked from /resources, Aug 7

/pricing was already indexed going into this window. Adding dedicated per-tier pages underneath it on August 17 gave the live fetch bots more of the same page to work with, and citations followed within days. It ended up cited roughly five times as often as every other first-party page combined, which lines up with the funnel pattern above: pricing questions make up the largest single cluster of decision-stage prompts we track.

Before adding new pages, it's worth checking whether the page that already answers your most-asked question is current, specific, and easy for a crawler to reach. Depth on one page seems to get rewarded over light coverage spread across several.

Structured markup gave the crawlers something specific to quote

Alongside the access change, we shipped a run of structured content: FAQ schema generated automatically from question-style blog headings, a glossary page carrying DefinedTerm markup, an llms.txt file summarizing the site for language models, and a resources hub linking the pricing, trust, and product pages together.

{
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "Does Halogen Presence offer citation tracking?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Yes. Presence records every citation..."
    }
  }]
}

Questions with one direct, factual answer, like whether we offer citation tracking or track prompt-level visibility over time, started resolving to visible on Claude and Gemini within days of the pages carrying that markup going live. Schema doesn't do anything on its own if a crawler can't reach the page, but once it can, structured markup seems to shorten the distance between a fact sitting on the page and that fact showing up in an answer.

Claude and ChatGPT fetch your page. Gemini reads Google's index of it.

The access change accounts for Claude's jump. ChatGPT already had a path to the site before that fix, so its overall visibility gain has more to do with the content and indexing changes above than with the allow list. Gemini's gain has a different source again: it never linked to our site directly, not once, across four weeks of visible answers.

Direct first-party citations, over the same window: Claude and ChatGPT linked to halo-gen.ai in roughly half of their visible answers about us. Gemini's rate was 0%, every citation ran through Google's own search-grounding redirect.

Gemini's own visibility still moved the most of the three in relative terms, from 4.0% to 19.0%. Gemini's grounding tool runs a live Google Search at the moment a question comes in and reads whatever ranks, which means it draws on the same crawl and index Google Search has always used rather than sending its own bot to fetch a page on the spot. That means the allow list fix that mattered for Claude doesn't touch Gemini at all. There's no separate Gemini crawler to permit. There's a second, quieter permission sitting on top of the one every site already knows: Google-Extended, a robots.txt token that doesn't fetch anything itself but governs whether content Googlebot already crawled can be used for Gemini's training and grounding. A page can rank normally in Search while sitting out of Gemini entirely if that token is disallowed. Ours had been allowed the whole time, so it was never the blocker here. What moved Gemini was the ordinary work of staying well indexed.

The changes that lined up with Gemini's climb were the ordinary kind. A sitemap entry and header nav link for the new /presence page. A sitemap entry and footer link for the new glossary page. A resources hub adding internal links to the pricing, trust, and product pages all at once. None of it was written for an AI bot. It's the same sitemap hygiene and internal linking that has driven organic search rankings for a decade, and it's still doing that job. What's changed is what now sits on the other end of that work: not only a ranked link on a results page, but the source Gemini reads from when it answers a question about a company directly.

Direct crawler access and search-index presence are two different mechanisms, and tracking both at once made it possible to tell which one moved a given answer. Claude responds to what a site's own allow list permits in the moment. Gemini responds to what Google's index already holds about the page, gated by a permission most sites set once and forget about. The sitemap coverage, internal linking, and crawl freshness that search teams have maintained for years are now doing double duty: feeding a results page and an answer engine from the same index.

What this looked like from inside our own dashboard

Halogen Presence dashboard showing AI Visibility, Site Health, Website Clarity, and Sentiment scores, plus a 30-day visibility trend chart tracking 100 prompts across Claude, ChatGPT, and Gemini

Every number above came from the same 100-prompt, three-provider tracking that runs for every Presence account. We happened to be the account under the microscope this time. The access gap, the concentration on one page, the split between direct citation and search-index pickup: none of it was visible from outside the site. It showed up once something was checking, daily, whether an assistant would say our name, and logging which page, if any, it pointed to.

If you want the same view for your own brand, see what it costs or look at how Presence tracks this.

Taylor Manners is co-founder and CTO of Halogen. He brings 10+ years of experience at Amazon Video, Prime Gaming, and Sports, where he built and scaled enterprise-grade platforms. He leads Halogen's technical direction with deep expertise in AI systems, platform architecture, and real-time data pipelines.