Skip to main content

Solutions

Invalid traffic detection

Find out what share of your reported traffic is not human. Per-request classification gives you a number you can defend to an advertiser or a board.

Free plan, no card. 100,000 events a month with every feature on.

botscope.io · last 7d

This site, classified by this product. Nothing here is a mock-up.

live
requests
4,245
human
80%
AI agents
0%
stopped
0%
verdict stream
  1. signals
    • threat_feed: datacenter — fail (listed on a subscribed feed)
    • anomaly_score: 0.25 — pass (combined disagreement across the collected signals)
  2. signals
    • threat_feed: datacenter — fail (listed on a subscribed feed)
    • anomaly_score: 0.25 — pass (combined disagreement across the collected signals)
  3. signals
    • anomaly_score: 0.40 — pass (combined disagreement across the collected signals)

botscope.io's own traffic only — never a customer's. No addresses, no query strings, and a path is shown only when it is already a public page.

In short

  • Standard analytics platforms filter bots by matching a known list of user agents — any bot not on the list passes through as a human session.
  • Crawlers fall into two groups: those that identify themselves honestly and those that do not. Each group needs a different detection method.
  • Per-request classification assigns a verdict to every request, producing a share of invalid traffic you can show workings for.
  • Botscope catalogues 1,953 automated agents across 14 categories and 774 operators, and classifies each request server-side before it reaches your analytics tool.
  • Nothing is blocked by default. You get the number first, then decide what to do with it.

Updated 16 September 2026

01 · the problem with the number you are about to report

The problem with the number you are about to report

Invalid traffic is automated requests counted as human visits in your analytics. When you report sessions, pageviews, or ad impressions to an advertiser, a client, or a board, invalid traffic inflates every figure. The question is not whether automated traffic reaches your site — it does — but what share of your reported traffic it represents, and whether you can defend that share under scrutiny.

02 · why analytics platforms under-report bots

Why analytics platforms under-report bots

Most analytics platforms, including client-side tag-based tools, filter bots by checking the request user agent against a published list. A user agent is a text string the client sends to identify itself. This approach has two structural weaknesses.

First, the list is finite. New crawlers appear faster than lists are updated. Any automated agent not yet on the list passes through and is recorded as a human session.

Second, the check is passive. It accepts whatever the client claims to be. A crawler that sets its user agent to a common browser string bypasses the filter entirely. Misrepresentation costs the operator nothing.

The result is systematic under-reporting. The bots your analytics tool catches are the well-behaved ones that did not need catching. The ones that distort your numbers are the ones that chose not to identify themselves.

03 · two kinds of crawler, two kinds of problem

Two kinds of crawler, two kinds of problem

Crawlers that identify themselves are transparent about their purpose. Googlebot, for example, announces itself and can be verified by reverse DNS lookup. These crawlers are legitimate and expected. Counting them as human traffic is a measurement error, not a threat.

Crawlers that do not identify themselves present a different problem. They may be scrapers harvesting content, browser automation tools running synthetic tests, or AI agents collecting training data. Because they present as browsers, client-side analytics records them as users.

Botscope's catalogue currently covers 1,953 automated agents. The breakdown by category is in the table below. Of those, 37 can be verified through reverse and forward DNS, 48 against published address ranges, and 51 by a signed token. The rest are classified by behavioural and network signals at the request level, and labelled as such.

04 · who is behind the traffic that is not human

Who is behind the traffic that is not human

Bot Operator Default policy Verifiable
360Spider Qihoo 360 Allow By user agent
Alexa Archive Alexandria.org Allow By user agent
alexa site audit Amazon Allow By user agent
AlexandriaOrgBot Alexandria.org Allow By user agent
Algolia Algolia Allow By user agent
All Africa Crawler AllAfrica Global Media Allow By user agent
Atom Feed Robot RSSMicro Allow By user agent
Baidu ADS Server Proxy Baidu Allow By user agent
Baiduspider Baidu Allow By user agent
Baiduspider-render Baidu Allow By user agent
bingbot Microsoft Allow By user agent
BingBot Microsoft Allow By user agent

Read live from the Botscope crawler catalogue. Default policy is the catalogue default; every agent can be overridden per site.

05 · how per-request classification produces a defensible share

How per-request classification produces a defensible share

A defensible invalid traffic figure requires a verdict for every request, not an extrapolation from a sample. Per-request classification is the practice of evaluating each incoming HTTP request against a set of signals before any analytics event fires.

Botscope runs this classification server-side. Server-side means the check happens on infrastructure you control, before the request reaches your analytics pipeline. The verdict — human, known bot, or unverified automated agent — is attached to the request record.

Because every request carries a verdict, you can calculate the share of invalid traffic as a precise ratio: classified non-human requests divided by total requests. That ratio is reproducible. You can show the input data, the classification logic, and the output. A number you can show workings for is a number you can defend.

Botscope names 774 distinct operators across the 1,186 agents it has researched that far, out of 1,953 in the catalogue. When a request matches a known agent, Botscope records the operator name, not just a generic 'bot' label. That level of attribution lets you answer follow-up questions: which automated agents account for most of the non-human share, and what do they do.

06 · what to do with the answer

What to do with the answer

Once you have a per-request invalid traffic share, you have three practical options.

First, adjust the figures you report. Subtract verified non-human sessions from the totals before presenting them. Document the methodology so the adjustment can be audited.

Second, segment the non-human traffic. Not all automated requests are equally harmful to your numbers. A Googlebot crawl inflates raw request counts but does not affect session-based metrics if filtered correctly. An unidentified browser automation agent that fires your analytics tag does affect session counts. Treat these differently.

Third, consider enforcement selectively. Botscope does not block traffic by default. You turn enforcement on per agent category once you have reviewed the data and confirmed you understand the consequences. Blocking a crawler you did not recognise as a legitimate partner, for example, is a risk you can avoid by classifying before acting.

07 · what this does not do

What this does not do

Botscope does not hold ad-fraud certification or IAB accreditation. If your advertiser contract or campaign audit requires a certified measurement vendor for ad impression validation, Botscope is not a substitute for that requirement.

Botscope classifies 1,953 agents as of the current catalogue. Automated agents outside the catalogue are flagged as unverified rather than silently passed through, but they do not receive an operator-level attribution until they are added to the catalogue.

Classification confidence varies by agent type. The 1 agent in the catalogue that uses a signed token can be verified with high certainty. Agents that misrepresent themselves as browsers are classified by indirect signals, and a small proportion of those classifications will carry lower confidence scores. Botscope surfaces the confidence score per request so you can apply your own threshold when deciding what to include in a reported figure.

Questions

Does Botscope change my existing analytics data retroactively?

No. Botscope classifies requests from the point of integration forward. Historical data in your analytics platform is not altered. You can apply Botscope's classification to new data and use the resulting share as a reference when contextualising historical figures, but the historical records themselves are unchanged.

What is the difference between invalid traffic and a bot filter in GA4?

GA4's bot filter excludes requests from user agents on the IAB/ABC International Spiders and Bots List. Invalid traffic is a broader category: it includes any non-human request, regardless of whether the agent appears on a published list. GA4's filter catches a subset of invalid traffic. Botscope classifies at the request level against its own catalogue of 1,953 agents, which includes categories GA4 does not address, such as AI crawlers, browser automation tools, and AI coding agents.

Can I use the Botscope classification as evidence in an advertiser dispute?

Botscope produces a per-request log with operator attribution that you can export and present. Whether that log is accepted as evidence in a specific dispute depends on the terms of your advertiser contract and what measurement standards it references. Botscope does not hold ad-fraud certification or IAB accreditation, so if your contract requires a certified vendor, this log alone may not satisfy that requirement. It can, however, support your position by documenting methodology and showing reproducible figures.

What happens to traffic from automated agents that are not in the catalogue?

Requests that do not match any of the 1,953 catalogued agents are flagged as unverified rather than assumed to be human. They appear in your Botscope dashboard as a separate segment. You can review the signals associated with those requests and decide how to treat them in your reporting. When new agents are added to the catalogue, previously flagged requests from matching agents are reclassified in the Botscope record.

Does enabling enforcement affect crawlers I want to allow, such as search engine bots?

Enforcement is configured per agent category. Search engine crawlers sit in a separate category from, for example, AI scrapers or browser automation tools. You can block one category while leaving another unrestricted. Botscope recommends reviewing the classification data before enabling enforcement on any category.

How does Botscope classify a bot that presents itself as a browser?

When a user agent string matches a common browser pattern, Botscope evaluates additional request-level signals to determine whether the request is likely automated. These signals include network characteristics, request timing, and header patterns. The resulting classification carries a confidence score. Requests where the confidence score falls below your configured threshold are reported separately so you can apply your own judgement before including or excluding them from a reported figure.

See which of these reach your site

Free plan, no card: 100,000 events a month with every feature on. Nothing is blocked until you turn enforcement on.

Related