Disapproved Ad Alert
Monitors enabled ads for policy issues and can email a daily alert with disapproved/limited ads before delivery is impacted.
Script Code
Run daily to catch non-approved ads fast, reduce silent delivery loss, and route policy fixes to the right team.
Preview is public. Unlock full code with name and email.
/**
* ==========================================================
* Disapproved Ad Alert
* ==========================================================
* Description: Monitors active ads for policy issues and can
* send an alert digest to your inbox.
*
* Copyright (c) 2026 TwoSquares. All Rights Reserved.
* Developed by Kiril Ivanov
*/
function main() {
var SEND_EMAIL_ALERTS = true;
var ALERT_EMAIL = "[email protected]";
// Fetch enabled ads and flag approval_status !== "APPROVED"
// ... preview shortened
}About This Script
Disapproved Ad Alert is a production-ready monitoring script that checks active ads and flags anything not fully approved. It helps protect revenue by catching policy-related delivery issues early, especially in accounts with frequent creative updates.
The script reads enabled campaigns, ad groups, and ads, then filters by approval status in code to avoid brittle query filters. Results are logged in a clean format and can optionally be sent by email as a daily policy digest.
This is especially useful for high-change PPC programs, multi-market accounts, and teams where multiple people launch assets. A daily check creates operational discipline and prevents policy issues from silently reducing coverage.
Implementation Notes
- Set ALERT_EMAIL to the inbox that should receive policy alerts.
- Run manually once to confirm permissions and validate output format.
- Schedule daily (morning) so policy issues are surfaced before spend ramps.
- Triage alerts by campaign priority, then fix disapprovals in Google Ads UI.
- Track recurring rejection themes and update internal ad QA checklists.
More Scripts In This Library
Delete Disapproved Ads
Finds ads with non-approved policy status and removes them, with a dry-run mode enabled by default for safer review first.
Disapproved Ad Checker
Exports disapproved ads with campaign and ad group context so you can review policy issues quickly without hunting through the interface.
Account Anomaly Detector
Compares today’s account performance against the same weekday across previous weeks and alerts when impressions, clicks, conversions, or cost move outside expected bounds.
Broken Final URL Checker
Checks enabled ad and keyword final URLs for 4xx/5xx errors, with optional sheet logging and daily alerting.
Disapproved Ad Alert FAQs
Common setup, usage, and troubleshooting questions for this script.