Six months ago, I sent a newsletter walking through the three systems running Meta ad delivery in 2026 which are theLattice, Andromeda, and UTIS. Then it was just outdated two weeks later I sent it. lol
Meta dropped their Adaptive Ranking Model in March to get Lattice working at auction speed, and on top of that, there's this new model called GEM that’s been running things since 2025.

Here’s the updated mapping:
GEM trains everything else.
Andromeda narrows the field, pulling a shortlist of relevant candidates out of tens of millions of eligible ads in milliseconds.
Lattice ranks that shortlist and decides who wins the impression, using the prediction quality GEM taught it.
UTIS keeps Lattice honest by asking real users, directly, how well an ad actually matched their interests, not just whether they clicked.
The Adaptive Ranking Model is the infrastructure that makes running a trillion-parameter ranking model, for every single impression, under 100 milliseconds, physically possible.
How the rules have changed
Meta's February update merged manual and Advantage+ flows, making AI-driven budget optimization the standard. You probably know this feature by an older name CBO.
This is why you see so many advertisers keep things simple. You feed the system a ton of creative variety, and let Andromeda and Lattice do the heavy lifting for you.
Early on | Now (what the platform actually rewards) | |
|---|---|---|
Budget control | Manual CBO, chosen deliberately | Advantage+ Campaign Budget, on by default |
Audience strategy | Cold/warm split, interest stacks | Broad targeting, Advantage+ Audience with signals |
What's being tested | Audiences and interest combinations | Creative volume and format diversity |
What the algorithm needs | Correct exclusions, tight segmentation | 50+ conversions per ad set per week, clean signal |
Structural splits that still make sense | Country, product category, objective | Country, product category, objective |
How you play your part
Every layer in that stack learns from the conversion events you send it. GEM's training data, Lattice's predictions, GEM's training data and Lattice's predictions both run on the Purchase, AddToCart, and InitiateCheckout events flowing back from your store.

If the events you send back to Meta are accurate, Meta’s system gets cleaner training data, so it gets better at predicting who will buy, choosing which ad to show, and spending your budget on higher-likelihood buyers over time. Which is the entire case if you have a great server-side tracking on Shopify.
Your BFCM campaign structure
Okay, now for the part you actually came for. Here's how I'd set up your account going into BFCM.
One Sales campaign per country or product category, with Advantage+ Campaign Budget on. Only split when there's a real reason like different countries have very different CPMs, and a $20 product and a $200 product need different target CPAs. If you sell one product line in one country, that's one campaign.
Broad targeting with Advantage+ Audience. No interest stacks, and no separate cold and warm campaigns. Meta treats your audience inputs as suggestions and will reach past them, so separate cold and warm campaigns end up chasing the same people and splitting your data.
Set up “New vs Return customers” in your ad account settings. You still get reporting on new vs. returning buyers without splitting them into different ad sets.
Optimize for Purchase if you're getting 20+ purchases a week.
Inside the campaign, there are two setups that work depends on your volume.
Option A: one ad set, 20+ ads. All your conversions feed one ad set, so it exits learning faster. Best for smaller budgets or lower conversion volume.
Option B: one ad set per ad idea. Each ad set is one concept (a new angle, a new customer type, a new format, or a new take on a winner), with 2–3 videos that use the same script and a different hook in the first second. Your campaign budget moves money to the winners automatically, and you get a much clearer read on which ideas work.
Either way, skip the separate testing/scaling campaign structure. New ideas go straight into your main campaign and compete for budget against your current winners. If a new idea is better, it takes over the spend. If it's worse, it just sits there until you clean it up.
Creative setup
Keep your best evergreen ads live and add offer-led BFCM creative next to them.
Mix formats: static images, UGC, founder videos, product demos, and carousels.
Use text variations instead of duplicating ads. Add up to 5 primary text options (one short, one longer story, one bulleted) and test a benefit headline against a discount headline. Meta mixes and matches them for each person.
Scaling rules
If you’re hitting your target CPA, raise the budget about 20% a day.
If you are above target for a full week, hold the budget and find what's broken (the creative, the offer, or the landing page) before you touch anything else.
Plan your peak-day budget increases in advance. Don't react hour by hour. Every big edit risks putting you back into learning phase.
Focus on:
Stick to Advantage+ Campaign Budget (or CBO), unless you specifically need to separate things by country, product, or objective.
Audit your standard events by making sure they are all firing, and deduplicated.
Pass identity signals (hashed email, phone) at checkout as well as top of funnel (page view, view content, add to cart etc).
Feed creative volume. 20+ minimum active ads per ad set, mixed formats.
After you make a big change in your Meta ads account, don’t rush to change things again right away.
This newsletter is part of our BFCM Klaviyo & Meta Academy, a free series for DTC brands running through mid-December. New sessions drop every week.
Join here: https://www.aimerce.ai/bfcm2026
✌️Here to help you win,
Yiqi

