Seatext library / BotRefund evidence
How to Set Up Alerts for Suspicious Click Activity: A Step-by-Step Guide
Set up alerts by configuring Google Ads automated rules to email you when clicks exceed a threshold, creating custom alerts in Google Analytics for abnormal metrics like bounce rate or session duration, and adding...
✓ Built for advertisers who need clear, refund-ready traffic evidence.
Start with Google Ads automated rules: go to Tools > Rules, create a new rule for campaigns, choose "Send email" as the action, and set a condition such as "Clicks > 1000" or "Invalid click rate > 10%" over the last day. In Google Analytics, navigate to Admin > View > Custom Alerts, create an alert for metrics like bounce rate above 90%, average session duration below 10 seconds, or a sudden spike in sessions from a single IP range. For continuous, behavior-based monitoring that also captures evidence for refund disputes, install a script-based detector like BotRefund, which flags ghost clicks, trap interactions, superhuman input speed, and VPN usage in real time.
Why Alerts Matter for Click Fraud Protection
Click fraud drains budget and poisons conversion data. Google's own filters catch less than 50% of invalid traffic, leaving sophisticated invalid traffic (SIVT) to slip through. Without alerts, you discover the problem only after money is gone and ROAS is distorted. Industry data shows average invalid click rates of 11% to 14% across Google Ads campaigns, with high-CPC verticals seeing even higher rates. Alerts give you a chance to pause campaigns, investigate, and submit refund requests before the damage compounds.
Prerequisites Before You Build Alerts
- Admin access to Google Ads and Google Analytics (or GA4 property).
- Auto-tagging enabled in Google Ads so GCLIDs flow into Analytics.
- Conversion tracking working correctly; otherwise bounce-rate and session-duration alerts will fire on tracking gaps, not fraud.
- Baseline metrics for your account: typical daily clicks, CTR, bounce rate, and session duration by campaign. You need a normal range to set meaningful thresholds.
Step 1: Google Ads Automated Rules for Volume Spikes
- Sign in to Google Ads and click the tools icon > Rules under Bulk actions.
- Click the plus button > Create campaign rule.
- Name it descriptively, e.g., "Daily click spike alert."
- Set "Apply to" as All enabled campaigns (or a specific label).
- Action: "Send email" — enter the addresses that should be notified.
- Conditions: choose a metric and threshold. Common starting points:
- Clicks > 2x your average daily clicks
- Invalid click rate > 10% (if you have historical data)
- Cost > 1.5x average daily spend
- Frequency: Daily, using data from "Yesterday."
- Save. Test by temporarily lowering the threshold to confirm emails arrive.
Tip: Create a second rule for "Click-through rate > 5%" combined with "Conversions = 0" to catch high-CTR, zero-conversion patterns typical of bot bursts.
Step 2: Google Analytics (GA4) Custom Alerts for Behavioral Anomalies
- In GA4, go to Admin > Property > Custom insights > Create.
- Choose "Custom" and define the evaluation frequency (hourly or daily).
- Set conditions. Useful combinations:
- Bounce rate > 90% AND Sessions > 50 (hourly)
- Average engagement time < 10s AND Sessions > 30
- Sessions from a single country/region > 300% of 7-day average
- Event count for "page_view" < 2 per session (indicates instant exits)
- Add email notifications and, optionally, a Slack webhook via the Notification settings.
- Save and monitor for the first week; adjust thresholds to reduce false positives.
Step 3: Add Real-Time Behavioral Detection with a Third-Party Script
Platform alerts rely on aggregated metrics and often lag by hours. A client-side script analyzes each visitor's behavior as it happens. BotRefund's detector, for example, watches for:
- Ghost clicks — clicks without the natural sequence of human intent (no prior scroll, hover, or focus).
- Trap behavior — interactions with hidden honeypot elements that real users never see.
- Pointer behavior — robotic linear mouse movements, absence of humanlike tremor, grid-aligned paths.
- Speed behavior — superhuman input speed (<1ms), VPN detection.
- Session behavior — unnatural durations (too short, too long, or too uniform), absence of scrolling or clicks.
Installation takes about one minute: paste a single JavaScript snippet into your site's <head>. The dashboard then shows live invalid-traffic rates, captures GCLIDs and FBCLIDs with behavioral evidence, and generates audit-ready refund reports for Google and Meta.
Step 4: Define Thresholds That Balance Sensitivity and Noise
Thresholds depend on your volume and vertical. A $5,000/month B2B account tolerates tighter thresholds than a $200,000/month e-commerce account. Start with these baselines and refine after two weeks:
| Metric | Low-Volume Starting Threshold | High-Volume Starting Threshold | Adjustment Rule |
|---|---|---|---|
| Daily clicks | 2x 7-day average | 1.5x 7-day average | Raise if >2 false alerts/week |
| Invalid click rate (Google Ads) | >8% | >12% | Lower if refund claims succeed consistently |
| Bounce rate (GA4) | >85% | >90% | Exclude known low-engagement landing pages |
| Avg. engagement time | <15s | <10s | Raise for blog-heavy sites |
| Sessions from single IP /24 | >20/hr | >100/hr | Whitelist corporate proxies, CDN edges |
Step 5: Verification Workflow When an Alert Fires
- Acknowledge within 1 hour. Log the alert timestamp, campaign, and metric triggered.
- Cross-reference in Google Ads. Open the campaign, segment by day and device. Look for the same spike in invalid clicks, CTR, or cost.
- Check the third-party dashboard. If you use BotRefund, review the session recordings and behavioral flags for the flagged GCLIDs. Note ghost clicks, trap hits, or superhuman speed events.
- Correlate with server logs. Pull access logs for the landing page URLs and GCLIDs. Confirm IP, user-agent, and request timing match the alert.
- Decide: pause, exclude, or monitor. If evidence is strong (multiple behavioral flags + log correlation), pause the campaign or add IP exclusions. If ambiguous, keep monitoring and lower the threshold for that campaign.
- Document for refund. Export the behavioral evidence, GCLID list, and timestamped logs. BotRefund auto-generates a dispute package formatted for Google's invalid-click refund form.
Common Mistakes That Waste Time
- Alerting on raw clicks without context. A sale day or PR hit looks like fraud. Always pair volume spikes with a quality metric (bounce, engagement, conversion rate).
- Ignoring auto-tagging gaps. If GCLIDs are missing, you cannot tie Analytics sessions to Ads clicks, making refund evidence weak.
- Setting thresholds once and forgetting them. Seasonal traffic, new campaigns, and budget changes shift baselines. Review thresholds monthly.
- Relying only on platform alerts. Google Ads invalid-click reports are retrospective and catch <50% of SIVT. Real-time behavioral data fills the gap.
- Whitelisting too broadly. Excluding an entire /16 CIDR because one /24 was suspicious blocks legitimate traffic. Use the third-party tool's IP reputation data to narrow exclusions.
Limitations of Alert-Based Monitoring
- Alerts are reactive; they notify after the click is billed. Real-time blocking requires a script that can challenge or redirect before the click registers (BotRefund's pixel protection does this for conversion pixels, not for the click itself).
- Google Ads automated rules evaluate once per day. Hourly spikes may not trigger until the next morning.
- GA4 custom insights evaluate hourly at best and sample data on high-traffic properties.
- IP-based exclusions in Google Ads are limited to 500 entries per campaign and do not stop residential proxy botnets that rotate consumer IPs.
- Refund approval is at Google's discretion. Evidence improves odds (BotRefund reports 83% success for high-volume advertisers), but there is no guarantee.
Key Facts at a Glance
| Fact | Detail | Source |
|---|---|---|
| Average invalid click rate on Google Ads | 11%–14% across all campaigns | S1 |
| Google's automated filters catch | <50% of invalid traffic | S1 |
| Global digital ad fraud projection (2026) | Over $100 billion | S1 |
| BotRefund refund success rate (high-volume) | 83% | S2 |
| Behavioral signals detected by BotRefund | Ghost clicks, trap behavior, honeypot, pointer, motion, speed, VPN, path, engagement, session | S2 |
| Historical refund reach | Google Ads spend dating back to 2017 | S2 |
| Installation time for BotRefund script | About one minute, no credit card required | S2 |
Terminology Quick Reference
- SIVT (Sophisticated Invalid Traffic): Bot traffic that mimics human behavior well enough to bypass platform filters; requires client-side evidence to prove.
- GCLID / FBCLID: Google Click Identifier / Facebook Click Identifier — unique parameters appended to landing-page URLs that tie a click to an ad interaction.
- Ghost click: A click event fired without the preceding human intent signals (hover, focus, scroll).
- Honeypot / trap element: A hidden page element (link, button, form field) that real users cannot see; any interaction is by definition non-human.
- Pixel poisoning: Bots triggering conversion pixels, causing the ad platform's ML to optimize for bot-like audiences.
Frequently Asked Questions
How quickly will I see alerts after setup?
Google Ads rules run once daily on yesterday's data. GA4 custom insights can run hourly. BotRefund's dashboard updates in real time as visitors hit your site.
Can I get alerts for Meta (Facebook/Instagram) campaigns too?
Yes. Meta Ads Manager has automated rules similar to Google Ads. BotRefund's script also covers Meta traffic, capturing FCLIDs and the same behavioral signals for Meta refund disputes.
What if I get too many false positives?
Raise thresholds, add "AND" conditions (e.g., high bounce AND low engagement time), and whitelist known internal IPs, CDN edges, and monitoring services. Review the third-party tool's false-positive rate weekly and adjust.
Do I need developer help to install the third-party script?
No. BotRefund's snippet is a single <script> tag pasted into the <head> of your site or via Google Tag Manager. No backend changes required.
How much historical data do I need before setting thresholds?
At least 14 days of stable traffic. If you just launched, use the platform's default thresholds for the first week, then switch to your own baselines.
Will alerts stop the fraudulent clicks from being billed?
Alerts only notify. To prevent billing, you must pause campaigns, add IP exclusions, or use a tool that blocks conversion-pixel firing (pixel protection). The click itself is still charged unless Google refunds it after a dispute.
What is the cost of a third-party detection tool?
BotRefund offers a free tier for accounts under $10,000/mo ad spend, with paid tiers scaling by spend volume. A free bot audit is available to quantify your invalid traffic before committing.
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.