Shopify Profit Tracking: How to Know If You're Actually Making Money
Learn how to track true profit on Shopify — not just revenue. Includes margin formulas, a per-order profit model, and how to find the hidden leaks draining your store.
You made $80,000 in sales last quarter. Congratulations — but are you actually making money? A surprising number of Shopify merchants don't know the answer. They track revenue religiously but have no clear picture of what's left after COGS, Shopify fees, ad spend, shipping, returns, and chargebacks. The result: stores that look profitable on the surface but are quietly bleeding cash.
Profit tracking isn't optional. It's the difference between growing a real business and running a very busy operation that doesn't pay you well. Here's how to build a system that tells you exactly where you stand.
The Problem: Revenue Is Vanity, Profit Is Sanity
Shopify's default dashboard shows you orders, revenue, and conversion rate. Those are useful numbers, but they don't tell you what matters most: how much money you're actually keeping.
Take a typical outdoor gear store selling a Cotopaxi Allpa 35L pack at $160. The supplier cost is $72, so the gross margin looks like a healthy $88 — a 55% margin. But then you factor in everything else:
- Shopify transaction fee: ~$4.80 (at 2.9% + $0.30)
- Outbound shipping: $12.00
- Packaging: $2.00
- Customer acquisition cost (Meta ads): $18.00
- Returns/damage reserve: $5.00
That $88 gross margin becomes $46.20 in actual profit — a 29% net margin. Still solid, but very different from what the top-line revenue suggested. And if your CAC is higher or you're on a plan with elevated transaction fees, you could be sitting at 15% or lower without knowing it.
The Four Numbers That Actually Matter
1. Gross Margin Per Product
This is (price − COGS) / price × 100. It tells you how much profit you make before any operating expenses. Most healthy DTC brands target 50–70% gross margins to leave room for marketing, fulfillment, and overhead. If your Carhartt-style work jacket costs $48 and you're selling it at $89, your gross margin is 46% — workable, but tight if your paid ads are expensive.
2. Net Margin Per Order
Gross margin minus fulfillment, transaction fees, and allocated marketing spend. This is the hardest number to track but the most honest measure of whether your business is actually healthy. Sustainable DTC operations typically run 15–25% net margins.
3. Contribution Margin
Revenue minus variable costs (COGS + shipping + transaction fees + returns). This tells you how much each order contributes toward covering fixed costs like software, payroll, and rent. If your contribution margin is negative, you're losing money on every sale — no amount of volume will fix that.
4. LTV:CAC Ratio
If your average customer spends $160 once and your blended CAC is $35, that's a 4.6x ratio — strong. But if AOV is $80 and CAC is $40, that ratio drops to 2x, and you need repeat purchases quickly just to break even on acquisition.
Step 1: Get Your Cost Data Into Shopify
None of this works without accurate cost-per-item data in Shopify. The Cost per item field on each product variant is the foundation of every margin calculation. Without it, you're estimating — and estimates compound into bad decisions.
Many merchants either skip this field entirely or fill it in inconsistently. Some products have costs entered, others don't. If you have 500+ SKUs, auditing and filling in this data manually is a multi-day project that keeps getting pushed back. BulkOps surfaces every product missing a cost in its Data Insights tab, so you can see the full scope of the gap immediately and fill in missing costs across your catalog in bulk — without opening each product one by one.
Step 2: Model Your True Profit Per Order
Once your cost data is accurate, build a simple per-order profit model for your top SKUs. Here's what it looks like for a $120 sale:
| Line Item | Amount |
|---|---|
| Sale price | $120.00 |
| Cost of goods (COGS) | −$48.00 |
| Shopify fee (2.9% + $0.30) | −$3.78 |
| Fulfillment + shipping | −$11.00 |
| Packaging | −$2.00 |
| Returns reserve (3% of revenue) | −$3.60 |
| Blended CAC | −$22.00 |
| Net profit per order | $29.62 |
| Net margin | 24.7% |
Build this for your top 20 SKUs. You'll almost always find products that look profitable but aren't — and products you've been undervaluing that could support higher prices without hurting conversion.
Step 3: Set Margin Floors and Enforce Them at Scale
Once you know what margins are sustainable, enforce them as pricing rules. If 40% gross margin is your floor, every product should be priced at cost / (1 − 0.40). A Stanley tumbler that costs $18 should be priced at $30 minimum — not $26, not $28.
This discipline breaks down at scale. When you have 800 products and launch a 20% off sale, you need to know which products can absorb that discount and which drop below your margin floor. Guessing across a large catalog isn't a strategy — it's a way to accidentally run a sale that loses you money.
BulkOps's Low Margin tab in the bulk editor surfaces exactly these products: everything in your catalog currently priced below your target margin so you can reprice or exclude them from campaigns before they go live.
Step 4: Review Profit Trends Weekly
Profit tracking isn't a one-time audit. Set a weekly cadence to review:
- Average gross margin across your active catalog — is it trending up or down quarter over quarter?
- Your 10 lowest-margin products — can you raise prices or renegotiate supplier costs?
- Return rates by product — high return rates on specific SKUs destroy margin fast and usually signal a product or description problem
- Ad spend efficiency — if CAC is creeping up, margin erodes even if COGS stays flat
Shopify's native analytics surface revenue and order volume well, but they don't show margin trends. You'll need to either export to a spreadsheet, connect a profit analytics tool like Triple Whale or Glew, or build reports using Shopify's ShopifyQL query builder in the Analytics section.
The Most Common Hidden Profit Leaks
These are the places profit silently disappears in most Shopify stores:
- Free shipping thresholds set too low. Free shipping at $35 might have made sense when average order value was $65 and carrier rates were lower. If AOV has dropped or UPS/FedEx rates have risen, that threshold could be costing you $8–15 per order.
- Discount stacking. A 15% off sitewide sale plus a 10% welcome code equals 25% off for new customers — often below your margin floor on lower-priced SKUs.
- Supplier cost creep. If your supplier raised prices 8% and you haven't updated your cost-per-item data in Shopify, every margin calculation in your reports is wrong. You're making pricing decisions based on outdated numbers.
- SKUs with no cost data at all. Products without a cost entered are invisible to any margin calculation. You could have 30% of your catalog completely untracked.
- High-velocity low-margin products masking catalog-wide issues. If your best-selling product has a 60% margin but everything else is at 25%, your blended margin looks fine — until that hero product slows down.
What Good Profit Tracking Looks Like in Practice
A well-run Shopify store treats profit tracking like a recurring operational task, not a fire drill at the end of the quarter. That means:
- Every product has accurate cost data entered in Shopify
- Pricing rules enforce a gross margin floor across the full catalog
- A weekly review catches margin drift before it compounds
- Campaigns and discounts are scoped to products that can absorb them
- Return and refund data is factored into per-SKU margin calculations, not just overall revenue
Merchants who do this consistently have a meaningful advantage: they know which products to push, which to reprice, and which sales events are actually worth running. Everyone else finds out at tax time.
If your cost data is incomplete or you're not sure which products are below your margin floor, BulkOps's Data Insights tab flags every product missing a cost per item, and the Low Margin tab shows you exactly what's underpriced across your catalog — so your profit tracking starts with accurate inputs. Install BulkOps →
Try BulkOps.ai free on your store
Everything covered in this article is built into BulkOps.ai. Free plan for stores up to 50 products — no credit card required.
Add to Shopify — FreeWas this helpful?