Promo ROI: Is Your Discount Making You Money?

Break-even lift: the extra unit volume a discount needs to hold gross profit climbs sharply as the discount deepens.

Key takeaways

  • Promo ROI = (incremental gross profit − promo cost) ÷ promo cost, where 100% is break-even and anything below it means the promo lost money.
  • Revenue during a promo isn’t revenue caused by it — you need a baseline to separate new orders from full-price sales you’d have made anyway.
  • A discount cuts margin faster than price, so a 20%-off sale at a 40% gross margin needs roughly double the unit volume to hold gross profit: extra units = discount ÷ (gross margin − discount).
  • When a discount is as deep as your gross margin or deeper, no amount of volume breaks even on contribution.
  • Broad public coupons cannibalize 20–60% of full-price sales; targeted offers cannibalize 10–25% — targeting is the difference between a profitable promo and a destructive one.

A sale that spikes revenue feels like a win. But revenue isn’t profit, and a discount cuts your margin faster than it cuts your price. Promo ROI is the number that cuts through the noise: it measures what a discount earned, not what it sold.

Run a 20%-off weekend and the dashboard lights up — orders double, revenue jumps, the promo looks like a hit. Then the month closes and profit is flat or down.

That gap is where most discounts live. The problem isn’t that promos can’t work; it’s that top-line revenue hides whether they did.

Get to the real answer and you can tell a promo that built profit from one that quietly gave it away, and size the next discount before you commit to it.

What is promo ROI?

Promo ROI is the incremental gross profit a promotion earned divided by what the promotion cost you, written as a percent. The formula is (incremental gross profit − promo cost) ÷ promo cost. At 100% you broke even; above it the promo made money; below it you paid to give product away.

The word that carries the whole calculation is incremental. The return isn’t the revenue that rang up while the sale ran — it’s the extra gross profit the promo caused on top of what you’d have earned anyway. Miss that distinction and every discount looks profitable, because there’s always revenue during a sale.

Three inputs get you to the real number: a baseline, the break-even lift, and the full cost of the promo. We’ll take them in order.

Why does revenue lie about a promo?

Revenue lies because it counts every order the same, whether the discount caused it or not. During a promo, your sales are a mix: new orders the deal genuinely created, and orders from shoppers who’d have bought at full price and happily took the markdown.

That second group is cannibalization, and it’s pure margin given away for sales you already had.

The fix is a baseline — what you’d have sold without the promo. Set it from your pre-promo run rate (the weeks before the sale) or, better, a holdout group that doesn’t see the offer.

Then the math is honest: incremental orders are total promo orders minus the baseline, and only the contribution margin on those incremental orders counts as the return.

How much cannibalization you carry depends on how you target. Broad, public codes pull the most full-price buyers into the discount; tight, targeted offers pull the fewest.

  • Broad public coupons: A sitewide code or a banner deal cannibalizes roughly 20–60% of full-price sales, because everyone already buying grabs it.
  • Targeted offers: A new-customer, abandoned-cart, or lapsed-buyer code cannibalizes closer to 10–25%, because it reaches people who weren’t about to buy at full price.

How much more do you need to sell to break even on a discount?

More than you’d think, because a discount comes straight off your margin, not your whole price. The volume you need to recover it follows one formula: extra units = discount ÷ (gross margin − discount).

A 20%-off sale at a 40% gross margin needs 100% more units — double the volume — to hold the same gross profit. The thinner your margin, the steeper the climb.

Table 1 — Extra unit volume needed to hold gross profit, by discount depth and gross margin

Discount 30% margin 40% margin 50% margin 60% margin
10% off +50% +33% +25% +20%
20% off +200% +100% +67% +50%
30% off never +300% +150% +100%
40% off never never +400% +200%

Read the “never” cells carefully: when the discount meets or exceeds your gross margin, no amount of volume breaks even on contribution, because you lose money on every unit sold. A 30%-off promo on a 30%-margin product can’t win on the math, however many orders it drives.

This is why deep discounts belong on healthy-margin items, and why knowing your gross margin per product is the first move before you set a discount. If the number surprises you, it’s worth revisiting how you price for profit so the margin can carry the promotions you want to run.

How do you calculate a promo’s ROI after it runs?

Once a promo ends, five steps turn the results into a real ROI. The goal is to isolate the incremental gross profit and weigh it against everything the promo cost.

  1. Set the baseline: the units and contribution you’d have earned in that window without the promo, from your pre-promo run rate or a holdout.
  2. Measure promo-period contribution: the units sold during the promo times the contribution per unit at the discounted price.
  3. Find the incremental gross profit: promo-period contribution minus the baseline contribution.
  4. Total the promo cost: the margin given up on cannibalized orders, plus ad spend and any fulfillment or shipping lift.
  5. Divide: (incremental gross profit − promo cost) ÷ promo cost, as a percent.

 

Here’s the pattern that catches operators out. The numbers below show a promo where revenue jumped by more than a third, yet the promo lost money once the baseline and the promo cost came out.

Table 2 — A 20%-off promo on a $50 product at a 50% gross margin

Line Baseline Promo
Units sold 200 340
Price per unit $50.00 $40.00
Contribution per unit $25.00 $15.00
Total contribution $5,000 $5,100
Incremental contribution $100
Promo cost (ads + fulfillment lift) −$300
Net promo profit −$200
Promo ROI −67%

Revenue climbed from $10,000 to $13,600, so the promo looked like a strong weekend. But 340 units at a $15 contribution barely cleared the $5,000 the baseline would have earned on its own, and the ad spend behind the sale turned a thin $100 gain into a $200 loss.

The tell is the contribution row, not the revenue row. If the ad spend is a big part of your promo cost, work out your break-even ROAS on the promo so you know the point where the ads stop paying for themselves.

How to plan a promo before you run it

The same math runs forward, which is where it earns its keep. Instead of grading a promo after the fact, size it first: pick a discount, read the lift it needs, and decide whether that lift is realistic for your audience and inventory.

  • Start from the break-even lift: Look up the extra volume your discount demands at your margin. If a 30%-off sale needs triple the units and your best week was up 40%, the promo is a loss before it starts.
  • Set a minimum ROI as a GO line: Decide the ROI a promo must clear to be worth running — then a projection under it is a no-go, not a maybe.
  • Target to cut cannibalization: A new-customer or abandoned-cart offer keeps full-price buyers out of the discount, so more of the volume is genuinely new.

Read the result: repeat, fix, or stop

A promo ROI is only useful if it changes what you do next. Sort every promo into one of four actions based on its ROI and the contribution it added, and your calendar starts to favor the sales that build profit instead of the ones that feel busy.

Table 3 — Turning promo ROI into a decision

ROI Contribution Action
50% or above Positive Repeat it — this is a winner
25–50% Positive Maintain the cadence, but tune depth or targeting
0–25% Positive but thin Pull a lever before running it again
Negative Negative Stop running it

One caveat sits outside the single-promo math. Discounting on a frequent, sitewide cadence trains shoppers to wait for the next sale and pulls in deal-seekers who don’t stick around, which drags your customer lifetime value over time.

A promo that scores a clean break-even today can still cost you if it’s teaching your best customers to stop paying full price. Weigh the pattern, not the one weekend, and date your benchmarks — discount norms and ad costs shift year to year.

Stop guessing whether your discounts pay

Every promo throws off a revenue number that makes it look successful. The one that matters is incremental contribution — what the discount added on top of the sales you’d have made anyway — set against everything the promo cost. Get that number and your discount calendar stops running on hope.

The Promo & Discount ROI Calculator separates baseline orders from promo orders, nets incremental gross profit against ad spend and fulfillment, and ranks every promo by ROI and tier, so you can see which sales to repeat and which to retire.

Before the next one, it solves for the break-even lift you’ll need to hit. It builds on the same contribution math behind how you price your products, so the promo and the list price tell one story.

Frequently asked questions

How do you calculate promotion ROI?

Divide the incremental gross profit by the promo cost: ROI = (incremental gross profit − promo cost) ÷ promo cost, as a percent. Incremental gross profit is the profit from orders the promo caused above your baseline, and promo cost includes the margin given up on cannibalized orders plus ad spend. Above 100% is profitable; below it, the promo lost money.

Does discounting hurt your brand?

It can. Frequent, deep, sitewide discounting trains shoppers to wait for the next sale and pulls in deal-seekers with lower repeat rates, which erodes full-price demand and customer lifetime value over time. Occasional, targeted promos on healthy-margin products carry far less of that risk; the damage comes from making discounts the default way customers buy.

What is a good promo ROI?

Anything above 100% is profitable, since that’s the break-even line, but the right target depends on the promo’s goal. A profit-focused sale should clear a comfortable positive ROI, while a new-customer acquisition promo might accept break-even or a slight loss up front, betting on the repeat purchases those customers bring later. Judge the number against what the promo was for.

Are discounts profitable?

Often they aren’t. By widely cited estimates, a majority of promotions fail to break even once cannibalization and the full promo cost are counted, because revenue masks the margin given away. Targeted, margin-aware discounts on healthy-margin products can profit, but a broad sitewide code on a thin-margin item rarely does.

Share the Post:

BEST VALUE

The Full Library

All 20 templates. Every category, every model.

The Full Template Library

Every operator-grade workbook in the catalog, priced as one purchase.

20 templates · both platforms · lifetime updates + new releases

Table of Contents