Five Google Ads automations that pay for themselves
Five Google Ads automations worth building: search term reviews, placement exclusions, CPC alerts, budget pacing and reporting, plus the limits to plan for.
In this guide
- Why automate these five
- 1. A weekly search term review with suggested negatives
- 2. Weekday placement exclusions for Performance Max and Display
- 3. A daily alert for manual CPC bids above a threshold
- 4. Budget pacing and anomaly alerts
- 5. Automated monthly reporting
- Which tool suits which job
- Limits to know before you build
- Start with one automation
- FAQ
The Google Ads automations worth building first are the ones that catch wasted spend or a mistake before a busy person would: a weekly search term review, weekday placement exclusions, a high CPC bid check, budget pacing alerts and monthly reporting. Most of them run on Google Ads scripts, which can be scheduled hourly, daily, weekly or monthly and tested in preview mode before they touch anything (Google for Developers). Below is how each one works, which tool suits it, and the limits to plan around, all correct when last checked (30 October 2026).
Why automate these five
My automations check 31 Google Ads accounts every weekday. Nobody can check that many by hand every morning, and the dull checks slip first.
Each automation below either stops spend you didn’t want or flags a mistake early. That’s what I mean by paying for themselves. I won’t put a figure on it, because the value depends on the account.
Build each one so the script finds and suggests, and a person decides. Budget pacing is general advice rather than a description of my setup.
1. A weekly search term review with suggested negatives
Every week, my search term report lists the terms that spent without converting, with a suggested negative for each. It also checks for keywords blocked by conflicting negatives, which I explain in when a negative keyword blocks your best keyword.
The mechanics are simple. A script queries the data in GAQL using AdsApp.report() or AdsApp.search(), then exportToSheet() writes the results to a Google Sheet (Google for Developers). I’d suggest a person then reads the Sheet and approves the negatives worth adding.
Performance Max needs its own pass. Irrelevant terms from its search terms report are excluded with negatives at account or campaign level for Search and Shopping, and with excluded content keywords for Display and Video (Google Ads Help).
Why to suggest negatives instead of auto-applying them
Account-level negatives don’t block close variants, so each variant needs its own entry (Google Ads Help). A script adding every suggestion would fill the account-level cap in the limits table below fast.
They also do nothing for Display or Video. They apply to Search and Shopping inventory in Search, Performance Max, App, Shopping, Smart and Local campaigns only (same source). Shared negative keyword lists give more room (Google Ads Help).
2. Weekday placement exclusions for Performance Max and Display
My placement blocker reviews where Performance Max and display ads ran, then blocks junk apps, sites and videos on one shared manager account list, Monday to Friday. The full routine is in my post on blocking junk Performance Max placements.
Account-level placement exclusions apply to all campaigns, including Performance Max, and override campaign settings. Since March 2024 they also cover Search Partners (Google Ads Help).
A manager account gets only three placement exclusion lists, applied at account level to child accounts (Google Ads Help). Decide how you’ll split them before you build.
Old tricks that no longer work
Excluding adsenseformobileapps.com no longer stops app traffic. Google no longer supports that placement, although it still shows in placement reports (Google Ads Help). Review and exclude the individual apps instead.
Google-owned domains can’t be excluded either (Google Ads Help).
3. A daily alert for manual CPC bids above a threshold
A daily check flags any manual CPC bid above £5. That figure is my threshold; set yours from what a sensible top bid looks like in your accounts. The point is to catch a bid typed as £50 instead of £5.00 before it runs for days.
I’d keep a check like this to flagging only. Automated rules can change bids and send email alerts (Google Ads Help), but a bid that looks wrong is sometimes deliberate, and a person should make that call.
4. Budget pacing and anomaly alerts
A common false alarm is a “spend above daily budget” alert. A campaign can spend up to 2x its average daily budget on a given day, but no more than 30.4x the average daily budget in a month (Google Ads Help). A daily overspend alert will fire on normal behaviour.
Pace against the month instead. A simple rule built on those two figures:
- Expected month-to-date spend is roughly average daily budget × days elapsed.
- The monthly ceiling is 30.4 × average daily budget.
- Alert when actual month-to-date spend moves away from the expected figure by more than a tolerance you choose, or when it is on course to reach the ceiling early.
The tolerance is your call; Google doesn’t set one. Automated rules can change budgets and send email alerts (Google Ads Help), which is enough for one account. Across many accounts, use a manager account script and batch the work above 50 accounts.
5. Automated monthly reporting
A script scheduled monthly can pull Google Ads figures in GAQL and write them to a Sheet with exportToSheet() (Google for Developers). From there the numbers can feed whichever dashboard or email you already send.
My own monthly GA4 reports for 36 websites come from a separate pipeline built on GA4 data, outside Google Ads scripts. They’re drafted automatically, then checked by a person before sending, and the format is in the one-page GA4 report people actually read.
Which tool suits which job
These are the tools I’d reach for, based on what each can do.
| Tool | What it can do | Best fit from the five |
|---|---|---|
| Google Ads scripts (one account) | Query GAQL, write to Sheets, run on a schedule, preview first (start, reports) | Search terms, CPC check, reporting |
| Manager account scripts | Run across child accounts with executeInParallel (limits) |
Placements and pacing across accounts |
| Automated rules | Change status, budgets and bids; email alerts; support Performance Max (Help) | Simple alerts in one account |
| Shared lists | Hold negatives or placement exclusions (Help) | Approved negatives and exclusions |
| A person with the Sheet (recommended) | Approve, reject or adjust each suggestion | Everything before it goes live |
Limits to know before you build
These limits were correct when last checked (30 October 2026). Google changes them, so check the source before you rely on one.
| Limit | Value | Source |
|---|---|---|
| Single-account script run time | 30 minutes; changes made before a timeout still apply | Google for Developers |
| Manager account script run time | 30 minutes, or up to 60 with executeInParallel and a callback |
Google for Developers |
executeInParallel |
Up to 50 accounts per call | Google for Developers |
| Authorised scripts | 250 per account | Google for Developers |
| Iterator results | 50,000 by default | Google for Developers |
| Account-level negative keywords | 1,000 per account | Google Ads Help |
| Shared negative keyword lists | 5,000 keywords per list; 20 lists per manager account plus 20 per child account | Google Ads Help |
| Performance Max campaign negatives | 10,000 per campaign (up from 100, 18 March 2025), per Google’s Ads Liaison as quoted by SEJ | Search Engine Journal |
| Account-level placement exclusions | 65,000 per account; 20,000 per batch; usually live within 12 hours | Google Ads Help |
| Manager placement exclusion lists | 3 lists of up to 250,000 each | Google Ads Help |
| Client account placement exclusion lists | 20 lists of up to 65,000 each | Google Ads Help |
| Daily and monthly spend | Up to 2x average daily budget in a day; no more than 30.4x in a month | Google Ads Help |
| Performance Max search terms data | From March 2023 onwards | Google Ads Help |
Start with one automation
Don’t build all five at once. Pick the one that matches the mistake you see most often, write it to suggest rather than change, and run it in preview mode first (Google for Developers).
For most accounts I’d start with the weekly search term review. It changes nothing in the account, the output is a Sheet a person can check, and it shows whether the account has a waste problem worth automating further.
FAQ
Can Google Ads scripts run across multiple accounts?
Yes, from a manager account, using executeInParallel for up to 50 accounts per call (Google for Developers).
How many negative keywords can a Performance Max campaign have?
Up to 10,000 per campaign since 18 March 2025, up from 100, according to Google’s Ads Liaison as quoted by Search Engine Journal. Account-level negatives also apply (Google Ads Help).
Do account-level negative keywords apply to Display campaigns?
No. They apply to Search and Shopping inventory in Search, Performance Max, App, Shopping, Smart and Local campaigns, and Display and Video are left out (Google Ads Help). Use placement exclusions or excluded content keywords there.
For the wider picture, see my guide to marketing automation for paid media.
11 sources, all opened and checked
- Google Ads scripts limits, Google for Developers
- Getting started with Google Ads scripts, Google for Developers
- Reporting with Google Ads scripts, Google for Developers
- Account-level negative keywords, Google Ads Help
- Limits for shared negative keyword and placement exclusion lists, Google Ads Help
- Performance Max search terms and exclusions, Google Ads Help
- Report on the Performance Max negative keyword limit increase, Search Engine Journal
- Account-level placement exclusions, Google Ads Help
- Daily budgets and monthly spend limits, Google Ads Help
- Automated rules, Google Ads Help
- Mobile app placements and adsenseformobileapps.com, Google Ads Help
