Contribution Margin Calculator Inputs for Shopify Stores

Metricuno
July 5, 2026
7 min read
Contribution Margin Calculator Inputs for Shopify Stores — Source every input for a Shopify contribution margin calculation — Shop Pay fees, plan-tier transaction fees, shipping markup, app allocation, refunds, FX.
Quick answer

A field guide to finding the right per-order numbers for a Shopify contribution margin calculation — payments, shipping markup, app allocation, and refunds included.

Quick answer

For a Shopify contribution margin calculation, pull revenue and discounts from the Finances Summary, Shop Pay and card fees from the Payouts report (not the order totals), COGS from the SKU-level cost field or your ERP, shipping cost from the Shipping label export, and allocate app subscriptions by dividing monthly cost by monthly orders. Do the math per order, then average — don't average first.

Definition
E-commerce finance

Contribution Margin Calculator Inputs for Shopify Stores

The specific per-order inputs — revenue, COGS, fees, shipping, apps, refunds — a Shopify store needs to compute contribution margin accurately.

Contribution margin on Shopify is order revenue minus every variable cost that scales with that order: cost of goods, payment processing, plan-tier transaction fee, pick-and-pack, outbound shipping (net of what the customer paid), refunds, chargebacks, and the per-order share of order-touching apps. The trick isn't the formula — it's sourcing each number from the right Shopify surface. Payout reports, Finances Summary, shipping label exports, and app billing all live in different places, and each has a rounding quirk or fee-netting behaviour that will silently distort the answer if you pull from the wrong report.

Most stores in the €1M–€15M band get contribution margin wrong by 4-8 percentage points because they pull revenue from the Orders report and fees from the invoice. Those two numbers don't reconcile.

This page walks the input list in the order you should assemble it, points to the exact Shopify surface each number lives in, and flags the traps — Shop Pay fee netting, shipping label markup, gift-card revenue timing, and FX rounding on Shopify Markets.

Revenue and payment fees

Start with gross revenue net of discounts but before shipping charged to the customer. Pull it from Analytics → Finances → Finances Summary, filtered to the period you're analysing. Do not use the Orders export — it includes cancelled and unpaid orders.

For payment fees, the Payouts report is the only source of truth. Shop Pay, Apple Pay, and card fees are netted before the payout hits your bank, and the effective rate varies by card type and country. See finding true Shop Pay fees in the Shopify payouts report for the export path, and transaction fee differences across Shopify Basic, Shopify, Advanced, and Plus for the additional 0.5-2% line item you pay when you're not on Shopify Payments.

The plan-tier fee is separate from the card fee

If you're using a third-party gateway (Stripe, Adyen, PayPal Braintree), Shopify charges an ADDITIONAL transaction fee on top of the gateway's fee: 2.0% on Basic, 1.0% on Shopify, 0.5% on Advanced, and 0.15% on Plus for Shopify Payments alternatives. Stores that switch gateways for BNPL support routinely forget to add this line back into CM.

Shipping and fulfilment

Shipping cost is the input most stores get wrong. Shopify Shipping shows discounted label rates in the admin, but the label you actually buy can carry a small markup versus a direct carrier account — see how Shopify shipping label markup distorts per-order shipping cost.

Pull the true number from Settings → Shipping and delivery → Shipping labels → Export. Match label cost to order ID, then subtract what the customer paid for shipping (from the Finances Summary shipping line). The net is your per-order shipping cost.

Pick-and-pack is a per-order variable cost even if you fulfil in-house — €1.20-€2.50 per order for a two-person team on an apparel SKU is a reasonable estimate. If a 3PL handles it, use their per-order pick fee, not their monthly bill.

Where each input actually lives

Benchmark

Shopify source-of-truth by contribution margin input

InputShopify surfaceExport pathCommon trap
Gross revenue (net of discounts)Finances SummaryAnalytics → Finances → Summary → ExportOrders export includes unpaid orders
Shop Pay + card feesPayouts reportFinance → Payouts → Transactions → ExportFees vary by card country; don't average
Plan-tier transaction feePayouts (line item)Same export, separate columnOnly appears if not on Shopify Payments
Shipping label costShipping label exportSettings → Shipping → Labels → ExportIncludes Shopify markup vs direct carrier
Shipping charged to customerFinances SummaryShipping line on SummaryFree-shipping thresholds distort the average
COGS per SKUInventory → Cost field, or ERPProducts → Inventory → ExportStale costs; landed cost missing duties
Refunds & chargebacksOrder reportsAnalytics → Reports → RefundsChargebacks lag 30-60 days
App subscription allocationBilling historySettings → Billing → BillsMonthly bill ÷ monthly orders
Discount codes & gift cardsDiscount reports + Gift card reportAnalytics → Discounts / Gift cardsGift card sale ≠ revenue until redemption
FX conversion on MarketsMarkets settings + payoutsPayouts export shows presentment + settlementRounding drift on cross-currency orders

Build a per-order sheet with one row per order and these columns. Averaging inputs first (average AOV × average fee %) systematically overstates margin by 1-3 points because high-fee orders correlate with high-refund orders.

COGS, apps, and the allocation traps

COGS lives in the Cost per item field on each variant — but that field is unit cost, not landed cost. If duties, inbound freight, and QC aren't baked in, you're understating COGS by 8-15% on imported goods. See sourcing COGS per SKU from Shopify inventory vs an external ERP for the reconciliation pattern.

For apps, only allocate the ones that touch an order: shipping insurance, upsell apps, review requests, SMS post-purchase, subscription managers. A €99/month upsell app across 3,000 orders is €0.033 per order — tiny individually, but ten such apps is €0.33, roughly 1% of a €35 AOV. The full method is in allocating monthly Shopify app subscriptions to per-order variable cost.

Skip apps that don't scale with orders (theme editors, backup tools, ERP connectors) — those are fixed overhead and belong below the contribution margin line.

Refunds, discounts, and gift cards

Refund drag is often 3-8% of revenue on apparel and 1-2% on beauty. Pull it from Analytics → Reports → Refunds, then add chargeback drag from the Payouts report — chargebacks lag 30-60 days, so use a trailing quarter. The full workflow is in pulling refund and chargeback drag from Shopify order reports.

Discount codes are already netted from Finances Summary revenue. Gift cards are the trap: a €50 gift card SOLD is a liability, not revenue, until it's redeemed. See handling discount codes and gift cards in Shopify CM math. And if you sell in multiple currencies, multi-currency rounding and FX drift in Shopify Markets CM covers the settlement mismatch.

Putting it into the calculator

With every input sourced, feed them into the contribution margin calculator: revenue per order, COGS per order, payment fees per order, plan-tier fee per order, net shipping cost per order, pick-and-pack, allocated app cost, and refund/chargeback drag as a percentage of revenue.

A healthy Shopify apparel store lands around 35-45% CM after all variable costs. Under 25% means fees or shipping are eating you; over 55% usually means you've forgotten to allocate something — most commonly refund drag or pick-and-pack.

Frequently asked

Frequently asked questions

Finances Summary. The Orders export includes cancelled, unpaid, and draft orders, which inflates revenue by 3-6% depending on your abandonment behaviour. Finances Summary only counts settled transactions and already nets discount codes.

In the Payouts report, each order line shows the presentment amount, the fee, and the net payout. Shop Pay fees are card fees — Shopify doesn't charge a separate Shop Pay fee — so the number you want is the total processing fee on that transaction line, which varies by card country and type.

No. The 0.5%-2% plan-tier fee only applies when you process payments through a third-party gateway (Stripe, Adyen, PayPal Braintree). If everything runs through Shopify Payments, the card processing fee is the only payment cost — but that rate is higher on lower plans.

Divide the monthly subscription by the number of orders that month. Only include apps that actually touch an order flow — reviews, upsells, shipping, subscriptions, SMS. Theme editors, ERP connectors, and analytics tools are fixed overhead and belong below the CM line.

Not always. Shopify negotiates volume discounts but adds a small markup on some label rates versus a direct carrier account with equivalent volume. Above roughly 2,000 orders/month, comparing your label export against a direct DHL or UPS contract quote is worth the hour.

A gift card sale is a liability, not revenue — it becomes revenue when redeemed against an order. If you count the sale as revenue, you'll double-count on redemption. Use the Gift card report to reconcile issued vs redeemed and only count redemptions in the CM window.

For a rolling CM number, use the same window as your revenue — refunds issued in the period, regardless of when the original order was placed. For a cohort CM (this month's orders' true margin), you need a 60-90 day trailing window because most refunds settle within that time.

Yes. Chargebacks are a variable cost that scales with orders — the lost revenue, the €15-€25 dispute fee, and the shipped goods you don't recover. Pull chargeback data from the Payouts report's dispute lines, on a trailing 60-day basis so recent activity is captured.

Markets converts prices at checkout using Shopify's FX rate, but payouts settle in your bank's currency at a different rate — the drift is usually 0.5-1.5%. On top of that, per-country rounding rules produce small mismatches. Use the presentment-currency amount for revenue and the settlement amount for what actually hits your bank.

After all variable costs — COGS, payment fees, plan fee, net shipping, pick-and-pack, app allocation, refunds — a healthy apparel store lands 35-45%. Beauty and supplements typically run 50-65% because refund rates and shipping are lower. Under 25% means something is quietly eating margin; audit fees and shipping first.

Get an AI expert review of your site

Paste your URL — Metricuno's AI runs the same heuristic checks a senior CRO consultant would, scoring your page and prioritising the fixes that'll move conversion fastest.