Ask an e-commerce seller if their products are profitable and most will say yes. Ask them to prove it with all-in unit economics per SKU and most cannot. The gap between what sellers think they make and what they actually make is where margin leaks silently drain a business.
The problem with "back-of-napkin" margins
The most common margin calculation in e-commerce is: selling price minus product cost minus shipping. This gives you a rough gross margin, and it is almost always too optimistic. Here is why:
A typical direct-to-consumer product has at least eight variable cost components. Most sellers track two or three. The rest get buried in monthly overhead and never attributed to the products that generate them.
| Line Item | Naive Calc | True Unit Economics |
|---|---|---|
| Selling price | $35.00 | $35.00 |
| COGS | ($12.00) | ($12.00) |
| Shipping label | ($5.50) | ($5.50) |
| Pick & pack labor | — | ($1.80) |
| Packaging materials | — | ($0.65) |
| Payment processing (2.9% + $0.30) | — | ($1.32) |
| Refund cost (5% rate × unit cost) | — | ($1.75) |
| Return shipping (5% × $5.50) | — | ($0.28) |
| CAC allocation | — | ($4.80) |
| Margin per unit | $17.50 | $6.90 |
| Margin % | 50.0% | 19.7% |
In this example, the naive calculation suggests a 50% margin. The true unit economics show 19.7%. That is not a rounding error — it is a 30+ percentage point gap that can mean the difference between a growing business and one that is slowly bleeding cash.
The hidden costs most sellers miss
Let's break down the commonly missed costs in detail.
1. Pick, pack, and handling labor
Whether you fulfill in-house or use a 3PL, there is a per-unit cost to pick the product from a shelf, pack it into a box, and hand it to a carrier. 3PLs charge this explicitly (typically $1.50–$3.00 per order). If you fulfill yourself, calculate your warehouse labor cost per unit — it is real even if you are the one doing it.
2. Packaging materials
Boxes, poly mailers, tissue paper, branded inserts, tape, and dunnage all cost money. A branded unboxing experience might cost $0.50–$2.00 per order. At 1,000 orders per month, that is $500–$2,000 per month that never shows up in COGS.
3. Payment processing fees
Stripe charges 2.9% + $0.30. Shopify Payments is similar. PayPal can be higher. On a $35 item, that is roughly $1.32. At scale, processing fees often exceed shipping costs.
4. Refund and return costs
If your refund rate is 5%, then for every 100 units sold, you eat the full cost on 5 of them. Worse, you often pay return shipping too. The formula:
Refund Cost Per Unit Sold
Refund Cost = Refund Rate × (COGS + Fulfillment + Return Shipping)
At a 5% refund rate with $18 COGS, $6.50 fulfillment, and $5.50 return shipping, that is 0.05 × $30.00 = $1.50 per unit sold — absorbed across all sales, not just the returned ones.
5. Customer acquisition cost (CAC)
This is the biggest and most commonly unallocated variable cost. If you spend $5,000 per month on Facebook and Google ads, that cost needs to be attributed to the products it helped sell. Not in aggregate — per SKU.
How to allocate CAC per SKU
There are three common approaches, from simple to precise:
Revenue-weighted allocation
Divide total ad spend proportionally by each SKU's share of total revenue. Simple and directionally useful, but treats all products as equally expensive to sell.
Unit-weighted allocation
Divide total ad spend by total units sold, then assign the same per-unit CAC to every product. Fairer than revenue-weighted if your products are similarly priced, but inaccurate if your product mix varies widely.
Campaign-attributed allocation
Map ad spend to specific product campaigns and attribute CAC based on which ads drove which sales. This is the most accurate, but requires campaign-level tracking and analytics infrastructure.
| SKU | Units/mo | CAC/unit | Total CAC | % of spend |
|---|---|---|---|---|
| Starter Kit | 200 | $4.80 | $960 | 19.2% |
| Pro Bundle | 120 | $8.00 | $960 | 19.2% |
| Refill Pack | 500 | $3.08 | $1,540 | 30.8% |
| Gift Set | 80 | $19.25 | $1,540 | 30.8% |
Notice how the Gift Set — with fewer units sold — absorbs a disproportionate amount of ad spend per unit ($19.25 CAC vs. $3.08 for the Refill Pack). Revenue-level reporting hides this. Per-SKU unit economics reveal it.
Seeing the full picture
Once you have all variable costs accounted for, you can visualize exactly where each dollar of revenue goes:
The funnel narrows with each cost layer. What started as $35 in revenue becomes $6.90 in contribution margin — the actual amount available to cover fixed costs and generate profit.
What to do with this information
Rank your SKUs by contribution margin
Sort your products by per-unit contribution margin, not revenue. You will likely find that your highest-revenue product is not your most profitable one. Double down on the winners and investigate the losers.
Set a CAC ceiling per product
Your maximum profitable CAC is your contribution margin before CAC. If a product yields $11.70 after all costs except acquisition, you cannot spend more than $11.70 to acquire the customer and remain profitable. Set per-product CAC limits in your ad platforms.
Model the impact of cost changes
With true unit economics in hand, you can model scenarios: "What happens to my margin if COGS increases 10%?" or "What if I reduce CAC by 20% through better targeting?" Each lever is quantified, so the answer is no longer a guess.
Kill or fix unprofitable SKUs
Some products look profitable on a gross margin basis but are contribution-negative once all variable costs are included. You have three options: raise the price, reduce costs, or discontinue the product. All three are better than continuing to sell at a loss.
Automate your unit economics
Manually calculating all-in unit economics for every SKU is tedious and error-prone. MarginCaptain automates this — enter your product costs once and get a full contribution waterfall per SKU, with CAC allocation, refund rate modeling, and scenario analysis built in.
If you are still tracking margins in a spreadsheet, try the interactive demo to see how much easier per-SKU unit economics can be.