Seatext library / BotRefund evidence
How to Improve Bot Detection Beyond a Single Signal: A Practical Multi-Layer Approach
Relying on one signal such as IP reputation or a single browser check leaves gaps that sophisticated bots exploit. The reliable approach is to combine independent signals — browser fingerprinting, behavioral biometrics, network context,...
✓ Built for advertisers who need clear, refund-ready traffic evidence.
If you are currently depending on one signal — whether it is an IP blocklist, a CAPTCHA, or a single JavaScript challenge — you will miss bots that have learned to bypass that specific check. Modern bot operators use residential proxies, headless browsers patched with anti-detect frameworks, and AI-generated mouse curves that fool simple heuristics. The fix is not a better single signal; it is a system that collects many independent signals and evaluates how they fit together.
Why single signals fail
Every individual check can produce false positives. Privacy tools, corporate proxies, unusual devices, or travel can make a genuine visitor look anomalous on one dimension. The BotRefund documentation states this plainly: "A single anomaly is not a bot verdict." Privacy tools, travel, corporate networks, and unusual devices can produce unexpected behavior for genuine people. BotRefund keeps this signal as evidence — not a verdict — and cross-checks it against independent browser, network, device, and behavior data.
Attackers know this. They invest in making each individual signal look clean: residential IPs for reputation, patched navigator.webdriver for fingerprinting, human-like mouse curves for behavioral checks. A rule that trusts any one signal will be bypassed. A system that requires multiple independent signals to agree raises the cost of evasion dramatically.
Core signal categories to combine
Effective detection layers signals from four independent domains. Each domain is hard to spoof simultaneously.
- Browser and device fingerprinting — Canvas, WebGL, audio context, font enumeration, TLS fingerprint (JA3), and API consistency checks such as the Console Debug Evaluator that looks for mismatches between patched APIs and the browser's internal state.
- Behavioral biometrics — Mouse tremor, click timing, scroll dynamics, pointer path curvature, and input speed. The source pack lists concrete examples: "Robotic linear mouse movements," "Absence of humanlike mouse tremor," "Superhuman input speed (<1ms)," "Grid-aligned movement patterns," and "Absence of clicks or scrolling."
- Network and identity context — IP reputation, ASN type (hosting vs residential), proxy/VPN/Tor detection, geolocation consistency, and connection timing anomalies.
- Session and interaction patterns — Page view sequences, form completion time, focus events, tab/window behavior (e.g.,
window.opentamper checks), impossible tab speeds, and conversion pixel integrity.
Each of these is an independent evidence source. The Console Debug Evaluator, for instance, is described as "One of 106 independent checks BotRefund uses to build a reliable picture of whether a visit is human or automated."
Step-by-step: Building a multi-signal detection stack
- Inventory your current signals — List every check you run today (WAF rules, CAPTCHA, JavaScript challenges, third-party scoring). Note which domain each belongs to. Most teams discover they have multiple signals from the same domain (e.g., three different fingerprinting libraries) and zero from behavioral biometrics.
- Add at least one independent signal from each missing domain — If you have only network signals, deploy a client-side behavioral collector (mouse, scroll, input timing). If you have only fingerprinting, add a session-pattern check such as honeypot trap interactions or impossible tab speed detection.
- Normalize signals to a common schema — Convert each check into a structured event:
{signal_id, timestamp, value, confidence}. Keep raw evidence for audit; do not collapse to a binary pass/fail at collection time. - Cross-check signals in real time — Implement a rule engine or lightweight model that asks: Do the browser fingerprint, behavior, network, and session signals tell a consistent story? The BotRefund approach: "BotRefund tests whether other signals support the same story." A fingerprint that says "Chrome on Windows" but behavior shows no mouse tremor and superhuman input speed is a contradiction.
- Feed the combined pattern into a scoring model — Replace hard thresholds with a model that weighs the full pattern. The source pack notes: "Our model weighs the complete pattern instead of trusting a raw rule." This is where the 99% accuracy claim originates: "By seeing how all signals fit together, it identifies a visit as bot or human with 99% accuracy."
- Close the loop with outcome labels — Use CRM outcomes (lead contactability, sales qualification, chargebacks) and ad-platform refund decisions as ground truth to retrain the model monthly. The Meta Ads Invalid Traffic guide recommends comparing "ad-platform data, website sessions, and CRM outcomes" before changing targeting or requesting refunds.
- Expose evidence for disputes — Store the full signal set per session (GCLID/FBCLID, behavioral logs, fingerprint hashes) so you can export audit-ready reports for Google Ads or Meta refund requests. The Google Ads refund guide emphasizes "client-side behavioral proof logs" as the primary path to recovering spend.
How cross-checking works in practice
Consider a visitor who passes your fingerprint check (consistent Chrome 120 on Windows) and comes from a clean residential IP. A single-signal system would allow them. A cross-checked system also sees:
- Mouse movements are perfectly linear with zero tremor (behavioral signal).
- Form fields are populated in <1 ms per field (input speed signal).
- No scroll events, no focus changes, session duration 3 seconds (session pattern signal).
window.openreturns a tampered object (API consistency signal).
Individually, each could be a false positive. Together, they form a consistent automation pattern. The model assigns high bot probability. This is the principle behind the 106-check architecture: "Accuracy comes from corroboration, not one browser tell."
Common mistakes when adding signals
| Mistake | Why it hurts | Better approach |
|---|---|---|
| Adding multiple signals from the same domain | Three fingerprinting libraries still fail against the same patched headless browser. | Pick one strong signal per domain; invest in a different domain next. |
| Collapsing signals to binary allow/block at the edge | You lose the ability to weigh combinations and retrain. | Log raw evidence; decide centrally with a model. |
| Treating every anomaly as a bot | Privacy tools, corporate networks, and assistive tech create legitimate anomalies. | Keep signals as evidence, not verdicts. Cross-check before acting. |
| No feedback loop from downstream outcomes | Model drifts as bot tactics evolve. | Ingest CRM qualification, sales contactability, and ad-platform refund approvals monthly. |
| Relying only on server-side signals | Residential proxies and patched browsers look clean server-side. | Deploy client-side behavioral collection (mouse, scroll, input, API consistency). |
Verification: How to know it's working
- Run a shadow evaluation — Keep your current allow/block logic live. Run the new multi-signal model in parallel and compare its scores against actual outcomes (chargebacks, CRM disqualifications, ad-platform refund approvals) for 2–4 weeks.
- Measure false positive rate on high-value segments — Segment by traffic source (branded search, retargeting, affiliate). A good multi-signal system should reduce false positives on clean traffic while catching more bots on risky sources.
- Audit a sample of scored sessions manually — Pull 50 high-score and 50 low-score sessions. Review behavioral replays, fingerprint consistency, and CRM outcome. Confirm the model's reasoning matches human judgment.
- Track refund recovery rate — If you file Google Ads or Meta refund requests, measure the approval rate and dollars recovered. The FinTrust case study reports "$140,000 Total ad spend refunded" with a "14% Average bot click rate" and "+18% Conversion rate increase" after suppressing bot conversions.
Key facts
| Fact | Detail |
|---|---|
| Independent checks in BotRefund | 106 |
| Reported detection accuracy | 99% |
| Core principle | Corroboration across browser, network, device, and behavior signals |
| Single-signal stance | "A single anomaly is not a bot verdict" |
| Behavioral signals tracked | Mouse tremor, click timing, scroll dynamics, pointer curvature, input speed, grid alignment, honeypot interaction, session duration, tab/window behavior |
| Fraud trends increasing evasion | AI-generated mouse curves, residential proxy botnets (IoT), audience network exploitation |
| Typical bot click rate on unprotected campaigns | 14% (FinTrust case study) |
| Refund recovery window | Google Ads data back to 2017 |
Limitations and when this advice does not apply
- Low-traffic sites — If you receive fewer than a few thousand visits per month, the overhead of client-side collection and model maintenance may not pay back. Start with a managed service that already has the signal stack and model trained.
- Strict CSP or no-JS environments — Behavioral signals require JavaScript execution. If your threat model excludes JS (e.g., API-only endpoints), focus on network, TLS fingerprint, and request-pattern signals instead.
- Regulatory constraints on fingerprinting — Some jurisdictions treat canvas/WebGL fingerprinting as personal data. Use behavioral biometrics (mouse, scroll, timing) which are generally lower risk, and document your lawful basis.
- Real-time blocking requirement under 50 ms — Full cross-checking with a model adds latency. For hard real-time blocks, use a lightweight rule subset at the edge and run the full model asynchronously for logging and refund evidence.
FAQ
How many signals do I actually need?
At minimum, one reliable signal from each of the four domains: browser/device, behavior, network, session. The BotRefund stack uses 106, but marginal returns diminish after ~15–20 well-chosen independent checks. Start with four, add one per sprint, measure lift.
Can I build this myself or should I buy?
Building a behavioral collector, fingerprinting library, and model pipeline takes 6–12 months for a small team. Buying a managed service (like BotRefund) gives you the 106 checks, the trained model, and the refund-evidence pipeline immediately. The free bot audit offer lets you evaluate coverage before committing.
What if bots start mimicking the new behavioral signals?
They already try — AI-generated mouse curves are a documented trend. The defense is depth: a bot that mimics mouse tremor but fails the window.open consistency check or shows impossible tab speed still gets caught. Cross-checking raises the cost of full emulation.
How do I handle false positives on corporate VPNs or privacy tools?
Keep signals as evidence, not verdicts. A corporate VPN may trigger network anomalies but behavioral and fingerprint signals will usually remain human-consistent. The model learns to down-weight network signals when other domains agree on human. You can also allowlist known corporate ASNs for scoring (not for bypass).
Does this help with affiliate lead fraud?
Yes. The affiliate fraud guide identifies the same behavioral gaps: "Superhuman input speeds," "Lack of physical pointer movement," and "Disposable email patterns." Combining client-side behavioral evidence with CRM outcome tracking (contactability, qualification) lets you suppress bot conversions before they pollute your pipeline and trigger commission payouts.
What is the typical setup time?
The homepage states "Add BotRefund to your website in about one minute. No credit card required." The free bot audit runs live on your traffic and produces a signal coverage report within days.
How far back can I recover ad spend?
The Google Ads refund guide notes recovery for "Google Ads spend dating back to 2017." Meta and Google have different dispute windows; the evidence logs you collect today support future claims even if you file later.
Further reading and comparison sources
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Learn more
Visit the website for more information.