04 / Campaign launch
Built in Meta. Paused, until you say.
Approved ads become a real campaign, ad set and ads in your own ad account through the Marketing API — structured properly, IDs written back, and every object created paused so the last decision is still a person’s.
Illustrative · the statuses are the ones the publish route sends
05 / What gets created
Six things happen, and one of them is nothing.
Named, with your objective mapped to Meta’s own — conversions becomes OUTCOME_CONVERSIONS — and no special ad categories unless your account requires them.
Daily budget, impression billing, offsite-conversion optimisation, and the targeting you approved carried across rather than rebuilt by hand.
One per approved ad, with the headline, primary text, call to action and image you signed off. Rejected ads are not published and are not deleted either.
Campaign, ad set and ad are all created with status PAUSED. Nothing spends until you switch it on in Meta, which is where the money actually lives.
The Meta IDs are stored against your campaign, so performance flows back to the ad it came from instead of arriving as an anonymous row.
No connection, no ad account, no Page, or a campaign already published: each stops with a specific message naming the fix, rather than a partial campaign in your account.
06 / Rules
What watches it afterwards.
Budget rules run against the campaign once it is live: a ROAS threshold, a spend cap, and a trigger. When performance falls below the line the rule flags the campaign and can pause spend on its own, because stopping a loss is not a decision worth waiting on a human for.
Raising spend is the opposite case. Anything that would increase what you pay waits for approval, every time, no matter how well the campaign is doing. The asymmetry is deliberate: an automated pause costs you a few hours of reach, an automated scale costs money.
Performance is written back against the ad it came from rather than landing as an anonymous row, so the question "which angle actually worked" has an answer at the end of the month.
A rule is three parts
- →Condition — ROAS below target, spend above cap
- →Scope — one campaign, one brand, or the workspace
- →Action — flag, pause spend, or request approval
- →Pausing runs unattended
- →Anything that raises spend waits for you
Nothing reaches Meta that you have not approved
Put the next campaign in motion.
Start with the product page. Review the campaign before anything goes live.
Start with a URL