Why a campaign stopped, and what resumes it

Explains: D-BUD-03, D-BUD-05, D-BUD-06, D-BUD-10, D-021-08, D-021-14, D-021-19, D-021-42, D-021-65, D-021-66, D-LIFE-02, specs/021-budgets-and-rollups#req-008, specs/021-budgets-and-rollups#req-009, specs/021-budgets-and-rollups#req-010, specs/021-budgets-and-rollups#req-011, specs/021-budgets-and-rollups#req-014, specs/006-campaign-lifecycle#req-003

A campaign that is not running is either stopped by the system for a budget or paused by a person or by a change to its customer. The campaign row and the campaign screen tell the two apart (D-021-19). A stop the system made has a status of its own, with its own badge and colour: it names what stopped the campaign and says when it comes back, with the date where there is one, and the same words appear when you hover it. A pause reads as plain "paused" with its reason beside it, and claims no resume.

Stops the system made

Every stop below is written by the system with the reason budget_cap, and only the system can write it (D-BUD-06). The system also records, in the customer's Activity, that it paused the campaign, with the spend, the budget and the stop point. Each stop is marked with the kind of stop it is, which is what the row reads from (D-021-08). Any pause, activation or archive a person makes clears that mark, and from then on the campaign is theirs, not the system's.

Monthly budget reached

The row reads Monthly budget reached and Resumes 1 Nov 2026, with the 1st of the following month. On hover: "The monthly budget stopped this campaign. It resumes on 1 Nov 2026 at 00:00 UTC."

The campaign's spend, or its customer's, reached the stop point of a monthly budget. It resumes on its own at the first evaluation after the month turns, as long as the new month's spend is below every stop point that binds it (D-BUD-05). Raising the budget does not resume it by itself; when a raise clears the stop you are asked whether to resume spending, which is explained on Changing a budget. If the month turns and another budget still binds, the row names the next 1st instead.

Lifetime budget reached

The row reads Lifetime budget reached and Resumes when the budget is raised. On hover: "The lifetime budget stopped this campaign. It will not resume on its own: raise the budget to resume it."

A lifetime budget has no end, so nothing on the clock resumes this stop and the row promises no date. The only way back is to raise the budget, after which you are asked whether to resume spending (Changing a budget).

Today's budget spent

The row reads Today's budget spent and Resumes tomorrow, 15 Oct 2026, with tomorrow's date. On hover: "Today's share of the monthly budget is spent, so this campaign stopped for the day. It resumes tomorrow, 15 Oct 2026, at 00:00 UTC."

A monthly budget is spread over the month, and the day's share of it is spent (How a budget works). The campaign resumes on its own at the first evaluation on or after the next 00:00 UTC, provided every budget binding it is clear then, the new day's own share included (D-BUD-10, D-021-42). If the new day's share is already reached, the stop stays and the row names the following midnight.

Spend data out of date

The row reads Spend data out of date and Resumes when spend figures are fresh. On hover: "Spend figures are out of date, so this campaign was stopped to be safe. It resumes on its own as soon as they are fresh."

The spend figures a stop depends on were more than 10 minutes old, and either this campaign's rate of spend could have carried it over its stop point before fresh figures arrived, or the figures were more than 30 minutes old and every campaign with a budget in play was stopped (specs/021 REQ-010). The stop lifts on its own once the figures are fresh and spend is below every stop point; the row promises no date because that is not on a clock.

A customer's budget stops every campaign

When the customer's budget reaches its stop point, every active campaign of that customer is stopped the same way, each saying which budget stopped it; a campaign a person had already paused is left as it was, and the customer itself still reads active (D-BUD-03). Raising only a campaign's own budget does not clear a stop the customer's budget made; the campaign says the customer's budget still binds (specs/021 REQ-009).

Activate is refused while the stop stands

Pressing Activate on a stopped campaign does nothing while it, or its customer, is over a stop point (D-021-14). The alert names the budget: "This campaign's monthly budget has stopped it. Raise that budget before activating the campaign.", or for the customer's, "The customer's monthly budget has stopped this campaign. Raise that budget before activating the campaign.". A spent day says "Today's share of this campaign's monthly budget is spent. It resumes on its own at 00:00 UTC; raise that budget to activate it today.", and out-of-date figures say "Spend figures for this campaign's monthly budget are out of date, so the campaign cannot be activated until they are fresh."

Pauses, and their reasons

A paused campaign's row reads paused with its reason under it. Nothing resumes a pause on its own: not the 1st of the month, not a new day, not fresh figures, and not a raised budget. Someone activates it.

budget_cap

The reason every stop above carries; a person cannot choose it when pausing a campaign (D-BUD-06). When a campaign reads plain paused with budget_cap under it and no resume line, it is a pause the system no longer owns: one written by hand before stops carried their mark, which the system never resumes (D-021-08). Activate it when you want it running again.

operator

A person paused the campaign, from Pause on its row, or answered no when asked whether to resume spending after a budget raise, which keeps the campaign paused as that person's own pause (D-021-65). It stays paused until someone activates it, whatever the budgets and the calendar say in the meantime (specs/021 REQ-009).

other

A person paused the campaign and gave the reason other. Pause on a campaign row always writes operator; other is the one other reason a person's pause may carry (specs/006 REQ-003). Like any pause, it stays until someone activates the campaign.

customer_disabled

The campaign's customer was disabled, and every running campaign of a disabled customer is paused with this reason, written only by the system (specs/006 REQ-003). A disable also takes over any stop the system had made for a budget, so re-enabling the customer resumes nothing: each campaign stays paused until someone activates it (D-021-66). While the customer is disabled, Activate is refused (D-LIFE-02).