See what a change costs before you merge it
A pull request that raises a budget, unpauses a campaign, or launches a new one is a spending decision. The operation counts at the bottom of a plan don’t say so:
Plan: 0 to create, 0 to update, 0 to destroy, 2 to adopt, 1447 unchanged. (2 accepted, 0 rejected)The line under it does:
Budget: committed daily spend 320.00 EUR -> 340.00 EUR (+20.00 EUR/day) across 17 enabled campaignsYou don’t have to do anything to get it. Run bidsmith plan . and it’s
there, in the account’s own currency.
Reading the line
| Part | Means |
|---|---|
320.00 EUR | What the account commits per day right now. |
340.00 EUR | What it commits per day once this change is applied. |
(+20.00 EUR/day) | The difference — this pull request’s blast radius. |
across 17 enabled campaigns | How many campaigns will be running afterwards. |
When the change doesn’t move any money, the line collapses to the total, which is still worth knowing:
Budget: committed daily spend 320.00 EUR/day across 1 enabled campaignWhat counts, and what doesn’t
Only campaigns that will be ENABLED after the change. A budget
sitting behind a paused campaign commits nothing, so it isn’t counted.
The useful consequence: pausing a campaign shows up as a drop.
Budget: committed daily spend 340.00 EUR -> 320.00 EUR (-20.00 EUR/day) across 16 enabled campaignsA shared budget counts once. Five campaigns drawing on one
explicitly_shared budget commit that budget, not five times it.
The whole account, not just your files. Campaigns somebody built in the Google Ads UI are in the total too. That’s deliberate — the total answers “what are we running?”, which is a question about the account, not about your branch.
Lifetime budgets get their own line. A custom-period budget commits a total for a whole flight, not an amount per day, so adding it to the daily figure would be a lie in the units. It’s reported separately instead:
Budget: committed daily spend 320.00 EUR/day across 16 enabled campaigns plus 2 custom-period budgets totalling 140.00 EUR over their lifetimeWhy the total matters as much as the delta
Three pull requests, one week, each launching a video campaign at EUR 20/day. Each PR honestly describes itself as “+20 EUR/day”. None of them mentions EUR 60/day, because no single PR knows about the other two.
The running total closes that gap: the third PR’s plan opens at
360.00 EUR where the first one opened at 320.00 EUR. The drift is
visible in the review, before the merge, without anyone adding up
amount_micros by hand.
See also
bidsmith plan— the rest of the plan output.- Pause everything for the holidays — a change whose whole point is taking the number down.
- Leave a note explaining a number — keep the reason for a budget next to the budget.