Enterprise SEO Analytics, in the Age of AI
Enterprise SEO analytics is the practice of explaining what search is doing for the business — and it now has a blind spot in the instrument itself. Client-side analytics record zero of the fetches made by AI coding agents and tooling, because those clients never execute the JavaScript the tag depends on (Osmani, 2026). Server logs are the only place that traffic exists.
By Vijay Vasu, Founder, Indexable. Published September 9, 2026.
How we measured. Google Search Console, property indexableai.com: a 90-day window (11 June to 8 September 2026, 1,063 matching query rows) and a separate 28-day window (2,255 query rows, 948 distinct queries). Per-engine share-of-voice from Ahrefs Brand Radar across six engines, pulled 7 September 2026. Content-type split from an audit of 230 URLs joined to Search Console, 5 September 2026. One domain, one property — a case study, not a law. Figures verified as of 9 September 2026.
- Client-side analytics show zero AI-agent fetches; those requests appear only in server logs (Osmani, 2026).
- “AI traffic” is three different things — agent fetches, human referrals, and agent workflow hops — and merging them produces a number that means nothing.
- At least 543 page-one queries returned zero clicks against 7,038 impressions in 28 days. Eight queries earned any click, and all eight were brand or navigational (Indexable, 2026).
- Our share of voice ranged from 58.57% on Copilot to 1.17% on Gemini on the same day — a 57.4-point spread (Indexable, 2026).
- Deprioritized content types were 55.7% of URLs and earned 6.4% of clicks (n=230 pages, September 2026).
- A rise in impressions with flat clicks is a decomposition problem, not automatically a CTR problem. 68.01% of US searches ended without a click between January and April 2026 (SparkToro, 2026).
What is enterprise SEO analytics in the age of AI?
Enterprise SEO analytics is the discipline of turning search data into decisions a business can act on. That has not changed. What changed is that the measurement surface fragmented, and the default instrument no longer covers all of it.
Three things now generate demand for your content, and each is visible in a different place. Humans clicking through from a search result appear in analytics. Humans clicking through from an AI answer appear in analytics as a referral. And AI agents fetching your pages directly — to answer a question, or because a developer’s tool is reading your documentation — appear in neither, because they do not run JavaScript.
That third category is invisible by construction, not by accident. You should start by accepting that your current dashboard is a subset, then decide whether the missing part matters enough to instrument.
Why does GA4 show zero AI agent traffic?
Because client-side analytics depend on a JavaScript tag firing in a browser, and an agent fetching a URL over HTTP never executes it. The request happens, the server serves it, and the analytics platform never hears about it (Osmani, 2026).
These clients are identifiable in server logs by their HTTP fingerprints. Common ones as of Q3 2026 include axios/1.8.4, got, curl/8.4.0 and colly — the default user agents of widely used AI coding tools (Osmani, 2026). None of them are hidden. They are simply invisible to a measurement layer that was designed for browsers.
Be precise about the scope of this claim, because it is easy to overstate. Human referrals from AI products do appear in analytics. If someone reads a ChatGPT answer, clicks your link and lands in a browser, that session is recorded with a chatgpt.com referrer like any other. What is missing is machine fetches. Saying “analytics cannot see AI traffic” is wrong; saying “analytics cannot see AI agent fetches” is right, and the distinction determines which instrument you need.
How do you tell an agent fetch from an AI referral?
By separating them at the log line, before anything is aggregated. The three buckets behave differently and answering the same question with a merged total gives you a number that cannot be acted on.
| Bucket | Where it shows | What it means |
|---|---|---|
| Agent fetches | Server logs only | AI tooling is consuming your pages directly |
| AI search referrals | Analytics + logs | A human read an AI answer and came to you |
| Agent workflow referrals | Logs; misleading in analytics | An AI referral that landed on a login, OAuth or redirect URL — not discovery |
That third bucket is the one that quietly corrupts reporting. An AI referral arriving at a login or OAuth callback is an agent traversing a workflow, not a person discovering your brand. Counted as discovery, it inflates the figure everyone is most eager to see rise (Solis, 2026).
We hit a version of this in our own data. Eleven variants of a single nine-word query stem accounted for 473 impressions and zero clicks in 28 days (Indexable, 2026). A person does not retype the same nine-word scaffold eleven times, swapping one noun. But we must state the limit plainly: Search Console exposes no field identifying who or what issued a query. That attribution is inferred from linguistic pattern, not measured. Any published version of this has to say so.
Why did CTR fall when nothing changed?
Usually because impressions moved, not clicks. CTR is a ratio, and a ratio falls when the denominator grows just as readily as when the numerator shrinks. Decompose the two before you accept any explanation.
Our own case is unambiguous. In 28 days, at least 543 page-one queries returned zero clicks against 7,038 impressions. Exactly eight queries earned any click at all — 31 clicks across 448 impressions — and every one of those eight was brand or navigational (Indexable, 2026). That is not a title-tag failure. Those pages were seen and the questions were answered elsewhere.
Note the phrasing: at least 543. The Search Console export caps at 500 rows per slice, so 543 is a floor established across two merged slices, not a census. Publishing it as an exact count would overstate the precision of the instrument.
The market context makes this ordinary rather than alarming: 68.01% of US searches ended without a click between January and April 2026 (SparkToro, 2026). You should apply this decomposition before every explanation you offer an executive, because “our CTR dropped” and “the surface changed” call for opposite responses.
Which engine are you actually measuring?
Whichever one your tool defaulted to, which is why single-number AI visibility reporting is close to meaningless. On 7 September 2026 our share of voice across six engines was 58.57% on Copilot, 28.09% on ChatGPT, 19.35% on Perplexity, 10.50% on Google AI Overviews and 1.17% on Gemini (Indexable, 2026).
Same brand, same prompts, same day, and a 57.4-point spread between the highest and lowest. A report quoting one engine is not describing AI visibility. It is describing that engine.
One measurement caveat we apply to ourselves: we exclude Claude from that comparison. It returned exactly 1.0 and 0.0 values across the board, which is a small-response artefact rather than a finding, and quoting it would manufacture a result (Indexable, 2026). Excluding a suspect series and saying why is part of the job.
See your share of voice engine by engine
The free AI search audit runs the per-engine split described above against your domain, and returns each engine as a separate line rather than one merged number.
What decision does the executive now own?
Three, and the first one costs almost nothing.
Whether to instrument server logs at all. If AI agent fetches are material to your category — documentation-heavy products especially — then a dashboard built only on client-side analytics is structurally incomplete. Implement log-based segmentation, or accept the gap knowingly.
Which metrics get reported as separate lines. Impressions, clicks, referrals and agent fetches are four different things. Merging them produces a number nobody can act on. Apply the three-bucket split before anything reaches a slide.
What the confidence tier of each number is. Server-log counts are observed. Query-origin attribution is inferred. Share of voice is panel-dependent and engine-specific. Label them, because the alternative is an executive treating an inference with the same confidence as a measurement.
What are the anti-patterns?
Reporting one AI visibility number. With a 57.4-point spread across engines on a single day (Indexable, 2026), the single number is an artefact of tool choice.
Explaining a CTR drop before decomposing it. Check whether impressions moved first. It is usually the denominator.
Counting OAuth and login hits as discovery. AI referrals landing on operational URLs are workflow traversal, not demand (Solis, 2026). Segment them out or your growth chart is measuring plumbing.
Presenting inferred attribution as measured. Search Console has no field for who issued a query. If you infer it from pattern, say so in the same sentence.
Judging pages on clicks alone. On our estate, deprioritized content types were 55.7% of URLs and earned 6.4% of clicks (Indexable, 2026) — but click share alone will not tell you which pages are being cited without being visited.
How do you rebuild the report?
Six steps. Steps 1 to 3 can be done this week.
- Step 1 — split impressions and clicks into two lines with two owners and two explanations. Do this before the next monthly review; it is free and it prevents the most common misdiagnosis.
- Step 2 — get read access to server logs. Without them the agent-fetch bucket does not exist for you. Start by asking for 30 days.
- Step 3 — segment the logs into the three buckets — agent fetches by user-agent fingerprint, AI referrals by referrer, and workflow hops by landing-URL type. Report each separately.
- Step 4 — label every number with a confidence tier. Observed, inferred, or panel-derived. Apply this to the slide, not just the appendix.
- Step 5 — report AI visibility per engine, never merged. If a series looks degenerate, exclude it and say why.
- Step 6 — add a citation line next to the click line, so a programme that is being quoted without being visited is visible rather than invisible.
If you can only do one, do step 1. The most expensive analytics error available right now is explaining a surface change as a content failure and rewriting pages that were working.
In summary
Enterprise SEO analytics did not get harder to do. It got easier to do wrongly, because the default instrument silently omits a category of traffic and the default report merges things that behave differently.
Two numbers make the case. Client-side analytics capture zero agent fetches (Osmani, 2026). And our own share of voice ran from 58.57% to 1.17% across engines on a single day (Indexable, 2026). Neither of those is visible in a standard monthly deck, and both change what you would conclude from it.
Start with step 1 — split impressions from clicks, give each an owner, and see how much of last quarter’s story survives the separation.
The Reporting Integrity Check
- Does your monthly deck report impressions and clicks as two separate lines, with two owners and two explanations?
- Do you have read access to server logs, covering at least the last 30 days?
- Are AI agent fetches, AI search referrals and agent workflow hops reported as three separate buckets — never as one "AI traffic" figure?
- (Pause point — if items 1 to 3 are all NO, stop scoring. You cannot diagnose anything from the current report. Fix these before reading further, in that order.)
- Is every number on the slide labelled with a confidence tier — observed, inferred, or panel-derived?
- Is AI visibility reported per engine, with any excluded series named and the exclusion justified?
- Is there a citation line next to the click line, so a page being quoted without being visited is visible rather than invisible?
- Before your last CTR explanation, did someone decompose the ratio and check whether impressions moved before clicks did?
Scoring — count the NOs, not the yeses:
- 0 NOs — Instrumented. Your report separates what behaves differently and labels what it cannot observe. Move on to the content-mix question; the measurement is not your constraint.
- 1–2 NOs — Partial. You can still be misled, but only in one direction at a time. Fix the lowest-numbered NO first; the items are ordered by cost-to-fix, cheapest first.
- 3–4 NOs — Merged. Your AI figure is an aggregate of behaviours that move independently, and at least one number on the slide is an inference wearing a measurement's clothes. Start at item 1 this week.
- 5+ NOs, or any NO on items 1 to 3 — Blind. The report cannot distinguish a surface change from a content failure. That is the state in which pages that were working get rewritten.
We scored Merged the first time we ran this on ourselves — items 1, 3 and 5 all came back NO. That is the honest baseline. One domain, one window: a case study, not a law.
Frequently asked questions
Can Google Analytics track AI search traffic?
Partly. Human referrals from AI products are recorded like any other referral, with a chatgpt.com or perplexity.ai source. AI agent fetches are not recorded at all, because those clients never execute the JavaScript tag (Osmani, 2026). For that traffic, server logs are the only source.
Why did our CTR drop when our rankings improved?
Most often because impressions grew faster than clicks, which lowers the ratio without anything getting worse. Decompose the two before assigning a cause. For context, 68.01% of US searches ended without a click between January and April 2026 (SparkToro, 2026).
Which AI engine should we report on?
All of them, separately. On 7 September 2026 our share of voice ranged from 58.57% on Copilot to 1.17% on Gemini (Indexable, 2026). A single merged figure hides a 57.4-point spread and tells an executive nothing they can act on.
Vijay Vasu is the founder of Indexable. Search Console and Brand Radar figures were pulled between 5 and 9 September 2026 and are dated at the point of use. Search Console positions are impression-weighted averages blended across device and country. Verified September 9, 2026.
Related reading
- Enterprise SEO, in the Age of AI — why ranking and retrieval came apart.
- Enterprise Content Marketing — which content types still earn the click.
- Technical SEO for AI — the crawl layer that produces these logs.
Find out what your reporting is leaving out
We will run the per-engine share-of-voice split and the page-one zero-click check against your domain, and send you both results.