← ToffuCONTENT HISTORY

Update to Toffu

Snapshot Oct 29, 2026 · 19:06 UTC · version 1.3.0

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save Toffu and check future changes in Following.

Up to 10 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Recommend how to split budget across ad platforms and campaigns with Toffu. Use when the user asks where to put more budget, what to cut, or how to rebalance spend between channels. Compares return per platform and campaign and proposes budget changes the user confirms.",
  "included_files": [],
  "name": "budget-allocation",
  "skill_md_contents": "---\nname: budget-allocation\ndescription: Recommend how to split budget across ad platforms and campaigns with Toffu. Use when the user asks where to put more budget, what to cut, or how to rebalance spend between channels. Compares return per platform and campaign and proposes budget changes the user confirms.\n---\n\nUse the Toffu tools. Never apply a change the user has not confirmed.\n\n1. Call `get_account_context`. If a platform has several accounts, ask which one. Pass the ids as `account_ids` to `query_campaign_performance`, and as `account_id` to the other tools.\n2. Read data with `query_campaign_performance` (daily rows: `time_increment` \"1\"), `list_campaigns`, `list_ad_sets` and `list_ads`.\n3. To change something, call `propose_update_campaign`, `propose_update_ad_set` or `propose_update_ad`, and show the preview. Call `apply_change` only after the user confirms that change.\n\n# Cross-Channel Budget Allocation\n\n## Portfolio Budget Approach\n- Treat total paid media budget as a single portfolio, not siloed channel budgets.\n- Allocate based on marginal ROAS: shift dollars from channels with declining returns to channels with headroom.\n- Rebalance monthly at minimum, weekly during peak periods or launches.\n\n## Diminishing Returns Curves\n- Every channel hits diminishing returns. Plot spend vs conversions to identify the inflection point.\n- Below the inflection: scale aggressively. Above it: diminishing returns set in.\n- Channels with steep curves (branded search) reach saturation faster than broad channels (Meta prospecting).\n\n## Incrementality Testing\n- ROAS alone is misleading — it conflates correlation with causation.\n- Run **geo-holdout tests**: pause a channel in select markets, measure conversion lift in active vs holdout.\n- Run **conversion lift studies** (available in Meta, Google) to measure incremental impact.\n- Reallocate budget away from channels with low incrementality, regardless of last-click ROAS.\n\n## Channel-Level ROAS Targets\n- Set targets by channel AND funnel stage. Prospecting has lower ROAS than retargeting — that's expected.\n- Branded search: 5-10x+ ROAS target.\n- Non-branded search: 2-4x ROAS target.\n- Meta prospecting: 1.5-3x ROAS target.\n- Retargeting (all channels): 4-8x ROAS target.\n- Adjust targets based on customer LTV, not just first-purchase value.\n\n## Seasonal Budget Shifts\n- Build a **seasonal budget calendar** based on historical conversion data.\n- Increase budgets 2-4 weeks before peak periods (Q4, industry events) to warm algorithms.\n- Reduce budgets gradually post-peak — sudden drops destabilize bidding algorithms.\n\n## New vs Proven Channel Allocation (70/20/10)\n- **70%**: proven, scaled channels with predictable returns.\n- **20%**: growing channels with promising early data. Invest to validate scale.\n- **10%**: experimental channels or tactics. Accept that some will fail — that's the point.\n- Promote from 10% -> 20% -> 70% as data confirms viability. Cut what doesn't graduate.\n"
}

SHA-256 of public snapshot: 47f300734880a23139e45775eb84c017cf736744effe6d74cf3b2b8459e0ed2b