Seatext library / BotRefund evidence

How to Use BotRefund to Contact Meta for Ad Refunds: Evidence, Reports, and the Claim Process

BotRefund does not contact Meta on your behalf. Instead, it audits your Meta ad traffic, builds refund-ready reports with click IDs, session recordings, and signal-by-signal reasoning, and gives you (or your agency) the evidence...

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

If you're looking for a button inside BotRefund that sends a message straight to Meta, it doesn't exist. BotRefund is an evidence layer, not a support ticketing system. What it does is automate the hard part: proving that a chunk of your Meta spend went to bots, scrapers, or accidental clicks, and packaging that proof in the exact format Meta's refund reviewers expect.

What BotRefund actually does for Meta campaigns

BotRefund installs a lightweight script on your landing pages. As visitors arrive from Meta ads, it collects over 100 behavioral, browser, hardware, network, and attribution signals — things like mouse tremor, scroll depth, click timing, scrollbar width leaks, and iframe context consistency. Each visit gets a session-level verdict with a plain-English explanation. When the system flags a session as automated with 99% confidence, it captures the Meta click ID (fbclid), campaign hierarchy, placement, timestamp, and a session replay.

Those flagged sessions are then assembled into a refund-ready report. The report includes:

  • Click IDs and campaign/ad set/ad identifiers for every suspicious session
  • Signal-by-signal reasoning (e.g., "superhuman input speed <1ms", "grid-aligned mouse movement", "absence of humanlike mouse tremor")
  • Session recordings you can watch
  • A summary table Meta's review team can scan in minutes

You download that report and attach it when you open an invalid-traffic case in Meta's Business Help Center or reply to a billing dispute. BotRefund's team can also review your draft claim, suggest wording, and help you respond if Meta asks for clarification — but the actual submission clicks are yours.

Step-by-step: from install to Meta claim

  1. Add the BotRefund script to every landing page that receives Meta traffic. Use Google Tag Manager, a header include, or the platform-specific snippet. The script loads asynchronously and does not affect page speed scores.
  2. Verify data flow in the BotRefund dashboard. Within a few hours you'll see live sessions, each tagged with the fbclid, campaign, placement, and device. Confirm that click IDs are populating — if they're missing, check that your Meta ads use the "Add UTM parameters" or "Add click ID" setting.
  3. Run a free bot audit (available from the dashboard). This gives you a baseline: percentage of bot traffic by campaign, placement, and device, plus a sample of flagged sessions with recordings.
  4. Let the audit run for 7–14 days across a full weekly cycle. BotRefund's AI needs enough volume to separate real anomalies from privacy tools, corporate proxies, or unusual but human devices.
  5. Generate the refund-ready report. In the dashboard, select the date range, filter to "High confidence (99%)" sessions, and click "Export for Meta claim." The download is a PDF + CSV bundle formatted to Meta's evidence guidelines.
  6. Open a Meta invalid-traffic case. In Meta Business Help Center → Billing → Advertising charges → Dispute a charge → Invalid traffic. Attach the BotRefund PDF and CSV. In the description field, reference the report's case ID and note: "Evidence collected via client-side behavioral audit (100+ signals, 99% confidence threshold). Click IDs and session replays included."
  7. Track the case. Meta typically responds in 5–10 business days. If they request more detail, BotRefund's support team can help you pull additional session replays or signal breakdowns for the specific click IDs Meta questions.

What the evidence package contains (and why Meta accepts it)

Meta's refund reviewers look for three things: a clear link between the click ID and the suspicious session, behavioral proof that the session was non-human, and a volume threshold that makes the refund worthwhile. BotRefund's report is built around those requirements.

Report sectionWhat it showsWhy it matters to Meta
Click ID indexEvery fbclid tied to a flagged session, with campaign/ad set/ad/placementLets Meta locate the exact charge in their billing ledger
Signal matrix100+ columns: pointer behavior, speed behavior, trap behavior, engagement behavior, session behavior, network context, device consistencyDemonstrates multi-vector corroboration, not a single heuristic
Session replaysVideo-like playback of mouse, scroll, keystroke, and focus eventsHuman reviewers can watch 10–20 replays and confirm the pattern
Summary statisticsBot rate by placement, creative, audience expansion, device, hour of dayHelps Meta see if the problem is systemic (e.g., Audience Network) or isolated
Methodology appendixPlain-English description of each signal, false-positive safeguards, and the 99% confidence thresholdPre-empts "how do we know this isn't a privacy tool?" questions

The key distinction: Meta's own automated filters catch data-center IPs, rapid-click patterns, and known bad actors at the server level. They miss bots that run on residential IPs, mimic human timing, and execute JavaScript. BotRefund's client-side signals catch that second layer — and the report format mirrors the evidence checklist Meta's own traffic-quality team uses internally.

Where BotRefund's role ends and yours begins

  • BotRefund does: collect evidence, score sessions, build the report, advise on claim wording, help you respond to Meta follow-ups.
  • BotRefund does not: log into your Meta account, click "Submit" on the dispute form, guarantee a refund, or negotiate by phone with Meta reps (Meta does not offer phone negotiation for invalid-traffic claims).
  • You do: attach the report, hit submit, monitor the case ID, and forward any Meta requests for clarification to BotRefund if you want help drafting the reply.

This division exists because Meta's policy requires the account holder (or an authorized admin on the Business Manager) to file the claim. No third party can submit on your behalf.

Common mistakes that delay or kill a Meta refund claim

MistakeWhat happensFix
Submitting a raw CSV without the PDF summaryReviewer sees 5,000 rows and closes the case as "insufficient explanation"Always include the one-page PDF executive summary with bot rate, estimated waste, and top 3 placements
Claiming "all traffic from Placement X is bot"Meta checks a sample, finds 20% human, denies the whole claimFilter to 99% confidence sessions only; let the report show the exact click IDs
Changing campaign targeting before exporting the reportAttribution breaks; fbclids no longer match live campaignsExport the report first, then pause or adjust campaigns
Using a date range that includes the 7-day attribution window after campaign pauseMeta's ledger still shows charges; your report shows zero sessionsAlign the report date range to the billing period you're disputing
Ignoring Meta's request for "server-side logs"Case stallsBotRefund's report includes a methodology appendix that satisfies this; attach it again with a one-line note

How long it takes and what success looks like

Across 2,500+ audits, 83% of BotRefund clients recover funds from Google and Meta. The typical timeline:

  • Days 1–3: Script live, data flowing
  • Days 3–14: Audit window (longer if daily spend is under $500)
  • Day 15: Report generated, claim filed
  • Days 20–30: Meta responds (credit issued, partial credit, or request for more info)
  • Days 30–45: If partial, one round of back-and-forth with supplemental sessions

Credits appear as a line item in your Meta billing summary ("Invalid activity credit"). They offset future spend; they are not wired to your bank account.

Key facts

FactDetailSource
Bot detection confidence threshold99% (session-level, multi-signal corroboration)S2
Signals analyzed per session110+ behavioral, browser, hardware, network, and attribution signalsS2
Client refund recovery rate (Google + Meta)83% of audited clients recover fundsS2
Total audits completed2,500+S2
Report formatPDF executive summary + CSV click-ID index + session replays + methodology appendixS2
Meta claim submissionAccount holder files via Business Help Center → Billing → Dispute a charge → Invalid trafficS1, S2
Evidence Meta reviewers expectClick IDs, campaign hierarchy, behavioral proof, volume summary, methodologyS1, S2
Typical Meta response time5–10 business daysS1, S2
Credit formApplied to ad account balance, not cash refundS1, S6

When BotRefund won't help (limitations)

  • Spend too low: If monthly Meta spend is under $1,000, the audit may not collect enough flagged sessions to clear Meta's minimum-volume threshold for a manual review.
  • No landing page control: If you send traffic to a third-party form (Typeform, Google Form, Meta Instant Form) where you cannot install the script, BotRefund cannot see the session.
  • Lead-quality issues that aren't bots: Real humans who fill forms with fake data, competitors manually clicking, or low-intent users from broad targeting — these are not invalid traffic under Meta's policy and won't generate a refund.
  • Historical claims only: BotRefund cannot retroactively audit past months. It only sees traffic after the script is installed.
  • Meta policy changes: Meta's invalid-traffic definitions and refund thresholds can change. BotRefund updates its report format accordingly, but past success does not guarantee future approval.

Terminology quick reference

  • fbclid: Facebook Click Identifier — the unique query parameter Meta appends to your landing page URL (e.g., ?fbclid=IwAR123...). Required to link a session to a specific charged click.
  • Invalid traffic (Meta definition): Clicks or impressions from automated tools, bots, accidental taps, known data-center IPs, or competitor click fraud. Not the same as "low-quality leads."
  • Pixel poisoning: When bot conversions fire your Meta Pixel, corrupting the optimization model so it bids more for bot-like audiences.
  • Refund-ready report: A packaged evidence bundle (PDF + CSV + replays) structured to match Meta's internal review checklist.
  • 99% confidence: BotRefund's AI verdict threshold. Sessions below this are labeled "suspicious" but excluded from the refund claim to avoid false positives.

FAQ

Does BotRefund file the Meta claim for me?

No. Meta requires the Business Manager admin to submit the dispute. BotRefund provides the evidence package and can review your draft submission before you hit send.

What if Meta rejects the claim?

BotRefund's team will review the rejection reason, pull additional session replays or signal breakdowns for the specific click IDs Meta questioned, and help you file a one-time appeal with supplemental evidence.

How much does BotRefund cost?

Pricing is tiered by monthly ad spend. The entry tier covers up to $10,000/mo across Google and Meta. Enterprise plans add dedicated support, custom signal rules, and API access. A free bot audit is available before any commitment.

Can I use BotRefund evidence for a Google Ads claim at the same time?

Yes. The same script captures gclid (Google Click Identifier) alongside fbclid. The dashboard lets you generate separate refund-ready reports for each platform.

Will the script slow down my landing pages?

The script loads asynchronously, is under 30 KB gzipped, and has no measurable impact on Core Web Vitals in standard tests.

What if I use a headless CMS or single-page app?

BotRefund works with React, Vue, Next.js, and similar frameworks. The script initializes on each route change and captures the fbclid from the URL or data layer.

Do I need to keep the script running after I get the refund?

Recommended. Bot traffic patterns shift when campaigns change, new placements launch, or Meta rolls out new ad formats. Continuous monitoring protects future spend and keeps your Pixel clean.

Next step: run the free audit

Before you spend time on a Meta claim, know whether you have a case. Install the script, let it run for a week, and review the free audit. If the bot rate is under 2%, a claim likely won't clear Meta's threshold. If it's 5–20% (common on Audience Network and expanded audiences), the report will be strong enough to file.

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.

Learn more