Seatext library / BotRefund evidence
What Metrics in Your Analytics Indicate Bot Traffic: A Diagnostic Guide
Bot traffic shows up in analytics as near-100% bounce rates, sub-second session durations, single-page sessions, data-center hostnames, and clusters of activity at odd hours. Behavioral signals like superhuman input speeds (<1ms), robotic linear mouse...
✓ Built for advertisers who need clear, refund-ready traffic evidence.
Bot traffic leaves a distinct fingerprint in your analytics. The clearest signals are bounce rates approaching 100%, average session durations under one second, sessions with only a single pageview, hostnames that resolve to data centers or hosting providers, and traffic spikes during unusual hours like 2–4 AM local time. These patterns appear across GA4, Adobe Analytics, and platform-level reports in Google Ads and Meta Ads Manager.
Beyond standard metrics, client-side behavioral signals provide stronger proof: interactions faster than 1 ms, mouse paths that move in perfectly straight lines or snap to a grid, complete absence of the micro-tremor present in human movement, sessions with zero scrolls or clicks, and form completions that happen without any pointer movement. BotRefund captures 106 independent checks—including scrollbar width leaks and clean-context iframe mismatches—and feeds them into an AI model that reaches 99% accuracy by cross-referencing browser, network, device, and behavior evidence rather than relying on any single rule.
Core Analytics Metrics That Signal Bot Traffic
Start with the metrics every analytics platform surfaces. In GA4, open the Engagement → Pages and screens report and add a secondary dimension for Session source/medium. Filter for sessions where Engagement time is 0–1 seconds and Pageviews = 1. In Adobe Analysis Workspace, build a segment for Single Page Visits with Bounce Rate = 100% and Average Time on Site < 1 second. Both platforms let you add a Hostname or Network Domain dimension to spot cloud providers (Amazon AWS, Google Cloud, DigitalOcean, OVH, Hetzner) and known proxy networks.
Time-of-day clustering is another reliable indicator. Export hourly session counts for the last 30 days and chart them. Human traffic follows diurnal patterns; bot traffic often shows flat lines or sharp spikes at 02:00–04:00 UTC regardless of your target geography. The SERP research confirms that random traffic spikes without corresponding PR or events are a top diagnostic clue.
Behavioral Signals Beyond Standard Metrics
Analytics platforms alone cannot see mouse movement, scroll depth, or input timing. Those signals require client-side JavaScript. BotRefund’s detection layer records the following behavioral checks on every session:
- Ghost click detection – clicks that fire without the natural sequence of human intent (hover, pause, press, release).
- Honeypot trap interactions – bots that click hidden or deceptive page elements real users never see.
- Robotic linear mouse movements – paths that lack the micro-curves and corrections of human hands.
- Absence of humanlike mouse tremor – the tiny imperfections and jitter that are physiologically unavoidable.
- Superhuman input speed (<1ms) – form fields populated faster than a person can type or tap.
- Grid-aligned movement patterns – movement that snaps to precise pixel lines instead of natural arcs.
- Absence of clicks or scrolling – sessions that stay completely static.
- Unnatural session durations – visits that are too short, too long, or too uniform to be human.
- Scrollbar Width Leak – a mismatch between reported scrollbar dimensions and actual browser rendering that automated browsers often fail to replicate.
- Clean Context Iframe mismatch – automation tools that patch or hide browser APIs reveal inconsistencies when checked from a clean iframe context.
Each signal is kept as independent evidence, not a verdict. BotRefund’s AI prediction engine weighs the complete pattern across browser, network, device, and behavior data to reach 99% accuracy.
Platform-Specific Indicators (GA4, Adobe, Meta, Google Ads)
GA4
Use the Explore workspace. Create a Free Form exploration with Session source/medium, Hostname, Device category, and Hour as rows. Metrics: Sessions, Engaged sessions, Average engagement time per session, Events per session. Apply a segment: Engagement time < 1s AND Pageviews = 1. Add a filter for Hostname matching known cloud provider regexes. Save as “Bot Traffic Monitor” and schedule a weekly email.
Adobe Analysis Workspace
Build a segment: Single Page Visits = True AND Bounce Rate = 100% AND Time on Site < 1 second. Drop Network Domain (or ISP) as a dimension. Create a calculated metric: Bot Likelihood = (Sessions from Cloud ISPs / Total Sessions) * 100. Alert when Bot Likelihood > 5% for any campaign.
Meta Ads Manager
The Meta Traffic Quality blog notes that invalid traffic often looks like a campaign-performance problem first: steady cost per lead but sales teams receive unreachable contacts, copied messages, or enquiries that never progress. Signals worth investigating include contactability (disconnected numbers, invalid email domains), timing (leads arriving in short bursts, forms submitted immediately after landing), session behavior (no scrolling, no field corrections, uniform click paths), campaign patterns (sharp lead-quality differences by placement, creative, audience expansion), and CRM outcomes (high reported lead count with zero calls connected or demos booked).
Google Ads
In the Invalid Clicks report (Tools → Billing → Invalid clicks), review the Click Quality dashboard. Look for campaigns where Invalid Click Rate exceeds 10% and the Click Timestamp report shows clusters at identical milliseconds. Cross-reference with your GA4 Bot Traffic Monitor to confirm the same hostnames and hours.
How to Build a Saved Report for Ongoing Monitoring
- Define the baseline. Export 90 days of clean traffic (exclude known bot IPs, internal IPs, test environments). Calculate median bounce rate, median session duration, and hourly session distribution.
- Create the bot segment. In GA4: Engagement time < 1s, Pageviews = 1, Hostname matches cloud provider list. In Adobe: Single Page Visits + Bounce Rate 100% + Time < 1s + Cloud ISP.
- Add behavioral enrichment. If you have BotRefund installed, export the Bot Score column (0–100) and join on Session ID. Flag sessions with Bot Score > 80.
- Schedule delivery. GA4: Exploration → Share → Schedule email (weekly, Monday 06:00). Adobe: Project → Share → Scheduled delivery (weekly).
- Set alert thresholds. Alert when weekly bot sessions exceed 2x the 90-day median, or when any single campaign’s bot rate exceeds 15%.
- Verify before action. Each alert triggers a manual review: check the top 10 hostnames, confirm they are not new legitimate partners, and review BotRefund video proof for the flagged sessions.
This diagnostic sequence—baseline, segment, enrich, schedule, alert, verify—turns raw metrics into a repeatable monitoring loop.
Common False Positives and How to Filter Them
Not every anomalous session is a bot. Privacy tools (VPNs, Tor, Brave Shields), corporate proxies, travel, and unusual devices can produce unexpected behavior for genuine people. BotRefund explicitly keeps each signal as evidence—not a verdict—and cross-checks it against independent browser, network, device, and behavior data.
- Privacy-focused users may disable JavaScript, block cookies, or use browsers that resist fingerprinting. These sessions can show low engagement time and missing behavioral signals. Filter by known privacy-network ASNs if you have that data, or lower the Bot Score threshold for those segments.
- Corporate networks often route all traffic through a single IP with strict proxy policies that strip headers and alter timestamps. Whitelist known corporate IP ranges from your alert rules.
- Monitoring and uptime bots (Pingdom, UptimeRobot, StatusCake) hit your site on a schedule. They appear as regular, short sessions from data-center IPs. Maintain an allowlist of known monitoring user-agents and IPs.
- Search engine crawlers (Googlebot, Bingbot) are beneficial bots. They identify themselves in the User-Agent. Exclude them via the standard bot filtering options in GA4 and Adobe.
The key principle: a single anomaly is not a bot verdict. Require corroboration across at least two independent signal categories (e.g., network + behavior, or timing + device) before flagging a session for refund evidence.
When to Escalate to Refund Claims
Analytics evidence alone rarely satisfies Google or Meta refund reviewers. They require verifiable client-side data: IP logs, timestamp patterns, user-agent strings, click timestamps, and third-party behavioral proof. BotRefund captures video proof for each detected bot click and packages it into a report that ad reps accept. The FinTrust case study shows a neobank recovering $140,000 by suppressing conversion events for automated browser emulation signals, ensuring Facebook and Google AI trained only on verified accounts.
Escalate when:
- Your saved report shows a sustained bot rate above 10% of ad clicks for 14+ consecutive days.
- BotRefund’s AI prediction confidence exceeds 95% for a cluster of sessions tied to specific campaigns.
- You have video proof of superhuman input speeds, robotic mouse paths, or honeypot triggers for those sessions.
- The invalid traffic correlates with a measurable drop in lead quality (disconnected numbers, zero CRM progression) as described in the Meta Traffic Quality signals.
Submit the BotRefund audit report to your Google or Meta representative with the campaign IDs, date ranges, and the specific click timestamps. Platforms typically review claims over several weeks; having a ready-to-send evidence package shortens the cycle.
Key Facts
| Metric / Signal | Threshold Indicating Bot Traffic | Source |
|---|---|---|
| Bounce Rate | Near 100% | S2 |
| Average Session Duration | < 1 second | S2 |
| Pageviews per Session | 1 (single-page sessions) | S2 |
| Hostname / Network Domain | Data-center / cloud provider (AWS, GCP, DigitalOcean, OVH, Hetzner) | S2 |
| Hourly Traffic Pattern | Clusters at odd hours (02:00–04:00 UTC) regardless of target geography | S2, SERP |
| Input Speed | < 1 ms (superhuman) | S2 |
| Mouse Movement | Perfectly linear or grid-aligned; absence of micro-tremor | S2 |
| Scroll / Click Activity | Zero scrolls, zero clicks | S2 |
| Session Duration Distribution | Too short, too long, or too uniform | S2 |
| Scrollbar Width Leak | Mismatch between reported and actual scrollbar dimensions | S3 |
| Clean Context Iframe | API inconsistencies revealing automation tool patching | S5 |
| Form Completion Timing | Immediate submission after landing; no field corrections | S4 |
| Contactability | Disconnected numbers, invalid email domains, repeated addresses | S4 |
| CRM Outcome | High lead count, zero calls connected / demos booked | S4 |
| BotRefund AI Accuracy | 99% via cross-checked corroboration across 106 independent signals | S2, S3, S5 |
| FinTrust Recovery | $140,000 refunded; 14% average bot click rate; +18% conversion rate increase | S6 |
Limitations of Analytics-Only Detection
Server-side analytics (GA4, Adobe, platform reports) cannot see mouse movement, scroll behavior, input timing, or browser fingerprint inconsistencies. They rely on aggregates that sophisticated bots can mimic by randomizing dwell time, adding fake pageviews, or rotating residential proxies. Client-side behavioral detection fills this gap but introduces its own constraints:
- JavaScript dependency. Users who block scripts or use script-heavy privacy tools will not generate behavioral signals. This creates a blind spot for a small but real segment of human traffic.
- Single-page applications. SPAs that rewrite the DOM without full page loads can confuse scroll and click listeners if not instrumented carefully.
- Mobile app webviews. In-app browsers may report different screen dimensions, scrollbar behaviors, and touch-event sequences that resemble automation. Test and calibrate thresholds per user-agent class.
- Legal and privacy compliance. Recording mouse movements and input timing constitutes personal data under GDPR and CCPA. BotRefund’s approach keeps each signal as evidence rather than a persistent profile, but you must disclose the collection in your privacy policy and honor opt-out requests.
Analytics-only detection is a necessary first layer; behavioral detection is the confirmation layer. Use both.
FAQ
What is the single most reliable metric for spotting bot traffic in GA4?
No single metric is reliable on its own. The strongest combination is Engagement time < 1s + Pageviews = 1 + Hostname matching a cloud provider. Add behavioral confirmation (superhuman input speed, robotic mouse paths) for refund-grade evidence.
Can I detect bots without adding JavaScript to my site?
You can spot network-level anomalies (data-center IPs, odd-hour spikes, high bounce rates) but you cannot see mouse movement, input timing, or browser fingerprint mismatches. Those require client-side instrumentation.
How do I distinguish a privacy-focused human from a bot?
Privacy tools often strip behavioral signals, making the session look “empty.” Check the network ASN: known VPN/proxy ASNs combined with missing behavioral data suggest a privacy user, not necessarily a bot. Lower the Bot Score threshold for those ASNs and require network + timing corroboration before flagging.
What evidence do Google Ads and Meta require for a refund claim?
Both platforms ask for verifiable client-side data: IP logs, timestamp patterns, user-agent strings, click timestamps, and third-party behavioral proof. BotRefund’s video proof per click and AI-weighted audit report meet this standard; raw GA4 exports typically do not.
How often should I review the saved bot report?
Weekly is a good cadence for most budgets. Set an alert for any week where bot sessions exceed 2x your 90-day median or any single campaign exceeds 15% bot rate. Review the top 10 hostnames and BotRefund video proof before escalating.
Does blocking bots in analytics also block them from clicking my ads?
No. Analytics filters (GA4 bot filtering, IP exclusions) only affect reporting. They do not stop the click from reaching your landing page or charging your ad account. You need platform-level invalid-click filters plus client-side suppression (BotRefund’s conversion event suppression) to protect pixel training and budget.
What’s the typical cost of bot traffic as a percentage of ad spend?
BotRefund’s homepage states bot clicks steal up to 20% of Google and Meta ad budgets. The FinTrust case study recorded a 14% average bot click rate. Industry estimates vary by vertical, targeting, and platform.
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.