The short answer: Shopify sales often move stock without moving profit, because discounts, shipping costs, transaction fees and stacked promo codes push individual orders below their margin — even when total revenue looks great. The fix is to set a minimum-margin rule and catch unprofitable orders as they happen, not at month-end when the money's already gone.
An order's profit is what's left after the costs that don't show on the revenue line: cost of goods, shipping, payment fees, and any discount applied. A €60 order can look healthy and still lose money once a 25% code, free shipping on a heavy item, and a 2–3% transaction fee come out of a product that only had 30% margin to begin with. Multiply that across a sale weekend and you can grow revenue while shrinking profit.
Most profit tools tell you in arrears: at the end of the month you discover the sale lost money. By then you can't unsend the discount or re-price the promo — the loss is banked. Useful for learning, useless for prevention.
The preventive version is simple: decide a minimum acceptable margin, then have something check every order against it as it comes in and alert you when one falls below. That turns "we lost money last month" into "this order is underwater — tighten the discount rules now." It's the difference between a smoke detector and a fire report.
Profit-analytics apps (for example TrueProfit, BeProfit, Lifetimely) are strong at the reporting job — net profit, COGS, ad spend, LTV across your store. If you want a full P&L dashboard, use one of these. They are retrospective by design. ProfitShield — one of our own apps — does the complementary job: it watches orders in real time against your margin rules and alerts you the moment one is unprofitable, so discount and shipping losses get caught at checkout rather than at month-end. It works alongside a profit tracker, not instead of one, and has a free plan. We mention it plainly because we build it.
Subtract cost of goods, shipping cost, transaction fees and discounts from the order revenue. If the result is below your target margin, the order is unprofitable. Checking this per order in real time against a margin rule catches losses that analytics dashboards only show you weeks later.
Usually a mix of stacked discount codes, free-shipping thresholds that do not cover heavy items, transaction fees, and low-margin products. Each is fine alone, but together they push individual orders below break-even even when total sales look strong.
Profit analytics tools report what already happened across your store. Margin protection flags an individual order the moment it drops below your rule, so you can act before the losses pile up. They are complementary — many stores use both.
Set clear discount-combination rules in Shopify, define a minimum acceptable margin, and use real-time alerts so a loss-making order is flagged immediately rather than discovered at month-end.
Running promotions and not sure they're making money? Take a look at ProfitShield, or ask us for free advice on the simplest way to protect your margins.