Cost Management
How to Calculate Real Profit per Product on Shopify
- 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
| Component | Calculation | Amount |
|---|---|---|
| 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 absorbed | Carrier $7.20 − customer paid $0 | −$7.20 |
| Refund allocation | 10% 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.80 | 43.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
| Factor | Manual (Spreadsheet) | Automated (Profit Tool) |
|---|---|---|
| Setup time | 6–10 hours | 15–30 minutes |
| Monthly maintenance | 3–5 hours | ~0 (auto-updating) |
| Data freshness | Monthly snapshot | Real-time |
| Accuracy | Depends on reconciliation discipline | Programmatic, auditable |
| Processing fee allocation | Often approximated | Per-transaction exact |
| Shipping cost tracking | Requires carrier invoice matching | Automatic from order data |
| Cost | Free (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.
Related articles
Cost Management
Hidden Shopify Fees That Are Hurting Your Margins
A merchant-grade breakdown of Shopify transaction fees, apps, themes, shipping markups, and other silent costs—with realistic examples so you can reclaim margin.
Cost Management
Your Shopify Apps Are Eating Your Profit: How to Audit
Most Shopify stores run 6–12 apps without tracking ROI. Learn how to audit your app costs, identify waste, and calculate whether each app earns its keep.
Shopify Strategy
Why Shopify Stores Grow Revenue But Lose Profit
Discover why rising Shopify revenue often hides shrinking margins—from payment stack creep to fulfillment economics—and how to reverse the trend before cash flow cracks.