Pre-launch checklist
You should be here only if all of the below is true:
- Product page built out
- Domain set up and connected
- Apps configured (Shopify Facebook & Instagram sales channel, chargeback prevention, email/SMS)
- COGS known (real COGS — cross-reference Module 6 → Reading & Interpreting Data → Items Ordered Over Time for actual average items per order)
- Ad account warmed up (covered in Module 4 → Different Ad Account Strategies — minimum $6-7 spend before flipping to a sales campaign; if you launched a $10/day warm-up, you're good after a day or two)
If any of those aren't true, fix them first. The campaign setup below assumes the foundations are solid.
Honest take on Meta as a platform
Before any of this, set the expectation:
Trillions of dollars run through Meta. The tracking is reliable — when Meta tells you something converted, it converted. The UI is glitchy, buggy, and weird. You'll click a button, nothing happens. A budget will refuse to update. A creative will preview wrong. You'll log out, log back in, and it works.
Suffer through it. It's the cost of running on the most powerful ad platform that exists. Don't waste time fighting the UI — just refresh and keep moving.
Step 1 — Create the campaign
Click the green Create button → select Sales campaign objective.
Why sales and not engagement, traffic, or conversions: sales is the only objective optimizing for actual purchases. Everything else optimizes for an upstream behavior that may or may not correlate with revenue. Don't be clever. Don't be a nerd. Purchases.
Step 2 — Campaign naming
Naming gets autistic-precise later when you're running multiple brands and exporting to Claude for analysis (covered in Module 3 → Native + Module 5 → The Brief & Concept Tracking System). At launch, just name it the product test. Doesn't matter if you misspell it.
Real names you build out over time:
- [Brand] - [Product] - [Strategy] - [Date]
- e.g., RUNITUP - Astaxanthin - CBO Test - Apr23
Start sloppy. Refine the convention once you have multiple campaigns going.
Step 3 — Campaign budget (CBO setup)
Use Campaign Budget Optimization (CBO) — the budget lives at the campaign level, Meta allocates across ad sets.
Industry terminology:
- CBO — Campaign Budget Optimization (the recommended approach)
- ABO — Ad Set Budget Optimization (each ad set has its own budget — used for specific strategies, covered in Module 4)
You'll hear both terms constantly. For ripped-product testing, CBO is what you want.
Budget guidance by scenario:
| Scenario | Daily budget |
|---|---|
| Single ripped product test | $100 minimum (best baseline) |
| Multiple ripped products at once (4 products) | $50 per product |
| Custom brand launch with high-confidence creative | $500 starting daily |
| Aggressive operator with thick capital | $1,000+ starting |
| Tight budget, just want to validate signal | Down to $10 if you have to (slower learning) |
My recommendation for most people reading this: $100/day per product test, max. Below $100, the learning phase takes too long and you can't read the data fast enough. Above $500 on an unvalidated rip, you're burning capital before signal.
If you're launching 4 ripped products in parallel (the recommended batch approach), spin up 4 separate campaigns at $50/day each. Total spend: $200/day across the batch.
Step 4 — Ad set structure (the critical architecture)
One campaign → one ad set → three flexible ads → three videos per flexible ad.
This is THE structure for ripped-product testing. Most operators stack 5 ad sets at launch with different audiences. Don't. Here's why.
Why one ad set
Every level in Meta has its own learning and optimization:
| Level | Learning |
|---|---|
| Ad account | Aggregate pixel data, overall trust/quality scoring |
| Campaign | Performance memory across all ad sets and ads under it |
| Ad set | Audience learning, placement optimization, time-of-day pacing |
| Ad | Engagement (comments, likes, shares) carries over when you duplicate |
Ad set learning is the bottleneck for early-stage products. Every ad set you spin up has its own learning phase — typically 5-50 purchases before it exits. If you launch 5 ad sets, you have 5 simultaneous learning phases, each fighting for budget allocation, none getting enough volume to exit quickly.
One ad set = one learning phase = fastest path to "stabilized" performance data.
Why three flexible ads
Each flexible ad is a container for multiple creative + copy variations that Meta cycles through. With three flexible ads in the ad set, you have:
- 3 flexible ads × 3 videos = 9 video variations being tested
- 3 flexible ads × 3 primary text = 9 primary text variations
- 3 flexible ads × 3 headlines = 9 headline variations
Meta cycles through combinations using early soft metrics (CTR, hook rate, hold rate, early conversion signal) to identify which combination performs best and push budget toward it.
This compresses what would normally be a 2-3 week learning cycle into 4-7 days.
The trade-off
Pro: rapid testing of more variations, faster learning phase exit, more data per dollar spent.
Con: you only get clear data on the top-performing creative inside each flexible ad. The other two video variations don't get isolated breakdowns — Meta won't tell you they "would have worked but didn't get budget." You sacrifice individual creative data for aggregate ad set speed.
When to flip to non-flexible single-image/single-video ads:
- You're testing a custom-built creative (not ripped) and want clean per-creative data
- You've validated the product and now you're iterating on creative angles
- You want to feed clean breakdowns to your Growth Guide (Module 5 → The Brief & Concept Tracking System)
For ripped-product testing specifically, the flexible structure wins because the goal is "does this product convert, yes or no," not "which exact creative was the hero."
The momentum principle (Brandon-rule)
This is one of the most expensive lessons I've learned and it deserves its own section.
Don't kill winning campaigns, ad sets, or ads. Don't restructure mid-flight. Keep momentum.
Recently I decided to "fix" a working campaign — changed the way it was running. Within days, I went from the numbers we should be doing to the numbers we were doing in the very beginning. One structural change. Killed the momentum.
The principle: Meta builds learning at every level (account → campaign → ad set → ad), and that learning is path-dependent. When you restructure, you reset the learning. Even small changes can wipe out months of optimization.
Practical applications:
- Don't duplicate a winning ad set into a "fresh" campaign to "clean it up" — keep the original running
- Don't pause a winning ad to "test if it's still working" — once you pause, you might lose its engagement and never get the same performance back
- Don't rename winning structures — sometimes the rename triggers a learning reset
- Don't move winning ads to a different campaign — the campaign-level learning matters more than people realize
- When you find a winner, the move is to build NEW campaigns/ad sets/ads on top of it, not modify what's working
The hardest version of this discipline: when a winning ad starts to fade, your instinct is to "fix" it. Resist that. Build new ads in parallel. Let the old winner fade naturally while the new ones ramp up. The transition is cleaner than trying to revive what's dying.
Step 5 — Learning phase (don't stress about it)
When you launch, Meta will show your ad set a "learning phase" indicator with a target number of purchases needed to exit (commonly 5, sometimes up to 50 depending on optimization).
Don't overthink this. Don't DM me a screenshot of your learning phase asking if you should be worried. The learning phase happens. It has to happen. You can't skip it.
What matters:
- If it's a winning ad, it'll exit learning phase. Performance will improve as data accumulates.
- If it's not a winning ad, the learning phase reveals that. The ad set will either underspend or perform poorly.
- The structure above (1 ad set, 3 flexible ads, 3 videos each) is designed to exit learning phase as fast as possible by getting Meta enough creative variations to find the winning combo quickly.
The discipline: let it run. Don't tinker. Don't pause. Don't duplicate. Watch the data for 48-72 hours before any decisions. Cross-reference Module 4 → How to Properly Run Split Tests for the testing rhythm.
Step 6 — Pixel setup
If this is your first time setting up a pixel for the brand:
- Create data set when prompted
- Name the data set the brand name
- Enter your Shopify domain (e.g., https://yourbrand.myshopify.com)
- Meta will check for the pixel — won't find it yet — and tell you "partner integration available through Shopify"
- Click next, Meta will prompt you to download the Facebook & Instagram Sales Channel app from Shopify
- Install the app from Shopify, walk through the setup
- When asked how much data to send: pick "Enhanced" / the maximum option. More data going back to Meta = better pixel learning = lower CPA over time
- Done — pixel is live, data is flowing
On pixel importance (since this debate exists in DTC circles): the guy who created the Meta pixel publicly said it just takes data from your website and sends it to your ad account. If that's true, the actual learning compounds inside the ad account → campaign → ad set → ad hierarchy, not "in the pixel itself." The ad account is the asset, the pixel is the data feed. Treat both carefully, but understand which one is doing the work.
Step 7 — Conversion event (don't be a nerd here)
In the ad set settings, conversion event = Purchases. Always.
I know some operator on Twitter told you to "optimize for Add to Cart because it's cheaper and a percentage will buy anyway."
They're wrong. Don't be a nerd. You're not smarter than Meta.
What actually happens:
- Add to Cart optimization → Meta finds people who add to cart but don't buy. Every time someone adds to cart, that data goes back to Meta with "find more like this." Result: high ATC, low purchases.
- Initiate Checkout optimization → Meta finds people who check out but don't buy. Same problem one step further down funnel.
- Purchase optimization → Meta finds people who actually buy. This is what you want.
The optimization target should always match your actual goal. Your goal is purchases. Optimize for purchases.
Step 8 — Dynamic Creative OFF, Flexible Ads ON
In the ad set settings, turn Dynamic Creative OFF. Meta is deprecating it. Flexible Ads is the replacement — turning on at the ad level automatically, no toggle needed at ad set level.
Step 9 — Launch timing (the 12am rule)
Set your ad set to launch at 12:00am local time. Absolute latest acceptable: 2:30-4:00am.
Never launch in the middle of the day or in the evening. Here's why:
Meta paces your daily budget across the full 24 hours of that day to spend at the best times. If your daily budget is $50 and you launch at 12:00am, Meta has 24 hours to spend that $50 efficiently. Result: good pacing, optimized delivery, clean data.
If you launch the same campaign at 12:00pm with $50 daily budget, Meta now has only 12 hours to spend $50. It blows through the budget aggressively at suboptimal times. Performance tanks, CPA spikes, you misread the data as "the product doesn't work" when really it was a launch-time mistake.
Exception: if you already have a campaign live and you're just adding new ad sets, mid-day adds can work because the campaign-level learning is already established. Even then, 12am is still cleaner.
The discipline: schedule your launches the night before. Set everything up at 8pm, set the start time to 12:00am, walk away. Wake up to the data.
Step 10 — Geographic targeting
Default targets I run for English-market ripped supplement products:
- United States
- United Kingdom
- Australia
- Canada
Remove Italy, France, Germany, etc. unless you're specifically running those markets (cross-reference Module 6 → Untapped Product Research Method for the non-English sub-market play).
For Spanish-market specifically: set the language filter to Spanish (all) in the audience controls (covered in detail in the Untapped Method sub-page).
Step 11 — Whitelist Facebook pages (the sauce)
This is the differentiator most operators don't run.
A whitelist Facebook page is a real-looking, non-brand Facebook page used as the "publisher" of your ad.
The standard approach: build a Facebook page, put your brand logo on it, name it your brand. Result: every ad runs from BrandName with the brand logo as the avatar. It looks like an ad. People scroll past.
The whitelist approach: build a Facebook page that looks like a real person.
Example for ripping creatives where the creators are white women:
- Name the page: Marianne Clements / Suzanne Walker / a normal-sounding name
- Profile picture: a family photo of white people (group photo, hard to identify who specifically)
- Cover photo: another family or lifestyle photo
- Page bio: keep minimal or skip entirely
Why it works:
- In the Facebook feed, the ad looks like a post from a real person, not a brand
- Native trust transfer — your CTR and conversion rate both improve
- Scales further because Meta's algorithm classifies the page as a "regular publisher," not "advertiser"
- Lower flag risk for some types of creative because the page isn't a known brand
Demographic matching is critical:
| Creator demographic in ripped video | Page demographic |
|---|---|
| White women creators | White woman page (Marianne, Suzanne) with family photo |
| Black creators | Black creator page with matching profile |
| Latino / Latina creators | Latino / Latina page with matching profile |
| Mixed (white woman + white man both in your creative set) | Two separate pages — run the woman's ad from the woman's page, the man's ad from the man's page |
The "family group photo" trick: when you use a group photo as the profile picture, it's hard for the viewer to identify which specific person the page belongs to. This lets you use the same page for multiple ad variations featuring different creators — the viewer assumes the page belongs to "one of those people in the photo."
Simpler alternative: if you don't want to manage whitelist pages, just run from a clean brand page. Performance will be worse, but it's simpler. As you scale, the whitelist pages become a multi-percentage-point CPA improvement. Worth the operational effort once you have a winning product.
Instagram setup: select "Use Facebook Page" for the Instagram profile. Don't bother making a separate Instagram account — they get banned often and add zero value to ad performance. The Facebook page handles both.
Step 12 — Ad creative upload
At the ad level:
- Name the ad — V1 for the first ad
- Select the Facebook page (whitelist or brand)
- Use Facebook Page for Instagram
- Leave Flexible Ads ON (it's automatic)
- Click Add Media → Upload Videos
- Upload 3 ripped videos (from Kalodata download, the most common rip workflow — cross-reference Module 6 → Product Research for Supplement Brands)
The three videos become the cycled creative variations inside that single Flexible ad. Meta will rotate them with the primary text and headline variations to find the best combo.
Step 13 — Primary text via Gemini
Use Gemini for primary text generation on ripped video ads, not Claude.
Why Gemini: Gemini can analyze video frames (~0.5 second sampling) and write primary text that's directly responsive to what's in the video. Claude can't process video natively yet — you'd have to describe the video in text first, losing fidelity.
Workflow:
- Open Gemini, upload the ripped video
- Run a primary text generation prompt asking for 3 Meta-compliant variations
- Each variation should target a different angle:
- Variation 1: different avatar entry point
- Variation 2: different awareness stage
- Variation 3: different emotional valence (cross-reference Module 5 → Customer Research for the emotional valence framework)
- Copy each into the primary text field in Meta (Gemini's line breaks transfer cleanly)
Meta compliance is critical — especially early in the ad account's life. Banned ad accounts kill momentum (see momentum principle above). The high-quality D2C primary text prompt I run is gatekept in the masterclass.
Step 14 — Headline strategy
Three headlines per flexible ad, each testing a different awareness stage:
| Headline variation | Targets | Example structure |
|---|---|---|
| Problem aware | Buyers who know they have the problem | "Tired of [problem]? Here's why nothing's working." |
| Solution aware | Buyers comparing solutions | "Better than [alternative]. Here's the difference." |
| Product aware | Buyers ready to evaluate the product | "[Product name] — what 10,000+ buyers are saying" |
Cross-reference Module 5 → The Brief & Concept Tracking System for the full awareness framework and Module 3 → Catalyst for how this maps to top-of-funnel creative.
Step 15 — Final ad settings
- Listing: paste your product page URL (https://yourbrand.com/products/your-product)
- Call to action: Shop Now
Hit save. The V1 ad is complete.
Step 16 — Duplicate workflow for V2 and V3
This is the multiplier. Don't recreate the ad from scratch — duplicate.
- Find the V1 ad → click Quick Duplicate → Original Setup
- Don't change anything except the videos
- X out the 3 videos in the new ad
- Upload the next 3 videos → name this V2
- Save
- Repeat for V3 with the next 3 videos
Final state:
- 1 campaign (CBO at your daily budget)
- 1 ad set (1 audience, 1 placement strategy, single learning phase)
- 3 flexible ads (V1, V2, V3)
- 9-10 videos total split across the 3 flexible ads
- 9 primary text variations
- 9 headline variations
- Meta cycles all combinations to find the winners fast
If you have 10 ripped videos instead of 9, split them 3-3-4 across V1/V2/V3 — Flexible ads handle uneven counts fine.
Multi-product launches
Launching 4 ripped products at once (the recommended batch approach for fast validation):
- Build campaign 1 (Product A) using the full setup above
- Duplicate the entire campaign → swap product page URL → swap videos → name Product B
- Repeat for Product C and Product D
- Each campaign runs at $50/day — total batch spend $200/day
- Within 7-10 days, you'll have signal on which 1-2 products are winners
The discipline is volume — launch 4 products, expect 1-2 to fail, 1-2 to be mid, 1 to win. Scale the winner. Kill the rest. Don't pour budget into "almost working" products at this stage.
When to turn off Flexible Ads (per-creative data mode)
The flexible structure is optimized for testing volume and speed. It's not optimized for clean per-creative data.
When you've validated the product and you're now iterating on custom creative (not ripped) — say, you've ripped your way to a $1k/day product, now you're building your own UGC and AI-UGC creatives to scale to $5k/day:
- Turn off Flexible Ads / Dynamic Creative
- Use the Single Image or Video format
- One creative per ad, clean breakdowns, full per-creative data
This is the structure for the iteration phase covered in Module 5 → The Brief & Concept Tracking System. Module 3 → Native + Videos covers the actual creative production for this phase.
Rule of thumb:
- Testing a new product with ripped creative → Flexible Ads ON
- Iterating on a validated product with custom creative → Flexible Ads OFF, single creative per ad
Cross-references
This sub-page is the launch execution layer for everything else in Module 6. Quick map of where each piece connects:
- Product research (Pump n Dumps / Untapped / Sales Campaigns / Supp Brand sub-pages) gives you the product to launch with this setup
- Reading & Interpreting Data sub-page is what you do once the campaign is running
- Winning Product — Next Steps is what you do after the campaign produces a winner
- Module 4 → Different Ad Account Strategies covers ad account warm-up + the bid cap + graveyard plays that layer onto this base setup
- Module 4 → How to Properly Run Split Tests covers the testing rhythm and the 24-48 hour decision window
- Module 3 → Native + Catalyst + Videos covers the custom creative you'll layer on top of ripped creative once the product is validated
What's gatekept inside the masterclass
The principles are here. The on-screen walkthrough lives in the masterclass:
- The full 18-minute video walkthrough of me launching a sales campaign live in Meta — every click, every field, real ad account, real product
- The whitelist Facebook page setup walked through visually — building the page, the profile photo selection, the demographic-matching strategy, the Business Manager assignment
- The D2C primary text generation prompt — the high-quality Gemini prompt for Meta-compliant primary text that I use across every campaign launch
Want the full 18-minute video walkthrough, the live whitelist Facebook page setup, and the D2C primary text generation prompt? All inside the RunItUp Masterclass → Join here
Join now to lock in your rate, prices are increasing quickly.