Skip to main content
all about shopify06 Jan 2026·6 min read

Contribution Margin in Shopify: The Metric That Reveals True Store Profitability

Dragoș-Adrian BuhoiuDragoș-Adrian BuhoiuFounder · Digital Ecosystem Architect
Contribution Margin in Shopify: The Metric That Reveals True Store Profitability
FEATURED.IMG
Contribution Margin in Shopify: The Metric That Reveals True Store Profitability

Gross profit lies. Contribution margin — revenue minus all variable costs — reveals whether each sale actually makes money. Build this model in your Shopify store.

The Number Your Accountant Doesn't Show You (But Should)

Gross profit is a useful metric. Net profit is the final score. But the metric that actually guides operational decisions — the one that tells you whether running a promotion will make you money or lose it — is contribution margin.

Contribution margin is revenue minus all variable costs directly attributable to selling that unit: cost of goods, payment processing fees, shipping costs, packaging, and the variable marketing spend that drove that sale. What's left is what each sale contributes to covering your fixed overhead and generating profit.

For Shopify merchants making operational decisions daily (pricing changes, promotions, ad spend adjustments, product cuts), contribution margin per unit and per channel is the number that matters.

Contribution Margin vs. Gross Profit:The Critical Difference

Gross profit = revenue − COGS

This is what Shopify's built-in profit reports calculate (when COGS is entered). It excludes variable non-COGS costs.

Contribution margin = revenue − COGS − all variable costs

Variable costs include:

  • Payment processing fees (typically 1.4-2.9% + fixed fee)
  • Shipping and fulfillment costs (per order)
  • Packaging materials (per unit)
  • Variable customer acquisition cost (ad spend allocated per sale)
  • Return handling costs (prorated by return rate)

Why the distinction matters for decisions: A product with 60% gross margin sounds healthy. But if the average order ships for €8, processes payment at 2.5%, and was acquired via Google Shopping at a €12 CPA, the contribution margin on a €40 product is:

  • Revenue: €40
  • COGS (40% of €40): −€16
  • Shipping: −€8
  • Payment fees (2.5%): −€1
  • Customer acquisition (allocated CPA): −€12
  • Contribution margin: €3 (7.5%)

At 7.5% contribution margin, this product barely covers fixed overhead. Running a 15% discount promotion on it means selling at a net loss.

Building a Contribution Margin Model in Shopify

Shopify doesn't calculate contribution margin natively — you need to build a model. Here's the architecture:

Step 1: Ensure COGS is entered for every active variant Navigate to Products → select product → Variants → Cost per item. This is the landed cost (product cost + freight + import duties / units). Without accurate COGS, every downstream calculation is meaningless.

Step 2: Calculate your fixed variable costs For your store, calculate average per-order:

  • Fulfillment cost per order (3PL pick-pack fee, or your internal cost estimate)
  • Outbound shipping cost per order (or use your shipping rate if customers pay shipping)
  • Packaging materials per order
  • Payment processing cost (use your actual Shopify Payments or gateway rate)

Step 3: Allocate marketing spend per order Pull your total marketing spend for the period from each channel. Divide by the orders attributed to that channel (using Shopify's UTM attribution or your last-click model). This gives you a blended or channel-specific CPA to allocate per order.

Step 4: Build the model in a spreadsheet Create a Google Sheet with rows per product/SKU:

  • Columns: Selling price, COGS, Gross Profit, Shipping cost, Payment fee, Allocated CPA, Return rate adjustment, Contribution Margin €, Contribution Margin %
  • Pull Shopify data via Better Reports or Report Pundit into the sheet automatically

Contribution Margin by Channel:Where to Spend More

Channel-level contribution margin analysis reveals which acquisition channels are actually profitable — not just which have the lowest CPA.

A channel with €15 CPA from customers who average €25 AOV and a 15% gross margin is destroying value. A channel with €35 CPA from customers who average €120 AOV, 60% gross margin, and a 2.5x repurchase rate is your highest-priority investment.

How to calculate:

  1. Segment your Shopify orders by acquisition channel (UTM source)
  2. For each channel: sum revenue, sum estimated COGS (COGS% × revenue as an approximation), sum ad spend, sum estimated variable costs
  3. Calculate: Channel Contribution = Revenue − COGS − Variable Costs − Ad Spend
  4. Express as CM% = Channel Contribution / Revenue

Channels with CM% above your minimum threshold get more budget. Channels below the threshold get restructured or cut.

Contribution Margin for Promotion Decisions

Before running any promotion, calculate the minimum volume lift needed to maintain positive contribution margin:

Breakeven volume formula: Breakeven lift = (Discount %) / (CM% − Discount %)

Example: 20% discount on a product with 35% CM:

  • Breakeven lift = 20% / (35% − 20%) = 20% / 15% = 133%
  • You need to sell 133% more units to break even on the promotion

If your historical promotion uplift is 40-60%, running a 20% discount on a 35% CM product is a guaranteed money-loser. This math should precede every promotional decision.

At Verdant Mindset, we help Shopify merchants build the financial analytics architecture that makes decisions like these data-driven. See our Shopify and ecommerce analytics services.

Shopify shows you what the customer paid, not what's left for you. The processing fee never shows up in the reports — if you don't subtract it from contribution margin by hand, you're inventing your profit.

B. Dragoș AdrianEcosystem Architect
INITIATE.SEQUENCE
// 01_OF_01
// Next Step

Scale Your Ecosystem

30-min discovery call — no cost, no pitch. We audit your digital architecture and deliver a clear operational plan.

  1. 01Short message with your business context
  2. 02Reply within 24h with a discovery-call proposal
  3. 03Operational plan + scope recommendation
Schedule a Discovery Callor browse resources
24h replyZero spamDirect with the founder

FAQ.PROTOCOL

Frequently Asked Questions

No. Contribution margin covers variable costs. Net profit additionally deducts fixed costs (salaries, rent, software subscriptions, etc.). Contribution margin tells you if each sale is covering its direct costs; net profit tells you if the entire business is profitable.
Target a minimum 25-30% contribution margin to have meaningful capacity to cover fixed overhead and generate net profit. Below 15% contribution margin, most Shopify business models are structurally unprofitable at current fixed cost levels.
Calculate the bundle's total COGS (sum of component COGSs + bundling labor), total variable fulfillment cost for the bundle (it may be higher due to weight/size), and the promotional discount applied to the bundle price. Run the same CM calculation with these bundle-specific inputs.
Not automatically. Low-CM products may serve as entry points (first purchases that lead to high-CM repeat purchases), complete a catalog that justifies higher-CM purchases, or serve a strategic brand purpose. Analyze contribution margin in the context of LTV and catalog role, not in isolation.
When any input changes: COGS changes (supplier price update, shipping rate change), fulfillment cost changes, marketing spend mix shifts significantly. For stable businesses, quarterly updates are sufficient. For businesses with volatile supplier costs or heavy promotional activity, monthly updates are more appropriate.