Every store owner asking this wants a single number to aim at. There isn't one — and the pages that hand you "$1 to $2 is good" are quietly skipping the only variable that decides it: your contribution margin.
This guide gives you the benchmarks, then shows you the math that turns a vague benchmark into a real target you can manage your ad account against.
What "cost per result" actually measures
Cost per result is total spend divided by the number of the result you optimized for. The "result" is whatever you told Meta to chase in the ad set — a purchase, a lead, an add-to-cart, a link click, a video view.
That matters because the same campaign shows a different "cost per result" depending on the objective. A purchase result costs far more than a video-view result, so comparing the two is meaningless.
For an operating store, the result that pays the bills is almost always purchases — so when you ask "is my cost per result good," you're really asking "is my cost per purchase below my per-order profit." That's the question this answers. (If you also track return on spend, the companion read is what counts as a good ROAS for Facebook ads.)
The benchmarks — and why they're a starting line, not a target
Benchmarks are useful for one thing: telling you whether your numbers are in a sane ballpark or wildly off. They cannot tell you whether a specific cost per result is profitable for your store, because they don't know your margin.
Here's where the published 2026 numbers land for ecommerce sellers:
- Cost per purchase (purchase-optimized campaigns): in Triple Whale's ecommerce dataset the median ran roughly $38.99 against a 1.88x ROAS, with CPM near $15.06 and an average order value around $73.36, as compiled in Coupler.io's 2026 Facebook ads benchmark roundup.
- Cost per lead (lead-gen campaigns): about $27.39 on average, per WordStream by LocaliQ data in the same roundup.
- Cost per click (traffic campaigns): about $0.60, also from WordStream by LocaliQ.
- Blended cost per purchase across all account types sat near $17.04 at a 3.16x ROAS in Databox's figures within that roundup.
Notice the spread: a "good" cost per purchase is under twenty dollars in one dataset and near forty in another. That range is the point — the number is downstream of your price, your margin, and your objective, not a universal constant.
So use benchmarks to catch disasters, then throw them out and build your own target.
The only benchmark that matters: your break-even
Your break-even cost per result is the per-order profit you have before ad spend. Spend less than that to acquire the order and you profit; spend more and you lose money, no matter what the industry average says.
The clean identity is arithmetic: break-even ROAS = 1 ÷ contribution margin, where contribution margin is the share of revenue left after the variable cost of the goods. The per-order version is even simpler — your break-even cost per purchase equals your gross profit per order.
Worked example — walk the math
Say you run a print-on-demand store averaging 340 orders a month at a $42 AOV, with $2,800/month in Meta spend.
Your variable cost per order: Printify base plus shipping at $19, payment and transaction fees around $2. That's $21 in variable cost on a $42 order.
- Contribution margin: ($42 − $21) ÷ $42 = 50%
- Break-even ROAS: 1 ÷ 0.50 = 2.0x
- Break-even cost per purchase: $42 − $21 = $21
So for this store, any cost per purchase under $21 is "good" in the strict sense — it makes money on the order. But $21 leaves nothing for overhead or profit, so set your real target below it.
A common practitioner buffer is to target break-even times 1.3 to 1.5. Here that's a target cost per purchase of roughly $14 to $16, which throws off real profit per order while still leaving room to scale. Your actual cost per purchase this month: $2,800 ÷ (new-customer orders) — compare that to $14–$16, not to a blog's benchmark.
This is why the underlying ad economics matter more than any single benchmark: raise your AOV or trim that variable cost and your "good" number moves on its own, before you touch the ad account.
Why your cost per result drifts up (and what to check)
A rising cost per result has a few usual causes, and the fix depends entirely on which one it is.
The market got more expensive. If your CPM climbed while your click-through and conversion rates held flat, that's auction density — more advertisers bidding, common around Q4 and sale events. It's external, not a flaw in your ad. Understanding what drives Meta's CPM tells you whether to wait it out or widen your audience.
Your creative decayed. If click-through is falling as frequency rises on the same creative, the audience has seen it too often and it no longer stops the scroll. That shows up as a higher cost per result because CPM rises when relevance drops.
You reset the learning phase. Each ad set re-enters learning after a significant edit and needs roughly 50 optimization events within a 7-day window to stabilize, per Meta's Business Help Center. Below that, delivery stays unstable and cost per result is volatile and usually higher.
Measurement broke. If your pixel or Conversions API drops events, Meta undercounts purchases and your reported cost per result spikes even though real-world sales were fine. Reconcile platform-reported orders against your actual store revenue before blaming the campaign.
How to bring cost per result down
You have two levers, and the second is the one most store owners ignore.
Lever one — spend efficiency. Consolidate fragmented ad sets so each clears the ~50-event threshold, refresh creative before it fatigues, and verify tracking is firing. These lower what you pay per result.
Lever two — raise the bar the result has to clear. Lift your AOV with bundles or a post-purchase upsell, or trim variable cost, and your break-even cost per result rises — which means a cost per purchase that was unprofitable yesterday becomes "good" today, with zero change to your ads. This is the lever the benchmark articles never mention, and it's usually the bigger win.
Both require one thing first: knowing your true per-order profit, supplier cost and fees included — not revenue, not ROAS.
That's the work PodVector AI's Victor does. Victor is a senior AI employee who connects your Shopify store, Meta Ads, Google Ads and your Printify, Printful or Gelato catalog, computes the true profit on every order, and acts on it inside the ad account — he pauses the ad set whose cost per purchase runs past your margin, shifts budget to the one clearing it, and reprices the thin-margin SKUs dragging your break-even down. He knows your product cost before the first sale, so the break-even math above is live from day one. See what that looks like for your store at app.podvector.ai.
FAQs
Is a good cost per result the same as a good CPA?
For a purchase-optimized campaign, essentially yes — your cost per result is your cost per acquisition when the optimized result is a purchase. The term "cost per result" just generalizes it to whatever objective you set, so a lead campaign's cost per result is its cost per lead.
What's a good cost per purchase for a Facebook ad?
Any amount below your gross profit per order. Benchmarks put the ecommerce median near $38.99 in Triple Whale's dataset, but a $40 cost per purchase is a disaster at a $25 margin and a win at a $60 margin — run your own break-even first.
Why is my cost per result so much higher than the benchmark?
Usually one of four things: a more expensive auction (CPM up), creative fatigue (click-through down), a reset learning phase, or broken tracking inflating the reported number. Check CPM, frequency, delivery status and pixel health in that order before changing budgets.
Does a lower cost per result always mean a better campaign?
No. A cheap cost per result on a low-value result — cheap clicks, cheap video views — can attract people who never buy. Optimize for the result that actually drives revenue, and judge its cost against your margin, not against how low it looks.
How do I lower cost per result without hurting sales?
Fix the mechanics first: consolidate ad sets to exit learning, refresh fatigued creative, confirm tracking. Then raise your AOV or margin so the same cost per result clears a higher bar — that improves profitability without touching spend at all.