TL;DR
- COGS includes: product cost, inbound freight, packaging, fulfillment fees, outbound shipping, and returns processing. These are the direct variable costs that scale with every unit sold.
- COGS excludes: advertising, marketing salaries, customer service, office rent, and software subscriptions. These are operating expenses that belong below gross profit.
- Channel matters: Your Amazon COGS is 25 to 35 percent higher than your DTC COGS on the same product, because referral fees and FBA fees stack on top of product and shipping costs.
- COGS creep is real: Supplier price increases, freight rate spikes, and rising return rates can compress gross margin by 3 to 8 percentage points over 12 months without a single pricing change.
- Track at the SKU level: Blended COGS hides product-level margin problems. A single high-return SKU can drag the entire catalog's margin down by 2 to 4 points when averaged in.
Cost of goods sold is one of the most consequential numbers in an ecommerce business, and also one of the most misunderstood. Ask ten operators what belongs in COGS and you will get eight different answers. Some include shipping. Some exclude it. Some include marketplace fees. Others put them in operating expenses. The inconsistency is not academic — it determines whether your gross margin is 55 percent or 42 percent, whether your pricing model is sustainable, and whether your investors are looking at an accurate business.
This guide resolves the ambiguity. It covers what belongs in ecommerce COGS, what does not, how to calculate COGS per order, how your numbers compare to industry benchmarks, and how to track COGS at the SKU and channel level so margin problems surface before they become crises.
What Is COGS for Ecommerce?
Cost of goods sold (COGS) is the total direct cost of producing and delivering the goods you sold in a given period. It is not all your costs — only the costs that exist because a specific unit was produced, purchased, and fulfilled. If you sold zero units, your COGS would be zero. That distinction separates COGS from fixed overhead costs, which continue regardless of sales volume.
The standard accounting formula is:
For ecommerce operators, the more useful daily framework is to think in terms of per-unit COGS — the total variable cost incurred to get one unit from your supplier to your customer's door. This per-order view is what drives pricing decisions, channel comparisons, and margin analysis.
Gross margin is calculated directly from COGS:
If a product sells for $45 and carries $22 in COGS, the gross margin is 51.1 percent. That 51 percent has to cover every other cost in the business — marketing, salaries, rent, software, taxes — and leave something for profit. Which is why the accuracy of COGS is not a bookkeeping detail. It is the foundation of every financial decision you make.
How Ecommerce COGS Differs from Manufacturing COGS
Traditional manufacturing COGS consists of direct materials, direct labor, and manufacturing overhead. An ecommerce brand that sells finished goods — which describes most D2C brands — does not have direct labor in production. Instead, ecommerce COGS expands to include a set of fulfillment, logistics, and selling costs that manufacturing accounting did not need to account for. Outbound shipping, 3PL pick-and-pack fees, and marketplace referral fees have no equivalent in a traditional factory COGS model, yet for an ecommerce brand selling on Amazon, they can represent 25 to 40 percent of the total COGS structure.
What to Include in Ecommerce COGS
The following table shows each cost category, whether it belongs in COGS, and the reasoning. Color coding: green = include, red = exclude, amber = context-dependent.
| Cost Item | Include in COGS? | Notes |
|---|---|---|
| Product cost / manufacturing cost | YES | The purchase price from your supplier or manufacturer. This is the core component of COGS for every ecommerce brand. Always include at the unit level. |
| Inbound freight (supplier to warehouse) | YES | Also called "freight in" or "landed cost." The cost to ship inventory from the factory to your warehouse or 3PL. Divide total freight cost by units received to get a per-unit figure. Include in COGS as part of landed cost. |
| Import duties and customs fees | YES | Tariffs, customs brokerage fees, and import duties paid to bring goods across a border are part of landed cost. They belong in COGS alongside inbound freight. |
| Packaging materials | YES | Product packaging (boxes, poly mailers, inserts, tissue, tape, labels) is a direct cost of each unit shipped. Include at per-unit cost. Branded packaging upgrades increase COGS — track the change separately. |
| Fulfillment fees (3PL / warehouse) | YES | Pick-and-pack fees, receiving fees, and per-order handling charges from your 3PL or warehouse are variable costs tied directly to each sale. Include in COGS. Monthly storage fees are more fixed — some operators treat these as operating overhead. |
| Outbound shipping to customer | YES | The carrier cost to ship each order to the customer. This is one of the largest COGS components for most DTC brands. Include even when you offer "free shipping" — the cost exists regardless of who appears to pay it. |
| Returns processing cost | YES | The cost to receive, inspect, restock, or dispose of returned items. Best practice is to calculate a returns provision: (Return Rate % × Average Return Processing Cost per Unit). Add this per-unit provision to COGS to reflect true unit economics. |
| Payment processing fees | DEPENDS | Stripe / PayPal fees of 2.5–2.9% + $0.30 per transaction are variable and order-specific. Many ecommerce operators include them in COGS. Others classify them as a selling expense. Either approach is defensible — choose one and apply it consistently. |
| Marketplace fees (Amazon / Etsy referral fees) | DEPENDS | Amazon referral fees (8–17% depending on category) and Etsy transaction fees are variable costs directly tied to each sale on that channel. Include in COGS when calculating per-channel unit economics. In blended COGS, some operators move these to selling expenses below gross margin — but this obscures channel profitability. |
| Amazon FBA fees | YES | FBA pick, pack, and ship fees replace your 3PL and outbound shipping costs. Include in COGS as a direct fulfillment cost. They are fully variable per unit. |
| Shopify percentage transaction fee | DEPENDS | Shopify's transaction fee (0.5–2.0% depending on plan) applies only when using a third-party payment processor. Treat the same way as payment processing fees — include in COGS or selling expenses consistently. |
| Inventory write-downs / obsolescence | YES | When inventory becomes unsaleable, the write-down flows through COGS. High-SKU-count brands often underestimate this component. Track per-SKU obsolescence rate separately. |
What NOT to Include in Ecommerce COGS
The costs below are operating expenses. They belong in the income statement below gross profit. Including them in COGS understates gross margin, makes it impossible to separate product economics from marketing efficiency, and breaks any comparison to industry benchmarks — which are almost universally stated on a pure COGS basis.
- Advertising and paid media spend. Meta Ads, Google Ads, TikTok Ads, influencer fees, and all paid acquisition costs are selling expenses. They are not tied to the cost of producing a unit — they are tied to the cost of acquiring a customer. Moving them into COGS conflates two fundamentally different metrics: gross margin (product profitability) and contribution margin (channel profitability after variable selling costs).
- Marketing salaries and agency fees. The salary of your growth marketer, the retainer paid to your PPC agency, and the cost of your brand photographer are period operating expenses. They accrue whether or not you sell a single unit in a given month.
- Customer service staff costs. CS salaries and support software subscriptions (Gorgias, Zendesk) are fixed or semi-fixed operating expenses. They do not belong in COGS even though customer service is directly related to product experience.
- Office and warehouse rent (fixed portion). Fixed monthly rent does not vary with unit volume. Some operators include a per-unit allocation of warehouse fixed costs in COGS — this is acceptable in managerial accounting but creates complexity and is not standard for external reporting.
- Software subscriptions. Shopify subscription fees, email marketing platform costs (Klaviyo, Postscript), analytics tools, and ERP software are operating overhead. They belong in SG&A (selling, general, and administrative expenses).
- Executive salaries. Founder compensation and executive team salaries are operating expenses regardless of how directly they contribute to operations.
- Depreciation of business assets. Depreciation on equipment, vehicles, or computers is an operating expense unless the asset is directly used in manufacturing or fulfillment, in which case a portion may be allocated to COGS under absorption costing. For most ecommerce brands, treat it as operating overhead.
A brand spending $50,000 per month on paid acquisition that incorrectly includes this in COGS appears to have a 30% gross margin when its true gross margin is 55%. Every pricing decision, every fundraising conversation, and every channel comparison is built on a false foundation. Investors and acquirers know the standard, and they will restate your numbers. Build the right model from the start.
COGS by Channel: Why the Numbers Differ
The same product can carry materially different COGS depending on which channel fulfills the sale. This is one of the most underappreciated concepts in ecommerce unit economics. Operators who calculate only a blended COGS miss the fact that their Amazon channel may be 15 to 20 percentage points less profitable than their DTC website — and they keep investing in the channel that looks like growth but destroys margin.
| Channel | COGS Components | Typical COGS % | Notes |
|---|---|---|---|
| DTC Website (Shopify) | Product cost + inbound freight + packaging + 3PL fulfillment + outbound shipping + payment processing (2.9%) | 35–55% | The cleanest channel for margin. No referral fees. Fulfillment cost is your main variable beyond product cost. Average gross margin: 45–65%. |
| Amazon FBA | Product cost + inbound freight (to Amazon) + FBA fulfillment fee + referral fee (8–17%) + returns provision | 55–75% | Referral fee + FBA fee adds 20–30 percentage points to COGS vs. DTC. A product with 50% gross margin DTC may generate only 25–35% gross margin on Amazon. Storage fees add pressure for slow-moving SKUs. |
| Wholesale (to Retailer) | Product cost + inbound freight to retailer + packaging (often simpler) + freight allowance or deductions | 45–60% | No fulfillment cost — the retailer handles it. But wholesale prices are 40–55% of MSRP, compressing the revenue base. Retailer chargebacks, freight deductions, and markdown allowances silently increase effective COGS. |
| Retail / Pop-Up (Direct) | Product cost + packaging + event/booth fee allocation + card processing | 30–50% | No fulfillment cost. Higher gross margin on the product itself, but booth fees and event costs (often treated as marketing expenses) can eliminate the advantage when fully allocated. |
| Etsy / Marketplace (Non-Amazon) | Product cost + packaging + outbound shipping + Etsy transaction fee (6.5%) + payment processing | 40–60% | Etsy's 6.5% transaction fee plus payment processing adds roughly 9–10 percentage points to COGS vs. a direct checkout. Margin is better than Amazon but still below DTC. |
The implication is clear: channel mix is a margin decision, not just a revenue decision. A brand that shifts from 70% DTC / 30% Amazon to 40% DTC / 60% Amazon will see gross margin compress by 6 to 12 percentage points even if total revenue grows. Tracking COGS by channel is the only way to see this before it becomes a problem. See our guide on contribution margin by channel for the full framework.
The COGS Creep Problem: Why Your Margins Shrink Over Time
COGS creep is one of the most common and least visible threats to ecommerce profitability. It refers to the gradual, incremental increase in your COGS percentage over time — not from a single large cost increase, but from multiple small ones that compound silently while revenue growth masks the underlying margin compression.
The Four Drivers of COGS Creep
- Supplier price increases. A 3 to 5 percent annual price increase from your manufacturer, if not passed through to customers, reduces gross margin by the same amount. At scale, a 5% COGS increase on a $5M revenue business destroys $250,000 in gross profit per year.
- Freight rate spikes. Ocean freight rates fluctuate significantly — the cost to ship a container from Asia to the US can swing from $2,000 to $20,000 depending on global conditions. Brands that do not update their landed cost calculations when freight rates change are operating on stale margin data.
- Returns rate growth. As a brand scales, return rates often increase — particularly in apparel and electronics. A brand that goes from a 5% return rate to a 12% return rate without updating its returns provision is understating COGS by the full cost of the additional returns. At $15 per return processing cost and 1,000 additional returns per month, that is $15,000 per month in unrecognized COGS.
- Packaging upgrades. Brands frequently invest in premium unboxing experiences as they grow. Custom printed boxes, tissue paper, inserts, and branded tape add $1 to $4 per order. On 10,000 orders per month, a $2 packaging upgrade consumes $20,000 in monthly gross profit — often without a formal analysis of the margin impact.
How to Track COGS Creep
The only reliable way to detect COGS creep before it becomes a crisis is to track COGS percentage by SKU on a monthly basis. A single blended COGS number updated quarterly will hide the problem for six months. By the time it surfaces, you may have priced your next catalog based on margin assumptions that are 8 to 10 points optimistic.
Build a monthly COGS trend report at the SKU level that shows:
- COGS per unit (by component: product cost, freight, packaging, fulfillment, shipping)
- COGS % of revenue (updated with current selling price)
- Month-over-month COGS % change with a flag if the change exceeds 1 percentage point
- Returns provision as a separate line item, updated monthly from actual return rate data
This report takes 30 minutes to review and prevents the margin surprises that require crisis-mode pricing adjustments. For a complete framework on identifying where margin goes, see our guide on how to find profit leaks.
How to Calculate COGS Per Order
Per-order COGS calculation is the operational tool for understanding true unit economics. It tells you whether each order contributes to gross profit and by how much — before any fixed overhead or marketing cost is applied.
Worked Example: $45 Product
Consider a skincare brand selling a moisturizer for $45, sourced from a manufacturer at $22 per unit, shipped from overseas in containers that add $3 per unit in landed freight cost, packed in a custom box costing $2, fulfilled through a 3PL at $4 per order, and shipped via FedEx Ground for $3 per order. The brand has a 10% return rate with $5 in processing cost per return.
| COGS Component | Per Unit / Order Cost | How Calculated |
|---|---|---|
| Product cost (supplier) | $22.00 | Purchase price per unit from manufacturer |
| Inbound freight (landed cost) | $3.00 | Total container cost ÷ units in shipment |
| Packaging materials | $2.00 | Custom box + insert + tape per unit |
| 3PL fulfillment fee | $4.00 | Pick + pack per order (single-unit order) |
| Outbound shipping | $3.00 | Actual carrier cost per order (FedEx Ground, zone 4) |
| Returns provision | $0.50 | 10% return rate × $5 processing cost = $0.50 per order |
| Total COGS per Order | $34.50 | |
| Revenue per Order | $45.00 | Selling price (before any discounts) |
| Gross Profit per Order | $10.50 | $45.00 − $34.50 |
| Gross Margin % | 23.3% | $10.50 ÷ $45.00 |
At 23.3% gross margin, this brand has $10.50 to cover advertising, salaries, software, and profit on every order. If customer acquisition cost (CAC) is $18 — a common blended CAC for a skincare brand on paid social — the brand loses $7.50 per new customer acquired. Repeat purchases at zero incremental CAC would be needed to generate cumulative profit. Without this per-order COGS view, the founder sees $45 in revenue and assumes the business is healthy.
Now run the same product on Amazon FBA. The referral fee is 8% ($3.60) and FBA fee for a light beauty item might be $4.50. Total COGS rises to $42.60, leaving $2.40 in gross profit per unit — a 5.3% gross margin. On Amazon, this product is effectively unviable at $45 MSRP.
COGS Benchmarks by Ecommerce Category
Industry gross margin benchmarks allow you to assess whether your COGS structure is competitive or whether costs are out of alignment relative to similar businesses. Note that these figures represent DTC gross margin — Amazon and wholesale channels will show 10 to 25 percentage points lower gross margin on the same products.
| Category | Typical COGS % | Gross Margin Range | Key Margin Drivers |
|---|---|---|---|
| Apparel & Fashion | 40–50% | 50–60% | High return rates (15–30%) are the primary COGS risk. Manufacturing cost and freight are typically 50–65% of COGS. Overstock write-downs can add 3–5 points to effective COGS. |
| Beauty & Skincare | 25–40% | 60–75% | Formulation costs are low relative to perceived value. Primary packaging (jars, bottles) and secondary packaging (boxes) are meaningful cost levers. Brands that scale formulation size reduce COGS significantly. |
| Supplements & Nutrition | 20–35% | 65–80% | Highest gross margins in ecommerce. Raw ingredient and encapsulation costs are low. Regulatory compliance and certificate-of-analysis testing add to landed cost. Subscription models increase LTV while holding COGS flat. |
| Consumer Electronics | 60–80% | 20–40% | Component costs are high and inflexible. Shipping is heavy and expensive. Return rates run 8–15%. Warranty provisions add to effective COGS. Margins are structurally lower — business models typically rely on accessories or services to improve blended economics. |
| Home Goods & Furniture | 45–60% | 40–55% | Freight is the dominant COGS variable after product cost. Heavy and oversized items incur dimensional weight shipping charges that can reach $15–50 per order. Return shipping on furniture is often cost-prohibitive — refunds without return are common. |
| Food & Beverage | 35–55% | 45–65% | Perishability introduces waste provisions and cold-chain logistics costs. Regulatory compliance (FDA) and ingredient sourcing quality affect COGS significantly. Subscription box models reduce per-shipment shipping cost via planned fulfillment cycles. |
| Pet Products | 35–50% | 50–65% | Feed and supplement products mirror the nutrition margin profile. Hardgoods (beds, toys, accessories) align with home goods. Premium positioning allows pricing power that maintains margin despite moderate production costs. |
Beauty and supplements command the highest gross margins in ecommerce for the same reason: the physical cost to produce a cosmetic or supplement is a small fraction of the perceived value and selling price. A moisturizer with $4 in formulation and packaging ingredients sells for $45 to $90. A supplement with $3 in raw ingredients sells for $30 to $60. Consumers are paying for branding, formulation IP, and efficacy trust — not for material input costs.
Electronics sit at the opposite end because the cost of components — chips, displays, batteries, sensors — are determined by global supply chains that do not flex with brand positioning. The bill of materials for an electronic device is public knowledge among manufacturers, and the resulting COGS structure leaves limited room for margin improvement without volume-driven supplier negotiations.
For a deeper look at how to use gross margin data by product to inform pricing and SKU strategy, see our guide on gross margin by product.
How to Set Up COGS Tracking in Your Business
Accurate COGS tracking requires a system that captures product cost, freight, fulfillment, and shipping data at the order or unit level and reconciles it against actual inventory movements. There are three approaches, each with different accuracy, cost, and operational overhead tradeoffs.
Approach 1: Manual Tracking (Shopify + Spreadsheet)
Shopify allows you to enter a "cost per item" for each product variant. Shopify then calculates cost of goods in its built-in analytics based on units sold multiplied by that cost. This approach is simple and requires no additional software.
The limitations are significant. Shopify cost-per-item captures product cost only — it does not automatically include inbound freight, packaging, fulfillment fees, or shipping costs. You must add these manually as a lump adjustment or build a spreadsheet model that imports Shopify order data and applies per-unit cost assumptions. The model becomes outdated every time freight rates change, your 3PL adjusts its fee schedule, or you receive a new purchase order at a different price.
Approach 2: Inventory Management Software (Cin7, Linnworks, Skubana)
Dedicated inventory management platforms track COGS more rigorously. They support landed cost calculations — allowing you to allocate inbound freight, duties, and customs fees across units in a purchase order. They connect to your 3PL or WMS for fulfillment cost data. They also support multi-channel inventory tracking, which is essential for calculating channel-specific COGS.
The tradeoff is implementation cost and complexity. A proper Cin7 or Linnworks deployment takes 4 to 12 weeks and requires clean supplier, inventory, and order data. The platforms charge $500 to $2,000+ per month depending on order volume and feature tier. For brands doing under $2M in revenue, the cost-benefit equation may favor a well-maintained spreadsheet model until volume justifies the investment.
Approach 3: Automated Operating Intelligence (Fairview)
Fairview connects to your order management system, 3PL, shipping provider, and marketplace accounts to calculate COGS per order and per SKU automatically — without manual data entry or spreadsheet maintenance. The system updates weekly as new order, fulfillment, and shipping data flows in, so your COGS figures reflect current cost structures rather than assumptions set six months ago.
| Approach | Setup Time | Cost | COGS Accuracy | Best For |
|---|---|---|---|---|
| Shopify + Spreadsheet | 1–2 days | $0 additional | Low — product cost only; manual freight and fulfillment adjustments required | Brands under $500K revenue with 5–10 active SKUs |
| Inventory Management Software | 4–12 weeks | $500–$2,000/mo | High — landed cost support, multi-channel; requires clean data and ongoing maintenance | Brands with complex multi-channel operations and inventory above $500K |
| Fairview (Automated) | 1–2 weeks | $349–$699/mo | High — per-order and per-SKU COGS updated weekly across all channels; no manual input | D2C brands doing $500K–$20M+ seeking automated margin visibility without an analyst |
COGS vs. Contribution Margin: What Is the Difference?
COGS and gross margin tell you whether the product itself is profitable. Contribution margin tells you whether a specific sales channel or customer segment is profitable after accounting for variable selling costs. Both matter, but they answer different questions.
Consider two channels generating the same revenue from the same product:
- DTC website: COGS = 38%, advertising spend = 20% of revenue. Gross margin = 62%. Contribution margin = 42%.
- Amazon: COGS (including referral + FBA) = 60%, Amazon Sponsored Ads = 15% of revenue. Gross margin = 40%. Contribution margin = 25%.
The DTC channel contributes $42 per $100 of revenue toward fixed overhead and profit. The Amazon channel contributes $25. If your business is making channel allocation decisions based on gross revenue, you may be growing the less profitable channel. Contribution margin by channel is the metric that resolves this — and it starts with accurate per-channel COGS. For the complete framework, read our guide on contribution margin by channel.
How Fairview Tracks COGS Automatically
Fairview is an operating intelligence platform built for D2C brands that need accurate margin data without building and maintaining a data team. Its COGS tracking module connects directly to the tools already in your stack — Shopify, your 3PL's API, your shipping carrier accounts, and your marketplace seller accounts — and produces a unified per-order, per-SKU, and per-channel COGS view updated on a weekly basis.
Here is what the COGS module delivers:
- Landed cost calculation. Fairview pulls purchase order data and allocates inbound freight and duty costs across units in each order, so your product COGS reflects the true landed cost rather than the supplier invoice price alone.
- Fulfillment cost integration. 3PL fees, FBA fees, and warehouse charges are pulled from your fulfillment provider and matched to the orders they fulfilled, giving you actual fulfillment cost per order rather than an estimate.
- Shipping cost actuals. Carrier charges are pulled from your shipping account (ShipStation, EasyPost, or direct carrier API) and applied per order based on actual rate charged, not an average assumption.
- Returns provision automation. Fairview calculates your trailing 90-day return rate by SKU and applies an automatic returns cost provision to COGS — updated monthly as return behavior changes.
- Channel-level COGS view. The same product's COGS is calculated separately for DTC, Amazon, and any other channel, so contribution margin by channel is always current and accurate.
- COGS creep alerts. When a SKU's COGS percentage increases by more than one percentage point month-over-month, Fairview flags it in your weekly operating report with the cost component driving the change.
Key Takeaways
- Include in COGS: product cost, inbound freight (landed cost), packaging, fulfillment fees, outbound shipping, and a returns processing provision. Payment processing and marketplace fees are variable transaction costs — most operators include them in COGS or as a line just below gross margin.
- Exclude from COGS: advertising, marketing salaries, customer service, rent, and software subscriptions. These are operating expenses that belong below gross profit. Misclassifying them inflates the cost line and understates true gross margin.
- COGS differs by channel. The same product may carry 38% COGS on your DTC site and 62% COGS on Amazon when referral fees and FBA fees are included. Channel mix is a margin decision — treat it as one.
- Calculate COGS per order. The formula is: product cost + inbound freight per unit + packaging + fulfillment + outbound shipping + returns provision. Run it for every SKU. A product that looks profitable at blended COGS may be destroying margin on specific channels or order types.
- Track COGS creep monthly at the SKU level. A single quarterly review will miss the slow accumulation of cost increases that compress margin over 12 months. Build a monthly COGS trend report and set alerts when any SKU's COGS percentage moves more than one point.
- Move from gross margin to contribution margin when evaluating channel performance. Gross margin shows product profitability. Contribution margin — which subtracts variable selling costs like advertising — shows channel profitability and drives allocation decisions.