Seatext library / BotRefund evidence
How to Use BotRefund to Identify Duplicate Leads: A Practical Guide
BotRefund identifies duplicate and suspicious leads by analyzing 110+ behavioral, browser, and network signals per session. It flags automated form submissions, repeated contact patterns, and non-human timing — then produces refund-ready reports tied to...
✓ Built for advertisers who need clear, refund-ready traffic evidence.
BotRefund does not run a traditional deduplication database. Instead, it detects duplicate and fraudulent leads by examining each visitor session for evidence of automation. When the same bot network or click farm submits multiple forms, the sessions share telltale patterns: identical browser fingerprints, superhuman input speed, missing mouse tremor, grid-aligned pointer paths, and no meaningful page engagement. BotRefund captures these signals client-side, correlates them with the click ID (fbclid or gclid) that brought the visitor, and builds a session-by-session evidence pack that Google and Meta accept for invalid-activity refunds.
To use BotRefund for this purpose, you install its tracking script on your landing pages, let it collect a baseline of traffic, then review the dashboard for clusters of high-confidence bot sessions. Each flagged session includes a click ID, timestamp, campaign metadata, and a signal-by-signal explanation. You can export these clusters, suppress the associated conversion events in your ad platforms, and submit the report for a credit. The workflow is designed for marketing teams, not infrastructure engineers — no CDN changes, no log parsing, no server-side integration required.
What BotRefund Actually Measures
BotRefund runs 106 independent browser checks (plus network and attribution signals) on every visit. Each check produces one objective fact — for example, whether the scrollbar width matches a real browser, whether an iframe context is clean, whether mouse movements show human tremor, or whether inputs occur faster than 1 millisecond. No single check decides "bot"; the system weighs the complete pattern through an AI model that reaches 99% confidence when the evidence supports it. This corroboration approach matters for duplicate leads: a single anomaly could be a privacy tool or corporate network, but a cluster of sessions sharing multiple anomalies across different IPs and user agents is strong evidence of coordinated automation.
Key Signals That Reveal Duplicate or Fraudulent Leads
The source documentation highlights five signal categories worth investigating when lead quality drops:
- Contactability: Disconnected numbers, invalid email domains, repeated addresses, or an unusual concentration of one country code.
- Timing: Several leads arriving in short bursts, forms submitted immediately after landing, or conversions concentrated at unusual hours.
- Session behavior: No scrolling, no field corrections, uniform click paths, and no meaningful time on the offer page.
- Campaign patterns: A sharp lead-quality difference by placement, creative, audience expansion, device, or landing page.
- CRM outcome: A high reported lead count paired with no calls connected, demos booked, qualified opportunities, or repeat engagement.
BotRefund surfaces these patterns automatically. When you see a placement or creative generating leads that share the same behavioral fingerprint — same input speed, same missing tremor, same scrollbar anomaly — you have a duplicate-lead cluster driven by automation, not by real people filling forms twice.
Step-by-Step: Setting Up BotRefund to Audit Lead Quality
- Add the script to your landing pages. Paste the BotRefund snippet in the
<head>of every page that receives paid traffic. The script loads asynchronously and does not block page render. - Preserve attribution before changing campaigns. Keep campaign, ad set, creative, placement, and click identifiers (fbclid, gclid) intact in your analytics and CRM. BotRefund ties each session to these IDs so the refund report maps back to the exact paid click.
- Let traffic accumulate for 7–14 days. A baseline period lets the model calibrate to your normal human traffic. Do not pause campaigns or change targeting during this window.
- Open the dashboard and filter by confidence. Sessions flagged at 99% confidence are the starting point. Sort by campaign, placement, or landing page to see where bot clusters concentrate.
- Review session recordings and signal breakdowns. Each flagged session shows a replay, a list of triggered checks (e.g., "Superhuman input speed (<1ms)", "Absence of humanlike mouse tremor"), and the click ID. Confirm the pattern looks like automation, not a privacy tool or unusual device.
- Export the cluster as a refund-ready report. The report includes click IDs, campaign details, timestamps, session recordings, and signal-by-signal reasoning formatted for Google and Meta review teams.
- Suppress conversion events for flagged click IDs. In Google Ads and Meta Ads Manager, use the click IDs to exclude those conversions from your optimization signals. This stops the bidding algorithm from learning on bot data.
- Submit the refund claim. BotRefund's team can format and negotiate the claim, or you can file it yourself using the exported evidence. Across 2,500+ audits, 83% of clients recover funds.
Reading the Evidence: What a Bot Session Looks Like
A human session shows imperfection: pauses between fields, backspacing, curved mouse paths, variable scroll speed, and time spent reading. A bot session often shows the opposite: every field filled in <1ms, pointer moving in straight grid-aligned lines, no scroll events, no mouse tremor, and a scrollbar width that doesn't match the browser's reported rendering engine. BotRefund's individual checks — such as Scrollbar Width Leak and Clean Context Iframe — each add one independent fact. The AI prediction weighs all 106+ facts together. When you open a flagged session, you see which checks fired and why the model concluded "bot." This transparency lets you explain the finding to a platform reviewer or a skeptical stakeholder.
Integrating With Your CRM and Ad Platforms
BotRefund does not replace your CRM deduplication rules. It operates upstream: it tells you which paid clicks produced automated sessions so you can stop counting those conversions. The practical integration points are:
- Click ID pass-through: Ensure your forms capture fbclid/gclid in hidden fields and write them to the lead record. BotRefund uses the same IDs.
- Conversion API / offline conversions: When you suppress a bot click, also remove or mark the corresponding offline conversion event so the platform's optimization sees the correction.
- Suppression lists: Export the flagged click IDs and upload them as exclusion audiences or invalid-click lists where the platform supports it.
- Reporting cadence: Schedule a weekly review of new high-confidence clusters. Bot traffic patterns shift when fraud operators rotate infrastructure.
Limitations and When This Approach Does Not Apply
- Human duplicates: If a real person submits the same form twice (e.g., double-click, page refresh), BotRefund will see two human sessions. This is a form-handling or CRM deduplication issue, not a bot issue.
- Low-volume campaigns: The model benefits from volume to establish a baseline. Very small test campaigns may not generate enough sessions for high-confidence clustering.
- Non-JavaScript environments: If a significant portion of your traffic comes from environments that block client-side scripts (some enterprise proxies, certain embedded browsers), those sessions won't be analyzed.
- Privacy tools and corporate networks: VPNs, anti-fingerprinting extensions, and managed devices can trigger individual checks. BotRefund's cross-checking reduces false positives, but you should still review borderline sessions manually.
- Server-side fraud only: If fraud occurs entirely server-to-server (e.g., API abuse, postback spoofing) without a browser visiting your page, client-side detection cannot see it.
Key Facts
| Fact | Detail | Source |
|---|---|---|
| Detection signals | 110+ behavioral, browser, hardware, network, and attribution signals per session | S2 |
| Independent browser checks | 106 checks (e.g., Scrollbar Width Leak, Clean Context Iframe, pointer behavior, speed behavior) | S3, S5 |
| Confidence threshold | 99% confidence when session evidence supports it | S2, S3, S5 |
| Refund success rate | 83% of 2,500+ audited clients recover funds from Google and Meta | S2 |
| Report format | Refund-ready with click IDs, campaign details, timestamps, session recordings, signal-by-signal reasoning | S2 |
| Key lead-quality signals | Contactability, timing, session behavior, campaign patterns, CRM outcome | S1 |
| Integration requirement | Client-side script on landing pages; no CDN, server, or infrastructure changes | S2, S7 |
| Platform support | Google Ads invalid activity credits; Meta invalid traffic refunds | S2, S4, S6 |
Common Mistakes to Avoid
| Mistake | Why It Hurts | Better Approach |
|---|---|---|
| Treating every bad lead as fraud | Excludes valuable audiences; wastes refund credits on low-confidence claims | Start with structured audit comparing ad data, site sessions, and CRM outcomes (S1) |
| Pausing campaigns before preserving click IDs | Breaks the evidence chain; platform reviewers can't match sessions to paid clicks | Keep attribution intact until the report is exported (S1) |
| Relying on a single signal | Privacy tools, corporate networks, and unusual devices create false positives | Require corroboration across multiple independent checks (S3, S5) |
| Not suppressing flagged conversions in the ad platform | Bidding algorithm continues optimizing for bot behavior | Use click IDs to exclude conversions via Conversion API or offline upload |
| Expecting 100% bot catch rate | Google's own systems miss significant invalid activity; client-side catches what server-side misses | Treat BotRefund as the evidence layer that supplements platform filters (S4, S6) |
Practical Scenarios
Scenario 1: Sudden Lead Spike on a New Creative
A new Facebook creative drives a 3x lead volume increase. Cost per lead looks stable. Sales reports zero contactability. BotRefund dashboard shows 87% of the new creative's sessions flagged at 99% confidence — identical pointer paths, superhuman input speed, no scroll. You export the click IDs, suppress the conversions, and file a refund claim for that creative's spend.
Scenario 2: Gradual Quality Decline Across Placements
Over three weeks, lead-to-opportunity rate drops from 12% to 4%. No single placement stands out. BotRefund reveals a cluster of sessions from Audience Network placements sharing the same Clean Context Iframe anomaly and grid-aligned mouse movements. You exclude Audience Network from the campaign, suppress the flagged click IDs, and recover two weeks of spend.
Scenario 3: Competitor Click Fraud on Brand Terms
Brand search campaigns show high click volume but zero conversions. BotRefund detects ghost clicks (click activity without human intent sequence) and trap interactions (honeypot elements triggered) concentrated on a few IP blocks. The refund-ready report includes timestamps and click IDs for each ghost click. You submit the claim and add the IPs to your exclusion list.
Terminology Quick Reference
- Click ID (fbclid/gclid): Unique identifier appended to the landing page URL by Meta or Google when a user clicks an ad. Essential for tying a session to a paid click.
- Invalid activity / invalid traffic: Platform term for clicks or impressions not resulting from genuine user interest (bots, accidental clicks, competitor fraud).
- Pixel poisoning: When bot conversions train the ad platform's optimization algorithm to target more bot-like users.
- Refund-ready report: Evidence package formatted to the platform's review specifications — click IDs, timestamps, session recordings, signal reasoning.
- Suppression: Removing or marking a conversion event so it no longer feeds the bidding algorithm.
- Corroboration: Requiring multiple independent signals to agree before labeling a session as bot. Reduces false positives from privacy tools or unusual devices.
FAQ
Does BotRefund automatically block bots from submitting forms?
No. BotRefund is an evidence and refund layer, not a WAF or form blocker. It detects and documents automated sessions so you can suppress their conversions and claim refunds. For real-time blocking, pair it with a form-level honeypot or a lightweight challenge.
How long before I see results?
Most teams see high-confidence clusters within 7–14 days of installing the script, depending on traffic volume. The model needs a baseline of human traffic to calibrate.
Can I use BotRefund only for Meta (Facebook/Instagram) campaigns?
Yes. The script works on any landing page receiving paid traffic. The refund workflow supports both Meta and Google Ads. You can filter the dashboard by platform.
What if my forms don't capture click IDs today?
Add hidden fields for fbclid and gclid to your forms and write them to the lead record in your CRM. Without click IDs, you can still see bot clusters in BotRefund, but you cannot map them to specific paid clicks for suppression or refund claims.
Does BotRefund work with server-side tracking (CAPI, Enhanced Conversions)?
Yes. BotRefund's client-side evidence complements server-side tracking. When you suppress a bot click, also remove the corresponding server-side conversion event so the platform's optimization sees the correction.
How does BotRefund differ from Cloudflare or a WAF?
Cloudflare and WAFs operate at the network edge (IP reputation, request headers, rate limiting). BotRefund operates in the browser after the click, capturing behavioral, rendering, and interaction signals that edge layers cannot see. They serve different jobs; many advertisers run both (S7).
What does BotRefund cost?
Pricing is not published in the source pack. The homepage references an "Under $10,000/mo" tier and a "Select a range" control. Contact BotRefund for a quote based on your monthly ad spend and traffic volume.
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.