Disapproved Ads Monitor
Lists every enabled ad Google has disapproved or restricted to limited eligibility, with the policy topics that caused it — before an empty ad group quietly stops serving.
by Dmytro Tonkikh·chiliad.io
Overview
Disapproved Ads Monitor checks the policy status of every enabled ad and reports the ones Google has DISAPPROVED or approved with LIMITED eligibility, including the specific policy topics behind each decision. Disapprovals rarely announce themselves — the first symptom is usually an ad group serving nothing and results dipping. The email fires only when something is disapproved or limited, making it a clean daily alert.
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.
- 3Set INCLUDE_LIMITED = false if you only want hard disapprovals.
- 4Set EMAIL_ADDRESS — this script is most valuable as a daily alert.
- 5Preview once to verify, then schedule daily.
Configuration Variables
| Variable | Default |
|---|---|
INCLUDE_LIMITED | true |
EMAIL_ADDRESS | (empty) |
Expected Output
=== Disapproved Ads Monitor === Enabled ads checked: 132 Disapproved: 1 Limited: 1 [DISAPPROVED] Brand — Exact > Core (ad 712345678901, RESPONSIVE_SEARCH_AD) Policy: DESTINATION_NOT_WORKING (PROHIBITED) [LIMITED] Sneakers > Promotions (ad 712345678903, RESPONSIVE_SEARCH_AD) Policy: TRADEMARKS_IN_AD_TEXT (LIMITED) Email sent to you@example.com
Notes
Policy topics come straight from Google's policy summary — the same details shown in the UI's Status column. Limited eligibility is often trademark-related and sometimes acceptable; hard disapprovals always need action (fix and resubmit, or appeal via Policy Manager).