Seatext library / BotRefund evidence
How Often Should You Audit Ads for Invalid Traffic? A Readiness Checklist
Audit active campaigns at least weekly; move to daily checks when spend is high or metrics show unusual spikes. A structured review compares ad-platform data, website sessions, and CRM outcomes before you adjust targeting...
✓ Built for advertisers who need clear, refund-ready traffic evidence.
Audit active campaigns at least once a week. If you are spending heavily or see sudden changes in lead quality, cost per lead, or placement performance, check daily. The goal is to catch invalid traffic before it distorts your optimization signals and wastes budget.
Why audit frequency matters
Invalid traffic poisons conversion data. When bots trigger conversion events, Meta and Google optimize for more bot-like behavior. That raises acquisition costs and lowers return on ad spend. A weekly rhythm catches most problems early; daily reviews protect high-spend accounts where a single bad day can cost thousands.
Ignoring the schedule lets bad data compound. The platforms' automated filters miss advanced bots that mimic human behavior. Without your own audit, you pay for clicks that never convert and train algorithms to find more of them.
Readiness checklist: set your audit cadence
- Weekly baseline: Active campaigns with stable spend and normal lead-to-opportunity ratios.
- Daily trigger: Monthly ad spend over $50,000 (recommended guardrail), or any week where cost per lead jumps 20% (recommended guardrail) without a creative or targeting change.
- Event-driven audit: New campaign launch, new placement (especially Audience Network), new landing page, or a sudden spike in form submissions from a single region or device.
- Data sources ready: Ads Manager export, Google Analytics or server logs, CRM lead export with disposition (contacted, qualified, disqualified).
- Attribution preserved: Do not pause campaigns or change targeting until you have snapshots of click IDs (GCLID, FBCLID) and session recordings for the period under review.
Signals that demand an immediate audit
Watch for these patterns across ad-platform data, website sessions, and CRM outcomes:
- 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: Sharp lead-quality differences by placement, creative, audience expansion, device, or landing page.
- CRM outcome: High reported lead count paired with no calls connected, demos booked, qualified opportunities, or repeat engagement.
These signals come from a structured investigation workflow that compares platform data, site behavior, and CRM results before any targeting changes.
Step-by-step audit process
- Preserve attribution. Export click IDs and session data before pausing or editing campaigns.
- Pull the three data sets. Ads Manager performance by placement/creative, website sessions with engagement metrics (scroll depth, time on page, mouse movement), CRM lead list with sales-team disposition.
- Match by click ID. Join the three tables on GCLID/FBCLID. Flag sessions with no scroll, sub-second form completion, or missing mouse tremor.
- Segment by placement and audience. Calculate lead-to-qualified-opportunity rate per segment. Segments below your baseline by more than 30% (recommended guardrail) warrant a refund claim.
- Document evidence. Capture video proof of bot behavior (linear mouse paths, superhuman input speed, honeypot interactions) for each flagged click.
- File platform claims. Submit compliance-ready reports through Google and Meta invalid-traffic channels.
- Adjust targeting. Exclude placements, audiences, or devices that consistently deliver invalid traffic. Re-enable only after a clean audit cycle.
Building the three-data-set audit view
Export three aligned data sets for the same date range: Ads Manager performance broken down by placement and creative, website sessions with engagement metrics (scroll depth, time on page, mouse movement), and CRM lead list with sales-team disposition (contacted, qualified, disqualified). Use a spreadsheet or BI tool to join on click ID (GCLID or FBCLID). Keep raw exports as evidence; do not filter before the join. Align time zones across sources so that a click at 23:59 in Ads Manager matches the session start in analytics. This unified view lets you see which placements deliver clicks that never scroll, which creatives attract form fills with no mouse tremor, and which audiences produce leads that sales cannot reach.
Calculating lead-to-opportunity baselines
For each placement–audience combination, divide qualified opportunities by total leads over a rolling 30-day window. Require at least 50 qualified leads (recommended guardrail) in the denominator before treating the rate as stable. Track the baseline weekly; a drop of more than 30% (recommended guardrail) from the rolling average signals a quality shift worth investigating. Document the baseline in a shared sheet so the team agrees on the threshold before an anomaly appears. When a new placement or creative launches, start a fresh baseline after the first 20 qualified leads to avoid mixing learning-phase noise with steady-state performance.
Filing refund claims
Compile a compliance-ready package for each flagged segment: click IDs, session recordings showing linear mouse paths or superhuman input speed, honeypot interactions, and the lead-to-opportunity rate gap versus baseline. Submit through Google Ads Invalid Activity form and Meta Business Support invalid-traffic channel. Reference the platform’s own policy language (Google’s “invalid activity” definition, Meta’s “traffic quality” guidelines). Attach video evidence for each click ID; platforms weigh visual proof higher than spreadsheets. Track claim status in a log with submission date, platform case ID, and outcome. Re-file with additional evidence if the first claim is denied; the 83% approval rate (S2, S7) reflects persistence, not a single submission.
Key facts
| Metric | Value | Source |
|---|---|---|
| Baseline audit frequency | Weekly for active campaigns | Recommendation |
| High-spend / anomaly frequency | Daily | Recommendation |
| Bot share of paid clicks (industry audits) | 9%–20% | S7 |
| BotRefund detection confidence | 99% | S7 |
| Refund claim approval rate | 83% | S2, S7 |
| Setup time for detection script | ~1 minute, one script tag | S2, S7 |
| Historical refund window (Google Ads) | Back to 2017 | S2 |
Limitations and when this advice does not apply
- Low-spend test campaigns (under $1,000/month, recommended guardrail) may not generate enough data for weekly statistical significance; bi-weekly is acceptable.
- Brand-new accounts with no CRM history cannot calculate lead-to-opportunity baselines; wait for 50+ qualified leads (recommended guardrail) before setting thresholds.
- Platforms' automatic invalid-activity credits (Google) or traffic-quality filters (Meta) are not sufficient — they miss advanced bots that use residential proxies and behavioral mimicry.
- Server-side log analysis alone cannot detect client-side behaviors like mouse tremor, honeypot interaction, or superhuman input speed.
- Refund success depends on platform policy at time of claim; past approval rates do not guarantee future outcomes.
Terminology
- Invalid traffic (IVT): Clicks or impressions not from genuine user interest — includes bots, scrapers, click farms, accidental taps.
- Pixel poisoning: Bots triggering conversion events, causing the platform's algorithm to optimize for bot-like users.
- Click ID (GCLID / FBCLID): Unique parameter appended to landing-page URLs; ties a click to a session for audit and refund evidence.
- Client-side detection: JavaScript running in the visitor's browser that captures mouse movement, scroll, timing, and interaction with hidden elements.
- Compliance-ready report: Evidence package formatted to platform dispute requirements (video, timestamps, behavioral flags, click IDs).
FAQ
What if I only run Meta ads, not Google?
The same weekly baseline applies. Meta's Audience Network and profile scrapers are major bot sources. Use the same three-data-set audit (Ads Manager, site sessions, CRM).
Do I need developer help to install detection?
No. The detection script is one tag added to your site header; setup takes about one minute and requires no ad-account access.
How far back can I claim refunds?
Google Ads invalid-activity credits can be claimed for spend dating back to 2017. Meta's window varies; file as soon as you have evidence.
What counts as "high spend" for daily audits?
Monthly ad spend over $50,000 across Google and Meta combined (recommended guardrail), or any campaign where a 20% cost-per-lead jump appears without a known cause (recommended guardrail).
Can I automate the audit instead of manual weekly checks?
Yes. Continuous client-side monitoring with automated flagging and evidence capture replaces manual exports. The weekly rhythm becomes a review of flagged sessions rather than a full rebuild.
What if my CRM doesn't track lead disposition?
Start logging disposition (contacted, qualified, disqualified, no answer) for every lead. Without it, you cannot calculate the lead-to-opportunity rates that reveal placement-level quality gaps.
Does auditing more often increase refund amounts?
More frequent audits catch invalid traffic sooner, limiting the budget wasted before you exclude bad placements. They also produce fresher evidence, which platforms weigh more heavily.
Further reading and comparison sources
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
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.