Monitoring MCC + Standalone Read-only Email + Telegram Available

$ scripts --run conversion-drop-monitor

Conversion Drop Monitor

A Google Ads Script that alerts you when conversions drop to zero — across MCC accounts or in a standalone setup. Catches tracking failures, paused campaigns, and budget exhaustion before your clients do.

What this script does

  • Queries each monitored account for conversion totals over a configurable recent period (default: last 3 days).
  • Compares against a baseline period (default: last 14 days) to distinguish a real drop from a new account with no history.
  • Sends a FIRST_ALERT email or Telegram message when zero conversions are detected.
  • Follows up automatically after a configurable interval (default: 7 days) if conversions are still zero.
  • Sends a FINAL_ALERT and suspends monitoring after two follow-up checks without recovery — preventing alert fatigue.
  • Detects RECOVERY and sends a notification when conversions return.
  • Stores state in Google Ads Script Properties — survives script re-runs and quota resets.
  • Works in MCC mode (monitors a list of child accounts) and standalone mode (monitors the current account).
How Conversion Drop Monitor works — Google Ads Script checks accounts for conversion drops and delivers alerts via Email, Telegram, and Google Sheets
Alert delivery flow — Email, Telegram, and optional Google Sheets. Demo data.

Alert stages

Stage Trigger Action
FIRST_ALERT Zero conversions in the recent period Sends alert, schedules first follow-up
FOLLOW_UP_ALERT × 2 Still zero after follow-up interval Sends follow-up, schedules next check
FINAL_ALERT Still zero after both follow-ups Sends final alert, suspends monitoring
RECOVERY Conversions return at any stage Sends recovery notice, resets state
Conversion Drop Monitor email alert example — script detected 0 conversions with Drop Detected badge, previous period comparison, and accounts checked counter
Example email alert summary — sanitized demo data, not real account values.

Setup

  1. 1 Download the script file below.
  2. 2 Open Google Ads → Tools → Scripts (or in MCC: MCC Scripts).
  3. 3 Click New script, paste the entire file content.
  4. 4 In the CONFIG block at the top, set ACCOUNT_IDS to your Google Ads customer IDs (10-digit format).
  5. 5 Set EMAIL_RECIPIENTS to one or more recipient addresses.
  6. 6 Optionally configure TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID if you prefer Telegram alerts.
  7. 7 Run in TEST_MODE: true first to verify the alert format without saving state.
  8. 8 Schedule the script to run weekly (recommended: Monday 09:00 in your account timezone).
  9. 9 Set RECENT_PERIOD_DAYS and BASELINE_PERIOD_DAYS to match your conversion volume — accounts with fewer than one conversion per week need a wider recent period.

Key CONFIG options

ACCOUNT_IDS string[]

Google Ads customer IDs to monitor. Format: '123-456-7890'. In standalone mode, must include the current account's ID.

RECENT_PERIOD_DAYS number

How many calendar days to check for zero conversions. Default: 3. Increase for accounts with low weekly conversion volume.

BASELINE_PERIOD_DAYS number

Earlier period used for comparison in alert context. Default: 14.

FOLLOW_UP_INTERVAL_DAYS number

Days to wait between follow-up checks after the first alert. Default: 7.

EMAIL_ENABLED / EMAIL_RECIPIENTS boolean / string[]

Toggle email alerts and set recipient addresses.

TELEGRAM_ENABLED / TELEGRAM_BOT_TOKEN / TELEGRAM_CHAT_ID boolean / string / string

Toggle Telegram alerts. Requires a bot token and chat ID — set these only in your private Google Ads copy, never share publicly.

ALERT_GROUPING 'summary' | 'per_account'

summary sends one email per script run. per_account sends one email per alerted account.

TEST_MODE boolean

Set to true to send test alerts without saving state. Use for initial verification. Default: false.

Script code

conversion-drop-monitor-v1.0.0.js 805 lines

Video walkthrough

Video guide coming soon — follow us on Telegram to get notified.

FAQ

Does this work with MCC accounts?

Yes. When run from an MCC (My Client Center) account, the script iterates over the child accounts listed in ACCOUNT_IDS, selects each one, runs the conversion check, and aggregates results into a summary email or per-account alerts depending on ALERT_GROUPING.

What conversion action types does it track?

The script uses the conversions metric from the Google Ads Reporting API, which counts all standard conversion actions that are set to 'Include in conversions'. Store visits and cross-device conversions are included based on your account settings.

Will it alert me every week if conversions stay at zero?

No. After the FIRST_ALERT, the script waits FOLLOW_UP_INTERVAL_DAYS (default: 7) before checking again, then sends up to two follow-up alerts. After the FINAL_ALERT it suspends monitoring for that account until you manually add its ID to RESUME_ACCOUNT_IDS and run the script once.

How do I resume monitoring after a FINAL_ALERT?

Add the account's customer ID to the RESUME_ACCOUNT_IDS array in CONFIG, run the script once. The saved state for that account is cleared and normal monitoring resumes. Remove the ID from RESUME_ACCOUNT_IDS after the run.

Can I run this in a standalone account (not MCC)?

Yes. Add the current account's own customer ID to ACCOUNT_IDS. The script detects the environment and runs in standalone mode automatically.

Where is the state stored?

Alert state (which accounts are in WAITING_FOLLOW_UP or SUSPENDED status, and when the next check is due) is stored in Google Ads Script Properties, which persist between script runs and quota resets.

Get notified when new scripts drop

No spam. Just a short email when a new script is published.

No spam. Unsubscribe any time.