Shopify

Shopify D2C COGS: What Belongs in Your Cost of Goods (and What Founders Miss)

Shopify D2C COGS: What Belongs in Your Cost of Goods (and What Founders Miss)

Running a Shopify D2C brand? Here's a complete breakdown of what should be in your COGS, the line items most founders undercount, and a framework to audit your numbers before they cost you.

Running a Shopify D2C brand? Here's a complete breakdown of what should be in your COGS, the line items most founders undercount, and a framework to audit your numbers before they cost you.

08 min read

If your Shopify store is growing but your margins feel off — or your gross profit looks healthy until someone asks hard questions — your COGS calculation is usually where the problem starts. This financial ambiguity often stems from a fundamental misunderstanding of what constitutes a "direct" versus "indirect" cost in a direct-to-consumer environment. As your store scales, the complexity of your supply chain grows exponentially, and maintaining a stagnant or simplified COGS model becomes a dangerous liability that blinds you to the true economic performance of your individual products.

By failing to account for the full spectrum of variable logistics and transactional expenses, you essentially subsidize your customers' purchases with your own capital, masking the reality of your unit economics and hindering your ability to make data-backed decisions regarding marketing spend, product development, or inventory replenishment strategies.

COGS (Cost of Goods Sold) is the most consequential line in a D2C P&L. It determines gross margin, informs pricing, shapes fundraising conversations, and tells you whether a product is actually worth selling at scale. Get it wrong and every downstream decision is built on a bad foundation. Investors and operational partners analyze this metric not just as an accounting figure, but as a barometer for your business's overall health and your team's ability to manage operational complexity. When your COGS is accurately tracked, you unlock the ability to pinpoint precisely which SKUs are driving your business growth and which are draining your resources, allowing you to reallocate capital toward your most profitable winners.

Without this rigorous oversight, you risk falling into a "revenue-at-all-costs" mindset where your top-line sales figures grow while your net profitability remains stagnant or declines, ultimately leaving your brand vulnerable to market downturns and cash-flow crunches.

This post covers what belongs in Shopify COGS for a D2C brand, what founders consistently miss or misplace, and how to audit your current numbers using the D2C COGS Audit Matrix. Establishing a clean, comprehensive COGS methodology is the first step toward true financial maturity for any D2C operator, moving the process from an "estimation exercise" to a reliable component of your financial reporting stack. We will break down the essential components that should reside within your unit-level cost analysis, examine the nuanced distinctions between period costs and direct product costs, and provide you with a structured, actionable framework to perform a comprehensive audit of your catalog. By implementing these standards, you will gain the clarity required to confidently price your products, negotiate better terms with your suppliers and 3PLs, and present a bulletproof financial narrative to any potential stakeholders or investors who demand a granular understanding of your unit-level profitability.

What Is COGS in a Shopify D2C Context?

COGS represents the direct costs tied to producing and delivering a unit of product to the point of sale. In a D2C ecommerce context, that definition stretches further than most accounting templates suggest. Because the D2C model assumes responsibility for the entire journey from the factory floor to the customer's doorstep, your cost accounting must reflect that entire pipeline, rather than stopping at the warehouse dock. Many operators mistakenly rely on simplified legacy accounting principles that ignore the logistical weight of e-commerce, resulting in a dangerously inflated view of gross margin that fails to account for the real costs of fulfilling orders in a modern, hyper-competitive digital marketplace.

The standard textbook answer — raw materials plus manufacturing labor — applies to physical product brands, but D2C operations layer on logistics, packaging, duties, and fulfillment costs that fundamentally change what a unit actually costs you. Not capturing those costs in COGS means your gross margin is overstated, and your operating decisions are made against an inflated number. This miscalculation creates a ripple effect throughout your entire organization, as marketing teams might allocate high ad budgets to products that are, in reality, operating at a razor-thin margin or even a loss. By shifting your perspective to include the full "landed" and "fulfillment-ready" cost of every unit, you align your accounting with the operational reality of your business, ensuring that your profit margins are based on hard, verifiable data rather than optimistic projections that disappear the moment your shipping carrier or payment processor takes their cut.

The Core COGS Categories for Shopify Brands
Product Manufacturing Costs

This is the foundation. It includes the ex-works (EXW) or free-on-board (FOB) cost from your supplier — the price you pay to get a finished product made and ready for shipment. For private label and branded product businesses, this is typically the invoice price per unit from your manufacturer. Beyond the base invoice price, this category should also encompass any additional costs required to bring the item to a "ready-to-sell" state, such as specialized labeling, quality verification stamps, or internal sub-assembly processes. If you're doing any co-packing, custom formulation, or assembly, all of that belongs here too. Failure to include these ancillary manufacturing costs understates your unit production cost, leaving you with a skewed view of your product's underlying value and preventing you from accurately comparing the production efficiency of different vendors or assembly methods over time.

Inbound Freight and Shipping to Warehouse

Getting your product from the factory to your 3PL or warehouse is a cost of selling that product. This includes:

  • Ocean/Air Freight: The primary international or domestic transit costs for your shipments.

  • Port Handling: The various destination fees and documentation charges incurred at entry points.

  • Drayage: The critical final-mile transport cost moving containers from port to your distribution hub.

  • Freight Insurance: The protective coverage for your inventory during its often-perilous transit.

    These costs should be allocated per unit based on the shipment. Many founders track them as a lump operating expense and never connect them to individual SKU economics. That's a meaningful error at any volume. By neglecting to map these transit costs to specific SKUs, you fail to identify how different packaging configurations or product densities impact your total landed cost, effectively blinding yourself to simple opportunities for supply chain optimization that could yield significant margin improvements across your entire product catalog.

Import Duties and Customs

If you're importing from overseas manufacturers — which most Shopify D2C brands are — import duties are a direct cost of bringing that product to market. Your HTS (Harmonized Tariff Schedule) classification determines the duty rate, and that rate applies per unit. Duties belong in COGS, not as a one-time cost or a miscellaneous line in operating expenses. This is non-negotiable because duties are essentially a government-mandated tax on every unit you bring into the country, and they must be factored into your pricing and margin analysis to ensure the product remains profitable after all regulatory overhead is paid. Ignoring these costs or burying them in general expenses masks the true impact of trade policies and tariff fluctuations on your bottom line, preventing you from making informed decisions about geographic sourcing strategies or adjusting your pricing to maintain your target margin in the face of shifting international trade regulations.

Packaging and Unboxing Materials

Product packaging that ships with the unit — boxes, mailers, tissue paper, inserts, thank-you cards, branded tape — is part of the cost of delivering the product. If the packaging is part of the product experience and ships every time, it belongs in COGS. The common mistake is treating packaging as a marketing expense. That may be appropriate for marketing-only inserts or promotional materials that aren't unit-specific, but anything that ships with every order should be in COGS. By correctly categorizing these materials, you prevent the artificial inflation of your marketing budget while simultaneously gaining visibility into how packaging costs directly erode your margin on lower-priced items. This distinction is vital for maintaining a clean P&L where "marketing" reflects actual customer acquisition efforts, while "COGS" reflects the total resource consumption required to put a finished, branded product into the hands of a consumer.

3PL and Fulfillment Costs

For brands using a third-party logistics provider (3PL), fulfillment fees are often the single most misclassified cost line in Shopify financials. Fulfillment includes:

  • Pick & Pack: The core operational fee charged to prepare a single order for shipment.

  • Receiving: The labor and administrative costs associated with processing new inbound inventory shipments.

  • Kitting/Bundling: Specialized handling fees for creating product sets or promotional combinations.

  • Storage Fees: The rental cost for the space your inventory occupies within the warehouse facility.

    Pick and pack costs per unit are a direct cost of fulfilling each order and belong in COGS. Storage fees are more nuanced — they're often treated as a period cost (operating expense) because they accrue over time regardless of whether units sell. Either treatment can be defensible, but you need to be consistent and intentional. Treating pick and pack as a variable COGS line is essential because these costs scale linearly with your sales volume; ignoring this link means you are underestimating your "cost per sale," which could lead to scaling a product that is profitable at the unit level but becomes an operational burden when the full fulfillment workflow is factored into your financial performance model.

Inbound Quality Control

If you're paying for third-party product inspection at the factory or at port — pre-shipment inspections, container loading checks — those costs are part of ensuring the product is sellable. Allocate them per unit across the applicable production run and include them in COGS. These expenses are effectively the "cost of quality" required to prevent the disastrous scenario of shipping defective products to your customers, which would result in higher return rates, negative customer reviews, and significant brand damage. By amortizing these inspections across your total production run, you recognize these necessary costs as a standard part of your supply chain operations, ensuring that your margin calculations account for the investments you make in maintaining the integrity of your product catalog and protecting your brand's reputation in the eyes of your consumers.

Payment Processing and Platform Transaction Fees

This one divides opinions. Shopify transaction fees and payment processor fees (Stripe, Shopify Payments, PayPal) are directly tied to each sale. Some operators include them in COGS as a direct cost of collecting revenue; others place them in operating expenses. The most defensible approach for D2C operators is to include payment processing as a direct cost. It is, by definition, incurred per transaction. If your average blended processing rate is 2.5–3%, that materially affects unit economics, and it should be visible in your gross margin calculation. Failing to treat these fees as a direct transaction cost means you are ignoring the "tax" that every sale pays to the payment infrastructure, which can be the difference between a product being marginally profitable and being a net drain on your business when combined with other variable fulfillment and acquisition costs.

The D2C COGS Audit Matrix

Use this framework to audit each SKU in your Shopify catalog. For every product, confirm whether each cost category is captured, where it's currently being recorded, and whether it's being allocated per unit or tracked as a lump expense. By standardizing this auditing process, you create an objective, repeatable methodology that allows you to identify discrepancies between your current bookkeeping and the actual resource consumption of your inventory. This matrix acts as a master checklist, ensuring that no hidden costs remain buried in your general ledger, thereby providing your team with the granular data they need to make strategic pricing, discounting, and inventory decisions that are grounded in the ground-truth economics of your brand's operational model.

The D2C COGS Audit Matrix — Per SKU

  • Supplier/Manufacturing Cost: Required | Yes | Base landed cost starting point

  • Inbound Freight: Required | Yes | Allocate by weight or unit volume

  • Import Duties: Required | Yes | Per HTS classification

  • Packaging (unit-level): Required | Yes | Everything that ships with the order

  • 3PL Pick & Pack: Required | Yes | Per order or per unit

  • 3PL Receiving Fees: Recommended | Allocate per PO | Per shipment, allocate across units

  • Storage Fees: Optional | Period basis | Defensible either way — be consistent

  • Quality Inspection: Recommended | Yes | Per production run

  • Payment Processing: Recommended | Yes | Blended rate per order value

  • Product Returns/Refunds: Separate tracking | Yes | Affects net revenue, not always COGS

Run this matrix quarterly or after any significant change to your supplier, logistics, or fulfillment setup. A number that was accurate six months ago may not be now. Markets change, shipping rates fluctuate, and your internal fulfillment agreements may evolve as your volume grows, all of which necessitate regular reconciliations. By treating your COGS audit as a recurring strategic task rather than a one-time setup activity, you ensure your financial reporting remains a living, accurate reflection of your business's current operational state, which is vital for maintaining the trust of your investors, optimizing your internal cash flow, and avoiding the trap of making major business decisions based on outdated, inaccurate, or incomplete information.

What Founders Consistently Miss
Landed Cost vs. Invoice Cost

The most common COGS error in early-stage Shopify brands is using the supplier invoice price as the unit cost. That number excludes freight, duties, and inbound logistics. The correct unit cost is the landed cost — everything it takes to get the product into your warehouse, allocated per unit. A product invoiced at $8 per unit might have a true landed cost of $11.50 after freight, duties, and receiving. That difference compresses gross margin significantly and changes pricing and channel decisions. When you only look at the supplier invoice price, you are artificially inflating your perceived margin, creating a "false economy" where you might believe a product is highly profitable when, in reality, its total landed cost has already eroded most of your potential upside, leaving you with little room for marketing, growth, or margin-preserving discounting strategies.

Treating Packaging as Marketing

Branded packaging is a real cost of the product experience, not purely a marketing investment. A $2 unboxing kit on a $30 product is material. When it's buried in marketing spend, your gross margin looks better than it is, and your marketing spend looks worse than it is. Both metrics mislead decisions. By correctly reclassifying these costs, you get a much clearer picture of your actual customer acquisition cost (CAC) versus your actual product delivery cost, which is essential for determining which SKUs are truly driving value. This shift in categorization ensures that your marketing team is evaluated on their actual ability to drive conversions, while your operations team takes responsibility for the costs of delivering the brand experience, leading to more accurate internal accountability and more sophisticated resource allocation.

Not Updating COGS When Supplier or Freight Costs Change

Shopify doesn't automatically update COGS when your supplier raises prices or freight rates shift. If your cost calculation is six months old and you've been through a rate increase cycle, your gross margin is overstated right now. COGS should be treated as a living number, not a setup task you complete once. In an environment where global shipping and raw material costs can swing dramatically in a single quarter, maintaining static COGS data is a massive operational risk that leaves you unaware of margin compression until your monthly P&L is finished. By building a routine to monitor and update your cost variables, you ensure your pricing remains responsive to these external pressures, protecting your profitability and preventing the slow "bleeding" of margins that often goes unnoticed by founders focused solely on revenue growth.

Ignoring Variant-Level Cost Differences

A t-shirt in size XS and a t-shirt in size XL may cost the same to manufacture but ship at different weights. A bundle SKU has a different COGS than its component parts sold separately. Shopify allows variant-level cost entry — use it. Blending costs across variants masks which products and sizes are actually profitable. This level of granularity is critical because shipping costs, storage requirements, and even return rates can vary significantly by variant; by averaging these costs across a generic "product" level, you are likely subsidizing the costs of your heavier or more complex variants with the margins from your simpler, cheaper-to-ship variants, leading to an unbalanced inventory mix that doesn't maximize your total portfolio profitability.

Misclassifying Fulfillment as a Fixed Operating Expense

Some founders treat their 3PL agreement as a fixed cost because they signed a contract with a minimum. That doesn't make fulfillment fixed — variable fulfillment charges scale with volume and belong in COGS. The minimum commitment may be a period expense, but per-unit fulfillment fees should be unit-level COGS. By accurately assigning these per-unit fees, you gain visibility into how your fulfillment partners are impacting your bottom line with every additional sale, which is critical for making informed decisions about whether to switch partners, renegotiate your current contract, or adjust your product pricing. Treating fulfillment as a "fixed expense" obscures the true marginal cost of every order, which is the exact data point you need to understand to optimize your business for profitability as you scale your order volume.

Common Trade-Offs and Decisions to Make Deliberately

Strict COGS vs. Contribution Margin Accounting: Some operators prefer to build a contribution margin model that separates product cost from fulfillment and payment processing, giving them more granular visibility into each cost layer. This is a valid and useful approach, particularly for high-volume operators and investors. The key is labeling clearly. Whatever you call gross margin, it should mean the same thing every time you use it. Creating this transparency requires a clear, well-documented set of internal accounting standards so that every stakeholder, from your accountant to your marketing lead, understands precisely what is included in each margin category and how those metrics inform their own specific strategic and operational goals.

Storage Fees: COGS or OPEX: There's no universal right answer. Storage is time-based and doesn't map cleanly to units sold. Most operators treat it as an operating expense for simplicity. If your storage costs are high relative to revenue — which happens with slow-moving SKUs — you may want to build a model that includes carrying cost per unit to make SKU-level decisions. This decision hinges on your brand's specific inventory velocity; for fast-moving brands, storage is often negligible, but for brands with long lead times or high SKU counts, storage becomes a significant operational cost that should be analyzed alongside your other variable costs to identify which items are effectively "renting" too much warehouse space for the amount of revenue they generate.

Returns and Restocking: Returned product has a cost — restocking labor, repackaging, potential write-downs. Most D2C brands don't have clean per-unit return cost data, so this is often excluded from COGS. That's acceptable as long as you're tracking return rates and factoring the blended impact into product-level performance reviews. While it may not be feasible to assign a precise dollar cost to every single return, you can calculate a "blended return tax" based on your historical data, which provides a much more accurate picture of your true long-term profitability than ignoring these costs entirely, ensuring that you don't grow overly reliant on products that, while having a high gross margin, also carry a high, hidden rate of return that ultimately erodes their contribution to your bottom line.

How Shopify Handles COGS (and Where It Stops)

Shopify tracks cost per item at the variant level in your product catalog. When you enter a cost in the product admin, Shopify uses that to calculate a gross margin estimate in your analytics. This is useful but limited. The platform's built-in tools provide a solid starting point for a simple business, but they cannot replace a comprehensive, multi-layered financial analysis that accounts for the full suite of inbound shipping, duties, fulfillment taxes, and payment processing fees that define the modern D2C experience. By relying solely on the built-in analytics without supplementing them with custom reports or an external accounting platform, you are viewing your margins through a very narrow lens that fails to account for the true complexity of your supply chain and operational costs.

Most Shopify operators running at meaningful scale connect Shopify to an external accounting system (QuickBooks, Xero) or a custom P&L model where COGS is calculated more precisely. The Shopify analytics margin figure is a useful internal reference, not a number you should take to investors or use for pricing decisions without verification. To truly professionalize your business, you must treat your Shopify margin as an "estimation tool" while maintaining your "financial truth" in a system designed for complex, accrual-based accounting, ensuring that your financial reporting is robust, auditable, and ready to withstand the scrutiny of professional investors and lenders who require a level of precision that a simple e-commerce admin dashboard simply cannot provide.

FAQ

What is COGS for a Shopify store?

COGS (Cost of Goods Sold) for a Shopify store is the total direct cost associated with producing and delivering each unit sold. For a D2C brand, this typically includes manufacturing cost, inbound freight, import duties, packaging, and fulfillment costs. It excludes marketing, advertising, and fixed overhead expenses like software and salaries.

Should fulfillment costs be included in COGS for D2C ecommerce?

Yes, per-unit fulfillment costs — specifically pick and pack fees charged by your 3PL — are widely considered a direct cost of sale and belong in COGS. Storage fees and fixed monthly 3PL minimums are more commonly treated as operating expenses. The most important thing is being consistent in your treatment and documenting your methodology.

What is landed cost and how does it differ from supplier invoice cost?

Landed cost is the total cost to get a product from the factory to your warehouse, including the supplier invoice price, inbound freight, import duties, and any receiving or inspection fees. The invoice price is just the starting point. For most imported products, landed cost is 20–45% higher than the invoice price depending on freight mode and duty rates.

How do I calculate COGS per unit in Shopify?

Shopify allows you to enter a cost per variant in the product admin under Cost per item. This should reflect your fully calculated landed cost per unit. For a more accurate number, calculate: (Supplier unit cost + Inbound freight per unit + Duties per unit + Packaging per unit + Receiving fees per unit). Update this number whenever your supplier pricing, freight rates, or duty classification changes.

Does Shopify automatically calculate gross margin?

Shopify calculates an estimated gross margin in its analytics based on the cost per item you enter in the product catalog. This is a directional figure only. It does not pull in real-time freight, duty, or fulfillment data, and it will not update if your costs change unless you manually update the cost field. Use it as a reference, not as a reporting-grade margin figure.

What costs should not be included in Shopify COGS?

Costs that should not be in COGS include paid advertising and customer acquisition spend, platform subscription fees (Shopify monthly plans, app fees), salaries and team costs, warehouse rent or fixed overhead, and software tools. These are operating expenses that sit below gross profit in your P&L.

How often should a D2C brand update its COGS calculations?

At minimum, review and update COGS calculations quarterly, or after any material change to your supply chain — a new supplier, a freight rate increase, a change in 3PL pricing, or a product reformulation. Stale COGS data is one of the most common sources of inflated gross margin reporting in early-stage D2C brands.

get in touch

Go from online presence to real business impact

Strategy, execution, and digital experiences designed to move together. Fill out the form below and our team will contact you shortly.

get in touch

Go from online presence to real business impact

Strategy, execution, and digital experiences designed to move together. Fill out the form below and our team will contact you shortly.

get in touch

Go from online presence to real business impact

Strategy, execution, and digital experiences designed to move together. Fill out the form below and our team will contact you shortly.

© 2026 projectsupply

Part of Tangle

© 2026 projectsupply

Part of Tangle

© 2026 projectsupply

Part of Tangle