Contribution Margin for Ecommerce: The Number That Actually Tells You If You Are Making Money
You check your Shopify dashboard and see a 55% gross margin. That sounds healthy. But then you look at your bank account and the balance barely moved after a strong sales month.
The reason is that gross margin is not the full picture. It only subtracts what it costs to make or buy your product. It does not include the money you spent getting that product to a customer, or the ads you ran to bring that customer to your store in the first place.
Contribution margin is the number that fills in those gaps. It is what you actually keep from each sale after paying for the product, shipping it, and advertising to get the order. It is the closest number most store owners will ever get to "did I actually make money on that sale?"
What Contribution Margin Means in Plain Language
Think of every sale as a series of costs that come out before you see any profit.
First, you pay for the product itself. Whether you manufacture it or buy it wholesale, there is a cost per unit. Then you ship it to the customer, which costs money even if you offered free shipping. Then you pay for the ads that brought that customer to your store. Each of those costs comes directly out of the price the customer paid.
What is left after those three costs is your contribution margin. It is the amount each sale contributes toward your fixed costs, like software, salaries, and rent, and eventually toward your profit.
If your contribution margin is negative, you are losing money on every order before you even count your overhead. If it is positive but small, a small increase in ad costs or shipping rates can wipe it out entirely.
A Real Example: The $50 Product
Here is how this plays out on a single order for a product that sells for $50.
| Cost | Amount |
|---|---|
| Selling price | $50.00 |
| Cost of goods (product cost) | $15.00 |
| Shipping to customer | $7.00 |
| Ad spend per order | $12.00 |
| Contribution margin | $16.00 |
Your contribution margin is $16, which is 32% of the $50 selling price. That 32% is called your contribution margin rate.
Now look at what your gross margin would show. Gross margin only subtracts the cost of goods from revenue.
| Selling price | $50.00 |
| Cost of goods | $15.00 |
| Gross margin | $35.00 (70%) |
Gross margin says you kept 70 cents of every dollar. Contribution margin says you kept 32 cents. The real number is 32 cents. The other 38 cents went to shipping and ads, costs that gross margin completely ignores.
Why Gross Margin Alone Lies to You
Gross margin was designed for traditional retail where you make a product, put it on a shelf, and wait for customers to walk in. In that world, advertising and delivery are not tied to individual sales the same way.
Ecommerce works differently. Every order you get almost certainly required you to spend money on ads to find that customer, and then spend money on shipping to fulfill it. Those costs are just as real as the product cost itself.
When you report a 70% gross margin, you might feel like your business is highly profitable. But if you are spending 15% of revenue on shipping and 25% on ads, your actual margin per sale is closer to 30%. That is a very different business than what the gross margin number suggests.
The practical danger is that business owners make decisions based on gross margin. They increase ad spend because margins look wide enough to absorb it. They offer free shipping because 70% gross margin seems like plenty of room. Both decisions look safe on paper but erode contribution margin until there is nothing left.
How to Calculate Contribution Margin Per Product, Per Channel, and Per Order
Per Product
Start at the product level. For each product you sell, calculate:
Contribution margin per unit = Selling price - Cost of goods - Average shipping cost - Average ad spend to acquire one order
The average ad spend per order is sometimes called cost per order or cost per purchase. You can find it in your ad platform by dividing total ad spend by the number of orders that came from those ads.
If you sell multiple products, calculate this separately for each one. You will almost certainly find that some products have healthy contribution margins and others are barely breaking even or losing money.
Per Channel
The same product can have very different contribution margins depending on where it is sold.
A product sold through your Shopify store, where you run Meta ads, might have a $12 ad spend per order. The same product sold through Amazon might have no ad cost but a 15% referral fee plus fulfillment fees. A product sold through a wholesale partner might have no shipping or ad cost but a much lower selling price.
Calculate contribution margin separately for each channel. This tells you which channels are actually profitable and which ones only look profitable because they hide their costs in a different line item.
Per Order
Order-level contribution margin is useful for identifying patterns. Large orders might have better margins because shipping costs do not scale as fast as order value. Orders from returning customers often have better margins because you did not have to spend on ads to acquire them. Orders that came from email campaigns might have near-zero ad cost.
When you can see contribution margin at the order level, you start to understand which types of customers and which types of orders are actually profitable for your business.
The 30% Benchmark and When to Worry
A commonly cited target for ecommerce contribution margin is 30% or higher. This means that after paying for your product, shipping, and ads, you keep at least 30 cents of every dollar in sales.
That 30% needs to cover your fixed overhead: software, team salaries, warehouse rent, accounting, and everything else that does not change with each order. If your overhead runs 15% of revenue, a 30% contribution margin leaves you with 15% net profit. If your overhead is higher, you need a higher contribution margin to stay profitable.
When to worry:
- Below 20%: Your overhead has very little room. One bad month of ad performance or a shipping rate increase can put you in the red.
- Below 10%: The business model is under serious stress. You need to either raise prices, cut ad spend, reduce fulfillment costs, or find a cheaper cost of goods.
- Negative: You are paying to ship orders. Every sale makes things worse. This sometimes happens on discounted products or through certain channels, but it should never be your average.
If your contribution margin drops, the first step is to identify which cost increased. Was it ad spend? Did shipping rates go up? Did your supplier raise prices? The answer tells you where to act.
How Nummbas Calculates This Automatically
The hard part of tracking contribution margin is that the numbers live in different places. Your product cost is in your accounting software. Your shipping costs are in your shipping carrier dashboard or your 3PL system. Your ad spend is split across Meta, Google, TikTok, and wherever else you advertise.
Pulling all of that together manually takes hours, and by the time you finish, the numbers are already a week old.
Nummbas connects to your store, your ad platforms, and your shipping data, then calculates contribution margin automatically, per product, per channel, and across your whole business. You do not have to open five different dashboards or build a spreadsheet formula. The number is just there, updated daily.
More importantly, you can see it trend over time. If your contribution margin was 35% last month and is 27% this month, Nummbas shows you which cost changed and by how much. You can act on that information in real time rather than discovering it when you do your monthly bookkeeping.
What to Do with the Number
Contribution margin is not just a metric to watch. It is a decision-making tool.
When you are thinking about running a promotion or a discount, look at what it does to contribution margin. A 20% discount on a product with a 32% contribution margin rate drops your margin to roughly 12%. If your overhead is 15%, that promotion loses money on every order.
When you are evaluating a new ad channel, track the cost per order from that channel and calculate the contribution margin it produces. A channel with a lower return on ad spend might still be profitable if its cost per order is low enough.
When a supplier raises prices, you can immediately see how much contribution margin you lose and whether you need to raise your selling price to compensate.
Revenue tells you how much you sold. Gross margin tells you how much you kept before marketing. Contribution margin tells you how much you kept after running a real ecommerce business. Track it, and you will make better decisions at every turn.