- Published
- Reading time
- 24 min
- Topic
- AI Search
On this page
- 01What the platforms actually give you in 2026
- 02Google: impressions, but deliberately no clicks
- 03Bing: citations and grounding queries, explicitly not rankings
- 04GA4: a real AI channel, with a structural blind spot
- 05The referrer problem, stated precisely
- 06Telling bots from humans in your own logs
- 07Building a citation and mention tracking programme
- 08Fix the prompt set before you fix the tooling
- 09Share of voice is a ratio with an unstable denominator
- 10On “AI visitors convert better”
- 11The attribution gap, in the platform’s own terms
- 12The measurement maturity ladder
- 13An attribution model that survives contact with reality
- 14Tier 1 - Measured
- 15Tier 2 - Estimated, with the interval shown
- 16Tier 3 - Unmeasurable, and worth saying so
- 17The one experiment you can actually run
- 18Implementation: the log pipeline that makes this real
- 19Anti-patterns to reject in review
- 20What to put in the monthly report
- 21Sources and References
Most AI search reporting counts how often an assistant mentions your brand. That’s visibility. It doesn’t tell you how many leads, sales opportunities, or sales you got. No platform has fully connected those numbers yet, even if the dashboard’s price suggests otherwise.
The gap has real causes. Understanding them will help you more than buying another tool. Let’s separate what you can measure, what you can estimate, and what you can’t measure yet. Each needs a different approach.
Before we build a dashboard, we need to separate two things: AI visibility and AI revenue. The link between them hasn’t been measured. Measure visibility carefully. Make the uncertainty in your revenue estimates clear. Don’t roll both into one confident number.
What the platforms actually give you in 2026
AI reporting changed a lot in 2026. You’ll still hear two claims: Google reports nothing about AI traffic, or Google reports AI clicks. Both are wrong. Here’s what the documentation says.
Google: impressions, but deliberately no clicks
Google shipped a dedicated generative AI performance report in Search Console on June 3, 2026, initially to a subset of properties, and rolled it out worldwide as of August 31, 2026 according to Google’s own help documentation. A separate report covers Discover.
The Search report covers AI Overviews and AI Mode. What it contains matters:
- Impressions only. Google’s help page and the launch post list impressions, pages, countries, devices, and dates. Clicks, CTR, and queries aren’t among them. Google’s own wording for the launch says it will work with site owners “to identify which insights and data (such as additional metrics over time) will be most helpful” - additional metrics are future tense.
- Dimensions are Pages, Countries, Dates, and Devices for Search. Devices is Search-only; the Discover report has Pages, Countries, and Dates.
- Search type filter covers
WebandWeb: multimodal. Multimodal search reporting arrived on September 24, 2026 and is available in both the standard Performance report and the generative AI report. - Coverage is conditional. Google’s help page says the report is often missing simply because the site “hasn’t received enough impressions in generative AI features.” Google doesn’t publish that threshold. So an absent report isn’t evidence of zero AI visibility.
- Chart and table aggregation differ. Two results from the same site in one generative AI result count as a single impression in the chart total, but separately in a page-dimension table. The standard 1,000-row limitation applies.
There’s a genuine documentation conflict worth naming, because you’ll hit it. Google’s AI features and your website documentation states that sites appearing in AI features are reflected in overall Search Console search traffic, specifically in the search type “Web.” That statement predates the June 2026 report and is now incomplete rather than false. The Dec 2025 guidance hasn’t been withdrawn; the June 2026 report simply adds a dedicated view on top. If your team cites the older page as “proof Google does not report AI traffic separately,” that citation is stale.
Google tells you how often your URLs appeared in AI answers. It doesn’t tell you how many people clicked. You can’t calculate CTR without clicks. If you use Search Console to estimate AI traffic, call it an estimate.
Bing: citations and grounding queries, explicitly not rankings
Microsoft went further than Google on the citation side and drew a sharper line around what it won’t claim.
AI Performance in Bing Webmaster Tools (public preview, February 10, 2026) reports content cited across Microsoft Copilot, AI-generated summaries in Bing, and select partner integrations. It provides total citations, average cited pages per day, grounding queries (the key phrases the AI used when retrieving content), page-level citation activity, and trends.
Microsoft is unusually explicit about what this doesn’t mean. Total Citations “highlights how often your content is referenced by AI systems, without indicating placement or presentation within a specific answer.” Average cited pages “does not indicate ranking, authority, or the role of any page within an individual answer.” Grounding queries “represents a sample of overall citation activity.”
In October 2026 Bing added Topics Portfolio (beta), which clusters grounding queries into themes and reports Topic Size, Sites Cited, and Queries - plus “opportunity queries” where competitors appear and you don’t. Microsoft’s own caveats are worth quoting to your team: topic classification “is AI-generated and can occasionally be imperfect,” topics with insufficient presence “are not shown,” and the aggregates “are approximate.” Microsoft’s instruction is to “treat the numbers as directional signals for planning, not as a precise ledger.”
So: Bing gives you the query-level citation map that Google doesn’t, and explicitly refuses to let you read ranking into it.
GA4: a real AI channel, with a structural blind spot
Google Analytics 4 now has a native “AI Assistant” default channel group. Google’s default channel group documentation defines it as “the channel by which users arrive at your site from sources like ChatGPT, Gemini, Deepseek, Copilot, or Grok.”
Two details in that documentation matter enormously and are widely missed:
- It explicitly excludes Google’s own AI features. The same page defines Organic Search as traffic from “non-ad links in organic-search results, including Google’s AI Overviews and AI Mode.” Every click from an AI Overview or AI Mode lands in Organic Search, not AI Assistant. You can’t split AIO and AI Mode clicks from classic organic clicks in GA4. Combined with Search Console’s impressions-only AI report, this closes a loop: Google’s AI-feature impressions are visible, and its AI-feature clicks aren’t separable.
- It’s entirely referrer-driven. GA4 sets
mediumtoai-assistantandcampaignto(ai-assistant)“if the referrer matches a list of AI Assistants.” No referrer, no AI Assistant classification. The channel is exactly as good as referrer delivery - which is the subject of the next section.
Microsoft Clarity reports AI referrals too and adds a distinction worth stealing for your own taxonomy: it splits AI Platform (organic visits from AI chat tools) from Paid AI Platform (ad-driven visits within AI experiences). Conflating earned citations with paid placements inside one “AI” bucket destroys the only signal you have about whether your visibility work is working.
The referrer problem, stated precisely
The industry’s default assumption - that clicking a citation in an AI assistant produces a normal web referrer - isn’t documented by any of the major AI vendors. OpenAI’s crawler documentation describes four user agents and published IP ranges in detail and says nothing about referrer headers. Anthropic’s crawler documentation (dated April 7, 2026) is equally silent. Perplexity’s is silent too: the entire crawler document is a short page covering two user agents and WAF allow-listing instructions for Cloudflare and other firewalls, and the strings referrer, utm_ and analytics don’t appear in it at all. There’s no Perplexity referral-tracking documentation to find - the historical guides/referral-tracking path returns a genuine 404, and the analytics endpoints that do exist are scoped to a customer’s own organisation usage of the Perplexity API, not to inbound referral measurement.
That last point is worth a practical note, because it hands you a verification habit. Perplexity publishes a machine-readable index of its own documentation at docs.perplexity.ai/llms.txt - a list of every documented page with its URL and summary. Before you conclude a vendor does or doesn’t document something, fetch that vendor’s index if it publishes one and check. It’s a five-second test that replaces guesswork, and it’s a small irony in a debate about whether llms.txt files matter: the one vendor page in this set that unambiguously uses the format is the vendor whose crawler docs refuse to tell you where your traffic came from.
The mechanism is browser-level, and it’s knowable. The HTTP Referer header is governed by the Referrer Policy, whose default since November 2020 is strict-origin-when-cross-origin - cross-origin requests send only the origin, and the header is omitted entirely on downgrade. That’s documented in MDN’s Referrer-Policy reference (page last modified September 4, 2026). Desktop web navigation will therefore typically yield something like https://chatgpt.com/ as the referrer - if one is sent at all. App and embedded surfaces have their own behaviour, and no-referrer link attributes and explicit Referrer-Policy headers remove it entirely, so the observable result is “sometimes an origin, sometimes nothing.”
Three distinct populations can produce a hit on your server, and they’re routinely conflated:
- Crawler fetches - no human, no referrer, no session. These are your index-building traffic.
- User-action fetches - an assistant fetching a page mid-answer to answer the question. Real user request behind it, but the user may never see the page. No session, no analytics tag fires, no conversion possible.
- Human referrals - the user clicks the citation. The only population that can convert.
Only the third is revenue-bearing. Cloudflare’s AI Crawl Control documentation is the clearest vendor confirmation that the third category does exist: its referrer analytics list “top domains sending AI-driven referral traffic to your site (for example, chatgpt.com, perplexity.ai)” and destination patterns like /blog/*. That’s evidence AI referrals are observable server-side. It isn’t evidence they’re observed completely - and the Cloudflare docs place total referrals behind paid plans.
The asymmetry is severe. Cloudflare’s August 2025 breakdown of AI crawler traffic introduced crawl-to-refer ratios comparing crawler requests for HTML pages against referred human page requests. Across the first week of August 2025, unfiltered, Anthropic’s ratio was near 50,000:1, OpenAI’s 887:1, and Perplexity’s 118:1. For News and Publications sites the same ratios fell to 2,500:1, 152:1, and 32.7:1. In the same period, training crawls accounted for nearly 80% of AI crawling, while user-action and undeclared purposes together were under 5%.
Those numbers are from August 2025; Cloudflare publishes the live ratios on Radar, so treat them as directional and refresh them yourself. The structural point doesn’t go stale: being cited by an AI system is roughly three to five orders of magnitude less common than being crawled by one. Any mental model where crawl volume indicates commercial value is inverted.
Telling bots from humans in your own logs
User-agent strings are a starting point, not proof. Every major AI vendor publishes machine-readable IP ranges:
| Agent | Operator role | Published range | creationTime served |
|---|---|---|---|
OAI-SearchBot | ChatGPT search inclusion | openai.com/searchbot.json | 2026-01-02 |
GPTBot | Model training | openai.com/gptbot.json | 2026-09-22 |
ChatGPT-User | User-initiated fetch | openai.com/chatgpt-user.json | 2026-10-07 |
OAI-AdsBot | Ad landing-page validation | openai.com/adsbot.json | 2026-05-12 |
PerplexityBot | Perplexity search index | perplexity.com/perplexitybot.json | 2025-02-07 |
Perplexity-User | Perplexity user fetch | perplexity.com/perplexity-user.json | 2025-10-17 |
The values in that table are what the endpoints actually returned, not what documentation claims - useful, because they expose a real risk: Perplexity’s two range files still carried 2025 timestamps as of 2026-10-19. If you cache these lists, refresh them; if you hard-code CIDRs from a blog post, you’re running with stale infrastructure.
One implementation note on Google’s ranges. Google’s March 31, 2026 post announces that crawler IP JSON files are moving from /search/apis/ipranges/ to /crawling/ipranges/, with the old path to be decommissioned in roughly six months. On 2026-10-19, both paths were serving special-crawlers.json (HTTP 200, creationTime 2026-10-16 on both), while googlebot.json returned HTTP 200 on the old path and HTTP 404 on the new one. The migration is evidently incomplete. Configure your fetchers to try both and to tolerate a miss - a 404 that hard-fails your log pipeline is a self-inflicted outage.
The verification pattern is straightforward and worth scripting: match the user-agent, then confirm the source IP falls inside the operator’s published ranges, then - for the agents where it matters - classify by purpose. OpenAI’s documentation is explicit that ChatGPT-User “is not used to determine whether content may appear in Search,” and Perplexity’s notes that its user fetcher “generally ignores robots.txt rules.” A ChatGPT-User hit that you classify as search visibility is a classification bug.
Building a citation and mention tracking programme
With the platform data understood, here is how to construct the layer nothing gives you for free: your own prompt set.
Fix the prompt set before you fix the tooling
The most common failure in this discipline is running prompts that drift week to week, which makes every trend line meaningless. A usable prompt set has four properties, in this order of importance:
- Intents, not keywords. Group prompts by what the buyer is trying to decide - evaluation, comparison, compliance, troubleshooting, pricing. If your prompt set is just your top organic keywords, you’re measuring your SEO, not your AI visibility.
- Named competitors as targets, not just yourself. The useful question isn’t “were we mentioned?” but “were we mentioned instead of them?” A brand cited only in prompts where no competitor appears tells you very little.
- A fixed, versioned list. Store it in version control. When you change a prompt, record it as a change with a date.
- Multiple runs per prompt. AI assistants produce different answers to identical questions. Amsive-style single-run panels produce noise that looks like trend.
Share of voice is a ratio with an unstable denominator
“AI share of voice” is the standard competitive metric and it deserves a warning. Ahrefs’ own AI visibility guide states the limitation more plainly than most: “No real demand data exists. No company has access to actual search volume data for ChatGPT or other AI platforms (yet).” Their prompts are synthetic, built from their own keyword database and People Also Ask data, and they acknowledge AI responses “vary significantly due to personalization, different models, and inconsistent responses.”
The usual formula is mentions ÷ total mentions across all tracked brands. But you chose which prompts to track. If you have twelve prompts and competitors appear in nine, the result tells us about your prompt set as well as your market. Always report its size and date range. I’d treat movement below roughly ten points as noise until you have enough runs to justify it.
For this question, I’d start with Microsoft’s Topics Portfolio. Bing groups topics using real grounding activity on Bing, rather than synthetic prompts. You can see queries where you appear and opportunity queries where competitors appear. Prompt panels can’t show you that observed demand. Use Bing to understand the structure, then prompt panels to compare platforms.
On “AI visitors convert better”
You’ll read that AI traffic converts at multiples of organic. Read who measured it, on what, and with which conversion event, because the answer isn’t stable. I went to the underlying studies rather than the summaries, and they disagree.
- Microsoft Clarity analysed over 1,200 publisher and news sites and reports LLM referrals converting at 1.66% sign-up CTR vs 0.15% for Search, and 1.34% subscription CTR vs 0.55%. Per-platform subscription conversion from Copilot ran at 17× direct and 15× search; Perplexity 7×. Of 1,277 domains analysed, 52% recorded some AI-driven conversion in the past month. Growth was +155.6% over eight months while remaining under 1% of total traffic.
- Adobe Digital Insights, analysing ecommerce traffic, found the opposite direction. In retail, AI-referred traffic had a 27% lower bounce rate and 38% longer time on site - but conversion rates were 22% below non-AI traffic in May 2025, down from 91% below in July 2024. Revenue per visit on AI referrals had climbed from 3% of non-AI to 70% of non-AI over the same period. In travel, conversion remained 49% below other channels.
- BrightEdge, analysing thousands of queries across Fortune 100 brands from January to August 2025, concluded that “all traditional channels deliver better conversions than AI search” and that AI search “functions as a research channel, not a conversion channel - with near-zero direct conversions tracked,” with the gap widening.
Both Microsoft studies have a commercial interest in the answer. Microsoft Advertising separately reports that Copilot conversion rates are “76% higher when comparing lower funnel ad types to traditional search” and 69% higher click-through rates on Bing campaign data - but note carefully that this concerns ads in Copilot, not earned citations, and conflating the two is the most common error in AI ROI commentary.
The honest reconciliation: these aren’t measuring the same thing. Clarity measures smart events - sign-ups and subscriptions - on publisher and news properties where the downstream action is a newsletter signup. Adobe measures ecommerce conversion and revenue per visit, where the downstream action is a purchase. BrightEdge measures client-side conversions across marketing sites. A reader who signs up for a newsletter is a conversion; the same reader isn’t yet a customer. “AI traffic converts better” and “AI traffic converts worse” can both be true of their respective populations.
What this means for your reporting: never adopt a platform’s conversion rate as your own. Compute yours, name the conversion event explicitly, and hold the population constant across periods.
The attribution gap, in the platform’s own terms
Why does last-click systematically undercount AI? Not because of a secret, but because of documented constraints.
Google Analytics offers exactly three attribution models: data-driven attribution, paid and organic last click, and Google paid channels last click. Google’s documentation notes that “the first click, linear, time decay, and position-based attribution models are no longer available as of November 2023.” Most teams asking for AI attribution are asking for a linear or time-decay view of a channel that GA4 will no longer compute.
The more damaging constraint: “All attribution models exclude direct visits from receiving attribution credit, unless the path to key event consists entirely of direct visits.” And last click “ignores direct traffic and attributes 100% of the key event value to the last channel that the customer clicked through.” GA4’s own worked example is stark - Display > Social > Paid Search > Direct → 100% to Paid Search.
That’s the AI problem exactly. An AI-influenced journey typically runs: ask an assistant → get an answer → visit the brand site directly or by typing the URL → convert. The AI touchpoint leaves no click, and the final visit has no referrer, so 100% of the credit lands on whatever preceded it - frequently nothing at all, or the branded organic search that happens to rank. The channel that did the work is structurally excluded.
Buffer’s Director of Growth, Simon Heaton, described the working practice candidly in Ahrefs’ guide: “Right now, the cleanest quantitative method we have is by capturing the referrer sources from sessions landing on our site,” supplemented by asking users how they heard about you, adding that “the reality is that how users get to your site often involves various touchpoints. LLM visibility helps generate awareness, though only some of that is quantifiable. We realize the influence is much larger than what we’re able to track.”
Note also that the default channel group dimension uses the data-driven model by default while session default channel group and first user default channel group use last click. Comparing “AI Assistant” across those three dimensions without noticing will produce numbers that disagree with each other legitimately.
The measurement maturity ladder
Everything above collapses into a decision: how seriously is your organisation taking measurement, and what is the next honest step?
Rung 0 - Blind. No AI measurement at all; AI traffic lands in Direct and is invisible. Diagnostic: check whether your analytics tool has an AI Assistant or equivalent channel and whether it’s populated. Fix: turn it on. Cost: an afternoon.
Rung 1 - Referral census. You count human AI referrals from server logs and analytics, with verified bot classification. You know the traffic exists and its rough volume. You can’t say what it’s worth. Diagnostic: you have a number for AI sessions but no conversion rate. Fix: complete Rung 2.
Rung 2 - Session quality. You compare AI-referred sessions against your own baselines on engagement and your own conversion events. Crucially, you compute these rates from your own data rather than borrowing a vendor benchmark. Diagnostic: your AI conversion rate is a number you derived. Fix: establish Rung 3.
Rung 3 - Citation baseline. You maintain a versioned prompt set with multiple runs, measuring mentions and citations plus share of voice across platforms, alongside platform-native citation data from Bing and impressions from Google. Diagnostic: you can name which prompts you win and lose. Fix: proceed to Rung 4.
Rung 4 - Joined measurement. You connect citation movement to on-site movement on a shared timeline, and can articulate which of your content changes plausibly moved which prompts. Diagnostic: you have a defensible narrative linking a content change to a citation change to a traffic change, with the caveats stated. Fix: attempt Rung 5, understanding the ceiling.
Rung 5 - Causal estimate. You have run an actual experiment isolating AI influence from other channels. Reality check: this is where most teams can’t go, for a reason worth stating plainly - you can’t build a holdout for AI citations. Geo holdouts work for paid media because you can geo-fence an ad buy. Nobody can switch off “being recommended by ChatGPT in Denmark.” That’s why Rung 4 is the practical ceiling for earned AI influence, and why any vendor selling you incremental AI ROI is either modelling or overclaiming.
An attribution model that survives contact with reality
Here is a framework for reporting AI contribution without inventing a number. The organising idea is to separate what you measured from what you inferred, and refuse to let the second borrow the first’s authority.
Tier 1 - Measured
Only these enter your report as facts:
- AI-referred sessions, with the referrer captured server-side and the user-agent validated against published IP ranges.
- On-site behaviour of those sessions: pages per session, engaged time, your own conversion events.
- Google AI-feature impressions from the generative AI performance report, by page, country, and date.
- Bing citation counts and grounding queries from AI Performance and Topics Portfolio.
- Your prompt-set mention and citation counts, with run count and prompt-set version attached.
Tier 2 - Estimated, with the interval shown
Everything derived from Tier 1 via a stated assumption. When you estimate, show the assumption as a parameter:
- AI-feature click estimate. You have Google AI impressions. You don’t have clicks or CTR for AI features - Google doesn’t publish either. If you apply a CTR assumption, label it an assumption, state the source, and present a range. Don’t present a point estimate as a measurement.
- Value-per-session estimate. Multiply your own measured AI-referred sessions by your own measured AI-session conversion rate. This is defensible because both inputs are yours. It’s an observed conversion rate on a small and self-selected population, and its confidence interval will be wide. Report the session count alongside it - a 40% conversion rate on 90 sessions isn’t the same fact as on 9,000.
- Pipeline influence estimate. Treat AI as a top-of-funnel contributor whose downstream effect appears as branded search, direct traffic, and direct visits. You can correlate AI impression growth with branded organic growth. You can’t causally attribute it without an experiment you can’t run.
Tier 3 - Unmeasurable, and worth saying so
State these plainly rather than estimating around them:
- The revenue from a user who read an AI answer, remembered the brand, and searched for it three weeks later without ever clicking.
- Any causal incrementality of AI visibility on pipeline. No public causal estimate exists, and the geo-holdout design that works for paid media can’t be constructed for organic AI citation.
- The true denominator behind share of voice, because no AI platform publishes search volume data - a limitation vendors acknowledge directly.
A worked example of the discipline, using only figures cited above and clearly labelled as illustrative arithmetic rather than a benchmark: suppose Adobe’s May 2025 ecommerce finding - AI revenue per visit at 70% of non-AI - is a reasonable upper bound for a retailer like yours, and Clarity’s 1,200-site sign-up finding isn’t applicable because you sell products rather than subscriptions. Your Tier 2 estimate would then be: AI sessions × your own measured AI-session conversion rate × your own AOV × 0.7, presented as a range with the 0.7 flagged as an imported, vendor-sourced, site-type-mismatched constant. Note how much work the caveats do. That’s the point.
The one experiment you can actually run
You can’t hold out AI citations. You can hold out paid AI placements. You can also run a geo holdout on the rest of your marketing mix to check the baseline behind your AI numbers. Use matched test and control markets, verify parallel trends before the test, and run a difference-in-differences analysis. Calculate the required statistical power before you start.
The power analysis is the part that saves you. Amsive’s guide to defensible geo holdouts gives the practitioner formula:
MDE ≈ (z(α/2) + z(β)) × σ × √(1/n_test + 1/n_control)
In their worked YouTube example, ten control cities over seventeen weeks produced a 15% minimum detectable effect at 90% confidence and 80% power - and they state the consequence plainly: “If YouTube’s true incremental lift is 10%, this test will not detect it.” That sentence is the most useful thing in incrementality methodology, and it applies directly here: most AI conversions are too small a share of total conversions for any test you could run to detect them. Knowing your MDE before you start is what keeps you from mistaking a null result for a real one.
Implementation: the log pipeline that makes this real
Everything in Tier 1 depends on server logs you already collect. This is the core of it, documentation-based - adapt the paths to your own stack.
Verify each AI request against the operator’s published ranges. This is illustrative, not production code - the caching and error handling are simplified:
import json, time, ipaddress, urllib.request
RANGE_URLS = {
"OAI-SearchBot": "https://openai.com/searchbot.json",
"GPTBot": "https://openai.com/gptbot.json",
"ChatGPT-User": "https://openai.com/chatgpt-user.json",
"OAI-AdsBot": "https://openai.com/adsbot.json",
"PerplexityBot": "https://www.perplexity.com/perplexitybot.json",
"Perplexity-User": "https://www.perplexity.com/perplexity-user.json",
# Both paths are live as of 2026-10-19; the /crawling/ migration is incomplete.
"Googlebot": "https://developers.google.com/search/apis/ipranges/googlebot.json",
}
TTL_SECONDS = 24 * 3600
_cache = {}
def load_nets(url):
"""Time-bounded cache. Do not skip the TTL: Perplexity's files still carried
2025 timestamps when checked on 2026-10-19, so a hard-coded CIDR set goes stale."""
now = time.time()
hit = _cache.get(url)
if hit and now - hit["fetched"] < TTL_SECONDS:
return hit["nets"]
with urllib.request.urlopen(url, timeout=20) as fh:
data = json.load(fh)
nets = [
ipaddress.ip_network(p[k])
for p in data.get("prefixes", [])
for k in ("ipv4Prefix", "ipv6Prefix") if k in p
]
_cache[url] = {"fetched": now, "nets": nets}
return nets
def classify(user_agent, remote_addr):
"""Return (operator, purpose) or (None, None)."""
for token, url in RANGE_URLS.items():
if token not in (user_agent or ""):
continue
try:
ip = ipaddress.ip_address(remote_addr)
except ValueError:
return None, None
if any(ip in net for net in load_nets(url)):
if token in ("ChatGPT-User", "Perplexity-User"):
return "openai|perplexity", "user_action_fetch"
if token in ("GPTBot",):
return "openai", "training"
return "ai-index", "search_index"
return None, None
The user_action_fetch bucket deserves emphasis: those hits represent a real person who asked a question, and a real fetch that a human may never view. Excluding them from conversion reporting is correct - and separately, they’re your best available interest signal, because a user-action fetch means your content was retrieved to answer a live question.
On the analytics side, confirm your GA4 property is on the AI Assistant channel and that you’re reading the right dimension. Then check the exclusion yourself: AI Overview clicks won’t appear there. If your reporting shows AI traffic growing while organic stays flat, part of that movement may be AI Overview clicks recategorised - or not recategorised - and only a server-log or GSC comparison will tell you which.
Anti-patterns to reject in review
- “AI drove 30% of pipeline” with no Tier 1 evidence and no stated assumption. Ask which of the three tiers it is.
- “Conversions are 3× higher from AI.” Ask whose users, which conversion event, and over what window. The Clarity/Adobe/BrightEdge contradiction above is the reason this question is mandatory.
- Share of voice without prompt-set size and run count. It’s a ratio over an invented universe.
- Treating impressions as traffic. Google’s AI report gives impressions only. Don’t compute CTR from a report that has no clicks.
- Counting crawls as demand. Cloudflare’s crawl-to-refer ratios are the antidote.
- Trusting a single AI vendor’s share of search AI traffic figures. Vendor panels using synthetic prompts and no real volume data can’t support that claim.
- Buying an “incremental AI ROI” product. The holdout can’t be constructed. If a vendor offers one, ask them how they ran the experiment.
What to put in the monthly report
One page. Impression trend with date range and coverage caveat. Bing citation trend with grounding queries. AI-referred sessions from logs, with the user-agent verification method stated. Your own AI-session conversion rate with session count. Prompt-set share of voice with prompt count and runs. A Tier 3 list stating what you can’t measure. And a single sentence on whether anything changed in your measurement capability, which for most teams will be the only number that moved meaningfully this quarter.
That last point is the real finding. For most organisations, the honest state of AI search measurement in 2026 is that visibility is becoming genuinely measurable - Google and Microsoft both shipped real reporting - while revenue remains an inference layered on top of a small, self-selected referral population. Build accordingly. The teams that will get this right are the ones that can say precisely which of their numbers are measurements and which are arguments.
Sources and References
- Generative AI performance report (Search) - Google Search Console Help
- Generative AI performance report (Discover) - Google Search Console Help
- Introducing Search Generative AI performance reports in Search Console - Google Search Central Blog
- AI features and your website - Google Search Central
- Performance report (Search results) - Google Search Console Help
- Announcing multimodal web search reporting - Google Search Central Blog
- Google browser IP range file location update - Google Search Central Blog
- Default channel group - Google Analytics Help
- Get started with attribution - Google Analytics Help
- Overview of OpenAI crawlers
- Searching the web with ChatGPT - OpenAI Help Center
- Perplexity crawlers
- Perplexity Crawlers - Perplexity. Machine-readable
.mdversion. - Perplexity documentation index - Perplexity. Vendor-published
llms.txt. Used to enumerate the vendor’s entire documented surface and confirm no referral-tracking page exists. - Does Anthropic crawl data from the web? - Anthropic Help Center
- A deeper look at AI crawlers: breaking down traffic by purpose and industry - Cloudflare
- Analyze AI traffic - Cloudflare AI Crawl Control
- Introducing AI Performance in Bing Webmaster Tools Public Preview - Bing Webmaster Blog
- Introducing Topics Portfolio (Beta) in AI Performance - Bing Webmaster Blog
- How AI Search Is Changing the Way Conversions are Measured - Bing Webmaster Blog
- AI Traffic Converts at 3x the Rate of Other Channels (Study) - Microsoft Clarity
- Q2 2025 insights: AI referrals surge across industries - Adobe Digital Insights
- AI Search Visits Surging in 2025 - BrightEdge
- Copilot conversion rates for lower-funnel ad types - Microsoft Advertising
- The Complete AI Visibility Guide - Ahrefs
- Designing Defensible Geo Holdout Tests for Incrementality Measurement - Amsive
- Geo-Based Incrementality Testing: Marketer’s Guide - Lifesight
- Referrer-Policy - MDN Web Docs
Free tools
All tools- AI Visibility ReadinessScore AI Visibility Readiness (not live mentions) free.
- SEO CheckerLive on-page extractability, schema, and trust checks.
- Website Growth GraderFull growth diagnostic across SEO and positioning.
Diagnostics show a useful score before email. Explore LoudScale services when you want a full plan and implementation.
Written by the team
LoudScale Team
Growth Marketing Specialists
The LoudScale team shares practical strategies, research analysis, and evidence-backed guidance across search and AI visibility, content authority, B2B lead generation, lifecycle systems, analytics, and responsible AI.






