AI Visibility Tracking ToolFree checker

Agency AI Visibility Reporting: What to Show Clients and What to Leave Out

99Visibility Research · Updated October 21, 2026 · 8 min read

Agency AI visibility reporting should show three things you can verify: the fixes you shipped and when, whether each AI crawler can reach the client's site, and which facts each AI platform gets wrong about the brand. Show first-party numbers like Search Console impressions as labelled context. Never report an AI rank or position, and never promise a citation lift. Nobody outside the platforms can measure either one honestly.

What an AI visibility client report should contain

A good AI visibility report separates the agency's work from the platforms' behavior. Your work is removing blocks and correcting facts. The platforms decide what to retrieve and cite, and they don't tell anyone how.

That split matters because of what the research shows. A July 2026 critical survey of 45 GEO studies (arXiv:2607.14035) found that no reviewed technique shows a stable, longitudinal, cross-platform causal effect on organic discoverability. So a report that credits the agency for citation changes is claiming something the evidence does not support.

Structure every client report around three columns:

Report as your work Show as labelled context Leave out
Fixes shipped, with deploy dates Google generative AI impressions from Search Console Any AI "rank" or "position"
Access status per AI crawler Bing AI Performance citations and grounding queries Promised citation or traffic lift
Wrong facts found, fixed, still open Per-engine audit results on a fixed prompt set E-E-A-T or domain authority "scores"

If you resell this work under your own brand, the same rules apply. Our guide to white-label AI SEO covers what to check before you put your logo on a vendor's numbers.

How to build the monthly client report

Use the same sequence every month so the numbers stay comparable.

  1. Freeze the prompt set and conditions. Use the same buyer questions each month. Run them logged out with memory off. Retrieval is discretionary per query on every platform, so note whether each answer showed citations. An answer without citations may come from the model's frozen training data.
  2. Run access checks for every AI crawler. Use the checklist in the next section. Record a pass or fail per bot, not one overall verdict.
  3. Log every fix shipped. Write what changed, which URLs, and the deploy date. This is the spine of the report.
  4. Audit accuracy per engine. Record each wrong fact, the engine that stated it, and its severity. Note how many answers actually returned.
  5. Pull first-party data by hand. Export the Search Console generative AI report and the Bing Webmaster Tools AI Performance report. As of August 2026, neither report had an API, so plan for manual exports or screenshots.
  6. Write the change log. For each movement, state what changed, what you did before it, and what you cannot attribute.

The monthly AI visibility report template lays these steps out as a fill-in document. If you manage many brands, read whether AI visibility reporting can be automated before you promise clients a dashboard.

Access status checklist

Access is where the evidence is strongest, and it is the section clients should read first. Check each item per crawler and record the result.

  • robots.txt, bot by bot. Confirm OAI-SearchBot, PerplexityBot, Claude-SearchBot, Meta-WebIndexer, Googlebot and bingbot are allowed. Report training bots (GPTBot, ClaudeBot, Google-Extended) separately. OpenAI states that each of its crawler settings is independent of the others.
  • Firewall and CDN. Request a page as each crawler and confirm a 200, not a 403 or a challenge page. A firewall can block a crawler that robots.txt allows.
  • Cloudflare defaults. From 2026-09-15, Cloudflare blocks Training and Agent crawlers by default on ad-displaying pages for new domains and existing free-tier customers. A client can lose access without editing anything.
  • Rendering. Confirm prices, product names and key claims appear in the raw HTML. Vercel found ChatGPT and Claude crawlers fetch JavaScript files but don't execute them.
  • Snippet controls. Check for stray noindex, nosnippet, max-snippet:0 and data-nosnippet. Bing says content marked data-nosnippet is excluded from AI summaries.
  • Google eligibility. Google requires a page to be indexed and snippet-eligible to appear as a supporting link in AI Overviews or AI Mode. Also confirm the Search Console generative AI control isn't opted out or inherited from a parent property.
  • Bing index. Check Bing Webmaster Tools separately. Bing backs Copilot answers.

A common real-world error looks like this in robots.txt:

User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Allow: /

That combination is fine: it blocks training and keeps ChatGPT search eligibility. A blanket block on every AI bot is not. To test firewall behavior quickly, 99Visibility's free AI Crawler Checker requests a page as each AI crawler and shows which ones get turned away.

Reporting accuracy changes honestly

Clients care most about what AI says about them. Report wrong facts by engine and by type: pricing, product names, founding year, headquarters, ownership, and confusion with a competitor.

Get the denominator right. Report the error rate as flagged answers divided by answers that actually returned, not answers requested. A raw penalty count punishes a client for buying more prompts, because a bigger sample finds more errors at the same rate. Keep one critical error visible on its own line so it isn't averaged away in a large sample.

Then report what you fixed on the client's side:

  • Contradictions between the pricing page, about page, footer and markup.
  • Key facts stated plainly on a page crawlers can fetch. A specific fact (a price, a number, a one-line definition) gives an engine a sentence it can quote.

Be plain about the limit. An answer given without live retrieval comes from the model's training data. OpenAI's model docs list a February 16, 2026 knowledge cutoff for the GPT-5.6 family and August 31, 2025 for the Instant path. A fact corrected today may not reach those answers until a future model ships.

Attribution: what you can claim and what you cannot

Write attribution in one fixed form: "We fixed X on this date. Since then, Y changed. We cannot show X caused Y." Clients trust that sentence more than a confident chart.

Never report an AI position

Google's generative AI report in Search Console shows impressions only, with no clicks, CTR or position. No tool has ground truth for a rank inside an AI answer. Our walkthrough of Search Console's generative AI report explains what the numbers do cover.

Never promise a citation lift

Tactics sold as citation boosters have tested badly. Ahrefs' matched-control study found AI Overview citations fell 4.6% after pages added schema. Don't put schema, llms.txt or content rewrites in a report as citation wins.

Never blend engines into one number

In Otterly's 2026 experiment, Microsoft Copilot produced 2,718 of the 3,934 tracked citations for one test site, while ChatGPT, Gemini, AI Overviews and AI Mode almost never cited it. Microsoft's own report counted 42,817 citations for the same site. A prompt tracker is a sample, and a blended score hides which engine moved.

When the client's leadership wants one slide, use the framing in reporting AI visibility to your CEO.

What good and bad results look like

Good

  • Every retrieval crawler gets a 200 on sampled pages, and robots.txt matches the client's intent.
  • Load-bearing facts sit in the raw HTML.
  • The fix log shows dated changes, each tied to a specific finding.
  • Critical wrong facts are closed or tracked with a named owner.
  • Impressions and citations are reported per engine, with the caveats stated.

Bad, even when it looks good

  • A single blended score rose while nothing in access or accuracy changed. That is noise or prompt drift, not progress.
  • Citation Share in Bing went up. Microsoft calls it an observational metric, not a competitive scoreboard, and it can fall while absolute citations rise.
  • A month-on-month comparison uses a different prompt set or a changed scoring formula.

Bad

  • OAI-SearchBot gets a 403 behind the CDN, a complete and silent failure for ChatGPT search.
  • Pricing renders only after JavaScript runs.
  • A new wrong fact appears on one engine and nobody flagged it.

A falling citation count is not automatically a failure. Report it, check access first, then say what you can and cannot explain.

How often to repeat it

Match the cadence to how fast each thing breaks.

  • After every deploy, CDN change or vendor default change: rerun access checks. These failures are silent and total.
  • Weekly, for active clients: a quick crawler reachability sample.
  • Monthly: the full report, accuracy audit and first-party exports on the same prompt set.
  • Quarterly: review the prompt set, the engine list and the scoring method. Consumer AI apps change their default models often, so note any change before comparing periods.

If you're choosing a platform to run this across many brands, see what an agency managing 10+ client brands should look for.

More on this

Can we white-label an AI visibility report for clients? Yes, but you own every claim under your logo. Check that the vendor scores each engine separately, discloses retrieval state, and avoids AI rank metrics. If a vendor reports an E-E-A-T score or an AI position, those numbers have no first-party basis. Strip them out or explain them before they reach a client, because a client who checks will find no source behind them.

How do we explain a drop in AI citations to a client? Start with access. Rerun the crawler checks, confirm the CDN still returns 200s, and check index status in both Search Console and Bing Webmaster Tools. If access is clean, say so, then note that retrieval is discretionary and prompt samples vary. Show the drop per engine rather than blended. Don't invent a cause you can't verify.

Can clients see clicks from Google AI Overviews? Not from Google's AI-specific reporting. The generative AI report in Search Console shows impressions for AI Overviews and AI Mode, with no clicks, CTR or position. AI Overviews also send no referral tag. Report impressions as context and be clear that they don't show whether AI visibility produced traffic.

Should we report share of voice against competitors? Only with heavy caveats. Share metrics depend on the prompts you chose and are dominated by whoever already wins a query. Large brands lead most cross-platform samples simply because they are large. If you show competitor comparisons, compare like-sized brands, keep engines separate, and label the figure as a sample, not a market measurement.

Does allowing GPTBot help a client appear in ChatGPT? No. GPTBot governs training use only. ChatGPT search eligibility is controlled by OAI-SearchBot, and OpenAI states each crawler setting is independent. A client can block GPTBot and still appear in ChatGPT search, as long as OAI-SearchBot is allowed and the firewall lets it through.

Sources

  1. AI Features and Your Website
  2. Overview of OpenAI Crawlers
  3. The rise of the AI crawler - Vercel
  4. We Tracked 1,885 Pages Adding Schema. AI Citations Barely Moved.
  5. 2000 AI Blogs Experiment: Does Google Penalize AI Content?
  6. [2607.14035] Optimizing Visibility in Generative Engines: A Critical Survey of Generative Engine Optimization (2023-2026)

This page is AI-assisted. It was written from a verified evidence base and checked against our editorial policy. Engine behaviour changes often; facts are as of October 21, 2026.

Keep reading