This script helps you get more out of your Google Ads budget without manual checks every week. It looks at how much of your budget you are actually using and whether your campaigns are hitting your CPA or ROAS goals. Based on that, it automatically adjusts your daily budgets up or down within limits you control.
What this script does for you
Spots unused opportunity
The script calculates a Budget Utilization Rate (BUR) per campaign. It checks how much you spend in 7 days compared to your available budget.
If you structurally spend a high share of the budget and performance is good, the script increases the budget so you can capture more conversions.
Reduces waste when performance is poor
If a campaign spends little of its available budget or fails your performance thresholds (for example CPA too high or ROAS too low), the script can reduce budgets. This keeps you from overspending on weak campaigns.
Keeps CPC and volume balanced
Because the script connects spend levels with performance (conversions, CPA, ROAS), it does not blindly raise budgets. It only pushes harder on campaigns that actually deliver results and keeps others in check.
Works for all main campaign types
The premium version supports search, Shopping, Performance Max, and video campaigns, and can work with tROAS. This allows you to keep one single budget automation across your whole account.
How the budget changes are controlled
BUR thresholds
You set when a campaign is seen as “highly utilized” or “underutilized.”
For example:
Above a certain BUR the script is allowed to increase budgets.
Below a lower BUR, it is allowed to decrease budgets.
Safe adjustment ranges
You define:
A percentage for how much budgets may change.
A minimum and maximum absolute amount for any change.
This means you avoid tiny noise changes and also avoid sudden big jumps in daily budget.
Performance rules (CPA / ROAS / conversions)
Before changing a budget, the script checks basic performance conditions such as:
Minimum number of conversions.
Maximum CPA allowed.
Minimum ROAS required.
Budget changes only happen when these conditions are met, so you stay within your targets.
Conversion lag protection
You can set a conversion lag in days. The script ignores the most recent days in its date range so late conversions are taken into account more reliably.
Reporting and dashboards
Google Sheets dashboard (included)
The script uses a connected Google Spreadsheet as your main dashboard. It fills the Dashboard sheet with per-campaign data such as:
Campaign name
Budget
BUR over the last 7 days
Average daily spend
Impressions, clicks, conversions
ROAS and CPA
This gives you a quick overview of which campaigns are hitting their targets and how hard they are pushing against their budgets.
Over-time view of BUR
The script also writes to an over-time data sheet. Each run adds a new row with the date, campaign, BUR, and average spend.
This lets you visualize how budget utilization changes over time and how your optimizations impact pacing.
Email recap (premium)
Budget change summary by email
The premium version can send you an email recap after each run. The email includes:
Which campaigns changed budget
Old budget
New budget
Percentage increase or decrease
It also links to the spreadsheet so you can dig deeper if needed.
Optional notifications
If you prefer to keep it quiet, you can turn off email notifications and just use the dashboard.
Targeting the right campaigns
Label-based filtering
You can choose to run the script on all enabled campaigns or only on campaigns with a specific label in Google Ads.
This is useful if you want to start with a test group or only manage a certain portfolio with this automation.
In short, this script helps you:
Automatically scale budgets up when performance is strong and there is room to grow.
Gently scale down underperforming or low-utilization campaigns.
Keep full control with safe limits, clear rules, and clean reporting in Google Sheets plus optional email recaps.
