Free Live WebinarSteal Like an Algorithm · Jul 22, 1:00 PM EDTSave your seat →

The Complete Meta Ads Playbook: ABO → CBO → Cost Cap Framework

Paid MediaMeta AdsFacebook Ads
Paul KlebanovJanuary 26, 202518 min read

Meta rebuilt their entire ad system in 2024-2025. If you're still running campaigns the old way, you're leaving money on the table. This playbook covers everything you need to know about the ABO → CBO → Cost Cap framework that's driving results for DTC brands.

What's Running Your Ads in 2025

Before diving into campaign structure, you need to understand the three systems powering Meta's ad delivery.

The Meta AI Trifecta

GEM (The Brain) — Watches everything on Instagram and Facebook — your ads, organic posts, what people click, what they ignore. Learns patterns and shares insights across platforms. Before: Instagram didn't talk to Facebook. Now they do.

Lattice (The Organizer) — Organizes millions of ads into one smart system. Understands that someone interested in healthy cooking might also want fitness content. Connects topics and transfers learnings across campaigns.

Andromeda (The Matchmaker) — Filters millions of ads to find the right ones for each user. 10,000x smarter than the old system. Reads your images, videos, and copy to understand what each ad is actually about.

What This Means for Your Strategy

  • Run more ads (8-15 per adset) — The old "3-6 ads" rule is dead. More options = better matching.
  • Strive for creative diversity — Different people, locations, formats, angles. Andromeda pattern-matches visuals.
  • Same visuals = same ad to Andromeda — Same actor + same scene with different scripts? Andromeda sees one ad. But you still get conversion data per offer.

Andromeda processes visual elements first. Two ads with the same person in the same location are essentially the same ad to the algorithm, regardless of script or offer differences.


Your Key Numbers

Before running any campaigns, you need to calculate your key metrics. These numbers will drive every decision.

How to Calculate Your Break-Even ROAS

Break-even ROAS tells you the minimum return needed to not lose money on ad spend.

Break-Even ROAS Formula

Break-Even ROAS = 1 ÷ Contribution Margin

Where Contribution Margin = (Revenue - COGS - Variable Costs) ÷ Revenue

Example:
  • Product Price: $100
  • COGS: $30
  • Shipping & Fulfillment: $10
  • Payment Processing (3%): $3
  • Variable Costs Total: $43
  • Contribution Margin: ($100 - $43) ÷ $100 = 57%
  • Break-Even ROAS: 1 ÷ 0.57 = 1.75x

How to Calculate Your Target ROAS

Target ROAS is your profitability threshold—the return you need to hit your margin goals.

Target ROAS Formula

Target ROAS = Break-Even ROAS × (1 + Desired Profit Margin)

Example:
  • Break-Even ROAS: 1.75x
  • Desired Profit Margin on Ad Spend: 30%
  • Target ROAS: 1.75 × 1.30 = 2.28x (round to 2.3x)

How to Calculate Your Target CPA

Target CPA is the maximum you should pay to acquire a customer while staying profitable.

Target CPA Formula

Target CPA = Average Order Value ÷ Target ROAS

Example:
  • 7-Day Average Order Value: $120
  • Target ROAS: 2.3x
  • Target CPA: $120 ÷ 2.3 = $52

Example Key Numbers Summary

MetricFormulaExample Value
Contribution Margin(Revenue - Variable Costs) ÷ Revenue57%
Break-Even ROAS1 ÷ Contribution Margin1.75x
Target ROASBreak-Even ROAS × (1 + Profit Margin)2.3x
Target CPAAOV ÷ Target ROAS$52

Calculate these numbers for YOUR business before proceeding. Every brand's numbers are different based on margins, AOV, and profit goals. Use a spreadsheet to model different scenarios.

Budget Allocation by Campaign Type

CampaignDaily BudgetAd Count
Testing (ABO)Ads × Daily Budget Per Ad (min $50)8-15 ads per adset
Scaling (CBO)$1,000-3,000/day15-25 ads total
Cost Cap$500-1,500/day10-15 ads total

How to Calculate Your Testing Budget Per Ad

The math is based on getting enough conversions to judge an adset:

Formula: Daily Budget Per Ad = (Target CPA × 8 conversions) ÷ 7 days ÷ Number of Ads

Example with $52 Target CPA:
  • To judge an adset, you need ~8-10 conversions over 7 days
  • At $52 Target CPA: 8 conversions × $52 = $416 spend over 7 days
  • $416 ÷ 7 days = ~$60/day per adset
  • With 8 ads: $60 ÷ 8 = ~$7.50/ad/day
Example with $100 Target CPA:
  • 8 conversions × $100 = $800 over 7 days
  • $800 ÷ 7 days = ~$115/day per adset
  • With 8 ads: $115 ÷ 8 = ~$14/ad/day
The formula scales: Higher CPA = more budget needed. Lower CPA = less budget needed.

The 3-Campaign System

Three campaigns, three jobs. Here's how ads move through the system.

Campaign Structure Overview

CampaignJobTypeBudget
1. TestingFind winnersABO (CBO OFF)Ads × $12.50/day
2. ScalingMaximize volumeCBO ON$1,000-3,000/day
3. Cost CapProtect CPACost Cap bid$500-1,500/day

Testing Campaign Rules

The Testing campaign is where you discover what works. Here are the exact rules for when to graduate, keep testing, or kill an ad.

Decision Framework

ActionCriteria
Graduate to ScalingALL of: ROAS ≥ Target ROAS, 4+ purchases, CPA ≤ Target CPA, 7+ days running
Keep TestingROAS between Break-Even and Target (run 7 more days)
Kill (Pause)BOTH of: ROAS < 80% of Break-Even AND spent ≥ 6× Target CPA
Example with Target ROAS 2.3x, Break-Even 1.75x, Target CPA $52:
ActionExample Criteria
GraduateROAS ≥ 2.3x, 4+ purchases, CPA ≤ $52, 7+ days
Keep TestingROAS between 1.40x - 2.29x
KillROAS < 1.40x AND $312+ spent

When you graduate an ad, DUPLICATE the winning adset to Scaling—don't move it. Keep the original in Testing as a safety net. After 2 weeks of solid Scaling performance, remove from Testing to free up budget for new tests.


Scaling Campaign Rules

Once ads prove themselves in Testing, they graduate to Scaling for maximum volume.

DecisionCriteria
Eligible for Cost CapROAS ≥ 90% of Target ROAS for 14+ days with consistent, stable performance
Pause in ScalingROAS < Break-Even ROAS for 7+ days (may still keep in Testing if performing there)
Example with Target ROAS 2.3x, Break-Even 1.75x:
DecisionExample Criteria
Eligible for Cost CapROAS ≥ 2.07x for 14+ days
Pause in ScalingROAS < 1.75x for 7+ days

Cost Cap Campaign Rules

Cost Cap is your profitability protection layer. Only use it after you've proven your ads work.

When to Launch Cost Cap

Prerequisites:
  • 5+ ads that performed in Scaling for 2+ weeks
  • Total spend of $1,500+/day across all campaigns
Bid Strategy:
  • Set your bid at your actual Target CPA (AOV ÷ Target ROAS)
  • Don't bid lower hoping for a deal—Meta's auction rewards honest bids
When to Pause:
  • If CPA consistently exceeds your target bid

Step-by-Step: Your First Week

Follow these steps exactly to set up your three-campaign system.

Step 1: Create Your Testing Campaign

Campaign name: [Brand] - ABO Testing - Prospecting
Objective: Sales
Campaign budget optimization: OFF (this makes it ABO)
Adset budget: Ads × $12.50/day (example: 12 ads = $150/day)

Step 2: Create Your Scaling Campaign (Empty for Now)

Campaign name: [Brand] - CBO Scaling - Prospecting
Campaign budget optimization: ON
Campaign budget: $1,000/day (start here, scale up later)
Leave it empty — winners will graduate here

Step 3: Wait 7 Days — DO NOT TOUCH

Let Testing run 24/7 with no changes. Every change resets learning. Just wait.

Step 4: Day 7 — Review Results

Apply the rules:

  • ROAS ≥ Target ROAS + 4 purchases + CPA ≤ Target CPA? → Graduate to Scaling
  • ROAS between Break-Even and Target? → Keep testing 7 more days
  • ROAS < 80% of Break-Even + spent ≥ 6× Target CPA? → Kill (pause adset)

Step 5: Graduate Winners

Go to winning adset → Click Duplicate → Destination: Scaling campaign

Step 6: Repeat Weekly

DayAction
MondayReview results, graduate/kill
TuesdayLaunch new test adsets
FridayReview results, graduate/kill
Other daysDon't touch (let it run)

How to Organize Your Adsets

This is the most important section. The hierarchy is: Adset → Entity ID → Ad

Understanding the Structure

  • Adset = Budget container, grouped by FORMAT
  • Entity ID = Visual concept, defined by ACTOR + SCENE
  • Ad = Individual creative with different SCRIPT + OFFER variations

Visual Example

Campaign: brand_ABO_Testing_Broad_Tier1_120624

ADSET: Video_UGC_18+_costcap-72_7dayclick_A+placements
├── EID01 = Sarah 60F + Kitchen
│ ├── EID01_video_ugc-testimonial_sku-product-a_90off_PainPointA
│ ├── EID01_video_ugc-testimonial_sku-product-a_BOGO_PainPointB
│ └── EID01_video_ugc-testimonial_sku-product-a_30off_Quality
├── EID02 = Linda 29F + Living Room
│ ├── EID02_video_ugc-unboxing_sku-product-b_90off_Transformation
│ └── EID02_video_ugc-unboxing_sku-product-b_BOGO_PainPointA
└── EID03 = Mike 48M + Office
├── EID03_video_ugc-testimonial_sku-product-c_60off_HomeDecor
└── EID03_video_ugc-testimonial_sku-product-c_90off_PainPointC

Why Format-Based Adsets (Not Demographic)?

You might think: "I should create adsets by demographic—Female 45-55, Female 55-65—so I can show each age group actors that look like them."

Here's why that's wrong:
  1. You're using broad targeting anyway. Andromeda already knows who responds to what.
  2. Splitting by demographic fragments your signal.
  3. Andromeda is 10,000x smarter. Let it figure out which user responds to which actor.
  4. FORMAT actually matters for delivery. Video vs static get different placements and costs.

Critical Rule: One Adset = One Format

Do NOT mix Video + Static + Carousel in the same adset:

  • Delivery mechanics differ — Video gets Reels, In-Stream, Stories. Static gets Feed, Right Column.
  • Testing clarity — If you mix formats and the adset wins, you don't know which format won.
  • Budget starvation — Meta's algorithm picks winners fast. Some formats might get starved.
  • Andromeda processes differently — A video of Sarah in Kitchen is not the same as a static of Sarah in Kitchen.
AdsetFormatContains
Adset 1Video - UGC StyleAll UGC video Entity IDs
Adset 2Video - PolishedAll polished/studio video Entity IDs
Adset 3Static - LifestyleAll lifestyle static Entity IDs
Adset 4Static - ProductAll product-focused static Entity IDs

What You Learn at Each Level

  • Adset level — Which FORMAT wins (UGC vs polished vs static)
  • Entity ID level — Which VISUAL (actor + scene) wins
  • Ad level — Which MESSAGE (script + offer) wins
  • Andromeda learns — Which USER responds to which actor demographic—automatically

Entity ID Rules + Naming

When to create a new Entity ID vs. add an ad to an existing one.

The Rule: Entity ID = Actor + Scene

QuestionNew EID?New Ad?
Different PERSON/ACTOR?YES
Same person, different SCENE/LOCATION?YES
Same person + scene, different SCRIPT?NOYES
Same person + scene, different OFFER?NOYES
Same person + scene, different PAIN POINT?NOYES

Naming Convention

Ad Name Format: [EID]_[type]-[style]_sku-[sku]_[offer]_[angle]_[a+settings]_[initials]

Example Breakdown:

EID01_video_ugc-testimonial_sku-product-a_90off_PainPointA_a+copy_pk

EID01 = Entity ID 01 (Sarah 60F + Kitchen)
video = ad type
ugc-testimonial = style
sku-product-a = product being advertised
90off = offer (90% off)
PainPointA = messaging angle
a+copy = using Advantage+ copy
pk = media buyer initials

When EID01 graduates, all ads with EID01 prefix move to Scaling together. They stay grouped.


Targeting & Retargeting

How GEM/Lattice/Andromeda changes the retargeting game.

The 2025 Reality

  • Andromeda already knows who visited your site—it pattern-matches behavior across platforms
  • Broad targeting naturally prioritizes high-intent users
  • Excluding site visitors fragments signal
  • Lattice transfers learnings across campaigns
SettingValue
TargetingBroad (Advantage+ Audience)
ExcludePurchasers only (30-180 days)
Do NOT excludeSite visitors—let Andromeda find them
PlacementsAdvantage+ (all placements)

Exclude purchasers because these campaigns are for prospecting—acquiring new customers. Repeat purchases are a different strategy.


Second Chance Protocol

Don't kill products prematurely. Separate CREATIVE failure from PRODUCT failure.

The Problem

What You TestedWhat You ConcludedBut Actually...
Sarah 60F + Kitchen + BOGO script for Product X"Product X failed"Maybe the product is fine, but the CREATIVE approach was wrong

The Rule: Separate Creative Failure from Product Failure

When an ad fails in Testing:

  1. Kill the AD—not the PRODUCT
  2. Log the product in a "Retest Queue"
  3. Choose a retest path

Retest Option A: New Creative Approach

First Test FailedSecond Test (Different Approach)
Sarah 60F + KitchenTry: Mike 48M + Office
UGC styleTry: Polished studio
Pain Point ATry: Pain Point C

Retest Option B: Cost Cap Validation

Use Cost Cap as the "final arbiter" for products that failed in Testing. Cost Cap only delivers when Meta believes it can convert at your target, making it a pure efficiency filter.

Cost Cap Retest Rules (After 14 Days)

ResultAction
No spend / minimal deliveryProduct is dead. Creative can't convert at this CPA. Consider retiring.
Spends + ROAS ≥ Target ROASProduct is good! Original Testing was too competitive. Create fresh creative and scale.
Spends but ROAS < Target ROASGray zone. Product might work with different creative. Try Option A.

Product Death Rule

A product is only declared "dead" after:

  • 2+ distinct creative approaches failed in ABO Testing
— OR —
  • 1 creative failed in Testing AND no Cost Cap delivery after 14 days

Killing an ad is cheap. Killing a winning product because of bad creative is expensive. Give products a fair chance before declaring them dead.


Quick Reference Cheat Sheet

Key Formulas

  • Break-Even ROAS: 1 ÷ Contribution Margin
  • Target ROAS: Break-Even ROAS × (1 + Desired Profit Margin)
  • Target CPA: AOV ÷ Target ROAS
  • Testing Budget Per Ad: (Target CPA × 8) ÷ 7 ÷ Number of Ads

Testing Decisions (Day 7+)

  • Graduate: ROAS ≥ Target ROAS AND 4+ purchases AND CPA ≤ Target CPA
  • Keep testing: ROAS between Break-Even and Target (run 7 more days)
  • Kill: ROAS < 80% of Break-Even AND spent ≥ 6× Target CPA

When to Remove from Testing

  • After ad has performed in Scaling for 2+ weeks
  • This frees up Testing budget for new creative

Scaling Decisions

  • Eligible for Cost Cap: ROAS ≥ 90% of Target ROAS for 14+ days
  • Pause: ROAS < Break-Even ROAS for 7+ days

Weekly Rhythm

  • Monday: Review Testing + Scaling, graduate/kill
  • Tuesday: Launch new test adsets
  • Friday: Review Testing + Scaling, graduate/kill
  • Other days: Don't touch (let it run)

Frequently Asked Questions

Q: Same video, different offers (25% off vs BOGO)—same adset or different?

A: Same adset. Andromeda sees visually identical ads as one ad anyway. Put offer variations together, graduate them together. You'll still see which offer converts best at the ad level.

Q: When exactly do I remove an ad from Testing?

A: After 2 weeks of solid performance in Scaling. Not before. Keep it in Testing as a safety net while it proves itself.

Q: What if I only have budget for one campaign?

A: Start with Testing only. Add Scaling when you have winners and more budget. Cost Cap comes last—only after $1,500+/day total spend.

Q: Won't I compete with myself running the same ad in multiple campaigns?

A: No. Meta's auction picks the most efficient bid. You don't pay twice. During the 2-week proving period, keeping ads in both provides a safety net.

Q: What Cost Cap bid should I set?

A: Your actual Target CPA (calculated as AOV ÷ Target ROAS). Don't bid lower hoping for a deal. Meta's auction rewards honest bids.


Conclusion

This ABO → CBO → Cost Cap framework provides a systematic approach to Meta advertising that works with the platform's AI systems rather than against them. The key principles:

  1. Let the algorithm learn — Don't touch campaigns during learning periods
  2. Graduate winners systematically — Use clear rules, not gut feelings
  3. Protect profitability — Cost Cap is your safety net for proven ads
  4. Separate creative from product failure — Give products multiple creative chances
Follow this playbook and you'll outperform 90% of advertisers who are still running fragmented campaigns with manual bidding.
Paul Klebanov

Paul Klebanov

Founder & CEO

Paul Klebanov is a growth marketing expert with over a decade of experience scaling DTC brands through paid media, email, and SMS strategies. He has helped generate over $100M in revenue for his clients.

Clients

Companies We've Worked With

Aeroski
MaxiClimber
Googan Squad
Hat Club
John Crazy Socks
R.Riveter
Pure Culture Beauty
Stella Valle
CocoVillage
Dux waterfowl
EarPeace
Oui Please
In Season Jewelry
GGblue
1776 United
Finks
WebEyeCare
The Bead Chest
The Bead Chest
WebEyeCare
Finks
1776 United
GGblue
In Season Jewelry
Oui Please
EarPeace
Dux waterfowl
CocoVillage
Stella Valle
Pure Culture Beauty
R.Riveter
John Crazy Socks
Hat Club
Googan Squad
MaxiClimber
Aeroski
Aeroski
MaxiClimber
Googan Squad
Hat Club
John Crazy Socks
R.Riveter
Pure Culture Beauty
Stella Valle
CocoVillage
Dux waterfowl
EarPeace
Oui Please
In Season Jewelry
GGblue
1776 United
Finks
WebEyeCare
The Bead Chest

Let's get the ball rolling & work together Schedule A Call

Please enter your first name
Please enter your last name
Please enter a valid email address
Please enter your phone number
Please enter your company name
Please make a selection
Please enter a valid website URL

We won't send you spam. Unsubscribe at any time.