Promo Doctor logoPromo Doctor
← All guides

· Promo Doctor

How to Calculate Profit Per Discount Code (Step-by-Step)

Profit per discount code, discount code ROI, and a practical formula — plus the mistakes that make spreadsheets lie.

If you want profit per discount code — real discount code ROI, not dashboard theater — you need one coherent definition and the same math applied to every code. Here is how I do it when I walk founders through their first export. If the “why” is still fuzzy, start with are your promo codes losing you money? — same story, different table.

Step 1: Pick your “profit” lane

Full absorption costing belongs to finance. For operators, I use contribution after discount: money left after the customer paid, minus discounts, minus the variable cost of goods (and optionally payment fees). Consistency beats pretending the spreadsheet is GAAP.

Core formula (per code, over a period)

Net sales (after discounts) = Gross − Total discounts attributed to that code
Estimated contribution = Net sales − COGS − (optional: refunds, shipping subsidy, fees)
Discount ROI (rough) = Estimated contribution ÷ Discount dollars given

Step 2: Aggregate at order level, then roll up by code

Do not average percentages across orders — sum dollars. For each order line with a code, capture discount amount, net paid, and your COGS assumption. Then group by code. That is how you calculate promo code profitability without double-counting.

Worked micro-example

Orders (code SPRING15)Net after discountDiscount givenCOGS @ 38%Contribution
Order batch A (10 orders)$4,200$740$1,596$1,864
Order batch B (10 orders)$3,800$1,100$1,444$1,256
Total SPRING15$8,000$1,840$3,040$3,120
ROI read

Contribution $3,120 ÷ Discount $1,840 ≈ 1.7× — every dollar of discount returned about $1.70 in contribution before fixed costs. Track that ratio by code; when it collapses, your sale is buying revenue, not profit.

Common mistakes

  • Using gross sales as the numerator — inflates every code that runs on high list prices.
  • Ignoring returns — a “profitable” code can flip when refunds cluster.
  • One blended COGS for everything — better than nothing; wrong for mixed-margin catalogs, but still exposes extreme outliers.

Shortcut

You can build the sheet — or you can upload the CSV and let tooling roll the same logic across every code so you are not hand-pivoting at midnight. If your gut says the top revenue code is the hero, sanity-check it against contribution per dollar of discount before you scale it.

Or just upload your CSV. We built Promo Doctor to run this roll-up for Shopify merchants without spreadsheet surgery.

More guides · Revenue vs profit on codes