- "AI traffic" covers at least three populations: scheduled training and indexing crawlers, on-demand fetchers triggered by a live question, and agentic sessions running a real browser engine on a person's behalf. They warrant different handling.
- A declared user agent proves nothing on its own. The metric that carries information is the verified share within each declared identity, confirmed by reverse DNS or published IP ranges.
- The expensive misclassification is not letting a crawler through, it is dropping an agentic session that had a real person's intent behind it.
- Monitor in layers — by declared identity, by verification result, and by the class of page being hit (content, pricing, ad landing page) — rather than by one site-wide percentage.
- Start rules in observe-only mode, do not block search crawlers, and after any robots.txt change check coverage reports to confirm nothing was caught by mistake.
Three populations behind one label
Separating them is the precondition for every judgement that follows.
- Training and indexing crawlers. They fetch in bulk on their own schedule, usually do not execute JavaScript, and have nobody waiting on the result. What they consume is bandwidth and origin capacity; they do not affect conversion unless they repeatedly hit landing pages.
- On-demand fetchers. A person asks a question in an assistant and the system retrieves one or two pages in real time to answer it. Volume is low and scattered, often a single URL, but what it retrieves becomes what that person reads.
- Agentic browser sessions. These run a real browser engine: scripts execute, pages scroll, forms and even purchases can be completed. The actions are automated but the intent is a person's. By signal they look the most like automation; by commercial value they are the closest to a real visitor.
In the log the three can look similar, yet they mean different things: the first is a cost question, the second is a content-presentation question, and the third is a conversion and false-positive question. One threshold handling all three will handle at least one of them wrongly.
What the classifying signals actually read
Whether the decision is made by an edge rules engine or a commercial product, it draws on roughly five layers, ordered from easiest to hardest to fake:
- Declared identity. The user agent string. Self-reported, settable to any value, and therefore a lead rather than a conclusion.
- Network origin. The ASN behind the IP, whether it belongs to a data centre range, whether it falls inside the operator's published ranges, and whether reverse DNS resolves forward to the same address. Major crawler operators publish at least one of these verification paths.
- Transport fingerprint. TLS handshake ordering and HTTP/2 frame settings differ between client libraries, which is where a real browser separates from an HTTP client inside a script.
- Execution environment. Whether scripts run at all, whether headless automation markers are present, and whether environment properties are internally consistent. The trade-offs are covered in browser fingerprinting and crowd anonymity.
- Timing and behaviour. Request rate, the shape of the path taken, dwell and scroll, and whether the same URL is fetched repeatedly. This layer is the hardest to fake and also the slowest, since a verdict needs several requests before it means anything.
In practice most of this happens at the edge, before the request reaches the origin, which is why a site's own analytics rarely shows the part that was stopped — and why the scale of automated traffic is routinely underestimated.
Where the classification goes wrong
Four recurring failure modes, each with a matching check:
- Treating a declaration as verification. The log carries the name of a well-known AI crawler, but the IP is outside the operator's published ranges and reverse DNS does not match. Counting those as legitimate crawler traffic inflates the crawler share and lets the source that actually needs rate limiting through.
- Scoring an agentic session as headless automation. An agentic browser is program-driven and its execution-environment signals do lean automated, yet a real purchase intent sits behind it. Judged on signals alone it lands on the blocked side easily.
- Merging it with proxy traffic. Some on-demand fetching exits through consumer networks and therefore lands in the same pool as VPN and residential proxy traffic. The two need separating; the distinction is set out in proxy detection versus bot detection.
- Setting thresholds from an aggregate share. A figure such as "18% automated" does not help tuning, because it mixes a cost problem with a conversion problem. Thresholds belong per page class; what an error costs is covered in false positives in detection.
A monitoring set worth keeping
The following fit on a single board, and each one maps to an action:
- Requests per declared identity, with the verified share alongside. A sudden fall in the verified share usually means a source has started borrowing an identity.
- Automated share split by page class — content, pricing, ad landing pages, checkout. A high share on content pages is a cost question; a high share on landing pages is a media question.
- Automated requests on landing pages carrying ad parameters. This is the most direct route by which automated traffic contaminates campaign data.
- The gap between server-log requests and tag-fired sessions. The trend matters more than the absolute number: it tracks the size of the population that never executes scripts.
- The distribution of verdict reasons. Every block or downgrade should carry a reason code; a board with percentages and no reasons cannot be tuned, as discussed in reading traffic routing analytics.
- A false-positive candidate list — sessions judged automated that nonetheless produced a signup or an order. The list is usually short, and it is the only evidence that directly falsifies a threshold.
- Origin cost — bandwidth and compute attributable to automated requests. It sets the priority for rate limiting and is the one number that reconciles with the engineering side of the conversation.
The general identification methods are laid out in bot traffic detection. The emphasis here is on the breakdown, not on buying a more expensive detector.
How it shows up in ad and analytics numbers
Automated requests landing on tagged pages raise session counts and depress conversion rate at the same time. Together they read as "more traffic, worse performance" — a shape easily mistaken for a drop in media quality.
A/B tests are affected more directly: a diluted denominator raises the sample needed for significance, and the dilution is not necessarily even across variants. The arithmetic is covered in sample size and significance in landing page A/B tests.
The terminology matters. Invalid traffic in the platform sense applies to ad interactions, and most AI fetching never produces an ad click. The distinction is set out in what is invalid traffic and GIVT versus SIVT. Calling AI fetching fraud is inaccurate, and it weakens the credibility of genuine claims.
Setting rules without hurting search visibility
The usual question is how to stop bots from crawling a site. The more useful version is: which population, on which paths, and limited to what degree. A workable order:
- Classify before acting. Run observe-only for at least two weeks, establish the volume and verified share of each declared identity, then decide.
- Write robots.txt agent by agent. A company's training crawler and its search indexing crawler are often separate agents, and restricting one does not restrict the other. Verify against the live file after any change, not the local copy.
- Do not block search crawlers. Losing search crawling in order to save bandwidth is a bad trade; after any change, check the coverage report in Search Console to confirm nothing dropped out.
- Prefer rate limiting to refusal. For bulk fetching that is a cost problem, a rate limit controls spend without creating hard failures. Refusal belongs to sources confirmed to be borrowing an identity and concentrating on high-value paths.
- Serve every visitor the same URL and the same content. That is a baseline requirement of ad-platform landing page policy and the first thing checked in a self-audit; see Google Ads landing page requirements.
A wider set of measures is listed in how to reduce bot traffic. The point here is the order: make the traffic legible first, change the rules second.
When a real visitor gets flagged
A message along the lines of "this request was flagged as potential bot traffic" means a classifier pushed that request past its threshold. Three causes account for most of them: poor network reputation on the exit IP (shared egress, corporate NAT, some mobile ranges), a privacy browser configuration that makes environment properties look inconsistent, and an unusual short-term request pattern.
It is a probabilistic verdict, not a statement of fact. Two things help: keep the reason and timestamp for every verdict so genuine visitors caught by it can be found afterwards, and leave such sessions a recoverable path rather than ending them outright. How to read the score itself is covered in bot scores explained.
A review cadence
The composition of this traffic changes quickly, and a configuration tuned once and never revisited is usually stale within a quarter. A sufficient cadence: weekly, check whether volume and verified share per declared identity moved sharply; monthly, review the false-positive candidate list and the automated share by page class; quarterly, re-check that robots.txt and rate limits still match the current agent list.
Frequently asked questions
Is AI crawler traffic counted as invalid traffic?
Not automatically. Invalid traffic is a billing and measurement term applying to ad interactions, and most AI fetching never touches an ad click. What matters is when those requests land on tagged pages or ad landing pages, inflating sessions and depressing conversion rate. The fix is to separate them in reporting rather than relabel them as fraud.
Can a declared user agent be trusted on its own?
No. The user agent is self-reported and can be set to anything. Major operators publish reverse DNS conventions or IP ranges, so the useful metric is the verified share of requests within each declared identity, not the declared name.
What is the difference between an AI crawler and an agentic browser session?
A crawler fetches in bulk on a schedule with nobody waiting. An agentic session is driven by a person's request in the moment, runs a real browser engine, executes scripts, and may complete a form or a purchase. Treating the second as ordinary bot traffic removes a visitor who had an intent behind them.
Does restricting AI crawlers affect search rankings?
It depends which agent is restricted. A company's search indexing crawler and its AI training crawler are frequently separate agents, and restricting one does not necessarily restrict the other. Search crawlers should not be blocked, and any robots.txt change should be verified against the live file and followed by a look at coverage reports.
A visitor says they were flagged as potential bot traffic. What does that mean?
A classifier scored that request above its automation threshold, usually because of exit-network reputation, a privacy browser configuration, or an unusual request pattern. It is probabilistic rather than factual, so the system should retain the reason for each verdict, which is what makes it possible to find genuine visitors caught by it and reconsider the threshold.
ROAS365 provides visit-level traffic records: every visit carries a traceable record and the reason behind its verdict, so decisions can be examined afterwards and reconciled with downstream results. To see how that fits your site structure, contact sales.