Invalid Click Monitor
Tracks the invalid (filtered) click rate per campaign and alerts on high levels or sudden jumps vs the prior period — the signal behind click farms, bot placements and scrapers.
by Daniel Hough (concept), chiliad (rewrite)·github.com/hoofay/autoPauseCampaignsInvalidClicks
Overview
Invalid Click Monitor compares each campaign's invalid click rate over the recent window against the previous window and alerts on two conditions: a rate above your absolute threshold, and a jump of more than a set number of points period-over-period. Google filters and credits invalid clicks automatically, but a persistent spike still means something changed — bot traffic on Display placements, competitor click activity, or a scraper hitting one campaign — and that's worth investigating.
Setup
- 1Open your Google Ads account and go to Tools → Bulk Actions → Scripts.
- 2Click the + button to create a new script and paste the code below.
- 3Adjust RATE_ALERT_PCT and JUMP_ALERT_PTS to your traffic profile (Display-heavy accounts run higher baselines).
- 4Set EMAIL_ADDRESS to receive alerts; leave blank for logs only.
- 5Preview once to verify, then schedule weekly.
Configuration Variables
| Variable | Default |
|---|---|
RATE_ALERT_PCT | 10 |
JUMP_ALERT_PTS | 5 |
WINDOW_DAYS | 14 |
MIN_CLICKS | 100 |
EMAIL_ADDRESS | (empty) |
Expected Output
[OK] Brand — Exact - invalid rate 2.1% (34 filtered clicks) === Invalid Click Monitor (last 14 days vs previous 14) === Campaigns checked: 12 Alerts: 1 Competitor — Phrase invalid rate: 18.4% filtered clicks: 412 (rate 18.4% exceeds 10%; jumped from 6.2% to 18.4%) Email sent to you@example.com
Notes
You are never charged for clicks Google filters — the alert is about the underlying activity, not the money. For confirmed patterns: review Display placements, add IP exclusions, and for systematic fraud file an invalid activity claim with Google. Invalid click data can lag a day or two.