Google Ads scripts
Before you run any script here
Each one states what it reads, what it writes, and what to change before you run it. Paste into Tools → Bulk actions → Scripts, authorise, preview, then schedule.
-
Impression share loss report
Separates impression share lost to budget from impression share lost to ad rank, and lists each campaign under the cause that applies, because the two shortfalls have opposite fixes.
read-onlyWeekly
-
Disapproved ads alert
Lists enabled ads that are not fully approved, with the policy topics behind each decision, and separately flags ad groups where no ad is servable at all, which is the failure that actually stops traffic.
read-onlyDaily
-
Negative keyword conflict finder
Finds enabled keywords that your own negatives are blocking, checking ad group negatives, campaign negatives and every shared negative list attached to the campaign, and reports which level each blocking negative came from.
read-onlyMonthly, and after any negative bulk upload
-
Budget pacing monitor
Compares month-to-date spend against a monthly budget, projects where the month ends, and states the daily figure that would land it on target. Reads every campaign type, and can weight the expected line by the account's own weekday pattern.
read-onlyDaily, early morning
-
Final URL health check
Requests every final URL on enabled ads and keywords and reports the ones that do not return 200 or that redirect to another host.
read-onlyDaily
-
Spend anomaly alert
Emails you when a campaign spent far more or far less yesterday than it normally does on that weekday, using the same weekday from the previous four weeks as the baseline.
read-onlyDaily, early morning
-
N-gram waste report
Finds the words and word pairs your search terms have in common that spend money and never convert, so you negate a pattern instead of one term at a time.
read-onlyWeekly
New to scripting? Start with the guides, which cover how the environment behaves before you paste anything into an account.