Creative testing · Part 1 of 3

Elimination: the install campaign

The first stage of creative testing. New creatives do not enter the purchase campaign directly, they get eliminated here first and the best version of each concept is found. Set it up once and the rest is routine. I will cover Validation (Step 2) in a separate part.

Where this sits in the flow

Validation happens in the purchase campaign, scaling in the main campaign. Screening on cheap signal and validating on purchases is an established mobile UA method.12

Stage 1this part

Elimination

Install campaign, new
  • Close versions of the same concept compete here
  • Signal arrives within days: CPI and early behavior
  • Goal: find the best version of each concept
pull-aways advance, usually 1-2
Stage 2

Validation

Purchase campaign
  • The pull-aways from elimination enter, usually 1-2 per concept
  • Each ad gets budget for enough purchase volume
  • No reads before the purchase threshold
purchase threshold + cost below the line
Stage 3

Scaling

Main campaign
  • Ads below the cost line move to the main campaign
  • Set the cost line separately for your campaign
1
Prep
tool + platform + market
2
Setup
structure + budget
3
Launch
synced race
4
Read
watch, hands off
5
Exit
pull-aways to validation

Campaign structure

Example: 17 creatives, 4 concepts, max 5 versions per ad set. Budgets are examples, we assumed $1 CPI. The race inside an ad set picks the version, the race across ad sets ranks the concepts.

INSTALL CAMPAIGNCBO · e.g. $80/dayConcept Amin $10/day5 versionsConcept Bmin $10/day4 versionsConcept Cmin $10/day5 versionsConcept Dmin $10/day3 versionsEXAMPLE4 ad sets × min $10 = $40campaign = $40 × 2 = $80

Budget math

Enter your own numbers. The ad set count comes automatically from the max-5 rule; splitting by concept can raise it, this math gives the minimum. Rule: minimum spend per ad set for at least 10 installs a day, campaign budget at 2x the sum of minimums. The real CPI depends on the country you pick. A round ends when separation emerges, the day count is only for the cost estimate.

Ad sets (from the max-5 rule)4
17 / 5, rounded up
Min ad set budget$10.00
$1.00 CPI × 10 installs
Campaign budget (daily)$80.00
2 × 4 × $10.00
Estimated round cost~$240
$80.00 × 3 days

Prep

Connect the bulk upload tool
Get a trial at adsuploader.com and follow the tutorial to connect ads manager. Skip uploading videos one by one.
Pick the platform
If you run web2app you can test directly on iOS. Without web2app on iOS, run the tests on Android. SKAN limits get in the way here: 9 iOS 14+ campaigns per app, 5 ad sets per campaign, and a 24-72 hour postback delay.1314 Android has no such ceiling and the data lands the same day.
Fix the market
Pick one English-speaking T2 country and use the same country every round so rounds stay comparable. With several countries in one ad set, CBO pushes budget to the cheapest CPM country, so you end up comparing markets instead of creatives.3111

Setup

Open an install campaign
A new install campaign with campaign budget optimization (CBO). Meta routes the budget in real time to the ad sets it sees the best opportunity in.3
1 concept = 1 ad set
Each ad set holds at most 5 versions of a single concept. 17 creatives from 4 concepts means 4 ad sets (5+4+5+3). Meta's own guidance also says 6 or fewer ads per ad set.45
Keep targeting broad
No interest or lookalike constraints on the test ad sets. Let the creative decide who sees it, since adding constraints means you are testing targeting rather than creative.153
Name by convention
The ad set carries the concept name (e.g. Duet-0926). Ad name: ConceptName_v2_XY_0926, meaning concept, variant number, creator initials, month and year.6
Set ad set minimums
Minimum spend per ad set for at least 10 installs a day. Expecting $0.50 CPI, set min $5. Expecting $1 CPI, set min $10. Meta generally advises against leaning on these limits since they constrain the algorithm; in testing we use them on purpose, every concept needs guaranteed delivery.3
Set the campaign budget
2x the sum of ad set minimums. Example: 4 ad sets at $10 each is $40, so the campaign budget is $80.

Launch

Upload
Open the campaign and one ad set manually, then upload the ads with adsuploader.
Set the sync rule
In Ads Manager select the 4 ad sets, then Rules → Create a new rule → Custom rule. Apply rule to: Active ads in these ad sets. Action: Turn off ads. Condition: Spent > $0.10, time range Maximum (Lifetime). Schedule: Continuously. Meta runs rules roughly every 30 minutes, so some ads stop a few cents past $0.10, which is fine, the goal is sync.78
Restart everything at once
When every ad has spent $0.10 and paused, delete the rule and reactivate all paused ads at the same time. The race starts equal for everyone. The first-approved ad grabbing the early budget is a known problem, and a simultaneous start is the known fix. You will not find this equalizer in Meta's official docs, it is settled field practice.910

Read

Watch without touching
After the restart, wait for the spend split to separate without touching budgets or ads.
Stop when they separate
Per ad set or as a group: once some ads in a set clearly out-spend the rest, that test is done. If no separation emerges, stop whenever you like.
Spend picks the winner
Look inside each ad set first. The versions pulling away on spend are that concept's winners, usually 1-2 but the count is not fixed. If nothing pulls away, that concept is eliminated. Meta routes budget to its predicted winner, the spend pull itself is the signal. Classic A/B testing of creative loses its point here: the platform already matches creatives to its own segments, so the allocation is the test.153
CPI is a sanity check only
If the pulling ad's CPI is far above the others, hold the decision and watch one more round.

Reading happens at two levels

Example, 3 days of cumulative spend, $240 total. The split across ad sets ranks the concepts, the split inside an ad set picks the version. CPI is the sanity check.

1. Concept level
inside the campaign, 4 ad sets, cumulative · dashed line: min spend floor $30
$0$55$110$100Concept A$63Concept B$44Concept C$33Concept D
2. Version level
inside Concept A, 5 versions
$0$30$60$55v1CPI $0.31$16v2CPI $0.36$12v3CPI $0.34$9.50v4CPI $0.41$7.50v5CPI $0.52

Exceptions

  • There can be exceptions. Cheap CPI does not always mean the best purchases, or a new concept may not be able to race the veteran winner variations you have optimized for weeks. In those cases judge each ad set's spend within itself; the ones that stand out can still go to validation, where the final call is made.121
  • An ad can get stuck in review. If the rest have stopped at $0.10 while one is still pending, whether to wait is the team's call; you can restart without it and roll that ad into the next round.

Exit

Pull-aways to validation
The ads that pulled away on spend move to the validation campaign: usually 1-2 per concept, sometimes none, sometimes more. Losers get closed, log the results in a sheet.
Round timing
When to start a new round is your call, open one when the creatives are ready.

Step 2, Validation: the elimination pull-aways, the purchase threshold and the cost line. Covered in a separate part.

Sources

What the method rests on: Meta's own documentation first, then MMPs and recognized UA sources.

Happy to talk through your own numbers if any of this sounds familiar.

All three parts