# E-commerce scaling

> Budget-scaling rules for a D2C advertiser who needs winners to grow and losers to stop on the same schedule.

Source: https://adops.id/use-cases/ecommerce-scaling/
Last updated: 2026-08-20
Publisher: AdOps (https://adops.id) — an independent product, not affiliated with Meta Platforms, Inc.

---

## Key facts

- **Metrics available in a condition:** 45, across 6 categories (conversion 16, cost efficiency 15, engagement 7, time-based 3, core performance 2, custom 2)
- **Reporting periods per condition:** 11, from Today to Lifetime
- **Check interval choices:** 10 values, 15 minutes to 72 hours
- **Action cooldowns:** 11 values, 15 minutes to once in a lifetime (Available on Increase budget, Decrease budget, Set budget, Duplicate and Notify)
- **Budget change types:** Fixed amount, percentage, or custom metric (Percentage applies to Increase budget and Decrease budget)
- **Ad platforms connected:** Meta Ads only (TikTok Ads, Google Ads and Snapchat Ads are listed as coming soon)

**Who it is for:** A D2C brand buying Meta traffic every day, where three or four campaigns carry most of the revenue.

**The problem:** A winner that deserved a budget raise on Tuesday morning gets it on Thursday afternoon, and the campaign that stopped converting keeps buying impressions through two nights because nobody opened Ads Manager.

**The outcome:** Every active campaign is evaluated on a fixed interval between 15 minutes and 72 hours, budgets move in bounded percentage steps with a cooldown between them, and each change is written to a log with the value before and after.

## Playbook

### Scale the proven winner

- **When:** Purchase ROAS over the last 7 days is greater than 2.5 AND Purchases over the last 7 days is greater than 20 AND Spend today is greater than Rp 1,000,000
- **Then:** Increase budget by 20 percent, with an action frequency of once every 6 hours
- **Why:** Seven days of data separates a real winner from one good Tuesday, and the 6-hour cooldown caps the campaign at 4 raises in 24 hours.

### Trim a bad day without ending a good week

- **When:** Purchase ROAS today is less than 1.5 AND Purchase ROAS over the last 7 days is greater than 2.0
- **Then:** Decrease budget by 15 percent, with an action frequency of once every 12 hours
- **Why:** A weak day inside a strong week is noise, so cutting 15 percent at most twice a day is a smaller bet than pausing a campaign that is still profitable.

### Pause the campaign that stopped paying

- **When:** Purchase ROAS over the last 3 days is less than 1.2 AND Spend over the last 3 days is greater than Rp 2,000,000
- **Then:** Pause campaign, and Add to name in Append mode with the text `[LOW-ROAS {date}]`
- **Why:** The tag stays visible in Ads Manager, so the next person to open the account sees which campaigns the rule stopped and on which date.

### End the audition for a new campaign

- **When:** Hours since creation is less than 72 AND Spend today is greater than Rp 750,000 AND Purchases today is equal to 0
- **Then:** Pause campaign
- **Why:** A campaign that spends Rp 750,000 in a day with zero purchases inside its first 72 hours is not warming up.

### Put the number on the name

- **When:** Spend over the last 7 days is greater than Rp 1,000,000
- **Then:** Add to name in Append mode with the text `[ROAS {metric|purchase_roas.omni_purchase|last_7d}]`
- **Why:** The campaign list in Ads Manager becomes a scoreboard, so a weekly review does not need a second tab open on the dashboard.

AdOps scales a Meta Ads e-commerce account by rule rather than by hand. You write a condition on a live metric such as Purchase ROAS over the last 7 days, attach an action such as Increase budget by 20 percent, and AdOps evaluates that condition on an interval you set, anywhere from 15 minutes to 72 hours.

## Why does manual scaling leak money?

A D2C account rarely fails because nobody knows what to do. It fails because the decision arrives late. The winner that deserved a 20 percent raise on Tuesday morning gets it on Thursday afternoon, and the campaign that stopped converting keeps buying impressions through two nights and a weekend.

Rules close that gap by making the decision in advance. The threshold, the action and the cooldown are written once, and the engine applies them at the same minute every day whether or not anyone has opened Ads Manager.

## How does AdOps decide a campaign has earned more budget?

A condition compares one of 45 metrics against a number, using one of 6 operators, over one of 11 reporting periods. For scaling, the shape that holds up is a long window on the quality metric and a matching window on the volume metric: Purchase ROAS over the last 7 days is greater than 2.5, and Purchases over the last 7 days is greater than 20.

The window matters more than the threshold. A campaign can post a 4.0 ROAS on 3 purchases and mean nothing. Pairing the ratio with a count is what keeps a rule from scaling noise, and both conditions are answered by the same batched Insights read, so the second one costs no extra wait.

## How do you keep a scaled campaign from running away?

Two mechanics do the work. The first is the action frequency, a per-action cooldown with 11 settings from 15 minutes to once in a lifetime, offered on Increase budget, Decrease budget, Set budget, Duplicate and Notify. A 6-hour cooldown allows at most 4 budget raises in 24 hours, however often the rule itself runs.

The second is a rule pointed the other way. Decrease budget by 15 percent when Purchase ROAS today is below 1.5 while Purchase ROAS over the last 7 days is still above 2.0 trims a bad day without ending a good week. Before any budget action writes, the engine re-reads the campaign's live Daily Budget from Meta, so the percentage applies to the number Meta holds at that moment rather than a stale copy.

## What should the campaign name carry?

Add to name writes text onto a campaign in one of three modes: Text, Append or Overwrite. The text can contain shortcodes resolved at execution time, including `{date}`, `{time}` and `{metric|purchase_roas.omni_purchase|last_7d}`.

Appending `[LOW-ROAS {date}]` when a rule pauses a campaign leaves the reason and the day in the place everyone on the account already looks. Appending the ROAS figure itself turns the campaign list into a scoreboard. The three name actions re-read the live campaign name from Meta before writing, so two rules tagging the same campaign do not erase each other.

## How often should an e-commerce rule run?

A rule carries either a weekly timetable of days and times, or a plain check interval chosen from 10 values between 15 minutes and 72 hours. The dispatcher sweeps for due rules every 10 seconds and fans work out as one queued job per ad account.

| Rule | Check interval | Action frequency |
| --- | --- | --- |
| Scale the proven winner | 1 hour | 6 hours |
| Trim a bad day | 3 hours | 12 hours |
| Pause the campaign that stopped paying | 30 minutes | not available |
| End the audition for a new campaign | 15 minutes | not available |

Pause, Start, Delete and the three name actions take no action frequency. They do not need one: adding a pre-filter of Campaign Status is ACTIVE keeps the rule from re-examining a campaign it has already paused.

## What does a run leave behind?

Every pass writes a batch record plus one result per campaign per task. The Rule Log Detail screen shows an Executed, Not Executed or Skipped badge for each campaign, every condition marked Pass or Fail next to the value it read, the parameters the action used, the execution time in seconds, and the next scheduled execution. Budget and name changes additionally record the value before and after.

## What AdOps will not do for an e-commerce account

A rule joins its conditions with one AND or one OR, so a policy needing both is split into two rules. Rules target Campaigns or Ad sets, and the actions the engine writes are campaign-shaped, so plan around campaign budgets rather than ad-level edits. Percentages apply to Increase budget and Decrease budget only; Set budget takes a fixed amount or a custom metric. AdOps connects to Meta Ads today, and lists TikTok Ads, Google Ads and Snapchat Ads as coming soon.
