MishaBook a demo

Aug 14, 2026

Margin Mistakes That Kill Shopify Unit Economics

Gross margin is revenue minus cost of goods sold (COGS), expressed as a percentage. For Shopify DTC, true margin must include payment processing, fulfillment, and platform fees - not just product cost.

Mistake 1: Excluding Payment Processing Fees from COGS

Payment processing fees (Stripe, PayPal, etc.) are direct, variable costs tied to revenue. They range 2.2% - 3.5% depending on processor and plan. Many operators treat these as overhead instead of subtracting them from gross margin.

The error: Reporting 60% margin when actual margin is 56% - 58%. This distorts profitability signals and breaks unit economics models.

Decision rule: Payment fees are COGS-adjacent. Subtract them before calculating margin. If using Shopify Payments, the fee is 2.9% + 30¢ per transaction (US). If using external processor, verify the exact rate and whether it applies to all payment methods equally.

  • Stripe Connect: 2.9% + 30¢ (US standard)
  • Shopify Payments: 2.9% + 30¢ (same as Stripe)
  • PayPal: 2.2% + 30¢ (lower but less integrated)
  • International: Add 1% - 2% for cross-border fees

Mistake 2: Forgetting Shopify Platform Fees in Margin Math

Shopify charges a subscription fee (Basic $39/mo, Shopify $105/mo, Advanced $399/mo) plus transaction fees on orders (0.5% - 2% depending on plan). These are fixed and variable costs that reduce net margin.

The error: Calculating gross margin without allocating platform fees per unit. A $100 order at 50% gross margin looks profitable until platform fees ($0.50 - $2.00) and processing fees ($3.00) are allocated.

Decision rule: For margin reporting, separate gross margin (revenue minus COGS and payment fees) from contribution margin (gross margin minus allocated platform fees). Contribution margin is the true signal for unit profitability.

  • Basic plan: 0.5% transaction fee + $39/mo fixed cost
  • Shopify plan: 1% transaction fee + $105/mo fixed cost
  • Advanced plan: 2% transaction fee + $399/mo fixed cost
  • Allocate fixed costs by dividing monthly fee by average monthly units sold

Mistake 3: Misclassifying Fulfillment Costs

Fulfillment includes picking, packing, shipping label, and carrier fees. Operators often separate 'shipping cost' (carrier) from 'fulfillment cost' (labor), creating blind spots. If offering free shipping, the full cost must come from margin.

The error: Reporting 55% margin on a $50 product with $10 COGS, then discovering $8 fulfillment cost per unit. True margin is 34%, not 55%.

Decision rule: Fulfillment cost is COGS if it's variable per unit. If using 3PL, the per-unit cost is clear. If in-house, calculate labor + materials + overhead per unit and include it. If offering free shipping, add the average shipping cost to COGS.

  • 3PL per-unit cost: typically $2 - $6 depending on weight and complexity
  • In-house labor: divide monthly labor cost by units packed
  • Shipping subsidy: if charging $5 flat but average cost is $7, add $2 to COGS
  • Returns processing: allocate 2% - 5% of revenue as reverse logistics cost

Mistake 4: Setting Margin Thresholds Too High

Operators often target 60% - 70% gross margin without accounting for customer acquisition cost (CAC), marketing spend, and overhead. A product hitting 65% gross margin but requiring $20 CAC on a $50 order is unprofitable at scale.

The error: Optimizing for gross margin instead of contribution margin or payback period. High margin products can still lose money if CAC is high.

Decision rule: Minimum contribution margin (after COGS, payment fees, platform fees, and fulfillment) should be 2x - 3x the expected CAC. If CAC is $15, contribution margin must be $30 - $45 per unit. For a $50 product, that's 60% - 90% contribution margin.

  • Contribution margin = (Revenue - COGS - Payment fees - Platform fees - Fulfillment) / Revenue
  • Payback period = CAC / Contribution margin per unit (in months, multiply by average order frequency)
  • Minimum threshold: Contribution margin > 50% for sustainable DTC
  • Red flag: Gross margin > 60% but contribution margin < 40%

Mistake 5: Ignoring Seasonal and Promotional Margin Erosion

Margin changes with discounts, bundles, and seasonal shifts. A 50% margin in Q3 becomes 35% in Q4 if offering 30% off. Operators often report annual margin without flagging these swings, masking profitability crises.

The error: Planning inventory and hiring based on average margin, then running out of cash during high-discount periods.

Decision rule: Calculate margin by cohort (new vs. repeat), by channel (organic vs. paid), and by season. Set minimum acceptable margin by channel - organic should sustain higher discounts than paid.

  • Track margin by traffic source: organic, paid, email, affiliate
  • Organic customers: target 55%+ contribution margin (lower CAC)
  • Paid customers: target 70%+ contribution margin (higher CAC)
  • Seasonal discount impact: model margin at 10%, 20%, 30% off before running promotions

Mistake 6: Not Accounting for Returns and Chargebacks

Returns reduce effective revenue. Chargebacks trigger Shopify fees ($15 per chargeback) and payment processor penalties. A 5% return rate on a 50% margin product cuts margin to 47.5% before chargeback costs.

The error: Calculating margin on gross sales instead of net sales (after returns). A $100k month with 5% returns is $95k in actual revenue.

Decision rule: Subtract expected return rate from revenue before calculating margin. If return rate is unknown, assume 3% - 5% for apparel, 1% - 2% for non-apparel. Add 0.5% - 1% for chargeback losses.

  • Return rate impact: 5% return rate = 5% revenue loss
  • Chargeback rate: 0.1% - 0.5% of transactions (varies by processor)
  • Chargeback fee: $15 per dispute (Shopify Payments)
  • Net margin formula: (Revenue × (1 - return rate - chargeback rate) - COGS - Fees) / (Revenue × (1 - return rate - chargeback rate))

Margin Audit Checklist

Use this checklist monthly to catch margin leaks before they compound.

  • [ ] Payment processing fees subtracted from revenue
  • [ ] Shopify subscription and transaction fees allocated per unit
  • [ ] Fulfillment cost (labor, materials, shipping subsidy) included in COGS
  • [ ] Return rate and chargeback rate deducted from revenue
  • [ ] Contribution margin calculated (not just gross margin)
  • [ ] Margin tracked by channel, cohort, and season
  • [ ] Minimum acceptable margin threshold set by channel
  • [ ] CAC vs. contribution margin payback period verified (< 6 months target)

Questions

FAQ

What's the difference between gross margin and contribution margin?

Gross margin is revenue minus COGS and payment fees. Contribution margin subtracts platform fees and fulfillment costs too. Contribution margin is the true signal for unit profitability on Shopify because it reflects all variable costs tied to the sale.

Should I include Shopify subscription fees in per-unit margin?

Yes, but as an allocated fixed cost. Divide your monthly Shopify fee by average monthly units sold, then subtract that per-unit amount from gross margin to get contribution margin. This prevents underpricing products that don't cover platform overhead.

What's an acceptable contribution margin for Shopify DTC?

Minimum 50% contribution margin is sustainable. If CAC is $20 and average order value is $50, contribution margin must be at least $40 (80%) to break even in under 3 months. Organic channels can run lower (40% - 50%); paid channels need higher (70% - 80%).

How do I account for free shipping in margin calculations?

Add the average shipping cost to COGS. If average shipping cost is $7 and you offer free shipping, treat that $7 as a variable cost per unit. This prevents margin blindness on high-shipping products.

Want this on your account?

Thirty minutes. Bring the number that keeps you up.

More from the blog