Seatext library / BotRefund evidence
How to Get a Clearer Organized Record of Questioned Traffic
Install a client‑side bot detection tool that logs each visitor’s behavioral signals, preserves attribution data, and exports a structured report you can filter by campaign, placement, and time. This turns raw click data into...
✓ Built for advertisers who need clear, refund-ready traffic evidence.
To get a clearer organized record of questioned traffic, install a client‑side bot detection tool that logs each visitor’s behavioral signals, preserves attribution data, and exports a structured report you can filter by campaign, placement, and time.
This approach turns raw click data into a searchable log that shows which leads are likely bots, lets you export the log for internal review, and gives you the evidence needed to request a refund from Meta or Google.
- Choose a bot detection solution that provides client‑side event logging (e.g., BotRefund).
- Add the provided JavaScript snippet to every page that receives paid traffic.
- Enable automatic capture of click ID, timestamp, UTM parameters, and the 100+ behavioral signals.
- Set up a daily export (CSV or JSON) of the raw event log to your data warehouse.
- Create a simple dashboard that flags sessions with high‑risk signals (e.g., scrollbar width leak, superhuman input speed, missing mouse tremor).
Prerequisites
- Access to edit the website’s header or tag manager.
- A Google Ads or Meta Ads account with auto‑tagging enabled so click IDs (GCLID or fbclid) are passed to the landing page.
- Basic ability to schedule a CSV export or webhook from the detection tool.
Verification step: After 48 hours, export a sample of the log and check that at least one column contains the click ID and another column contains a signal name such as 'scrollbar_width_leak' with values 0 or 1; if both are present, the recording is working.
How questionable traffic appears in Meta and Google Ads
In Meta campaigns, a sudden rise in leads with disconnected phone numbers, invalid email domains, or identical form fields often signals bot activity. The cost per lead may stay flat, but the sales team sees no calls, demos, or qualified opportunities. Similar patterns appear in Google Ads when clicks come from data‑center IPs, occur in rapid bursts, or lack any page scrolling or mouse movement.
Meta’s broad reach across Facebook, Instagram, and partner inventory increases exposure to accidental clicks, low‑intent traffic, automated browsing, and deliberately fraudulent submissions. A fake lead may be intended to earn an affiliate payout, inflate a publisher’s performance, scrape an offer, or simply exhaust a sales team’s time. Not every bad lead is a bot, and treating every unresponsive contact as fraud can make a team exclude a valuable audience.
Core signals that distinguish bots from humans
BotRefund looks for repeatable technical and behavioral patterns: unusually fast form completion, identical field structures, sudden placement‑level spikes, conversion events with no meaningful page engagement, disconnected numbers, invalid email domains, repeated addresses, unusual country‑code concentration, leads arriving in short bursts, forms submitted immediately after landing, conversions at odd hours, no scrolling, no field corrections, uniform click paths, no time on offer page, sharp lead‑quality differences by placement, creative, audience, device, or landing page, high lead count with zero calls, demos, qualified opportunities, or repeat engagement.
Specific checks include the scrollbar width leak, which detects a mismatch between expected and actual scrollbar dimensions, and the clean context iframe test, which spots hidden automation by checking browser APIs from an isolated frame. Each signal is one independent piece of evidence; the system cross‑checks all signals before reaching a verdict.
Step‑by‑step workflow to capture and organize traffic data
1. Preserve attribution before changing the campaign – keep campaign, ad set, creative, placement, and click identifier unchanged.
2. Enable the detection tool to log each session with its click ID, timestamp, UTM tags, and all behavioral signals.
3. Store the log in a queryable table (e.g., Google BigQuery) partitioned by date.
4. Create a view that flags any session where two or more high‑risk signals are true.
5. Export the flagged rows weekly to a CSV for the finance or fraud team to review.
6. Use the exported file as evidence when submitting an invalid‑activity claim to Meta or Google.
Choosing between client‑side, server‑side, and hybrid audits
Client‑side audits run in the visitor’s browser and capture mouse movements, keystroke timing, and browser‑property leaks. They are easy to deploy with a tag and work well for most bots that execute JavaScript.
Server‑side audits examine web‑server logs for IP reputation, request headers, and user‑agent strings. They catch basic scraper bots but miss sophisticated headless browsers that mimic real headers.
A hybrid approach combines both: use client‑side signals for behavioral evidence and server‑side logs for IP‑based filtering. This gives the highest confidence but requires more engineering effort.
Key facts
| Fact | Detail |
|---|---|
| BotRefund flags bot traffic with 99% confidence | 99% confidence in the bot traffic we flag |
| Recovery rate across audited brands | Across 2,500+ brands audited, 83% of our clients recover funds from Google and Meta. |
| Typical budget loss to bots | Bot clicks steal up to 20% of your Google and Meta ad budget. |
| Number of independent checks | One of 106 independent checks BotRefund uses to build a reliable picture of whether a visit is human or automated. |
| Report format accepted by platforms | Reports in the format Google and Meta accept |
| Negotiation experience | Experience negotiating with Google and Meta |
| Case study financial impact | $140,000 |
| Case study conversion lift | +18% |
Limitations and when the advice does not apply
Client‑side detection only works when the visitor’s browser runs JavaScript. Bots that block scripts, run purely as HTTP requests, or use headless browsers with JavaScript disabled will not generate the behavioral signals. In those cases you must supplement with server‑log analysis (IP reputation, user‑agent screening) or a third‑party fraud service that inspects raw network traffic.
If you cannot modify the site header (e.g., on a closed‑source platform), you cannot install the snippet and must rely on platform‑provided invalid‑traffic filters.
The approach assumes you have auto‑tagging enabled so that each click carries a unique identifier (GCLID or fbclid). Without that identifier you cannot tie a suspicious session back to a specific ad or keyword.
Frequently asked questions
- Why does organized traffic data matter? It lets you separate genuine leads from bot‑generated noise, prevents wasted spend, and gives you the proof needed for platform refunds.
- How long does it take to start seeing usable logs? After the snippet is live, you typically begin collecting signals within minutes; a reliable sample appears after a few hours of traffic.
- What does the solution cost? BotRefund offers a free bot audit; paid plans start at a monthly fee based on ad spend, details are on the pricing page.
- How does this differ from standard platform filters? Platform filters rely on IP lists and basic click patterns; BotRefund adds over 100 behavioral signals and a prediction model for higher accuracy.
- Can I use the exported log for internal analysis? Yes, the CSV/JSON export contains every signal and can be joined with your CRM or analytics tools.
Related resources
- Meta Ads Invalid Traffic: What Advertisers Can Measure and Block
- Facebook Ad Bot Detection: How to Identify Fake Traffic and Reclaim Social Ad Spend
- Google Ads Invalid Activity Credit: How It Works and How to Get Your Money Back
- Cloudflare Alternatives for Bot Traffic: Compare Edge Protection and Ad Refund Evidence
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.