---
name: allocate-budget-across-campaigns
description: >-
  Turns growth and efficiency goals into concrete daily budgets per campaign: computes the monthly
  spend floor from the goal math (target volume times target cost, or target revenue over target
  ROAS), stress-tests that number against real demand and historical efficiency, tiers campaigns by
  proven performance, and applies the resulting daily budgets. Use it at account/quarter kickoff,
  when goals change, or when budgets were set by feel rather than math. Not for rescuing a single
  campaign pinned by its cap (handle-budget-limited-campaigns), for pushing an already-allocated
  account past its current performance (scale-bids-and-budgets), or for setting CPA/ROAS targets
  (calculate-bid-targets).
---
# Allocate Budget Across Campaigns

## Purpose
Budgets should be derived, not guessed: the growth goal and the efficiency target jointly imply a
minimum monthly spend, and historical performance tells you which campaigns have earned the largest
share of it. This skill runs that derivation end to end, goal capture, spend-floor math, three
feasibility checks, performance tiering, and the actual budget writes, so the account's money sits
where the evidence says it works.

## When to run
- New account, new campaign set, or client onboarding needing first budgets.
- Quarterly/annual planning cycle, or goals changed materially.
- Current budgets are historical accidents (never rebalanced, spread evenly, or set by request).
- A weekly/monthly review shows systematic mispacing across the account.

## When NOT to run
- One profitable campaign is hitting its daily cap -> handle-budget-limited-campaigns.
- Budgets are sound and you want MORE volume/profit than the current stable state ->
  scale-bids-and-budgets.
- The efficiency targets themselves are unvalidated -> calculate-bid-targets first (the spend-floor
  math divides by them; garbage in, garbage out).
- You need pooled bidding or a shared budget mechanically set up -> set-up-portfolio-bid-strategies.

## Prerequisites
- Documented growth goal (e.g. leads/month, revenue/month, new customers/month) and efficiency
  goal (target CPA / ROAS / acquisition-cost ceiling), confirmed with the stakeholder.
- Validated unit economics (calculate-and-validate-unit-economics) so targets are above breakeven.
- 3-6 months of account history where available; for cold starts, keyword-level forecasts stand in.

## Procedure
1. **Session guardrail.** Call `gads_policy_guardrail` before this session's first write.
2. **HUMAN STEP (outside VigilDog).** Confirm both goals with the stakeholder: one growth number, one
   efficiency number, each specific and measurable. Refuse to proceed with only one, growth
   without an efficiency guardrail burns margin; efficiency without a growth floor shrinks the
   account into irrelevance.
3. **Compute the monthly spend floor.** Pure arithmetic, no tools:
   - Volume-goal accounts: floor = target conversions x target CPA (e.g. 100 leads x 50 = 5,000/mo).
   - Revenue-goal accounts: floor = target revenue / target ROAS (e.g. 100,000 at 400% = 25,000/mo).
   - Subscription accounts: derive max acquisition cost from lifetime value (LTV / 3 is a common
     ceiling) or payback period (monthly revenue per user x acceptable payback months), then
     floor = target new customers x that ceiling.
   Add a working buffer: 15-20% when growth is the primary goal, 5-10% when efficiency is.
4. **Feasibility check 1, market.** Use `gads_keyword_ideas` and `gads_keyword_forecast` to
   confirm search demand can absorb the implied click volume, and `gads_run_gaql_query` to pull
   impression-share headroom (`metrics.search_budget_lost_impression_share`,
   `metrics.search_rank_lost_impression_share`) on existing campaigns. No headroom + no demand
   means the goal, not the budget, must change.
5. **Feasibility check 2, performance.** Pull 3-6 months of actuals via
   `gads_get_account_performance` and `gads_run_gaql_query`. If historical CPA/ROAS is far from the
   target used in step 3, the floor is fiction: either revise the efficiency target, fix upstream
   conversion rate, or reduce the growth goal.
6. **HUMAN STEP (outside VigilDog), feasibility check 3, business.** Stakeholder confirms: spend
   level approved, operations can absorb the projected volume, cash flow tolerates the payback
   window, and the Google Ads share of total marketing budget is deliberate.
7. **Tier the campaigns.** For every active campaign, pull trailing 30-90 day cost, conversions,
   CPA/ROAS, and IS-lost metrics via `gads_get_campaign` + `gads_run_gaql_query`, then classify:
   - Tier 1, proven: consistently at/inside target -> ~70% of budget.
   - Tier 2, scaling candidates: good efficiency plus visible headroom (IS lost to budget) -> ~20%.
   - Tier 3, tests: new types, new audiences, experiments -> ~10%.
   Shift the split toward 60/25/15 when growth is primary, 75/15/10 when efficiency is.
8. **Convert to daily budgets.** Daily total = monthly floor (with buffer) / 30.4. Distribute
   across campaigns per tier, and sanity-check each tCPA campaign's daily budget stays >= 10x its
   target CPA.
9. **Apply budgets (write).** Read current state with `gads_list_budgets`, then apply changes with
   `gads_update_budget` (existing) or `gads_create_budget` (new campaigns or a deliberate shared
   pool). Preview every change (validate_only=true default) as an old->new table across all
   campaigns; apply only after the user approves the whole allocation. Do not use shared budgets on
   campaigns that will run experiments.
10. **Set up monitoring.** Define the recurring pulls: daily spend vs budget (pacing %), IS lost to
    budget, IS lost to rank, all via `gads_run_gaql_query`. First two weeks: watch for
    budget-limited statuses and underspend. Week 3-4: compare tier assignments to actual results
    and promote/demote with fresh approvals.
11. **HUMAN STEP (outside VigilDog).** Warn the stakeholder that Google may spend up to 2x the daily
    budget on strong days (monthly totals still cap at ~30.4x daily); this prevents a week-one
    alarm.

## Decision rules
- **The floor is a floor.** The computed monthly number is the minimum consistent with the goals,
  not a ceiling; overspending it is fine if efficiency holds.
- **Buffer:** growth-primary 15-20%, efficiency-primary 5-10%.
- **Tier split:** 70/20/10 baseline; 60/25/15 growth-tilted; 75/15/10 efficiency-tilted. Always
  keep at least ~10% in tests, an account with zero test budget has zero future Tier 1s.
- **Daily conversion:** monthly / 30.4.
- **Underspend diagnosis:** if a campaign cannot spend its allocation, the constraint is targeting
  or rank, not budget, broaden queries or fix competitiveness rather than shuffling money.
- **Overspend-too-fast diagnosis:** high IS lost to budget on a profitable campaign justifies more
  budget; on an unprofitable one it justifies tighter targets, never more budget.
- **Rebalance cadence:** monthly tier check (promote a Tier 2 outperforming Tier 1 economics),
  quarterly full recalculation, immediate recalculation when goals or unit economics change.
- **No history?** Forecast clicks from `gads_keyword_forecast` CPC estimates, multiply by an
  expected conversion rate to project conversions, start conservative, recalibrate after 2-4 weeks
  of data.

## Common failure modes
- **Budgets without goals.** Allocation by gut or by last year's numbers has no error signal.
  Steps 2-3 are non-optional.
- **Even spreading.** Giving every campaign the same budget treats proven winners and untested
  ideas identically, the tier split exists precisely to break that symmetry.
- **Skipping feasibility.** A mathematically correct floor the market cannot absorb produces
  chronic underspend and a credibility problem; check demand before promising volume.
- **Set-and-forget allocation.** Tier membership drifts; a quarterly recalc plus monthly tier
  review keeps money following evidence.
- **Shared budget + experiment collision.** Campaign experiments require individual budgets;
  putting an experiment campaign on a shared pool silently breaks the test design.

## Related skills
- Before: calculate-bid-targets (efficiency targets), calculate-and-validate-unit-economics
  (breakeven inputs), select-a-bidding-strategy (strategy per campaign).
- After: handle-budget-limited-campaigns (single-campaign cap issues), scale-bids-and-budgets
  (growing past the allocation), monitor-and-maintain-bid-strategy-health (recurring checks),
  set-up-portfolio-bid-strategies (if a shared budget + pooled strategy makes sense).
