In AdFlow, a campaign corresponds to an Ad Set in Meta Ads Manager. You manage everything at the Ad Set level — that’s where budget, audience, proxy, and scheduling live.
Lifecycle
draft → published → running → paused → archived
- Draft: exists only in AdFlow. Not created in Meta yet. Spends nothing.
- Published: sent to Meta. Awaiting approval or start of the scheduled period.
- Running: active, delivering ads.
- Paused: active in Meta but not delivering. Accumulated budget can be resumed.
- Archived: closed. Historical data preserved, can’t be directly reactivated.
Create a campaign
In /campaigns/new, the wizard has 3 steps:
1. Objective
- Conversion: installed, firing pixel is a prerequisite. Without confirmed pixel, use Traffic.
- Traffic: sends to a URL. Fewer prerequisites.
- Engagement: boosts interactions on existing posts.
2. Profile and audience Select the browser profile linked to the correct Business Manager. The profile determines which Meta account publishes. Confirm the profile has an active proxy before publishing.
3. Budget Recommended starting daily budget: $15–25/day per Ad Set. Don’t change it in the first 3 days — Meta’s algorithm has a learning phase that resets with premature edits.
Bulk actions
In the /campaigns listing, select multiple campaigns to:
- Pause in bulk: useful for stopping everything quickly
- Resume: reactivates paused campaigns
- Duplicate: creates an identical draft for testing variations
- Archive: removes from active listing without deleting history
Metrics in the listing
| Column | What it is |
|---|---|
| CPC | Cost per click |
| CPM | Cost per thousand impressions |
| ROAS | Return on ad spend (Conversion campaigns only, with pixel) |
| CTR | Click-through rate |
| Spend | Total spent in the selected period |
Click any column header to sort. Use the period selector in the top-right to filter by time window.
Export CSV (Jobs)
In /campaigns, the Export button generates a CSV with all campaigns for the period. Useful for debugging delivery and reconciling with Meta Ads Manager. The file becomes available in Jobs after processing.
How to scale
The goal of scaling isn’t to increase budget. It’s to increase results while preserving efficiency. The right question isn’t “how much can I increase?” — it’s “how much can the algorithm grow while keeping the indicators healthy?”
Pre-scale checklist
- ROAS above margin minimum (2.5x average / 3x tight / 2x fat)
- Stable CPA across 7 rolling days (varies <15% day to day)
- Frequency below 2.5
- Backup creative ready
- Tracking audited within last 30 days
The 5 methods
| Method | When to use | Risk |
|---|---|---|
| Vertical (same Ad Set, +budget) | Stable history, low frequency | Exiting learning |
| Horizontal (duplication) | Don’t trust vertical to hold | Auction cannibalization |
| CBO (new campaign) | 2-3 audiences validated in ABO | Budget concentrating in 1 |
| Geo (expanded geography) | Local audience exhausted | New audience not converting |
| Channel (Stories/Feed beyond Reels) | Worked on 1 placement | Creative not adapting |
RULE — Never increase an Ad Set’s budget by more than 30% at a time. A bigger jump and the algorithm treats it as a new Ad Set, restarts learning, burns history.
Pace
| Phase | Increase | Cadence |
|---|---|---|
| Initial | 20-30% | every 3 days |
| Mid | 15-20% | every 3-4 days |
| High | 10-15% | every 4-5 days + backup creative |
| Max | 10% | every 7 days + creative refresh every 14 |
At $20/day, 20% is $4 (algorithm absorbs). At $400/day, 20% is $80 (can pull out of learning). The bigger the budget, the smaller the safe percentage.