Seatext library / BotRefund evidence

Why Meta Rejects Invalid-Traffic Refunds Even When You Have Proof

Meta rejects most refund claims because its automated systems only catch a fraction of invalid traffic, and the platform requires behavioral evidence that proves automation — not just suspicious patterns. Advertisers often submit server-level...

Built for advertisers who need clear, refund-ready traffic evidence.

Meta rejects refund requests for invalid traffic when the evidence you provide shows suspicious patterns but does not prove the interactions were automated. The platform's own filters catch only a portion of bot traffic — mostly crude scripts and known data-center IPs. Sophisticated bots using residential proxies, real browser engines, and human-like behavior slip through. When you file a claim, Meta's reviewers look for session-level behavioral proof: no scrolling, no mouse movement, identical form-completion timing, zero meaningful page engagement. Server logs, click IDs, and IP lists alone rarely meet that bar.

The Core Reason: Evidence Must Prove Automation, Not Just Suspicion

Meta's policy states advertisers should not be charged for clicks or impressions it determines are invalid. The gap lies in the word "determines." Meta's automated systems analyze server-side signals — rapid clicking, duplicate click signatures, known bad IP ranges, abnormal click patterns at the server level. These systems are sophisticated but far from perfect. They miss bots that mimic human behavior closely enough to pass server-side checks.

When you submit a claim, you are asking a human reviewer to override the automated determination. That reviewer needs evidence the automated system could not see: client-side behavioral data showing the visitor did not act like a person. A spreadsheet of click IDs and timestamps tells the reviewer the traffic looks odd. A session recording showing zero scroll events, instantaneous form fills, and no mouse movement tells the reviewer the traffic was automated.

How Meta's Detection Actually Works (and Where It Fails)

Meta's invalid-traffic detection operates primarily on the server side. It ingests click events, IP addresses, user-agent strings, and network-level patterns across Facebook, Instagram, and partner inventory. It flags traffic that deviates from statistical norms: bursts of clicks from one IP, known data-center ranges, duplicate signatures. This catches basic scrapers and crude click farms.

It does not catch bots that run real browsers (headless Chrome, Puppeteer, Playwright), rotate residential proxies, simulate mouse movements, scroll pages, and vary timing. These bots generate valid-looking server-side signatures. They click the ad, load the landing page, execute JavaScript, and sometimes even trigger conversion pixels. To Meta's server-side filters, they look like engaged users.

The platform has no incentive to flag its own revenue. Refunds happen after the fact, session by session, only when an advertiser proves the traffic was non-human.

Why "Proof" Often Isn't What Meta's Reviewers Need

Advertisers commonly submit:

  • Click IDs (fbclid, gclid) with timestamps
  • IP address lists showing geographic anomalies
  • Server logs showing high bounce rates or low time-on-page
  • CRM data showing leads never respond

None of this proves automation. Real humans bounce quickly. Real humans use VPNs. Real humans give fake phone numbers. Low lead quality is not the same as invalid traffic. Meta explicitly distinguishes between "low-quality leads" (real people not ready to buy) and "invalid traffic" (automated interactions). Treating every unresponsive contact as fraud can make a team exclude a valuable audience.

The Critical Difference Between Suspicious Patterns and Behavioral Proof

Suspicious patterns are statistical anomalies. Behavioral proof is deterministic evidence of non-human interaction. The distinction determines whether a claim is approved.

Suspicious Pattern (Often Rejected)Behavioral Proof (Often Accepted)
High click volume from one IPSession recording: zero mouse events, zero scroll, form submitted in 1.2 seconds
Leads from unusual countriesBrowser fingerprint: headless Chrome signature, missing canvas, automated navigator properties
Sudden conversion-rate dropIdentical field-entry timing across 50 sessions (keystroke intervals match to the millisecond)
CRM shows zero contactabilityNo conversion-pixel engagement after landing: pixel fired but no scroll, no click, no focus events

The second column requires client-side tracking — JavaScript that runs in the visitor's browser and records interaction events. Server logs cannot capture this.

How Pixel Poisoning Makes the Problem Worse Over Time

When bots click ads, visit landing pages, and trigger conversion events, Meta's optimization algorithm treats those events as success signals. The algorithm then seeks more traffic that "looks like" the converters — which includes the bots. If bots make up 30% of early traffic, the campaign learns to target more bot-like behavior. Performance becomes inexplicably worse even though creative, offer, and audience stay the same. At 5% bot share, the contamination is subtle but compounds daily.

This is why preserving attribution before changing the campaign matters. Once you pause or retarget, you lose the ability to trace which placements, creatives, and audiences delivered the automated traffic.

What a Refund-Ready Evidence Package Looks Like

Meta's refund process is less structured than Google's. There is no standard form or guaranteed review window. Claims succeed when the evidence package mirrors what Meta's own reviewers expect:

  1. Click-level attribution: Every flagged click tied to its fbclid, campaign, ad set, creative, placement, device, and timestamp.
  2. Session recordings or reconstructed behavioral logs: Showing no scroll, no mouse movement, no focus events, instantaneous form completion, identical interaction paths.
  3. Browser fingerprint evidence: Headless browser signatures, missing or spoofed APIs, automation framework artifacts (webdriver, __phantom, callPhantom).
  4. Network signals: Residential proxy detection, data-center IP correlation, VPN exit-node matching.
  5. Signal-by-signal reasoning: A narrative explaining why each flagged session is automated, not just anomalous.

Reports built in the format platform teams use to review invalid traffic claims — with click IDs, campaign details, timestamps, session recordings, and signal-by-signal reasoning — see an 83% approval rate across filed claims.

Common Rejection Scenarios and How to Avoid Them

Rejection ReasonRoot CauseFix
"Insufficient evidence of invalid activity"Submitted server logs only; no client-side behavioral dataDeploy client-side tracking before filing; capture browser-level interaction events
"Traffic appears to be from real users"Bots used real browsers and residential proxies; server signals looked humanInclude browser fingerprint and behavioral proof that distinguishes automation from human variance
"Claim duplicates automatic credit"Meta already credited the obvious invalid clicks; remaining traffic needs stronger proofFilter out already-credited clicks; focus claim on sophisticated traffic the automated system missed
"Low lead quality, not invalid traffic"Advertiser conflated unresponsive leads with bot trafficSeparate contactability analysis from automation evidence; only claim the latter
"Campaign modified during review"Advertiser paused ads or changed targeting, breaking attribution chainPreserve campaign state until claim resolves; document pre-change state thoroughly

Key Facts

FactDetailSource
Meta's automated detection coverageCatches only a fraction of invalid activity; sophisticated bots with residential proxies and browser automation routinely bypass filtersS5
Evidence standard for approvalBehavioral logs showing traffic was automated — not just suspicious — make the difference between approved and denied claimsS5
Meta vs. Google refund structureMeta's process is less structured than Google's; no standard form or guaranteed review windowS5
Bot traffic share of paid clicks (industry)9%–20% of paid clicks are automated, per industry auditsS7
BotRefund detection confidence99% confidence using 110+ behavioral, browser, hardware, network, and attribution signalsS2
BotRefund claim approval rate83% of refund claims filed by BotRefund are approved by ad platformsS2, S7
Brands audited2,500+ brands, from fintech enterprises to DTC brandsS2, S7
Total recovered spend$100M+ in wasted ad spend recovered across client accountsS7
Fee model$0 upfront on enterprise recovery — fees come out of what is recoveredS7

Limitations and When This Advice Does Not Apply

  • Brand-safety or policy violations: If Meta rejects a claim because the ad or landing page violated advertising policies, invalid-traffic evidence is irrelevant.
  • Disputed lead quality: Real humans who fill forms but never buy are not invalid traffic. This article addresses automation proof, not lead-scoring disputes.
  • Non-Meta inventory: The evidence standards described here are specific to Meta's review process. Google Ads uses a different (more structured) invalid-activity credit system.
  • Historical claims beyond lookback: Meta does not publish a fixed lookback window. Claims for traffic older than 60–90 days face higher rejection rates regardless of evidence quality.
  • Accounts with policy strikes: Repeated policy violations reduce credibility with reviewers; evidence that would succeed on a clean account may be scrutinized more harshly.

FAQ

Does Meta automatically refund invalid clicks like Google does?

No. Google issues automatic invalid-activity credits for traffic its systems catch. Meta's automated systems also catch some invalid traffic and credit it automatically, but the platform does not publish a comparable automatic-credit process. Most sophisticated invalid traffic requires a proactive claim with behavioral evidence.

What is the minimum evidence Meta needs to approve a refund?

At minimum: click IDs tied to campaigns, client-side behavioral data showing non-human interaction (zero scroll, zero mouse events, instantaneous form fills), and browser fingerprint evidence of automation. Server logs alone are rarely sufficient.

How long does a Meta refund claim take?

Meta does not publish a fixed timeline. Once a claim is approved, the credit typically appears within 5–10 business days, but the review period varies widely — from days to weeks — depending on claim complexity and reviewer workload.

Can I get a refund for accidental mobile clicks?

Yes. Meta's policy includes accidental clicks (unintentional taps) as invalid activity. You still need behavioral evidence showing the interaction was accidental — e.g., immediate bounce, no scroll, no subsequent engagement — rather than a low-intent human visit.

What happens if I modify my campaign while a claim is under review?

Changing targeting, pausing ads, or altering creatives breaks the attribution chain. Reviewers cannot verify which placements and audiences delivered the flagged traffic. Preserve the campaign state until the claim resolves.

Is there a spend threshold below which Meta won't review a claim?

Meta does not publish a minimum-spend threshold. However, claims for very small amounts (under a few hundred dollars) may receive lower review priority. The evidence standard remains the same regardless of spend.

How does BotRefund improve approval rates?

BotRefund deploys client-side tracking that captures 110+ behavioral, browser, hardware, network, and attribution signals per session. It builds refund-ready reports in the format Meta's reviewers expect — with click IDs, session recordings, and signal-by-signal reasoning — achieving an 83% approval rate across 2,500+ audits.

Further reading and comparison sources

These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.

How BotRefund can help

BotRefund installs a single script tag (~1 minute, no ad-account access required) that captures 110+ client-side signals per session — browser fingerprint, interaction events, hardware and network attributes — to identify automated traffic with 99% confidence. Each flagged click gets a session-by-session explanation, not a generic score. The platform then builds refund-ready reports in the exact format Meta's reviewers use: click IDs, campaign details, timestamps, session recordings, and signal-by-signal reasoning. Across 2,500+ audits, 83% of claims filed through BotRefund are approved. Fees come only from recovered spend (enterprise tier), so there is no upfront cost to test whether your account has recoverable invalid traffic.

Estimate my recoverable spend