Why "price minus COGS" overstates your margin
Cost of goods sold is real, but it's rarely the only cost tied to a single sale. Shipping you pay (separate from what a customer is charged), payment processing fees, marketplace or referral fees, and the advertising spend that got the sale in the first place all reduce what you actually keep -- and none of them show up in a price-minus-COGS calculation. The result isn't wrong, exactly; it's answering a narrower question ("what's my markup over cost") than the one that actually determines whether a SKU is worth selling ("what do I keep after everything").
The five cost lines a complete per-SKU margin needs
- COGS -- what the unit itself costs you, landed.
- Shipping you pay -- the carrier cost, which may differ from what the customer was charged at checkout.
- Payment processing fee -- typically a percentage of the sale plus a small flat fee.
- Marketplace or referral fee -- a percentage taken by the platform the sale happened on; rates vary by category and change over time, so check your own current rate card rather than assuming a figure.
- Allocated ad spend -- the average cost of the advertising that drove the sale, not zero just because it's paid separately from the order itself.
A worked example
Say a SKU sells for $40, with COGS of $12 and shipping you pay of $6. Payment processing at 2.9% + $0.30 works out to $1.46. Say your marketplace's referral fee for this category comes to 12% of the sale price -- $4.80. Say average allocated ad spend per unit is $3.00.
Naive margin: (40 − 12) ÷ 40 × 100 = 70%.
Real contribution margin: 40 − 12 − 6 − 1.46 − 4.80 − 3.00 =
$12.74, or 12.74 ÷ 40 × 100 = 31.9%.
The gap between 70% and roughly 32% is the entire point -- every number here is illustrative (your own rate card, carrier costs, and ad efficiency will be different), but the structure of the gap is real for most sellers who've only ever calculated the naive version.
Per-SKU ranking: margin percentage isn't the same question as total profit
A SKU with a lower margin percentage but much higher sales volume can contribute more total profit than a SKU with a higher percentage and low volume. Continuing the example above: if that $12.74/unit SKU sells 500 units a month, it contributes $6,370 in total profit. A second SKU at a fatter 55% margin -- say $22/unit -- but only 40 units a month sold contributes $880. Ranked by percentage, the second SKU wins. Ranked by what it actually adds to the bottom line, the first one wins by a wide margin. Deciding which SKUs to promote, restock, or discontinue on percentage alone is a common way to optimize for the wrong number.
Handling returns without silently inflating margin
A margin calculated only from completed sales quietly overstates profitability if a meaningful share of units come back -- a return usually costs more than the lost revenue alone, once return shipping and restocking (and sometimes an item that can't be resold at all) are counted. Rather than assuming an industry-typical return rate, the more reliable approach is tracking your own actual return rate per SKU and building a return-adjusted contribution margin from your own numbers, since return rates vary enormously by category and can't be honestly generalized.
Allocating ad spend instead of treating it as overhead
Ad spend paid to a platform separately from any individual order is real money spent to generate that order, even though it doesn't appear on the order itself. Treating it purely as company-wide overhead (rather than allocating it back to the SKUs it drove sales for) hides which specific products are actually profitable once the cost of acquiring the sale is counted. A simple starting allocation -- total monthly ad spend divided by total units sold that month, applied evenly across SKUs -- is a reasonable approximation if your ad platform doesn't report per-SKU attribution directly; a more precise per-SKU figure, when available, is better still.
Keeping the calculation from going stale
A margin calculation done once at launch quietly stops matching reality as carrier rates change, marketplace fee tiers shift, or a supplier reprices. Because none of those changes are visible from the storefront side, they're easy to miss until a margin that used to be healthy has quietly eroded. Revisiting the full per-SKU cost stack on a set cadence -- monthly or quarterly, not just once a year -- is what catches that drift while it's still small.