Skip to content
Bach.ai

Optimize for Purchase or Add-to-Cart? Learning-Speed Math

There’s a specific kind of stuck that every performance marketer recognizes: an ad set sitting in Learning Limited, spend trickling out, and a purchase count too thin for the delivery system to ever exit learning. You didn’t do anything wrong. The math just doesn’t close — your conversion event is too rare for the budget you can justify. The question of whether to optimize for purchase vs add to cart in the learning phase is in many cases framed as a moral one (“am I gaming the algorithm?”). It isn’t. It’s an arithmetic one.

For the surrounding account decisions, compare Why Fewer Ad Sets Exit Learning Faster on Small Budgets and use Privacy Sandbox Attribution API vs Meta CAPI for DTC as the next diagnostic.

Why thin purchase volume strands you

Meta’s delivery doesn’t learn from your business goals. It learns from optimization events — the specific action you told the ad set to chase. To find the pattern that produces those events reliably, it needs enough recent signal in a short window. The widely cited planning heuristic is roughly 50 optimization events per ad set per week. Treat that as an illustrative target, not a published assurance or a hard switch; the real requirement is “enough recent optimization-event signal for the model to stabilize,” and that threshold moves with your audience size, creative variety, and how noisy your conversions are.

Now run the numbers backward. If your purchase event needs ~50 weekly signals to stabilize, and your funnel converts clicks to purchases at a low single-digit rate, you need a lot of clicks — and therefore a lot of spend — just to feed the model. For many catalogs, especially higher-consideration or higher-priced ones, the spend required to hit purchase-event density is simply more than the product’s economics support at the testing stage. So the ad set never exits Learning Limited. Delivery stays unstable, CPAs swing, and you start making creative and audience decisions on data that was never statistically real.

This is the trap: you’re not losing because the campaign is bad. You’re losing because the event is too rare to teach the system anything.

The bridge event is not cheating

Add-to-cart sits higher in the funnel and fires far more frequently — frequently several multiples of purchase volume. Optimizing for it temporarily lets the ad set collect dense, recent signal and stabilize delivery. That’s the honest case for the swap: you’re giving the model a learnable target so it can find the people who behave like buyers, instead of starving it on an event it can’t observe frequently enough.

The dishonest version — the one that earns the “gaming the system” reputation — is when marketers step down to add-to-cart, watch the cost-per-cart drop, declare victory, and quietly stop checking whether any of those carts become revenue. That’s not a bridge. That’s optimizing for a vanity action and pretending the funnel ended there.

The difference between the two is entirely about what you measure after you switch.

The guardrail everyone skips: contribution margin, not exit speed

Here is the rule that separates an honest bridge from self-deception:

A higher-frequency optimization event is only valid as a bridge if the downstream purchase rate from those events still clears your contribution margin.

Stepping down the funnel will always make your optimization event cheaper, because you’re paying for an action that happens more frequently. Cheaper cost-per-event feels like a win and means nothing on its own. What matters is the chain:

  • Cost per add-to-cart, multiplied by
  • The number of carts it takes to produce one purchase (the cart-to-purchase rate), gives you
  • Your effective cost per acquisition — which you then judge against contribution margin per order.

If you only watch how fast the ad set exits Learning Limited, you’ll congratulate yourself for stabilizing delivery that’s quietly acquiring carts no one ever pays for. Exit speed is the symptom you’re treating. Margin is the patient.

A worked example

Say purchase-optimized delivery can’t clear ~50 weekly purchases at any spend you can defend, so you switch to add-to-cart and the ad set stabilizes fast. Cost per add-to-cart settles at $4. Encouraging — until you look downstream.

  • If 1 in 3 carts becomes a purchase, your effective CPA is about $12.
  • If 1 in 6 carts becomes a purchase, your effective CPA is about $24.
  • If 1 in 12 carts becomes a purchase, your effective CPA is about $48.

Same cheap cart cost. Wildly different businesses. If your contribution margin per order is around $30, the first scenario is healthy, the second is breakeven-ish and worth optimizing, and the third is a bonfire — even though the cost-per-cart looks identical and the ad set “exited learning beautifully” in all three. The cart price told you nothing. The cart-to-purchase rate told you everything.

This is why the step-down decision lives or dies on a number most dashboards bury: your historical cart-to-purchase conversion rate. Pull it before you switch, not after.

How to run the switch without lying to your own funnel

  1. Baseline the bridge ratio first. Know your typical cart-to-purchase rate and the variance around it. If it’s unstable or you’ve never measured it, you can’t translate cart cost into real CPA, and the bridge is a guess.
  2. Set the exit criterion in margin terms, before you spend. Write down the effective CPA — derived through the cart ratio — that still clears contribution margin. That’s your kill line, not cost-per-cart.
  3. Let it stabilize, then hold. Give the rebuilt learning a clean window without resetting it. Edits, budget jumps, and audience swaps all re-trigger learning and waste the density you just bought.
  4. Watch the downstream rate, not just the event count. The failure mode is cart volume climbing while the cart-to-purchase rate silently decays — a sign you’re buying browsers, not buyers.
  5. Plan the step back up. Once purchase volume — fed by better-targeted delivery — is dense enough to support purchase optimization directly, migrate back. The bridge is scaffolding, not the building. Some accounts do stay on a mid-funnel event longer by design, but that should be a margin-justified choice, not an accident you forgot to revisit.

This kind of cross-event bookkeeping is exactly where an operator’s attention leaks, because the platform reports each event in isolation and never multiplies the chain for you. It’s the sort of thing Bach will surface — flagging when a cheaper optimization event is quietly drifting away from margin — but the logic is yours to own whether or not anything automates it.

When not to step down

The bridge is a fix for a volume problem, not a product problem. Don’t reach for add-to-cart optimization when:

  • Purchase volume is already dense enough to stabilize — switching down just adds a noisy intermediate signal and blurs your targeting.
  • Your cart-to-purchase rate is genuinely poor and unfixed — you’ll teach delivery to find efficient cart-abandoners, scaling a leak instead of patching it. Fix checkout first.
  • The real issue is creative or offer. A weak hook doesn’t get rescued by changing the optimization event; it just fails one funnel step earlier.

The takeaway

Stepping down from purchase to add-to-cart during the learning phase is a legitimate engineering move when rare purchases starve delivery of signal — but only if you keep your eyes on the right number. Cost-per-cart will always look better; it’s supposed to. Translate it through your cart-to-purchase rate into an effective CPA, hold that against contribution margin, and you’ll know whether you built an honest bridge out of Learning Limited or just made a leak run faster. Optimize for learnable density; judge by margin; step back up when the volume earns it.

See what your Meta ads are really costing you.

Connect your account and Bach ranks every revenue leak in minutes — each with the money it costs and a one-tap fix. Free for 7 days, no credit card.

Start Free Audit
Start your free audit