True Profit Per Order: The Number Your Shopify Dashboard Hides
Shopify shows you revenue. It doesn't show you what you keep. Here's how to calculate true profit per order in a way that survives an accountant's review.
Every Shopify merchant I talk to can quote their monthly revenue down to the dollar. Ask them what they actually keep on a single order and the answer gets vague. "Around 30% margin?" "I think after ads we're profitable on most things?"
That gap is expensive. You can't optimize a number you don't measure.
This post walks through what true profit per order means, why most tools get it wrong, and how to compute it in a way your accountant would sign off on.
What Shopify gives you
Open your Shopify analytics. You see:
- Total sales (revenue)
- Returning customer rate
- Online store sessions
- Conversion rate
- Average order value
What's missing? Cost. Shopify knows your prices because you set them. It does not know what each product cost you to make, ship, refund, fulfill, or advertise. So it shows revenue and stops.
That's fine for top-line bragging. It's useless for deciding which product to push.
The formula nobody writes on a whiteboard
True profit per order looks like this:
True Profit = Revenue
- Refunds
- Cost of Goods (per line item)
- Shipping (actual, from the order)
- Transaction Fees (Shopify Payments or third-party)
- Discounts (applied to the order)
- Returns Cost (if return is initiated)
- Expense Share (overhead allocated to this order)
Each line in that subtraction list is a different leak. Skip any one and your numbers lie.
Let's walk through them.
Refunds
If a customer returns a $80 product and you give them their money back, the original order's profit is now negative by the cost of the goods plus restocking. Most spreadsheets count the revenue and miss the refund. Your dashboard says "great month." Your bank account disagrees.
Cost of Goods Sold (COGS)
The wholesale price you paid for the unit. Multiplied by the quantity sold. Per line item, not per order — because a single order can contain a low-margin product and a high-margin product, and rolling them up to one COGS number hides which one is dragging the average down.
Shipping
Shopify charges your customer a shipping fee. UPS charges you a different one. The difference is yours to keep (or eat). Profit tools that ignore the actual shipping cost overstate margin every time a customer picks ground shipping you priced too low.
Transaction Fees
Shopify Payments takes ~2.9% + 30¢ per US credit card transaction. PayPal takes more. Stripe takes about the same. If you're processing 500 orders a month at $50 average, that's ~$725 a month flowing out of your bank that never shows up in revenue. Track it.
Discounts
A 20% discount code on a $100 order is $20 that never hits your bank. Critically, the discount applies per line item — so a 20% discount on a 30% margin product is fundamentally different from a 20% discount on a 60% margin product. Track discounts at the line-item level, not the order level.
Returns Cost
The labor cost of processing a return, restocking the product, and (sometimes) refunding shipping in both directions. Easy to ignore because it doesn't appear on a line item. Hard to ignore once you realize a 5% return rate on a $30 product can eat your margin entirely.
Expense Share — the one everyone skips
This is where most profit tools quietly fail.
Your store has overhead costs that aren't tied to any single order: Klaviyo subscription, Shopify app fees, ad spend, your accountant, your contractor doing email design.
The accounting profession's answer to "how do you allocate overhead to individual transactions" is GAAP overhead allocation: split the overhead proportionally by the revenue it supported.
In English:
Day's Total Expenses = (one-time expenses dated that day)
+ (recurring expenses prorated to daily)
Order's Expense Share = (Order Revenue / Day's Total Revenue)
× Day's Total Expenses
If you spent $200 on Facebook ads on Monday and Monday produced $4000 in revenue, every $40 order from Monday absorbs $2 of ad cost. Every $200 order absorbs $10. Every $0 order (i.e. didn't happen) absorbs nothing.
Now you can answer the question that actually matters: for this specific order, what did I keep after every cost?
What this looks like in practice
Here's a real-shaped example. Single order:
| Line | Value |
|---|---|
| Revenue | $84.00 |
| Refund | $0 |
| COGS (4 items × $9 each) | $36.00 |
| Shipping (actual) | $7.40 |
| Transaction fees (2.9% + 30¢) | $2.74 |
| Discount applied | $5.00 |
| Returns cost | $0 |
| Expense share (Monday's allocation) | $4.20 |
| True profit | $28.66 |
| Margin | 34.1% |
Note the difference from a quick-and-dirty calculation. Revenue minus COGS would say $48 profit, 57% margin. The actual figure is 34%. Same order, 23 percentage points apart.
Run that math across a quarter of orders and the difference is the difference between "this product makes money" and "this product is the reason I'm not making money."
How to do this without a spreadsheet for the rest of your life
You have three options.
Option 1: Build it yourself. Pull Shopify orders, pull refunds, pull discounts, pull fees, manage COGS in a sheet, allocate expenses by hand. Doable for a single-product store. Falls apart by the 50th SKU.
Option 2: Use a tool that does revenue minus a couple costs. Triple Whale, BeProfit, Lifetimely. Useful, but most stop at COGS + shipping + ads. Few do per-order expense allocation. Almost none do it at the line-item level.
Option 3: Use a tool that does all eight subtractions per order. This is what we built ProfitPilot for. Disclosure: we make it. It pulls your Shopify data, lets you upload or AI-estimate COGS, tracks expenses with auto-categorization, and applies the GAAP expense allocation to every line item of every order automatically.
If you want to see the math live, the free profit calculator does the per-order version without an install. The free store health check runs AI analysis on any public Shopify URL and tells you where you're leaking margin.
What to do this week
Even if you don't use ProfitPilot, here's the minimum version of this discipline:
- Audit your COGS. Pick your top 10 products by revenue. Confirm the wholesale cost for each. Make sure your records match. You will find at least one wrong number.
- Pull your last 30 days of transaction fees. Add them up. Subtract from revenue. The number will be larger than you expected.
- List your fixed monthly costs. Klaviyo, Shopify, apps, freelancers, ad spend. Divide by orders processed that month. That's your per-order overhead burden — usually $1 to $5.
- Multiply your average margin by that per-order burden. If you have 22% margin on a $40 average order, that's $8.80. Subtract $3 for overhead and you have $5.80 actual margin. 14.5%, not 22%.
Most stores find their real margin is 30–50% lower than what they think it is. The fix is not always lower costs. Sometimes it's a price increase nobody noticed.
The first step is knowing the number. The hard part isn't math — it's the discipline to look at it daily instead of monthly.
Want ProfitPilot to do this calculation automatically for your store? Get on the waitlist. We launch in the Shopify App Store soon.
Not financial advice. Verify before acting.