How to Stop Unprofitable Orders in Shopify Plus
Some of your orders lose money the moment they are placed. Here is the practical playbook for finding them and shutting them off, without nuking conversion.
Some share of your orders lose money the moment they are placed. Not most of them. But the ones that do tend to be invisible until the books close, and they cluster around exactly the promos you run to grow.
This is the practical version: how to find the unprofitable orders, how to set a rule that stops them, and how to do it without strangling conversion. No theory. The steps I would actually follow.
First, find out how bad it is
You cannot fix a number you have never measured. Most stores have never measured per-order net margin, because Shopify does not show it. The platform knows revenue and discount. It does not know your landed cost.
So start in observe-only mode. Run a margin floor tool in shadow for a week or two. It logs what each order's real margin was, using your COGS plus freight plus the discount stack, and flags the ones that came in below where you would want them. No orders get touched. You are just turning on the lights.
What you usually find: it is not a broad bleed. It is a tail. A small slice of orders, heavily discounted, often to expensive-to-ship zones, doing most of the damage. That tail is the target.
Second, understand the three ways orders go underwater
In practice almost every below-floor order is one of three patterns.
Stacked discounts. A customer combines two or more codes, WELCOME10 plus a 15 percent sale plus a loyalty perk, and the total drops below cost. This is discount stacking, and it is the loudest one.
Freight you did not price for. A flat-rate or free-shipping offer is fine on average and brutal on the edges. The same discounted order is profitable to a nearby zone and a loss to a remote one.
Stale cost. Your COGS went up. The number in Shopify did not. You are running margin math on last year's cost and wondering why the bank balance disagrees.
The fix for all three is the same: decide the floor, then enforce it at checkout.
Third, set the floor
A profit floor is the minimum net margin an order must clear to be allowed through. Setting it is a business decision, not a technical one.
Start simple. Pick one global floor that you would never knowingly sell below. Then refine where the catalog forces you to. A blanket 20 percent does not fit a store whose accessories run 70 points and whose electronics run 8. So you set floors per SKU, per category, per freight zone, or per promo type. Thin floors on clearance, by choice. Real floors on the products that pay your rent.
Here is the kind of math the floor is checking, on a single order:
| Line | Amount |
|---|---|
| Price (2 units) | $180.00 |
| COGS | $84.20 |
| Freight (zone 8) | $18.30 |
| Promo (SUMMER25, -25%) | -$45.00 |
| Net margin | -2.1% |
| Floor | 8.0% |
That order is 10 points under the floor. Without enforcement it ships and you find out at month-end. With enforcement, something happens in the next 8 milliseconds.
Fourth, adjust instead of block
This is the part people get wrong, and it is the whole game.
The instinct is to block below-floor carts. Do not. Blocking carts kills conversion and your team will switch the tool off inside a month. The better move is to adjust: remove the single discount that pushed the order underwater, or substitute a margin-safe offer, and let the order complete. The customer keeps a discount. You keep a positive margin.
That is how three guardrails behave:
- Coupon stacking: drop the lowest-value code when stacking breaks the floor, keep the best one.
- Margin floor: trim the discount to land the order at or above your floor.
- MAP protection: never let the effective post-discount price fall below a vendor's MAP, so a stacked coupon does not cost you dealer status.
The proof that this is the right design: on a 30-day holdout across 1,847 orders on a demo store, net margin on protected orders rose 12.0 percent and conversion did not move outside plus or minus 0.4 percent. You are removing the orders that were never going to make money, not the ones that were.
Fifth, roll it out without drama
You do not need a replatform or a dev sprint. The install is a Shopify app, no checkout code changes. The sane sequence:
- Shadow mode, live in about 48 hours. Watch the logs. Quantify the leak in dollars.
- Turn on enforcement for your worst pattern first, usually stacked discounts.
- Expand to the rest once you trust the numbers. Most stores are fully enforcing within about three weeks.
Plans start at $29/mo and configuration takes under 30 minutes. The slow part is not the setup. It is you deciding what your floors should be, which is work worth doing anyway.
FAQ
Won't customers be annoyed if a discount gets removed? They keep their best discount and the order completes, so the experience is a normal checkout. The version that blocks carts is the one that annoys people, and that is the version to avoid.
How is this different from just turning off promo stacking in Shopify? Turning off stacking is blunt and still ignores freight and cost. Enforcement only intervenes on the specific orders that actually break your floor, so your good stacked orders keep flowing.
What if my COGS is wrong in Shopify? Then your floor is enforcing against a fiction. Sync real landed cost from your ERP. For NetSuite, see the NetSuite COGS integration.
The orders bleeding you are findable and stoppable, and stopping them does not cost you sales. Start by measuring the leak.
Run a shadow-mode test on your store: start a free trial. The bigger picture lives in real-time checkout margin enforcement for Shopify Plus.