Here is something I have seen trip up merchants for over two decades: they look at revenue and assume things are going well. Revenue is up, orders are flowing, the dashboard looks healthy. But when you dig into the numbers on a per-order basis, a surprising percentage of those orders are actually losing money.
Not all of them. Not even most. But enough to quietly drain your margins month after month.
I ran retail jewellery stores for 22 years. I know firsthand how easy it is to focus on the top line while the bottom line slowly erodes. The problem is worse in ecommerce because there are more hidden costs baked into every transaction, and they are harder to see.
Let's walk through a real scenario. Say you sell a product on Shopify for $50. Your cost of goods is $20. That looks like a $30 margin — 60%. Healthy, right?
Now let's add the costs that Shopify's revenue reports don't show you at a glance:
Let's do the real maths:
That's a 28% margin instead of 60%. Still profitable, but barely half what you thought.
Now imagine the customer ordered a second item at $15 with the same discount and free shipping applied to the whole order. Your COGS on the second item is $9. The combined order might actually break even or dip into a loss, depending on shipping weight.
That example is a moderate case. The orders that actually lose money tend to share a few common traits:
A customer applies a percentage-off code on top of a product that is already on sale. Many Shopify stores allow this by default. If a product is marked down 20% and the customer stacks a 10% welcome code, your effective margin drops fast — especially on lower-priced items where payment processing fees take a bigger proportional bite.
Free shipping thresholds are a proven way to increase average order value. But if your threshold is too low, you end up subsidising shipping on orders that cannot carry the cost. Shipping a $30 order for free when the actual shipping cost is $8 wipes out most of the margin on many products.
When a customer returns a product, you don't just lose the sale. You lose the original shipping cost, the return shipping cost (if you cover it), the payment processing fee (which Shopify does not refund), and often the product itself if it can't be resold as new. A single return can cost you more than the original order was worth.
The percentage-based fee works against you on big orders too. A $500 order costs $14.80 in payment processing alone. If your margin on that product is tight, that fee is significant.
Shopify gives you excellent sales data. You can see revenue, order counts, average order value, and conversion rates. But the standard reports don't calculate true per-order profitability because they don't factor in all of the costs listed above in a single view.
Most merchants either don't calculate this at all, or they do it quarterly in a spreadsheet — long after the unprofitable orders have already shipped. By the time you spot the pattern, you have already lost the money.
If you want to do this manually, here is the formula for every order:
True Profit = (Sale Price - Discounts) - COGS - Payment Processing Fee - Shipping Cost - Packaging Cost
Run that calculation on your last 100 orders. I suspect at least 5 to 15 of them will show margins below 10%, and some will be negative. The exact number depends on your pricing, your discount strategy, and your shipping policy.
The manual approach works for a one-time audit. But doing it continuously is impractical. The costs change per order depending on product mix, discount codes used, shipping destination, and payment method.
This is the problem we set out to solve with ProfitShield. It is a Shopify app that tracks COGS, shipping costs, payment processing fees, and discounts in real time — on every order, as it happens.
The key difference from other profit tracking tools is that ProfitShield doesn't just report after the sale. It can block unprofitable orders at checkout before they go through, using Shopify Functions running in Rust at the edge. No latency, no slowdown for your customers. It just quietly prevents orders that would lose you money.
You set the rules. Maybe you want to block any order with less than 15% margin. Maybe you want to prevent discount stacking on already-reduced items. Maybe you want a warning when free shipping is eating more than a certain percentage of the order value. You decide what "unprofitable" means for your business.
There is a 14-day free trial if you want to see what your real margins look like. Even if you don't keep the app, running it for two weeks will tell you something useful about your business.
Try ProfitShield free for 14 days and find out what your orders are really costing you.