Cost Management

How to Calculate Real Profit per Product on Shopify

RMMS Team · Product & Growth
·11 min read
  • Profit Calculation
  • COGS
  • Shopify
  • Tutorial

Shopify tells you revenue. It does not tell you profit.

Shopify's built-in reports are excellent at tracking what comes in: gross sales, net sales, orders, sessions, conversion rate. But when it comes to what actually stays in your pocket — real profit per product — you are mostly on your own. The platform does not natively calculate contribution margin at the product level, and most merchants end up guessing or relying on incomplete spreadsheets.

This guide walks you through the exact formula for per-product profitability, every cost component you need to include, and a practical comparison between doing it manually and using automation.

The real profit formula

True per-product profit is not simply "selling price minus cost." Here is the complete formula:

Real Profit = Revenue − Discounts − Refunds − COGS − Payment Fees − Shipping Cost Absorbed − Allocated Overhead

Let us break down each component.

1. Revenue (net selling price)

This is the amount the customer actually paid for the product, excluding taxes and before any other deductions. For most Shopify stores, this is the variant price multiplied by quantity. Not gross sales — net sales after automatic discounts but before manual line-item adjustments.

2. Discounts

Every discount applied — whether automatic, code-based, or line-item — reduces revenue. You need the discount amount per unit, not just the store-wide average. A product that is frequently discounted at 15% has very different economics from one that rarely goes on sale.

3. Refunds

Refunded units are not just "zero revenue" — they carry costs. The cost per refund includes:

  • The COGS of the original item (if not resold)
  • Inbound shipping cost
  • Inspection and restocking labor
  • The non-refunded portion of the original payment processing fee

To allocate refund impact per product, calculate: (refund rate × average refund cost) per unit sold.

4. COGS (Cost of Goods Sold)

This should be the landed cost, not just the invoice price from your supplier. Landed cost includes:

  • Supplier unit price
  • Inbound freight (sea/air, per-unit allocation)
  • Import duties and tariffs
  • Packaging materials (per unit)

Shopify's "cost per item" field exists at the variant level, but many merchants leave it blank, enter only the supplier price, or never update it. If your COGS data is stale, every downstream calculation is wrong.

5. Payment processing fees

Your payment processor charges per transaction. On Shopify Payments, this is typically around 2.9% + $0.30 on the Basic plan (lower on Advanced). To attribute this per product in a multi-item order, allocate proportionally by revenue share.

Example: In a $100 order with two products ($60 and $40), the processing fee (~$3.20) allocates as $1.92 to the first product and $1.28 to the second.

6. Shipping cost absorbed

If you offer free shipping or flat-rate shipping, you are absorbing the difference between what the customer pays and what the carrier charges. This should be allocated per order and then per product (by weight or value share).

Formula: (Carrier cost + packaging) − Shipping revenue collected = Shipping leakage per order

7. Allocated overhead (optional but recommended)

For a more complete picture, allocate per-order overhead costs:

  • App costs (total monthly ÷ total orders)
  • Customer service time per order
  • Warehouse labor per order

This turns your calculation from "contribution margin" into something closer to true net profit per product.

Worked example: calculating real profit for a $65 product

ComponentCalculationAmount
Selling price$65.00
Average discount (8%)$65 × 0.08−$5.20
Net revenue$59.80
COGS (landed)Supplier $18 + freight $3 + packaging $1.50−$22.50
Payment fee$59.80 × 2.9% + $0.30−$2.03
Shipping absorbedCarrier $7.20 − customer paid $0−$7.20
Refund allocation10% return rate × $15 avg cost per return−$1.50
App cost per order$450/mo apps ÷ 800 orders−$0.56
Real profit per unit$25.81
Real margin$25.81 ÷ $59.8043.2%

Compare this to the "gross margin" most merchants would calculate: ($65 − $18) ÷ $65 = 72.3%. The gap between 72.3% perceived margin and 43.2% real margin is where profit goes to die.

The manual approach: spreadsheet method

Here is how to do this manually:

Step 1: Export data

  • Export orders from Shopify (Settings → Export → Orders)
  • Export product costs (if maintained in Shopify or your ERP)
  • Download your payment processor statement
  • Gather shipping invoices from your carrier

Step 2: Build the calculation sheet

  • Create a row per product/variant
  • Sum revenue, discounts, and refunds per product from the orders export
  • Match COGS from your product cost data
  • Allocate processing fees proportionally
  • Allocate shipping costs from carrier invoices

Step 3: Calculate and rank

  • Apply the formula to each product
  • Rank by real profit per unit — not by revenue, not by units sold
  • Flag products below your target margin threshold

Time estimate

For a store with 50–200 active SKUs and 500–2,000 orders/month, this process takes 6–10 hours the first time and 3–5 hours each subsequent month. The data reconciliation between Shopify exports, processor statements, and carrier invoices is where most of the time goes.

The automated approach: real-time profit tracking

A purpose-built profit analytics tool can eliminate the manual work by:

  • Pulling order, refund, and payment data directly from the Shopify API
  • Calculating per-order and per-product processing fees automatically
  • Tracking shipping cost vs. shipping revenue at the order level
  • Applying COGS data (entered once and updated when supplier prices change)
  • Updating in real time as new orders come in

Manual vs. automated comparison

FactorManual (Spreadsheet)Automated (Profit Tool)
Setup time6–10 hours15–30 minutes
Monthly maintenance3–5 hours~0 (auto-updating)
Data freshnessMonthly snapshotReal-time
AccuracyDepends on reconciliation disciplineProgrammatic, auditable
Processing fee allocationOften approximatedPer-transaction exact
Shipping cost trackingRequires carrier invoice matchingAutomatic from order data
CostFree (your time)Varies by tool ($0–$99/mo)

Common mistakes in per-product profit calculations

  • Using gross margin as proxy for real profit. Gross margin ignores processing fees, shipping, discounts, and refunds. It overstates profitability by 15–30 percentage points in most cases.
  • Averaging COGS across variants. A size S and size XL of the same product may have different freight costs and very different return rates.
  • Ignoring multi-item order allocation. In a two-item order, the fixed processing fee ($0.30) should be split, not charged fully to each item.
  • Forgetting currency conversion costs. If you sell internationally, FX markup is an additional cost that most merchants overlook.
  • Only calculating at order time. A product that looked profitable at sale time may become a loss once the refund window closes and 15% came back.

Skip the spreadsheet — see real profit instantly

ProfitOps calculates real per-product profit on Shopify automatically — including COGS, payment fees, shipping leakage, discounts, and refund impact. Every formula is auditable and transparent. Install ProfitOps free and get your first real P&L in minutes, not hours.