Converting to a sales campaign + the 4-level structure
Your traffic test found a winning combo: a specific creative + audience that produced cheap lander-CTR. Now you switch from optimizing for clicks to optimizing for sales. The structure changes, the metrics you watch change, and the budget rules change. This module covers all three.
The 4-level structure
Every Facebook campaign has four levels stacked on top of each other. Knowing what each level controls is the whole job.
| Level | You set | Algorithm decides |
|---|---|---|
| 1 · Campaign | Objective (Conversions). Special category if needed. | Whether to run CBO (campaign-level budget) or ABO (adset-level). |
| 2 · Adset | Audience. Budget. Optimization event (Purchase). Bid cap (usually leave unset). | Which users in the audience to show your ads to. |
| 3 · Ad | Which creative + which copy variants to test. | Which one wins within the adset. |
| 4 · Creative | The actual image / video / text / CTA button. | Nothing — this is the raw material. |
The rule
Decisions flow top-down: change the campaign objective only when strategy changes. Change the adset audience to find new buyers. Change the ad/creative to refresh fatigue. Never tinker at multiple levels at once — you won't know which change caused the result.
Setting up the sales campaign
- New campaign (don't repurpose the traffic test — different objective, different optimization, different algorithm state).
- Objective: Sales / Conversions.
- Campaign budget: off (use adset-level budgets, ABO, while you're still finding winners). Switch to CBO only after you have 2–3 stable winning adsets.
- Adset 1: the winning audience from your traffic test. Budget $20–$30/day. Optimization event:
Purchase(if you have ≥50 events/week) orLead(CTA click) if you don't. - Ad 1: the winning creative from your traffic test.
One winning combo per adset, one adset per audience variant. If you had two winning audiences in the traffic test, two adsets. If you had two winning creatives, two ads inside each adset.
The metric columns to watch
Default Ads Manager columns are useless for affiliate work. Build a custom column layout with exactly these:
- Amount spent
- Impressions
- CPM (cost per 1,000 impressions — audience saturation indicator)
- Link clicks
- CTR (link click-through rate)
- CPC (cost per link click)
- Landing page views
- Cost per landing page view
- Leads (your CTA click event)
- Cost per Lead
- Purchases
- Cost per Purchase (CPA)
- Purchase ROAS
- Frequency (ad views per unique user — fatigue indicator)
Save as "Affiliate" preset. Apply it everywhere. The default "Performance" preset hides exactly the columns you need.
Budget rules
Start at $20–$30/day per winning adset. The two-rule budget management that keeps you from blowing up:
Both rules are quantitative. Neither involves "how it feels."
Reading the data after 72 hours
Three days in, your adset has spent ~$60–$90 and produced some combination of Purchases, Leads, and silence. Read top-to-bottom:
- CPM normal? $10–$30 typical for English-speaking US/UK/AU/CA. If it's $80+, your creative or audience is too narrow — Facebook is paying a premium to reach the audience.
- CTR > 1%? If yes, the hook works. If < 0.8%, the creative is weak.
- Lander-CTR (Leads ÷ LPV) > 10%? Same threshold as Module 07.
- Sales happening? If you've passed the kill threshold (rule 1), pause. If you have ≥3 sales, calculate CPA and ROAS.
- ROAS > 1.4×? You're profitable. Trigger scale rule.
From first sale to consistent sales
The first sale is exciting and meaningless. One sale isn't statistically valid — it could be a fluke buyer who would have converted on any ad. Real "winning" means ~10 sales over 3+ days at a profitable CPA. That's when the algorithm has actually learned your buyer profile and is reliably finding more like them.
The progression looks like:
- Days 1–2 of sales campaign: 0–2 sales, ROAS chaotic, mostly noise.
- Days 3–5: 4–8 sales as FB finds the buyer pocket, ROAS stabilizes.
- Days 5–10: 10+ sales, CPA settles ~20% above its eventual floor.
- Days 10+: budget scaling begins per rule 2; new audiences duplicated per Module 09.
Pixel quality matters more than you think
A clean pixel that's seen 100+ purchases trains the algorithm. A pixel that's been used across multiple offers, multiple niches, with broken postbacks, becomes confused signal. Two practical rules:
- One pixel per niche, not per offer. Pixels learn the buyer profile, and buyers cross-shop within a niche.
- When you switch niches, create a new pixel. Don't try to "reuse" a weight-loss pixel for a relationship offer.
How the operator runs the sales pivot
After the traffic-test reports back, the agent identifies the top adset(s) by LPV-CTR + CPC, then proposes a sales-campaign config. You see the proposal in dry-run mode, approve, and the agent runs:
fb_open_business_manager()— confirms session.fb_create_conversion_campaign(config)(you'll implement this from the traffic-test template — same pattern).metrics_snapshot_columns(layout="affiliate")— sets your custom columns.report_analyze_campaign(id)— reads metrics every 6 hours, applies kill/scale rules, posts a summary.