Stop Setting One Blended ROAS Target: SKU-Level Targets Based on What Customers Are Worth

Here's what a single blended ROAS target is quietly costing you: it's training Meta to sell your worst product.
Picture a catalogue with a wide price range. A $40 entry product and a $180 hero product. You hand the account one goal - "get me a 3x" - because that's what everyone does, and it feels tidy. The algorithm takes that instruction and does exactly what you asked. It finds the cheapest, easiest conversions it can to hit 3x on average, which means it leans hard into the $40 product, because low-price items convert at higher rates. Your 3x looks fine on the dashboard.
But underneath, the mix has gone wrong. You're acquiring a flood of low-value, often one-and-done customers, your hero product is starved of spend, and the customers worth chasing never get found. The blended number hides all of it. You hit your target and slowly went backwards at the same time.
That's the real cost. Not a bad ROAS. A good-looking ROAS built on the wrong customers. And the fix isn't a better blended number - it's throwing the single number out and setting targets per SKU, based on what each one's customers are actually worth.
Why one number can't fairly judge your whole catalogue
The core problem is an assumption baked into a blended target: that every product, and every customer it brings in, is worth the same. They're not. Not even close.
Two things vary wildly across a catalogue, and a single ROAS goal ignores both.
The first is contribution margin. A 3x return on a product with 65% margin and a 3x on a product with 35% margin are completely different outcomes. One's making you good money on order one, the other's barely breaking even. Holding them to the same target is nonsense - it's punishing your high-margin hero and flattering your thin-margin filler.
The second, and this is the bigger one, is what the customer does next. Some products are brilliant front doors - someone buys, loves it, and comes back twice more over the next few months. Others bring in people who buy once and vanish. If you only look at the return on the first order, those two look identical. They're nothing alike.
So a blended target judges your entire catalogue on a single, first-order, margin-blind number. No wonder it pushes the algorithm toward your cheapest SKU. You asked the wrong question, and Meta gave you an honest answer to it.
The number that changes the picture: cohort payback
Before you can set sensible per-SKU targets, you have to know what each product's customers are genuinely worth. And the thing that opens this up isn't lifetime value as a single lump number - it's payback by time window, cut by the product the customer first came in on.
Here's what I mean. Stop looking at the return on order one and start tracking what a cohort is worth at 30, 60 and 90 days, grouped by their first purchase.
Let me make it concrete with invented but realistic numbers. Say a product brings customers in at a first-order ROAS of 1.4. On its own, that looks like a loser - you're barely covering costs. But follow that exact cohort out:
- Day 0 (first order): 1.4x
- Day 30: 1.9x, as a chunk of them reorder or add on through email
- Day 60: 2.3x
- Day 90: 2.7x
That 1.4 you nearly killed was quietly compounding to a 2.7 over a quarter. The customer was using the first purchase to decide whether they trusted you, and once they did, they came back. If you'd judged that product on its first-order number against a blended 3x target, you'd have switched it off and never known it was one of your best front doors.
Now run the same exercise on the $40 product the algorithm loves. You might find it comes in at a flattering 2.6x on order one - and then barely moves. Day 90, it's a 2.8. Those customers bought the cheap thing and left. Looks like a winner on day one, turns out to be a dead end.
That's the whole game. The product that looks worst on order one can be worth the most over 90 days, and the one that looks best can be worth the least. A blended target can't see any of this. Cohort payback by entry product can.
Setting a target per SKU
Once you've got margin and cohort payback for your main products, the targets almost write themselves. You're answering one question per SKU: how efficient does acquisition need to be on this specific product for it to pay me back inside a window I can afford to wait?
A rough way to think about it:
- High-margin hero with strong repeat (the 1.4-to-2.7 story above). You can afford to acquire aggressively here. A lower ROAS target on the first order is fine, because you know the cohort pays you back. Set the target near break-even on order one and let the back end do the work.
- High-margin product with weak repeat. Margin's good but nobody comes back, so the first order has to carry it. Set a higher target - it needs to be profitable on its own.
- Low-margin product, any repeat behaviour. Thin margin means little room, so the target has to be high regardless. Often this is a product you stop actively acquiring on and let it sell as an add-on.
You don't need a different target for all two hundred SKUs. Group them. Most catalogues sort neatly into three or four buckets - your hero front doors, your profitable standalones, your thin-margin add-ons - and each bucket gets its own efficiency target. That's already worlds better than one number for everything.
The point is that the target now reflects reality. A product that pays you back over 90 days is allowed to run at a leaner first-order number, and a product that has to earn its keep on order one is held to a stricter one. The algorithm stops being told to chase the cheapest conversion and starts being told to chase the right one.
Wiring it into Meta so the algorithm respects it
Setting the targets is half the job. The other half is making Meta actually bid to them, because a target in a spreadsheet does nothing if the account is still optimising for one blended goal. This is where cost controls come in.
Two tools matter here.
Cost caps (cost-per-result goal). You tell Meta a target cost to acquire, and it only spends when it can hit roughly that. This is the cleaner fit when you've split products into their own campaigns by margin bucket. Each bucket gets a cap that matches the CAC its cohort payback can support. Your hero front-door campaign gets a looser cap, your thin-margin add-on gets a tight one.
ROAS goal (minimum ROAS bidding). This one's quietly brilliant for catalogues with a wide price range, and it's the direct antidote to the cheapest-SKU problem. When you set a ROAS goal rather than a cost cap, Meta optimises toward a marginal return, which means it'll naturally favour higher-value orders to hit the goal. So if you've got a $40 and a $180 product sitting in the same campaign, a ROAS goal pushes the algorithm toward the higher-AOV sale instead of defaulting to the cheap one. It stops only selling your cheapest SKU because you've changed what "good" means to it.
One thing to hold in your head with both: they average out over the attribution window. A cost cap set to a $50 target won't hit exactly $50 every day - it bids above and below and lands near $50 over a 7-day window, so judge it over a longer stretch, not a single jumpy day. And make sure your cap reflects your real AOV, not your hoped-for one. If you assumed a $150 AOV and it's showing up at $110, your cap is set against a number that doesn't exist, and the maths quietly breaks.
A practical structure: split your catalogue into its margin buckets, give each its own campaign, then match the bid method to the job. Tight cost caps where the first order has to be profitable. ROAS goal where you're mixing price points and want the algorithm steered toward value. Now the targets you set from cohort payback are actually live in the auction, not just sitting in a doc.
The shift in how you think about it
Step back and the change is simple. A blended ROAS target asks "is the account hitting a number?" Per-SKU targets ask "is each product being acquired at a price its customers are actually worth?" The first question is easy and quietly lies to you. The second is more work and tells you the truth.
The brand that knows what a customer is worth - by the product they walked in through, out to 90 days - can pay more to acquire the right ones and refuses to overpay for the wrong ones. That brand wins, because it's no longer letting a single tidy number decide which products the algorithm is allowed to sell.
So here's the question worth sitting with: if you pulled your top few products apart right now and followed each cohort out to 90 days, how many of the SKUs your account is leaning into would still look like the winners you think they are?
.webp)





