All posts Accounting basics · 25 May 2026 · 6 min read

COGS in ecommerce: what to include, what to exclude and the per-order calculation.

COGS in ecommerce is the true cost of putting one order in a customer's hands — product, freight in, packaging, and per-order fulfillment. Ads and Shopify fees are not COGS.

Ibrahim Ölmez Founder, nouz · serial entrepreneur

For ecommerce, COGS (Cost of Goods Sold) is the total variable cost of fulfilling one order — the product itself, the freight to get it to your warehouse, the packaging consumed per order, and the labour to pick-pack-ship it. Ad spend and Shopify processing fees are not COGS; they live elsewhere on the P&L. nouz takes a COGS snapshot at the moment of sale, so an order placed today is costed against today's landed unit cost — not whatever the cost happens to be next month when the supplier raises prices.

TL;DR

COGS per order = Product unit cost + Inbound freight + Packaging + Per-order fulfillment labour. These are the four costs that only happen because an order happened. Exclude ad spend (variable marketing cost), Shopify fees (payment processing), and any fixed cost like warehouse rent. Get COGS wrong and every margin number that depends on it — gross margin %, CLV, break-even AOV — is wrong too.

The definition, in shop-owner English

COGS is the cost that exists only because the sale exists. If you sold one fewer unit this month, your product cost drops by one unit, your inbound freight drops by the per-unit share, your packaging drops by one mailer, and your fulfillment labour drops by the minutes that order would have taken. Everything else — rent, salaries, ads, software — stays the same. The four items above are COGS. Everything else is something else.

The clean test: if the order had not happened, would I have spent this money? Yes → not COGS. No → COGS. Ad spend would still have been spent (you ran the ad before the sale). Shopify's monthly subscription would still have been paid. Rent would still have been paid. None of those are COGS for that order.

The formula and what to include

COGS per order = Product unit cost + Inbound freight + Packaging + Per-order fulfillment labour

Include:

  • Product unit cost — what you paid the manufacturer or supplier for one unit, plus any tariffs or duties.
  • Inbound freight — shipping from supplier to your warehouse, divided per unit.
  • Packaging consumed per order — mailer, box, void fill, tissue, stickers, thank-you card.
  • Per-order fulfillment labour — the human (or 3PL pick-pack fee) cost of getting that order out the door.

Exclude:

  • Ad spend — that is variable marketing cost, tracked separately for CAC.
  • Shopify subscription fees — fixed software cost.
  • Card processing fees — variable payment cost, not COGS.
  • Warehouse rent — fixed cost, allocated separately.
  • Salaries (non-fulfillment) — operating expense, not COGS.

The reason the split matters: gross margin is computed as (Net revenue − COGS) ÷ Net revenue. If you stuff non-COGS items into COGS, gross margin drops and EBIT looks better than it should. If you leave true COGS items out (like packaging or freight), gross margin looks higher than reality.

Worked example: €29,50 per €60 order

A small DTC accessories brand selling a €60 leather wallet:

ComponentCostNote
Product unit cost€25,00Supplier invoice
Inbound freight€1,50Sea freight allocated per unit
Packaging€1,00Mailer + tissue + thank-you card
Per-order fulfillment labour€2,003PL pick-pack-ship fee
True COGS per order€29,50
Order value (net of VAT)€50,00€60 gross ÷ 1,20 VAT
Gross profit per order€20,50€50,00 − €29,50
Gross margin %41%€20,50 ÷ €50,00

Now compare to the version most brands use, where COGS is just the product cost:

ComponentCostNote
"COGS" (product only)€25,00Wrong
Order value (net)€50,00
Apparent gross profit€25,00
Apparent gross margin %50%9 points overstated

The product-only version overstates gross margin by 9 percentage points. Plug that into a CLV calculation and customer value comes out 22% too high. Plug it into break-even AOV and you set a free-shipping threshold €8 too low. The pricing decisions, the channel-spend decisions, the bundle decisions all anchor on a number that does not match the bank.

Benchmarks and gross margin targets

DTC verticalHealthy gross margin %Notes
Apparel55-70%Higher with own-brand manufacturing
Beauty / skincare65-80%Highest of any DTC vertical
Homewares50-65%Freight is a bigger COGS line
Food / beverage35-55%Tight margins, packaging-heavy
Accessories (leather, jewellery)50-65%Wide range based on material cost

These benchmarks assume fully-loaded COGS — product, freight, packaging, and fulfillment labour. A brand reporting 70% margin in apparel using product-only COGS is probably actually at 55-60% on a fully-loaded basis. The difference is exactly the gap between "looks profitable" and "is profitable."

Why getting COGS wrong silently kills margin

COGS is the input to almost every other unit-economics number: gross margin, CLV, break-even AOV, contribution margin, ROAS judgment. Get COGS wrong by 9 points and every downstream metric is wrong by a corresponding amount.

The most common COGS mistakes in small ecommerce:

  • Forgetting inbound freight, especially when ordering from overseas.
  • Underestimating packaging — a custom mailer + tissue + insert easily runs €1-€2 per order.
  • Ignoring fulfillment labour when the founder still picks-and-packs orders themselves.
  • Using old supplier prices from six months ago instead of the latest invoice.
  • Stuffing ad spend into COGS — that compresses gross margin and inflates EBIT.

Related concepts:

FAQ

Are Shopify fees part of COGS?

No. Shopify's payment processing fees and platform subscription are not COGS — they are payment processing and software costs respectively. Card processing fees should sit in their own line on the P&L (a deduction from gross revenue to get to net revenue), and the Shopify subscription is a fixed operating expense.

Is ad spend part of COGS?

No. Ad spend is variable marketing cost, tracked separately as part of CAC. Bundling ad spend into COGS makes gross margin look artificially low and inflates EBIT, which produces wildly misleading unit economics. Keep COGS strictly to product + freight + packaging + per-order fulfillment.

Should I include returns processing labour in COGS?

For a daily P&L view, returns processing is typically tracked as a negative against revenue (refunds) plus a returns-handling cost line. Some shops fold it into COGS as a per-return cost. Both are defensible; consistency matters more than which side it sits on. The wrong answer is to ignore it.

How often should I update my COGS numbers?

On every supplier invoice. nouz uses a COGS snapshot — the cost is fixed at the moment of sale, so today's order is costed at today's landed unit cost. When the next supplier shipment arrives at a higher cost, new orders use the new cost; old orders stay at their original cost. That preserves historical margin accuracy.