Seatext library / BotRefund evidence
Common BotRefund Implementation Mistakes: A Pre-Launch Checklist
The most common BotRefund mistakes are loading the script asynchronously when it needs to capture early events, ignoring single-page app route changes, not mapping conversion events correctly, missing subdomain coverage, and setting sensitivity too...
✓ Built for advertisers who need clear, refund-ready traffic evidence.
Implementing BotRefund for the first time usually fails because of a few fixable configuration mistakes, not because the tool is weak. The five most common are: loading the script in a way that misses early events, forgetting to track route changes in single-page apps, skipping conversion event mapping, not covering subdomains, and cranking sensitivity up too high on day one. These mistakes reduce detection accuracy and delay the refunds you are trying to recover.
Luckily, each one is straightforward to correct if you know what to look for. This article walks through each mistake, shows the symptoms you will see, and gives a pre-launch validation checklist so you can catch them before they cost you.
Why First-Time Implementations Miss the Mark
BotRefund is designed to be added in about one minute, according to its homepage. But a fast install is not the same as a correct install. Most accuracy problems come from how the script is loaded, what pages it tracks, and how you interpret the scores.
When implementation is rushed, you see symptoms like: low detection rates for known bot sessions, false positives that block real users, or reports that do not match your ad platform data. These symptoms point to specific setup issues, not a broken product.
Mistake 1: Loading the Script in async=false Mode
BotRefund captures behavioral signals like mouse movements, clicks, scroll behavior, and session duration. To do that, the script needs to load and start listening before the user interacts with the page. If you place the script in async=false (or block rendering), it may load too late to catch the initial burst of activity.
Symptom: sessions with very short durations or no behavioral data get flagged as suspicious even though they are humans who clicked and left quickly.
Fix: load the script asynchronously (using async or defer) so it initializes immediately without blocking the page. Test with a real device to confirm the script fires within milliseconds of page load.
Mistake 2: Forgetting SPA Route Tracking
Single-page applications (SPAs) built with React, Vue, or Angular do not reload the page when the user navigates. If BotRefund only tracks the initial page load, it will miss all the route changes that happen after the first view.
Symptom: the dashboard shows far fewer sessions than your analytics tool. You may also see conversions attributed to the wrong route or no route at all.
Fix: use BotRefund's built-in history-change listener or a virtual page tracking setup. If you use a router, ensure every route change fires a custom event that BotRefund captures. Test by navigating through several pages in a single session.
Mistake 3: Skipping Conversion Event Mapping
BotRefund scores sessions based on interaction with your conversion events. If you do not tell it which actions count as conversions (like form submissions, button clicks, or purchases), it cannot distinguish a valuable human conversion from a bot that fills a fake form.
Symptom: you see many flagged sessions that did convert, or your refund report lists conversions that your ad platform does not recognize.
Fix: configure conversion event mapping before launch. The homepage mentions that BotRefund reads UTM and click IDs from your traffic, but you still need to map the actual DOM events. For each conversion type, provide a CSS selector or a custom event name. Verify with a test conversion.
Mistake 4: Overlooking Subdomain Coverage
If your site uses subdomains like shop.example.com or app.example.com, the BotRefund script must be installed on each one. A single script on the main domain will not track activity on a subdomain that has its own session.
Symptom: sessions that start on one subdomain and finish on another show up as two separate visits. You may also miss conversion paths that cross subdomains.
Fix: install the script on every subdomain that receives paid traffic or hosts conversion events. Then check that the script loads on each URL using the browser console. If you use a tag manager, make it fire on all relevant hosts.
Mistake 5: Setting Sensitivity Too High
BotRefund uses 106 independent checks and cross-references them to decide if a session is a bot. If you set sensitivity to maximum on day one, you will flag many legitimate visitors. Privacy tools, corporate networks, and unusual devices can produce signals that look bot-like but are not.
Symptom: a high false-positive rate, which leads your team to distrust the tool and ignore legitimate fraud alerts.
Fix: start with a moderate sensitivity level. Let the system learn from your site's baseline behavior for a week. Then review the flagged sessions against your own analytics to see which ones are real. Adjust sensitivity gradually, not all at once.
Pre-Launch Checklist: Validate Before You Go Live
Run these checks before you start relying on BotRefund reports:
- Confirm the script loads on every page where you want detection, including subdomains.
- Test a SPA navigation path to ensure route changes are tracked as separate page views.
- Submit a test conversion and verify it appears in the BotRefund dashboard with the correct URL and timestamp.
- Check that UTM parameters and click IDs from your ads are captured on the conversion page.
- Review a small sample of real sessions to ensure they are not flagged by default.
These checks take under an hour and save you weeks of troubleshooting later.
Key Facts About BotRefund Implementation
| Fact | Detail |
|---|---|
| Setup time | Typical time to add to your website and start a free audit is about one minute. |
| Detection signals | Uses 106 independent checks, including click behavior, pointer movement, and session timing. |
| Accuracy | Claims 99% accuracy when signals are cross-checked (per BotRefund). |
| Integration | Reads UTM and click IDs from traffic; can upload payout CSV or connect affiliate platform later. |
| Refund process | Provides reports to dispute invalid traffic with Google and Meta, including evidence logs. |
These facts come from BotRefund's official pages. Actual results vary by setup and traffic profile.
Limitations and When These Mistakes Matter Less
These mistakes matter most for sites with significant ad spend and complex conversion paths. If you run a small blog with no paid traffic, a basic install with default settings is probably fine.
BotRefund is not a replacement for proper analytics. It specializes in detecting bots and preparing refund claims. You still need GA4 or a similar tool to understand overall user behavior.
Also note that BotRefund does not automatically submit refund claims. You must export the report and send it to Google or Meta, as described in their blog. Implementation mistakes can lower the quality of that evidence.
FAQ: Common Implementation Questions
How do I know if my script is loading asynchronously?
Open your site's source code in the browser and look for the script tag. It should have async or defer. You can also use the browser console to check the load timing.
Can BotRefund track single-page apps without extra code?
Yes, but you need to enable route tracking. The script includes a history-change listener, but you may need to configure it for your specific router.
What happens if I forget to map conversion events?
BotRefund will still collect behavioral data, but it will not know which sessions are conversions. That means your refund report might not align with your ad platform's conversion data.
Should I use a tag manager to install BotRefund?
You can, but ensure the tag loads on all pages and does not delay execution. Test each page after installation.
How long should I keep sensitivity at a moderate level?
At least one full week of normal traffic. Then review the flagged sessions and adjust. Rapid adjustments can create more noise than signal.
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.