1mn.ai docs
The loopsGrowth loops

Meta ads

Draft complete Meta (Facebook/Instagram) campaigns for one-click deploy, and get a daily recommend-only audit of what's already running — all capped by a prepaid budget wallet that can't overspend.

The Meta ads loop runs Meta (Facebook/Instagram) campaigns on app-owned agency ad accounts, funded by a prepaid budget wallet. It has two halves: a drafter that produces a complete campaign for you to deploy, and a daily monitor that audits what's live. Setting a campaign live and spending money always requires your approval — and the wallet caps total spend so a runaway loop can't overspend.

The same wallet also funds Google Ads, which runs Search campaigns through the dispatcher — see that page for the search-specific flow.

Prerequisites

  • A funded budget wallet. Your first deposit provisions a Meta ad account for the product; until then there's nothing to deploy to. Deposits carry a tiered management fee (standard 15%, reduced 12% for deposits at or above $100), deducted at deposit time.
  • A connected Meta Page for the product (used as the identity on the ads).

You can check the wallet anytime — it tracks your available balance plus lifetime deposited, fees, and spent (all in USD).

The campaign drafter

Ask the dispatcher for a campaign — for example:

draft a launch ad for our new pricing page

The drafter discovers your ad account and Page, picks targeting (interests, audience), writes the copy, sets a budget within your wallet balance, and generates on-brand creative images. It hands back a complete campaign draft artifact: campaign, ad sets, targeting, copy, budget, and creatives.

The draft is a proposal, not a live campaign. Review it, then click Approve — the server deploys it to Meta. Nothing is spent until you do.

Budgets are in your wallet's currency

A campaign's spend cap can never exceed your available wallet balance. If you haven't funded the wallet yet, the drafter still produces a full draft — it just notes that you need to add budget before it can deploy.

The daily monitor

Once campaigns are live, a separate loop audits them daily and files a recommend-only report. It reads benchmark bands and your own targets, then flags:

  • Creative fatigue — frequency climbing, CTR decaying.
  • Audience overlap — ad sets competing against each other.
  • Scaling opportunities — winners worth more budget.

Its default behavior is to do nothing. Meta's algorithm punishes edits — budget changes over 20%, audience or optimization-event changes, creative swaps, and bid-strategy changes all reset the learning phase — so a campaign sitting inside its bands is left alone. An audit that recommends zero actions is a successful run, not an empty one. The monitor never deploys changes — you review its hypotheses in the dashboard and decide what to act on.

How spend is capped

The wallet is the hard ceiling on the whole loop:

MechanismEffect
Per-campaign capA campaign's spend cap can't exceed the available balance.
Approval gateNo campaign goes live, and no money is spent, without your explicit approval.
ReconciliationCumulative spend is reconciled against the wallet; if the balance is exhausted, every active campaign is paused.

This is why a runaway loop can't overspend: the worst case is that everything pauses when the wallet hits zero.

Notes & limits

  • Google Ads runs on this same wallet and provider model — Search campaigns, authored through the dispatcher. See Google Ads.
  • The drafter never makes live Meta writes — it only produces a draft; the server deploys on approval.
  • The monitor is recommend-only — it never changes a live campaign.
  • All Meta money values are handled in cents server-side and shown to you in your wallet's currency.

On this page