Profitability · Practical guide

E-commerce contribution margin: a product and channel example

Subtract the defined product and channel costs from net sales to see what remains for overhead. Compare amounts and percentages under the same rules before changing a price, channel or advertising budget.

Contribution shows what remains to cover overhead

Contribution margin is sales less variable costs. Contribution margin ratio = contribution ÷ sales. Define the included costs before comparing results, because product reports can use different cost and allocation boundaries.

This report uses net sales after discounts and refunds, less COGS, channel/payment fees, fulfilment including return handling, and allocated acquisition cost. It is a management contribution measure. Fixed operating expenses sit below it.

Use one period, currency and product/channel key. A percentage based on gross sales or missing acquisition cost cannot be compared directly with the definition used here.

1. Collect sales and costs under the same rules

Join the sales record to product cost, channel charges, logistics and acquisition spend. Retain the source totals and explain how shared charges are allocated. Begin with one row that you can trace all the way back to its records.

Check discounts and refunds at the gross-to-net stage. Use the cost of the inventory sold during the period, with the applicable treatment of returns, rather than supplier cash paid in that month.

List every cost once. If return handling is included in fulfilment, keep the separate return-handling row at zero. If an export already reports net receipts, recover the underlying sales and deductions before constructing a contribution calculation.

Scroll horizontally if needed to see all columns.

Product/channel inputs and the duplication check for each cost.
Cost or deductionInput to verifyDuplication risk
Discounts and refundsProduct/order detail, refund period and sign conventionSubtracting a refund from both revenue and costs
COGSUnits sold and supported inventory costUsing both stock purchased and stock sold as expenses
Platform/payment feesTransaction or settlement fee detail and attributionSubtracting fees already included in another cost row
Fulfillment and returnsShipping/handling records, return logistics and allocationAdding return handling when already included in fulfillment
Ads and affiliatesPeriod spend, commission records and documented allocationTreating attributed sales as causal proof of incremental demand
OverheadFixed operating costs kept below contributionAllocating overhead into some channels but not others

2. Follow one product from gross sales to contribution

Hero serum on Shopify DTC starts with $108,000 gross sales. After $6,000 discounts and $5,600 refunds, net sales are $96,400.

Subtract $34,000 COGS, $2,600 fees, $7,200 fulfilment and $16,000 acquisition cost. Contribution is $36,600, or 38% of net sales. The table carries the balance through each deduction so that the row can be reproduced.

The full product table uses the same definition for every row. The useful next question is which cost or channel difference drives the result, rather than whether the largest sales row is automatically the best use of the next dollar.

Scroll horizontally if needed to see all columns.

Hero serum on Shopify DTC · September 2026 · USD. Running balance after each sales deduction and cost.
StepSigned changeRunning amount
Gross product sales$108,000$108,000
Less discounts−$6,000$102,000
Less refunds: net sales−$5,600$96,400
Less COGS−$34,000$62,400
Less platform/payment fees−$2,600$59,800
Less fulfillment, including return logistics−$7,200$52,600
Less allocated ads/affiliates: contribution−$16,000$36,600

Scroll horizontally if needed to see all columns.

Contribution example · September 2026 · USD
Product / channelNet salesCosts before acquisitionAcquisitionContributionCM %
Starter bundle
Shopify DTC
54,20022,6007,80023,80043.9%
Hero serum 30 ml
Shopify DTC
96,40043,80016,00036,60038%
Hero serum 30 ml
Amazon
71,90043,30020,0008,60012%
Travel kit
Amazon
18,30014,2004,800−700−3.8%
Gift set
TikTok Shop
12,6008,2005,500−1,100−8.7%

Contribution = net sales − product cost − fees − fulfilment − acquisition costs; before fixed overhead, interest and tax. Return logistics are included in fulfilment. Acquisition costs are allocated by product and channel.

Inspect the complete cost breakdown

3. Compare the same product across channels

The serum generates $36,600 contribution on Shopify DTC and $8,600 on Amazon. Their contribution margins are 38% and 12% respectively.

Work through the amounts in the comparison table. Differences in sales, discounts, refunds, COGS, fees, fulfilment and acquisition all affect the result. Separate costs attached directly to the channel from shared costs assigned by a rule.

Use the comparison to choose an investigation. Verify fee detail, review fulfilment cost, inspect returns or test acquisition spend before changing channel allocation. Historical averages describe the recorded activity; the cost of the next order or advertising increment can differ.

Scroll horizontally if needed to see all columns.

Hero serum 30 ml · September 2026 · USD. Both channels use the same contribution definition.
RowShopify DTCAmazon
Gross product sales$108,000$79,000
Less discounts$6,000$2,000
Less refunds$5,600$5,100
Net sales$96,400$71,900
Less COGS$34,000$25,500
Less platform/payment fees$2,600$9,500
Less fulfillment, including return logistics$7,200$8,300
Less allocated ads/affiliates$16,000$20,000
Contribution before fixed overhead$36,600$8,600
Contribution / net sales38%12%

4. Show which costs are direct and which are allocated

Keep directly traceable costs on their product/channel rows. For shared spend, record the total, allocation driver and reason. Examples of drivers include tracked campaign activity or documented order handling; choose the rule that matches the cost.

Reconcile all allocated rows back to the source total, including any unallocated remainder. Compare a material row under a reasonable alternative driver where the decision is sensitive to allocation. That exposes uncertainty in the decision rather than hiding it in a precise percentage.

Use consistent rules across periods. When a rule changes, explain the effect or restate the comparison so that a reporting change is not mistaken for an operating improvement.

5. Sum the amounts before calculating the overall margin

Across all five rows, net sales are $253,400 and included costs are $186,200. Total contribution is $67,200. The combined ratio is $67,200 ÷ $253,400 = 26.5%. Averaging the five row percentages would give the wrong sales weighting.

Subtracting $42,000 fixed operating expenses gives an operating result of $25,200. Interest and tax sit outside this example, so this is an operating result before those items.

Reconcile net sales and cost totals to the period’s records. Identify costs absent from the analysis before using the overall margin as an operating target.

Use a weak row to define a specific check or test

The Travel kit and Gift set rows have negative contribution on the reported definition. Check the refund, fee, logistics and acquisition inputs first. Then compare a price, offer, cost or campaign change with explicit assumptions about demand.

A positive contribution row still needs overhead coverage and cash capacity. Before expanding it, estimate the cost of incremental activity and test the inventory and collection dates. A strong historical margin alone does not establish that the next commitment fits the cash forecast.

Reproduce one product/channel row from your records

Choose a row with enough volume or cost to affect a decision. Reconcile gross-to-net sales, attach each cost source and write the allocation rule. Record the amount left for overhead and the cost driver that deserves attention.

The bookkeeper validates accounting totals; operations confirms product and logistics costs; marketing explains acquisition allocation. The owner chooses the pricing, channel or spending test and the measure for evaluating it.

Bring that row and its unresolved costs to a profitability discussion. Use the methodology for definitions and the cash-planning guide before committing more inventory or spend.

Sources and calculation notes

  1. OpenStax — Principles of Accounting, Volume 2: Managerial Accounting, section 3.1

    Contribution is sales less variable costs; its ratio measures contribution as a share of sales.

    Accessed 2026-10-07.

  2. IFRS Foundation — IAS 2 Inventories, public overview

    Inventory cost recognized with sales differs from the timing of supplier cash payments.

    Accessed 2026-10-07.

Your next financial question

Put numbers behind the next move.

Start with the decision ahead and the reporting you have today.

Explore the free finance audit