---
name: scale-the-winners
description: Decide which Meta campaigns to scale, by how much, and which to pause, based on real return rather than Meta's ROAS. Moves money from losers to winners in safe 20% steps and sets the next review date. Use when the user asks "should I increase budget", "scale my ads", "which ads to pause", or "how do I spend more profitably".
---

# Scale the winners

Most people review ads to cut spend. The goal is profit, so every review should end with more money on what works, not just less on what doesn't.

Needs the TalkToAds connector (Meta). Works best after the real-roas-check skill, because scaling on Meta's ROAS alone can scale a loser.

## Steps

1. **Get 3+ days of data.** Call `get_performance` for the ad account with `level: "campaign"`, `date_preset: "last_7d"`, `time_increment: "1"`. A campaign with fewer than 3 full days isn't ready to judge.

2. **Use real ROAS.** If the user has run real-roas-check, use those numbers. If not, ask for revenue per campaign from the payment gateway, or say clearly that you're using Meta's ROAS and it may be inflated.

3. **Sort into three groups.**
   - **Scale:** real ROAS ≥ 2x for 3 days in a row
   - **Hold:** 1x–2x, or fewer than 3 days of data
   - **Pause:** below 1x for 3 days, or spending with zero sales for 3 days at more than one sale's price per day

4. **Check the ad sets.** For each Scale campaign call `list_ad_sets`. Skip anything still in learning (`learning_stage_info`). A budget change resets learning.

5. **Propose the moves.**
   - Scale: +20% daily budget per step (`update_budget`). If it has been 2x+ for a week, +30% is okay.
   - Pause: `pause` the campaign. Its budget goes to the winners.
   - Show a table: campaign, current budget → new budget, reason. Show the total daily spend before and after.

6. **Wait for a yes**, then apply the changes. Read each one back with `list_campaigns` or `list_ad_sets` to confirm.

7. **Set the next review.** 3 days later, same skill. Don't touch winners in between.

## Rules

- Never double a budget in one step. Meta treats a big jump like a new campaign and it re-enters learning.
- Don't scale on a single great day. 3 days minimum.
- If a spend cap is set (`set_spend_cap`), a scale-up may be refused. Tell the user to raise it.
- Before a big scale-up, remind the user to check the account spending limit and prepaid balance in Billing.
- Pausing everything is not a strategy. If nothing is a winner, the fix is the offer or the creative, not the budget.

## From Sanskar's ad account

On 20 Oct 2026 Meta reported 6.6x on the course campaign. Real ROAS from Razorpay was 3.4x for the day and 1.6x for the week. The budget went from ₹1,000 to ₹1,200 a day (+20%), with a rule written down in advance: real ROAS ≥ 2x for 3 days → ₹1,500, below 1.3x → back to ₹1,000.

The goal was never to spend less. It's about whether ₹10,000 a day of spend brings back ₹50,000. If it does, spend it.
