Seatext library / BotRefund evidence
How to Use BotRefund to Associate Invalid Traffic with Campaign Attribution
BotRefund captures click‑level data, preserves attribution before campaign changes, and creates refund‑ready reports that link each invalid click to its original ad set, creative, and placement. This guide explains why attribution matters for refunds,...
✓ Built for advertisers who need clear, refund-ready traffic evidence.
BotRefund lets you capture click‑level data, preserve attribution before you pause or change a campaign, and export a refund‑ready report that ties each invalid click to its original ad set, creative, and placement. Install the BotRefund tag, enable campaign‑level reporting, and run an audit to generate click IDs that you can submit to Google or Meta for a refund.
Prerequisites
You need access to the ad account (Google Ads or Meta Ads Manager) and the ability to add a JavaScript snippet to every landing page that receives paid traffic.
Step‑by‑step process
- Add the BotRefund snippet to your site header.
- Verify the tag is firing by using the browser console or BotRefund’s debug mode.
- In the BotRefund dashboard, enable “Campaign attribution” and map your ad‑platform click ID parameter (gclid for Google, fbclid for Meta).
- Run a traffic audit for the date range you want to review.
- Export the refund‑ready report; it will list each flagged click with its click ID, timestamp, campaign name, ad set, creative, and placement.
- Submit the report to the ad platform’s invalid‑traffic claim form.
Why attribution preservation matters for refunds
Google and Meta require click‑level evidence to approve invalid‑traffic refunds. They look for the exact click identifier (gclid, fbclid, ttclid, etc.) that generated the session, plus the campaign, ad set, and creative that delivered the ad. Without that link, the platform cannot verify that the click originated from the advertiser’s budget.
BotRefund’s refund‑ready reports include every required field. Across 2,500+ audited brands, 83% of clients recovered funds (source S2). The report format mirrors the layout used by Google and Meta reviewers, which speeds approval and reduces back‑and‑forth requests.
The process works because BotRefund preserves the click ID before any redirect or script modification. When a claim is filed, the advertiser can point to a row in the CSV that shows the exact gclid, the timestamp, and the ad‑set name that matches the platform’s UI. This direct mapping satisfies the “click‑level evidence” rule that both platforms enforce.
How BotRefund captures attribution data
BotRefund stores the original click ID that the ad platform appends to the landing‑page URL. The tag fires as soon as the page loads, before any redirect, cookie write, or third‑party script runs (source S1). This early execution guarantees the click ID remains unchanged throughout the session.
BotRefund also protects the click ID from pixel poisoning. If a malicious script tries to overwrite the query parameter, BotRefund’s sandboxed environment keeps a copy in memory and re‑injects it into the data layer (source S4). The tool then correlates the click ID with over 110 behavioral, browser, hardware, and network signals to build a confidence score for each session (source S2, S5).
When a campaign is paused or a new creative is launched, the original click ID still ties the session to the historic campaign configuration. BotRefund records the ad‑set, creative, and placement at the moment the click arrived, so later changes do not break the audit trail.
Client‑side vs. server‑side attribution
Server‑side logs capture IP address, user‑agent, and request timestamps. They miss the granular click parameters that ad platforms generate (gclid, fbclid, etc.). Server logs also cannot see browser‑level signals such as pointer tremor, scroll‑bar width leaks, or clean‑context iframe mismatches (source S3, S5).
Client‑side tracking, as used by BotRefund, records the full browser context. It sees the exact click ID, the timing of each mouse movement, and the presence of hidden honeypot elements. These signals allow BotRefund to flag a session as automated with 99% confidence (source S2).
When a claim is filed, the platform expects the click ID and the associated behavioral evidence. Server‑side data alone cannot provide the latter, which often leads to claim rejections. Therefore, client‑side capture is the preferred method for refund‑ready evidence.
Configuring campaign attribution association
In the dashboard go to Settings → Attribution. Turn on “Preserve click ID”. Choose the parameter name used by your platform (gclid, fbclid, ttclid, etc.). Save and publish.
BotRefund also lets you map custom parameters if you use a proprietary click‑ID scheme. The mapping table is stored per‑account, so you only need to configure it once.
Verifying the association
After an audit, open the exported CSV or JSON report. Confirm that each row contains a non‑empty click ID and that the campaign, ad set, and creative names match those in your Ads Manager. The report also includes a session‑by‑session explanation of the signals that led to a bot verdict, which you can attach to the refund claim.
Practical refund‑ready report examples
Below is a simplified excerpt of a BotRefund report for a Meta campaign:
click_id, timestamp, campaign, ad_set, creative, placement, bot_score, evidence fbclid=AbC123, 2026-08-20T14:32:10Z, "LeadGen_Summer", "Lookalike_25-34", "Video_Ad_01", "Feed", 0.99, "Ghost click, linear mouse path, no scroll"
The columns match the fields Google and Meta request: click ID, timestamp, campaign identifiers, and a confidence score. The evidence column provides the narrative that reviewers use to assess validity.
Limitations and when the advice does not apply
If you cannot modify the landing‑page code (e.g., strictly hosted landing pages with no script access), BotRefund cannot preserve the click ID. In that case you must rely on server‑side logs, which lack the granularity needed for a refund claim.
BotRefund also respects privacy regulations. It does not store personally identifiable information (PII) beyond what is needed for attribution. If a jurisdiction prohibits any form of behavioral fingerprinting, you may need to disable certain signals, which can lower detection confidence.
Why attribution matters for refund claims
Both Google and Meta use a “click‑level evidence” rule. They compare the click ID in the claim to the click ID recorded in their internal logs. If the IDs match and the session shows bot‑like behavior, the platform issues an invalid‑activity credit. The 83% recovery rate reported by BotRefund (source S2) is largely due to this precise matching.
When attribution is lost—because a campaign was paused before the tag could capture the ID—the claim lacks the required proof and is typically denied. Preserving attribution therefore directly impacts the likelihood of a successful refund.
FAQ
- Do I need to pause my campaign while auditing? No. Keep the campaign running; BotRefund works in parallel and does not affect delivery.
- What if my click ID parameter is custom? You can enter any query‑string name in the Attribution settings.
- How long does it take to get a report? The audit runs in near real time; you can download the report as soon as the selected date range finishes processing.
- Is there a cost for the audit? The free bot audit provides a limited sample; full campaign‑level reporting requires a paid plan.
- How does BotRefund handle iOS 14+ tracking changes? BotRefund reads the click ID from the URL before the iOS privacy framework can limit identifier sharing. It stores the ID locally and links it to the session data, ensuring attribution remains intact even when Apple’s App Tracking Transparency reduces cookie visibility (source S4).
- Can I use BotRefund with Google Tag Manager? Yes. Add the BotRefund snippet as a custom HTML tag in GTM and fire it on All Pages. GTM then passes the captured click ID to the data layer, where BotRefund can map it to the campaign parameters (source S1).
Further reading and comparison sources
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
- Refund - bot run campaign - Google Ads Community
- Invalid traffic and bot clicks on my campaigns. Looking for a refund ...
- [UA] About Refund Data [Legacy] - Analytics Help
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.