Seatext library / BotRefund evidence
How to Use BotRefund to Flag a Campaign for Invalid Traffic
BotRefund flags campaigns by installing its tracking script on your landing pages, letting it collect 110+ behavioral signals per session, then generating a refund-ready report tied to click IDs, placements, and timestamps that you...
✓ Built for advertisers who need clear, refund-ready traffic evidence.
To flag a campaign with BotRefund, you add the BotRefund script to every landing page that receives paid traffic from Meta or Google. The script silently records browser, network, device, and behavioral signals — such as mouse movement, scroll depth, input timing, and rendering anomalies — for each visitor session. After enough traffic accumulates, you open the BotRefund dashboard, select the campaign or date range, and generate a report that maps suspicious sessions to their click IDs (GCLID for Google, fbclid for Meta), placement, creative, and timestamp. That report is formatted to match the evidence structure each platform’s review team expects. You then submit the claim through the platform’s invalid-activity or refund workflow, and BotRefund supports the negotiation with documentation and follow-up arguments.
What BotRefund Does and Why Flagging Matters
BotRefund is a client-side detection and evidence layer built specifically for paid-traffic refunds. Unlike server-side log analysis that only sees IP addresses and headers, BotRefund runs in the visitor’s browser and captures 110+ independent signals — including pointer behavior, scrollbar width leaks, clean-context iframe checks, and superhuman input speed — to distinguish automated visits from real people with 99% confidence [S2]. Each finding is cross-checked across browser, network, device, and behavior data before the AI model assigns a bot-or-human verdict [S3].
Flagging a campaign means producing a structured evidence package that ties invalid sessions to the exact paid clicks that brought them. Meta and Google both operate invalid-activity credit systems, but their automated filters catch only a fraction of bot traffic [S6]. A refund-ready report bridges that gap by giving reviewers session-level proof: click IDs, campaign hierarchy, timestamps, session recordings, and signal-by-signal reasoning [S2].
Prerequisites Before You Start
- Active paid campaigns on Meta (Facebook/Instagram) or Google Ads sending traffic to pages you control.
- Ability to add JavaScript to those landing pages (direct access, GTM, or CMS header injection).
- Conversion tracking in place (Meta Pixel, Google Ads conversion tag, or GA4) so you can later correlate BotRefund sessions with reported conversions.
- Admin access to the ad accounts for submitting refund claims.
- At least 7–14 days of traffic after installation to build a representative evidence set.
Step-by-Step: Flagging a Campaign with BotRefund
- Create a BotRefund account and complete the onboarding flow. The free audit tier lets you verify detection coverage before committing.
- Install the tracking script on every landing page URL used in the target campaigns. Place it in the
<head>so it loads before user interaction. If you use Google Tag Manager, add it as a Custom HTML tag firing on Page View – All Pages. - Verify data collection in the BotRefund dashboard. Within minutes you should see live sessions with signal breakdowns (pointer, scroll, timing, rendering, network). Confirm that click IDs (GCLID, fbclid) are being captured alongside each session.
- Run campaigns normally for 7–14 days. Do not pause or restructure campaigns during this window; you need a stable baseline. BotRefund’s investigation workflow explicitly advises preserving attribution before changing anything [S1].
- Open the campaign view in the BotRefund dashboard. Filter by campaign name, date range, or traffic source (Meta vs. Google). The UI groups sessions by placement, creative, audience, and device.
- Review flagged sessions. Each session shows a confidence score, the specific signals that triggered it (e.g., “superhuman input speed <1ms”, “grid-aligned movement patterns”, “absence of humanlike mouse tremor” [S2]), and a session replay.
- Generate the refund-ready report. Choose the campaign or ad-set level. The report exports a PDF/CSV that includes: click ID, campaign/ad-set/ad, placement, timestamp, session duration, signal summary, and a narrative explanation formatted for platform reviewers [S2].
- Submit the claim:
- Google Ads: Tools → Billing → Invalid activity credits → Request credit. Attach the BotRefund report and reference the GCLIDs.
- Meta Ads: Business Help → Contact Support → Advertising → Billing & Payments → Invalid Traffic. Provide the report with fbclids, campaign IDs, and placement breakdown.
- Track the negotiation. BotRefund’s team can handle follow-up correspondence, supplying additional session recordings or signal explanations if the reviewer asks. Across 2,500+ audits, 83% of clients recover funds [S2].
Understanding the Evidence BotRefund Collects
BotRefund’s 110+ checks fall into six families. No single signal is a verdict; the AI model weighs the complete pattern [S3].
| Signal Family | What It Detects | Example Checks |
|---|---|---|
| Click behavior | Clicks without human intent sequence | Ghost click detection |
| Trap behavior | Interactions with hidden/deceptive elements | Honeypot trap interactions |
| Pointer behavior | Robotic mouse paths | Linear movements, grid-aligned patterns, absence of tremor |
| Speed behavior | Superhuman interaction timing | Input speed <1ms |
| Engagement behavior | Missing natural browsing actions | No scrolling, no field corrections, static sessions |
| Session behavior | Implausible visit lengths | Too short, too long, or too uniform durations |
Each session receives a confidence score. BotRefund only flags sessions where the corroborated pattern reaches 99% confidence [S2]. The report also preserves attribution metadata (campaign, ad set, creative, placement, device, click ID) so the evidence maps 1:1 to the line items in Ads Manager or Google Ads.
Submitting Refund Claims to Meta and Google
Google Ads Invalid Activity Credit
Google’s system issues automatic credits for some invalid clicks, but the majority of sophisticated bot traffic requires a manual claim [S6]. The claim form asks for click IDs, date range, and a description. Attach the BotRefund PDF. Google’s review team looks for: GCLID-level mapping, timestamp alignment, and a plausible explanation of why the clicks are invalid. BotRefund’s report provides all three.
Meta Invalid Traffic Refund
Meta does not publish an automated credit dashboard for advertisers. You open a support case under “Invalid Traffic” and supply fbclids, campaign IDs, placement breakdown, and the evidence report. Meta reviewers expect to see placement-level quality differences — e.g., a sharp lead-quality drop on Audience Network vs. Facebook Feed — which BotRefund’s campaign-pattern signals surface [S1].
Common Mistakes and How to Avoid Them
| Mistake | Why It Hurts | Fix |
|---|---|---|
| Installing script on only some landing pages | Gaps in coverage leave click IDs without evidence; platform reviewers reject partial data. | Audit all active destination URLs in Ads Manager and Google Ads; deploy script site-wide or via GTM container. |
| Pausing campaigns before generating the report | Breaks attribution chain; click IDs become harder to verify. | Keep campaigns live until the report is generated and submitted. |
| Submitting raw signal logs instead of the formatted report | Reviewers cannot parse 110-column CSVs; claims stall or get denied. | Always use BotRefund’s “Generate refund-ready report” button; it outputs the exact structure each platform expects. |
| Flagging every low-quality lead as bot traffic | Weak campaigns attract real but unready people; over-flagging reduces credibility. | Use BotRefund’s confidence scores and cross-check with CRM outcomes (contactability, demo booked, repeat engagement) [S1]. |
| Ignoring placement-level differences | Meta and Google evaluate invalid traffic per placement; aggregated claims are weaker. | Filter the BotRefund dashboard by placement before generating the report; submit separate claims if patterns differ. |
Limitations and When This Advice Does Not Apply
- Non-paid traffic: BotRefund flags sessions tied to paid click IDs. Organic, direct, or email traffic is not covered by ad-platform refund policies.
- Pages you cannot tag: If traffic lands on third-party funnels (e.g., lead-gen forms hosted by a partner) where you cannot inject JavaScript, BotRefund cannot collect client-side signals for those sessions.
- Very low volume campaigns: Fewer than ~500 clicks in the analysis window may not produce statistically reliable signal clusters.
- Platform policy changes: Google and Meta update invalid-activity definitions. BotRefund updates its report format accordingly, but past success does not guarantee future approval.
- Fraudulent advertiser behavior: If the advertiser themselves generates invalid clicks, the platforms will deny the claim and may suspend the account.
Key Facts
| Metric | Detail | Source |
|---|---|---|
| Detection confidence | 99% when session evidence supports it | S2 |
| Independent signals analyzed | 110+ (behavioral, browser, hardware, network, attribution) | S2 |
| Client recovery rate | 83% of 2,500+ audited brands recover funds from Google and Meta | S2 |
| Report format | Click IDs, campaign hierarchy, timestamps, session recordings, signal-by-signal reasoning | S2 |
| Case study result | FinTrust recovered $140,000 (14% bot click rate, +18% conversion rate) | S8 |
| Meta invalid traffic signals | Contactability, timing bursts, session behavior, placement-level quality gaps, CRM outcome mismatch | S1 |
FAQ
How long does it take to get a refund after submitting the report?
Google typically responds in 5–15 business days. Meta support cases can take 2–6 weeks depending on queue depth and whether the reviewer requests additional evidence. BotRefund’s negotiation support aims to shorten this by providing complete documentation upfront.
Can I use BotRefund only for the audit and file the claim myself?
Yes. The dashboard lets you export the refund-ready report without engaging BotRefund’s negotiation team. However, the 83% recovery rate reflects end-to-end handling including follow-up correspondence [S2].
Does BotRefund block bots in real time or only flag them for refunds?
BotRefund’s primary product is detection and evidence for refunds. It can suppress conversion events for flagged sessions (preventing pixel poisoning) but does not act as a WAF or edge blocker [S7].
What if my campaigns use server-side tracking (CAPI/Offline Conversions) only?
BotRefund still needs the client-side script on the landing page to collect behavioral signals. Server-side events alone do not provide the browser-level evidence platforms require for manual refund review.
Is there a minimum spend threshold to make this worthwhile?
BotRefund’s pricing scales with traffic volume. The free audit lets you measure the bot rate first. In the FinTrust case, a 14% bot click rate on significant spend yielded a $140k recovery [S8].
Can BotRefund differentiate between competitor click fraud and general bot traffic?
The signals identify automation, not intent. Competitor click fraud is a subset of automated traffic. The report shows the pattern (e.g., bursts from specific placements or geos) which you can correlate with competitive intelligence, but BotRefund does not attribute motive.
What happens if Google or Meta rejects the claim?
BotRefund’s team reviews the rejection reason, supplements the evidence with additional session recordings or signal explanations if applicable, and resubmits. The 83% recovery rate includes successful appeals after initial denials [S2].
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.