# When to pause a Meta campaign, and when to wait

> Pause a Meta campaign when a window long enough to be meaningful has spent enough money to be conclusive, not when today's ROAS dips. In AdOps that means a cost or ROAS condition on Last 3 days or Last 7 days, ANDed with a spend floor, paired with a name tag so the pause leaves a trace you can find later.

Source: https://adops.id/blog/when-to-pause-a-campaign/
Last updated: 2026-08-01
Publisher: AdOps (https://adops.id) — an independent product, not affiliated with Meta Platforms, Inc.

---

## Key facts

- **Reporting periods usable in a pause condition:** 11, from Today to Lifetime
- **What pause writes to Meta:** Campaign status PAUSED
- **Before-and-after values recorded:** Budget and naming actions only (Start, pause and delete write a status change and no value pair)
- **Shipped templates that pause:** 3 — Pause Unprofitable Campaigns, Pause + Tag Failed, Re-enable Paused Winners
- **Cooldown for a once-only tag:** Once in a lifetime

AdOps pauses a Meta campaign when the conditions on a task all pass and the action fires, which means the quality of a pause rule is entirely the quality of its conditions. The rule that works is boring: a performance condition on a window long enough to mean something, ANDed with a spend floor, plus a tag so the pause leaves a trace.

## Why do most automated pause rules fire too early?

Because they run on `today`. A rule that evaluates at 10:00 sees a fraction of a day. Purchases arrive later than clicks, spend accrues before revenue is attributed, and a campaign that will finish the day at 2.4x can easily read 0.6x at breakfast. Pause it and you have not cut a loser, you have cut a morning.

The second failure is smaller windows with no floor under them. `Purchase ROAS is less than 1.5` is true of a campaign that spent Rp 30,000 and returned nothing. It is also true of a campaign that spent Rp 30,000,000 and returned Rp 20,000,000. Only one of those is a decision.

So a pause condition needs two halves in the same task, joined with AND:

- the performance test, on Last 3 days or Last 7 days
- the volume test, `Spend` over the same window, greater than a number that is meaningful for your account

There is no universal number for the second one. The honest version is: pick the spend at which you would be willing to defend the decision in a meeting, and use that.

## Which window should the performance condition use?

AdOps offers 11 reporting periods per condition. They are not interchangeable, and each answers a different question.

| Period | What it answers | Good for |
| --- | --- | --- |
| Today | What has happened so far today | Daily spend caps, not performance judgements |
| Yesterday | How one complete day closed | Morning reviews, day-over-day checks |
| Last 3 days | Is this bad, or was that one bad day | The default window for a pause decision |
| Last 7 days | Is this structurally unprofitable | Pausing evergreen campaigns, weekly ROAS targets |
| Last 14 / 30 days | What the account looks like across cycles | Budget reallocation, not kill decisions |
| This month / Last month | Where the month stands against plan | Pacing rules |
| Lifetime | Everything the campaign ever did | Rarely useful for pausing; old data drags the average |

Last 3 days is the workhorse for a kill decision, because it survives one bad day without waiting a week to react. Last 7 days is right when the campaign is evergreen and the question is structural rather than situational.

Two periods also exist in an inclusive form — Last 3 days including today, and Last 7 days including today. Use them when the current day genuinely matters; otherwise the plain versions are steadier, because they are complete days.

## What should a pause rule actually do?

Pause is not one action. The pause task writes campaign status `PAUSED` to Meta, and that is the whole of it. AdOps records before-and-after values for budget and naming actions; the three lifecycle actions — start, pause, delete — write a status change without a value pair. So a pause on its own leaves you the execution log and nothing readable inside the ad account.

The fix is a second task on the same rule:

1. **Task 1 — Pause.** Conditions: `Purchase ROAS`, Last 7 days, less than your target, AND `Spend`, Last 7 days, greater than your floor.
2. **Task 2 — Add to name.** The same conditions, mode APPEND, text `[PAUSED-LOW-ROAS {date}]`, action frequency once in a lifetime so the tag is written exactly once.

Now the campaign carries its own explanation in Ads Manager, dated, and a later rule can find it. The shipped template **Pause + Tag Failed** is this pattern; **Pause Unprofitable Campaigns** is the pause half alone.

Use the campaign-name filter to protect what should never be touched. A `does not contain` filter on `DNT` or `TEST` costs nothing and prevents the one incident everybody remembers.

## How do you get a paused campaign back?

Deliberately, with its own rule. The start action writes status `ACTIVE`, and the natural way to scope it is the tag the pause rule wrote:

- Filter: Campaign Status **is** `PAUSED`, and Campaign Name **contains** `PAUSED-LOW-ROAS`
- Condition: the metric that caused the pause, measured over a window that has had time to recover
- Action: start, plus a remove-from-name task that strips the tag

This is the shipped **Re-enable Paused Winners** template. It is worth writing even if you never rely on it, because it turns "we paused a lot of things last month" from an archaeology project into a filter.

Two cautions. First, a restarted campaign is a change to delivery, so restarting in bulk on a whim is its own risk — keep the rule narrow. Second, check the Estimated match count in the builder before setting a start rule live; it is the only preview of how many campaigns are about to come back on.

## When should the rule wait instead of pause?

Three cases where waiting is the correct automated behaviour.

**The campaign is new.** The `Hours since creation` metric exists precisely for this: add a condition that the campaign is older than a number of hours you are comfortable with, and a rule cannot execute on a campaign that has barely started delivering.

**The window is partial.** If the only condition that passes is on `today`, wait. Add the same test on Last 3 days and require both.

**The spend is trivial.** Covered by the floor, but worth stating separately: a rule with no floor is a rule that will pause your test budget the moment it underperforms, which is what a test budget is for.

Pause rules are the ones most people write first and trust least. They earn trust the same way a person does — by being predictable, by leaving a note, and by being reversible.
