Seatext library / BotRefund evidence
How to Use Combined Campaign Session and CRM Evidence to Detect Invalid Traffic
Combining campaign session data with CRM outcomes lets you separate real lead-quality variation from automated or fraudulent activity. Start by preserving attribution, then correlate session behavior signals — like timing, scrolling, and click paths...
✓ Built for advertisers who need clear, refund-ready traffic evidence.
What Combined Campaign Session and CRM Evidence Means
Campaign session evidence covers what happens between the ad click and the form submission: placement, creative, click ID, timestamp, device, and on-site behavior such as scrolling, field corrections, and time on page. CRM evidence covers what happens after the lead enters your sales system: call connection rates, demo bookings, qualified opportunities, and repeat engagement. When you join these two datasets on a common key — usually the click ID or a session identifier — you can see whether a campaign that looks healthy in Ads Manager actually produces revenue-generating contacts.
Why This Combination Matters for Ad Quality
Meta and Google report leads delivered, not leads that convert to revenue. A campaign can show a steady cost per lead while the sales team receives disconnected numbers, invalid email domains, or enquiries that never progress. Bot traffic and form spam leave repeatable technical patterns: unusually fast form completion, identical field structures, sudden placement-level spikes, or conversion events with no meaningful page engagement. CRM outcomes expose the downstream impact: high reported lead count paired with no calls connected, demos booked, or qualified opportunities. Treating every unresponsive contact as fraud can make a team exclude a valuable audience. The combined view lets you distinguish a weak but human audience from automated submissions.
Prerequisites Before You Start
- Access to ad-platform click identifiers (GCLID for Google, fbclid or click ID for Meta) passed through to your landing page and captured in your analytics or form handler.
- A CRM or lead-management system that stores the same identifier alongside each lead record and tracks downstream stages (contacted, qualified, opportunity, closed).
- Ability to export or query both datasets for a shared date range without breaking attribution — do not pause or restructure campaigns before the audit.
- Agreement on what counts as a "qualified" outcome so marketing and sales use the same denominator.
Step-by-Step Investigation Workflow
- Preserve attribution before changing the campaign. Keep campaign, ad set, creative, placement, and click identifier intact. Export the raw lead list with click IDs, timestamps, and placement breakdown.
- Pull CRM outcomes for the same click IDs. Join on the click ID to attach contactability, call connection, demo booked, opportunity created, and revenue fields to each session.
- Segment by placement, creative, audience expansion, device, and landing page. Calculate lead-to-contact rate, contact-to-qualified rate, and qualified-to-opportunity rate per segment.
- Flag segments where platform-reported leads are high but CRM outcomes are near zero. Look for sharp lead-quality differences by placement or creative — a classic sign of invalid traffic concentrated in specific inventory.
- Layer on session behavior signals. For flagged segments, check scroll depth, field correction events, time on page, and click-path uniformity. Automated submissions often show no scrolling, no field corrections, uniform click paths, and sub-second form completion.
- Document the evidence cluster. Combine click IDs, campaign details, timestamps, session recordings, and signal-by-signal reasoning into a report formatted for the ad platform's review process.
- Submit a refund request or adjust targeting. Use the documented cluster to file an invalid-activity claim with Google or Meta, or suppress the offending placements and audiences while the claim is reviewed.
Key Signals to Correlate Across Sources
| Signal Category | Campaign Session Evidence | CRM Evidence | What a Mismatch Suggests |
|---|---|---|---|
| Contactability | Valid email format, phone format captured at submit | Disconnected numbers, invalid email domains, repeated addresses | Form spam or bot submissions using synthetic data |
| Timing | Burst arrivals, immediate form submit after landing, unusual hours | Leads cluster in time but never progress | Automated scripts hitting the form in waves |
| Session Behavior | No scroll, no field corrections, uniform click path, <1s form time | Zero engagement downstream | Non-human interaction; script-driven submission |
| Campaign Patterns | Sharp lead-quality difference by placement, creative, audience expansion | Same placements show zero qualified outcomes | Invalid traffic concentrated in specific inventory |
| CRM Outcome | High reported lead count in Ads Manager | No calls connected, demos booked, qualified opportunities | Pixel poisoning — optimization trains on fake conversions |
Common Mistakes and How to Avoid Them
- Changing targeting before the audit. Pausing campaigns or rewriting UTM structures breaks the click-ID chain. Export first, decide later.
- Using only platform-reported conversion counts. Ads Manager conversions include any pixel fire. Validate against CRM stages that require human action.
- Treating every bad lead as fraud. Real people fill forms and ghost. Look for clusters of technical anomalies (speed, uniformity, placement spikes) combined with zero CRM progression.
- Ignoring placement-level breakdowns. Invalid traffic often hides in audience-network or rewarded-video placements. Aggregate campaign metrics mask the problem.
- Submitting raw logs instead of a structured claim. Platform reviewers need click IDs, timestamps, session evidence, and a narrative that maps each signal to their policy definitions.
Limitations and When This Approach Does Not Apply
- Requires click-ID pass-through. If your forms or analytics strip GCLID/fbclid, you cannot join session to CRM at the individual level.
- Works best for lead-gen campaigns with a defined sales funnel. Pure e-commerce purchases are validated by payment confirmation, not CRM stages.
- Does not replace platform-side detection. Google and Meta run their own invalid-activity filters; this method supplements them with first-party evidence they may have missed.
- Privacy tools, corporate networks, and unusual devices can produce anomalous session behavior for genuine users. Always cross-check multiple signals before labeling a session as bot.
Key Facts
| Fact | Detail | Source |
|---|---|---|
| BotRefund detection confidence | 99% confidence when session evidence supports it | S2 |
| Client refund recovery rate | 83% of 2,500+ audited brands recover funds from Google and Meta | S2 |
| Signals analyzed | 110+ behavioral, browser, hardware, network, and attribution signals | S2 |
| Invalid traffic impact | Bot clicks steal up to 20% of Google and Meta ad budget | S2 |
| Report format | Refund-ready reports with click IDs, campaign details, timestamps, session recordings, signal-by-signal reasoning | S2 |
| FinTrust case study | $140,000 refunded, 14% average bot click rate, 18% conversion rate increase | S8 |
| Meta invalid traffic signals | Contactability, timing, session behavior, campaign patterns, CRM outcome | S1 |
FAQ
What is the minimum data I need to start a combined audit?
You need click IDs captured on your landing page, a lead export with those IDs, and CRM records that include the same IDs plus at least one downstream qualification stage (contacted, demo booked, opportunity).
How long a date range should I analyze?
At least 30 days of stable campaign structure. Shorter windows risk noise; longer windows risk mixing in targeting changes. Keep the campaign structure constant during the audit period.
Can I do this without a CRM?
If you have a marketing automation platform or even a spreadsheet that tracks lead status by click ID, you can replicate the join. The principle is the same: connect the pre-submit session to a post-submit human outcome.
What if my forms don't capture click IDs?
Add a hidden field that reads the GCLID or fbclid from the URL query string on page load. Most form builders and tag managers support this in a few minutes.
How do I know a placement is fraudulent versus just low intent?
Low-intent humans still scroll, hesitate, correct fields, and occasionally answer a call. Fraudulent placements show uniform sub-second completions, zero scroll, and zero contactability across hundreds of leads. The cluster of technical anomalies plus zero CRM progression is the differentiator.
Does this process work for Google Ads as well as Meta?
Yes. The same join logic applies: GCLID from Google Ads click through to CRM outcome. Google's invalid-activity credit system accepts structured evidence in a similar format.
What happens after I submit a refund claim?
Platform reviewers evaluate the evidence. If approved, a credit appears in your ad account. BotRefund's historical approval rate across 2,500+ audits is 83% when reports follow the platform's required format.
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.