Contribution Margin Calculator

Work out CM1, CM2 and CM3 per order to see what each sale really leaves after product, fulfilment and marketing costs.

Describe the result you need. AI will set up the tool and ask for any missing details.

Configure with AI

Enter to submit · Shift + Enter for a new line

Sent to AI. Leave out passwords and private customer data.

Your numbers

Revenue per order

After discounts, before tax.

$
$

Share of revenue refunded.

%
Product and fulfilment
$
$
$
$
%
$
Marketing

Ad spend divided by orders (blended CAC per order).

$
orders

Your result · updates as you type

Contribution margin after marketing (CM3)

$18.29 per order

23.4% of net revenue. Across 1,000 orders that's $18,293 a month towards fixed costs and profit.

CM1: after product cost
$50.20 · 64.2%
CM2: after fulfilment
$36.29 · 46.4%
CM3: after marketing
$18.29 · 23.4%

Orders pay for themselves after marketing. Compare CM3 against your monthly fixed costs to see how far you are from profit.

Where each order's money goes
Net revenue
$78.20
CM1
$50.20
CM2
$36.29
CM3
$18.29

Breakdown

Order value + shipping charged
$83.00
Refunds and returns
−$4.80
Net revenue
$78.20
Product cost
−$28.00
CM1
$50.20
Shipping, pick and pack, packaging
−$11.20
Payment fees
−$2.71
CM2
$36.29
Marketing
−$18.00
CM3
$18.29

CM1, CM2 and CM3 explained

Contribution margin is what an order leaves after the costs that come with it. Direct-to-consumer brands split it into three levels, so you can see which kind of cost is squeezing profit.

LevelWhat's subtractedWhat it tells you
CM1Product cost (COGS)Whether the product itself is priced well
CM2Shipping, pick and pack, packaging, payment feesWhether the order is profitable to fulfil
CM3Marketing cost per orderWhether the order pays for itself after acquisition
CM3 = net revenue − product cost − fulfilment and payment costs − marketing per order
Net revenue here is order value plus shipping charged, minus refunds and returns.

Where to find the numbers

  • Average order value and refunds: Shopify's Analytics → Reports (Sales over time, Returns) or WooCommerce's Analytics → Revenue.
  • Product cost: Shopify's Cost per item field feeds the Gross profit report. In WooCommerce you'll need a cost-of-goods plugin or your own spreadsheet.
  • Payment fees: your processor's rate, e.g. Shopify Payments or Stripe. The payout reports show the real total.
  • Marketing per order: total ad spend for the month divided by total orders. Use all orders, not just ad-attributed ones.

Improving contribution margin

  1. 01

    Raise order value first

    Bundles, thresholds and cross-sells spread fixed per-order costs (shipping, packing, fees) over more revenue.

  2. 02

    Then product cost

    Supplier renegotiation and minimum order quantities move CM1 on every order.

  3. 03

    Then fulfilment

    Right-size boxes to avoid dimensional weight charges, and compare carriers on your actual parcel mix.

  4. 04

    Marketing last

    Cutting ad spend improves CM3 today but can shrink next month's revenue. Judge it against MER and repeat purchase value.

Questions people ask

What's the difference between contribution margin and gross margin?

Gross margin only subtracts product cost, so it equals CM1. Contribution margin keeps going and subtracts every variable cost of an order, which is why a product with a healthy gross margin can still lose money per order.

What's a good CM3?

It depends on how often customers come back. Some brands accept a negative CM3 on first orders because repeat orders (with no acquisition cost) make it back. If customers rarely return, you need a positive CM3 on the first order.

Should fixed costs like staff and software be included?

No. Contribution margin covers costs that rise with each order. Fixed costs are what the total contribution has to pay for; whatever's left after them is profit.

How do refunds affect the result?

The calculator treats refunds as lost revenue while the product cost is still spent, which is the cautious view. If most returned items go back on sale, your real CM will be a little higher.

Want this builtinto your store?

I'm Emmanuel, a Shopify and WooCommerce developer. If this tool pointed at something you'd rather have fixed for you (a faster store, cleaner product data, a migration, a custom feature), send me a note.

Emmanuel Asika

Emmanuel Asika

Shopify & WooCommerce developer, Dublin

I build and fix online stores: new builds, migrations, speed, SEO and the custom bits apps can't do.

hello@emmanuelasika.com

Last reviewed 29 September 2026.