← Back to list

Your analytics won’t tell you if AI can’t see you.

AI crawlers do not run JavaScript. The analytics you check is JavaScript. One wall stands between them, blind from both sides. Here is the…

CLEO Founder in CLEO by RegenAI · 2026-07-15 10:31 · 0 claps · 7.2 min read
#ai #ai-agent #llm #artificial-intelligence
Open on Medium ↗
Wiki topics: LLM · Large Language Models AGT · AI Agents AI · AI · General GRW · Growth & Analytics 🌐 · Web Development

Your analytics won’t tell you if AI can’t see you.

AI crawlers do not run JavaScript. The analytics you check is JavaScript. One wall stands between them, blind from both sides. Here is the twenty-minute check that sees through it.

Where this begins

The Field Notes set out the five questions AI asks before citing a page: reach, delivery, extraction, identity, evidence. They are asked in order, and a failure at any point ends the sequence. The questions after it never run.

The five questions AI asks before citing you:

regencleo.ai/articles/five-questions-ai-asks-before-citing-you

This piece takes only the first two. Not because they are the hardest, but because they are the two you have no instrument to answer. Extraction, identity and evidence you can at least inspect. Reach and delivery fail without telling you they have failed.

Two facts, and one wall

The first is now well documented. AI crawlers do not execute JavaScript.

Vercel, working with MERJ, instrumented its network and analysed more than five hundred million GPTBot fetches. It found no evidence of JavaScript rendering. GPTBot did fetch JavaScript files, in roughly 11.5% of its requests, and the study found no sign that any of them were executed. The same held for Anthropic’s, Perplexity’s and Meta’s crawlers. Google’s Gemini is the exception, because it reaches pages through Google’s own rendering infrastructure.

The second fact is quieter, and I have not seen anyone say it out loud. The analytics you actually look at is JavaScript.

A tag is a script. A script needs a browser. An AI crawler has neither, so it never fires your tag, never opens a session, and never becomes a row in the report you read on a Monday. Server logs are the exception, and they are the reason this piece ends where it does.

Set the two side by side and you have one wall, blind from both sides. AI cannot see the part of your page the browser builds. You cannot see that AI came at all.

Question one: reach

Reach is not a technical formality. Across a growing share of the web it is now a default setting, and the default is no.

On 1 July 2025, Cloudflare, which says it sits in front of around a fifth of the web, made blocking AI crawlers the default for every new domain joining its network. It reported that more than a million customers had already switched the block on with a single click.

On 1 July 2026 it went further. From 15 September, crawlers Cloudflare classifies as Training or Agent are blocked by default on any page that displays advertising, while Search-classified crawlers stay allowed. Those defaults reach new domains, new sites added by existing customers, and free-tier customers who have not changed their settings. Multi-purpose crawlers are then judged by the strictest rule that applies to them, so a site blocking Training also blocks Googlebot, Bingbot and Applebot, since each crawls for both. Customers are being notified, and the opt-out is open until the fifteenth.

Read that from the marketing floor rather than the engineering one. The setting that decides whether an AI engine can reach you at all may already have been made by a default, in a console your team has never opened, on a date nobody circled. Its only visible trace is a 403 in a server log.

I am not arguing that you should unblock anything. Cloudflare’s case is a serious one, though it is worth saying that Cloudflare sells the controls it describes, so it is a participant in this debate rather than a referee. My argument is narrower and does not depend on taking a side. Most companies have not chosen a position on this. They have inherited one, and they cannot see which way it went.

One caution, because a sequence is a sequence. Being reachable earns you nothing on its own. It only keeps the four questions after it alive. Reach is the gate, not the prize.

Question two: delivery

If reach is whether AI can knock, delivery is what it finds when the door opens.

An AI crawler keeps what the server handed it, and leaves. If your category definition, your pricing logic or your one load-bearing sentence is drawn in the browser, the crawler leaves with a navigation bar and a shell. It does not wait for the page to finish assembling itself, and a later visit collects the same raw response again.

The cruelty of this failure is that it is invisible from the only window most teams open. Your page looks finished in a browser, because a browser is exactly the thing that finishes it. The page a person praises and the page AI receives can be two different documents at the same URL, and nothing on your screen will tell you which one was sent.

What the failure actually costs

Here is the part that turns a rendering detail into a revenue question.

A buyer asks an AI engine which vendors to consider. If your page failed at reach, you were never in the candidate set. If it failed at delivery, you were in the set with nothing worth quoting. Either way the answer comes back with three names on it, and yours is not among them. The buyer shortlists those three. No form is filled. No session opens. No bounce is recorded. There is nothing at all to review on Monday, because nothing happened, and nothing happening is not an event your tools were built to log.

You are not losing traffic. You are losing consideration, and consideration was never in the dashboard to begin with.

Referral traffic will not tell you either

The reasonable objection is that the clicks will settle this. If AI recommends you, someone arrives, and the arrival lands in the dashboard like any other. There are no longer enough arrivals to settle anything.

Cloudflare publishes a measure it calls the crawl-to-refer ratio: pages fetched by a company’s crawlers for every visitor its products send back. In June 2025 it put Google at roughly fourteen to one, which is the exchange that paid for the open web. It put OpenAI at about 1,700 to one, and Anthropic at about 73,000 to one.

Hold the digits loosely. They swing by orders of magnitude between readings, and Cloudflare notes that referrals from native applications often carry no Referer header, which undercounts the return leg and overstates the ratio. Hold the shape firmly. A channel that takes 1,700 pages for every visitor it returns cannot be managed by watching the visitors.

This is the loss underneath the loss. For most of the web’s commercial history, the feedback loop was the teacher of web craft: you published, you measured, you adjusted. Every convention we inherited was ratified by an instrument that could only ever see a patient human reader. That instrument cannot see AI, and AI is now answering on your behalf.

The temptation, and why it fails

Once the evidence is in hand, an obvious and bad idea presents itself: write for the fetcher. Strip the page to a definition, a figure, a dense cluster of entity names, and nothing a person would read twice.

It fails on its own terms, not merely on aesthetic ones. A citation is not the outcome. The outcome is the person who reads the answer, follows the link, and finds a page worth their afternoon. Optimise the citation while emptying the page and you win the first half of the transaction and lose the second, which was the half that paid.

The discipline is smaller and older than it sounds. Write for the person. Deliver so that AI can carry it.

Almost everything the second asks for is what a good editor would have asked of you anyway: text that is actually present, a paragraph that stands on its own, a claim that arrives with its source attached. It is also, as it happens, what a busy human reader has always quietly wanted and rarely been given. The two jobs were never really two.

The twenty-minute check

Three steps, on your own site, needing nothing from a vendor.

One. Read what you actually deliver. Open the page that answers your buyer’s real question, not the homepage. Right-click and choose view page source, not inspect element, which shows you the assembled page and will mislead you completely. Paste the response into a plain text editor and read past the tags. What is left is your website. Read it aloud. If your one load-bearing sentence is not in there, you did not say it.

Two. Read the status codes, not just the visits. Filter a week of server logs for GPTBot, OAI-SearchBot, ClaudeBot and PerplexityBot. Analytics cannot show you these, for the reason this piece is about. A log can, because it records the request rather than the script. Absence is one finding. A 403 or a 429 is a different and more urgent one.

Three. Open the console you did not know you had. Whoever runs your CDN has an AI-crawler setting. Find out what it says today, then decide it on purpose. That is a ten-minute conversation, and for some companies reading this it is the whole problem.

What this does not ask of you

It does not ask you to write anything new, and that is the part I find quietly hopeful. The words already exist. They are on the page. The work is already extraordinary, or it is not, and no amount of markup will settle that either way. What is being decided daily, in rooms you cannot enter, is only whether the words ever left the building.

Your dashboard is not lying to you. It is answering a question that used to be the only question.

The question it cannot answer is the one that now decides the shortlist. When a buyer asks, and you are not in the room, what does the answer say? You will not be told. There is no notification for an absence, and an absence is what this costs you.

Which leaves one instruction, older than any of the machinery above it. Write for the person. Deliver so that AI can carry it. Only one of them will wait.

Mastery deserves an audience.


메타데이터
post_id
c4d4a8bc367f
slug
your-analytics-wont-tell-you-if-ai-can-t-see-you-c4d4a8bc367f
url
https://medium.com/cleo-by-regenai/your-analytics-wont-tell-you-if-ai-can-t-see-you-c4d4a8bc367f
canonical_url
https://medium.com/cleo-by-regenai/your-analytics-wont-tell-you-if-ai-can-t-see-you-c4d4a8bc367f
author_url
https://medium.com/@CLEO_Founder
status
ok
fetched_at
2026-07-16 05:23:09