> ## Content Index
> Fetch the complete content index at: https://conversion.club/llms.txt
> Use this file to discover other available public pages before exploring further.

# How Do You Calculate the Contribution Margin of an Order?
- URL: https://conversion.club/playbook/how-do-you-calculate-the-contribution-margin-of-an-order/
- Published: 2026-10-01T20:46:33.000Z
- Updated: 2026-10-19T20:26:01.000Z
- Description: Take the sale price before tax and subtract everything the order costs you because it exists: products, payment, fulfillment, shipping, its share of returns, and the ad spend that brought it in.
- Author: Jeremie Werner
- Tags: Protect margin, #playbook, Analytics

Take the sale price before tax and subtract everything the order costs you because it exists: products, payment, fulfillment, shipping, its share of returns, and the ad spend that brought it in. 

What's left pays your [fixed costs](https://conversion.club/playbook/what-does-an-e-commerce-p-l-look-like/), and it's often less than your dashboard shows.

---

## The benchmark

Here are two made-up orders. Redo them with your own numbers. Payment fees follow the Shopify Payments rate on the Basic plan for a European card: 1.5% plus €0.25, applied to the tax-inclusive amount the card is charged.

| Line item                                                                                                                   | Order at €80 excl. tax | Order at €30 excl. tax |
| --------------------------------------------------------------------------------------------------------------------------- | ---------------------- | ---------------------- |
| Basket excluding tax                                                                                                        | €80.00                 | €30.00                 |
| Cost of products                                                                                                            | €28.00                 | €10.50                 |
| Payment fees                                                                                                                | €1.69                  | €0.79                  |
| Fulfillment and shipping                                                                                                    | €7.00                  | €7.00                  |
| [Returns provision](https://conversion.club/playbook/how-much-does-a-return-really-cost/)                                   | €3.00                  | €1.10                  |
| Margin before acquisition                                                                                                   | €40.31                 | €10.61                 |
| [Acquisition cost](https://conversion.club/playbook/how-much-does-my-acquisition-cost-drop-if-my-conversion-rate-rises-10/) | €18.00                 | €18.00                 |
| Contribution margin                                                                                                         | €22.31                 | −€7.39                 |

All these items get filed under variable costs, yet several of them don't move with the basket amount. 

The box, the fulfillment, the carrier and the fixed 25 cents of the payment fee cost the same on a €30 order as on an €80 order, and the ad platform doesn't check your receipt before billing the click. 

So the small order carries almost the same shipping costs, with revenue nearly three times lower to cover them.

The authors came across this case at a brand they work with, which sells small accessories with an average basket under €30 excluding tax. 

While preparing a test on its free shipping threshold, they found that the most natural combination in the catalog fell twenty cents below the threshold. 

And their own test sheet included the instruction given here: enter the cost of products in Shopify first. Otherwise they would have judged the threshold on revenue, with no idea whether lowering it would make or lose money.

---

## The rule

Decide [your promotions](https://conversion.club/playbook/what-does-a-promotion-really-earn-you-margin-included/), [your free shipping](https://conversion.club/playbook/what-should-your-free-shipping-threshold-be/) and your ad budgets based on [the last line](https://conversion.club/the-prism-a-framework-that-takes-cro-beyond-the-funnel/) of the table, in euros per order and per basket tier. Gross margin rate is reassuring in meetings, but [contribution margin is what pays the salaries](https://conversion.club/playbook/how-do-i-connect-my-site-to-my-p-l/).

---

## The steps

1. Costs per order. List them with their source, whether it's the carrier's invoice or the payment provider's statement.
2. Cost of products. Fill in the "Cost per item" field for every variant in Shopify, because margin reports only count sales whose cost was entered at the time of sale.
3. Returns provision. Calculate it from your actual return rate, adding return shipping and restocking to the refund.
4. [Basket tiers](https://conversion.club/playbook/how-do-you-build-a-bundle-that-raises-order-value-without-cutting-your-margin/). Redo the table for three tiers, for example under €40, €40 to €80, and above.
5. Channels. Redo it by acquisition channel, since an order that came from an email cost almost nothing in advertising.
6. The sentence for leadership:

> "Our orders under €40 lose us €X each once the ads are paid for, and [here is the free shipping threshold](https://conversion.club/playbook/should-you-offer-split-or-charge-for-shipping/) that brings them back to break-even."

---

## The trap

First, there's the average. Your average order is profitable, great, but [your small baskets shipped for free](https://conversion.club/how-to-optimize-your-e-commerce-cart-the-complete-audit/) and acquired through ads may be losing money on every shipment, and the average dilutes them among the big ones.

Then the tool adds its own blind spot. Shopify calculates its gross margin only on sales whose cost was entered, and files the others separately in the finance report. 

On a half-filled catalog, the displayed rate therefore covers only part of your sales. Before quoting it to your bank, check what share of revenue it covers.

#### Sources

- [Shopify pricing, Shopify Payments fees by plan (Shopify France)](https://www.shopify.com/fr/pricing?ref=conversion.club)
- [Profit reports, cost per item (Shopify Help Center)](https://help.shopify.com/en/manual/reports-and-analytics/shopify-reports/report-types/default-reports/profit-reports?ref=conversion.club)
- [Finances report, gross profit breakdown (Shopify Help Center)](https://help.shopify.com/en/manual/reports-and-analytics/shopify-reports/report-types/default-reports/finances-report?ref=conversion.club)