# How to move ad budget safely with an AI agent

> Tier: deep. Full contract: quantified decision rules and evidence requirements.

Move budget from losers to winners in steps a learning phase can absorb, with every change previewed and confirmed before it touches the account.

**Intent.** Reallocate with discipline: right sizes, right order, previews first, and a rollback path.

## When to use

- After a performance review names winners and losers.
- Seasonal shifts planned in advance.
- Spend caps forcing prioritisation.

## When not to use

- Mid-learning-phase on the winners: feeding a campaign that has not stabilised measures nothing.
- Reacting to fewer than 7 days of data, where attribution lag owns the signal.

## Sources

Required: Google Ads
Optional: Meta Ads, TikTok Ads, Pinterest Ads

## Preconditions

- A source ranking of winners and losers with evidence, typically from cross-platform-performance or weekly-performance-review.
- Write access on the plan, and the user present to confirm.

## Inputs

- `moves` (required): The intended shifts, or the ranking to derive them from.
- `step_cap`: Maximum change per campaign per step. Default: 20% of current daily budget.

## Procedure

1. Read current budgets and statuses for every campaign involved. — tools: `google_ads_get_budgets`, `meta_get_campaigns`, `tiktok_get_campaigns`
2. Compute target budgets under the step cap, in account currency, and show the full plan before any call.
3. Preview each change with Safe Writes: the tool returns the exact diff and applies nothing. — tools: `google_ads_update_campaign_budget`, `meta_update_campaign_budget`, `meta_update_adset_budget`, `tiktok_update_campaign_budget`, `pinterest_update_campaign_budget`
   First call without confirm: the response is the preview.
4. After human confirmation, apply, re-read the budgets, and record before/after. — tools: `google_ads_get_budgets`
5. Schedule the check-in: results judged only after the conversion lag has passed.

## Decision rules

- **When** A proposed increase exceeds the step cap → **conclude** Split it across steps days apart; large jumps reset learning and burn the measurement.
- **When** The loser funds brand or remarketing terms that protect other campaigns → **conclude** Flag the dependency before cutting; savings there can reappear as losses elsewhere.
- **When** The winner's efficiency was measured during a promo period → **conclude** Discount the ranking and say so; post-promo efficiency is the real baseline.

## Evidence requirements

- The plan shows every campaign's current budget, target, step and date.
- After applying, the re-read budgets are quoted as confirmation, not assumed.

## Human approval boundary

- Every change previews and waits for explicit human confirmation: that is Safe Writes, not a courtesy.
- The skill never originates a move the source ranking does not support.

## Failure modes

- Shared budgets on Google make per-campaign moves illusory; read the budget object, not the campaign, first.
- Meta ad set budgets vs campaign budgets (CBO) change where the lever is; confirm which mode each campaign runs.
- Cutting a loser that feeds the winner's retargeting pool moves the loss downstream a week later.

## Output

- **The plan**: Every move: from, to, step, date, evidence link.
- **Previews**: The gateway's own diffs, verbatim.
- **Confirmation record**: Applied changes with before/after budgets re-read.

## Related

- Skill: [cross-platform-performance](https://www.getmcpads.com/skills/cross-platform-performance.md)
- Skill: [weekly-performance-review](https://www.getmcpads.com/skills/weekly-performance-review.md)
- Guide: [budget-reallocation](https://www.getmcpads.com/guides/budget-reallocation.md)
- Guide: [safe-writes](https://www.getmcpads.com/guides/safe-writes.md)
