Article · 6 min read
A 90% discount instead of 9%: the Shopify price mistakes that cost the most, and how to catch them before the orders do
14 October 2026 · by njX
Price mistakes are quiet. Nobody complains about paying too little, and a wrong number in a discount form looks exactly like a right one. By the time you notice, the orders are placed, the customers are happy, and the money is gone. These are the mistakes we see most, what each one costs, where to look for them, and how to be told the minute one appears.
1. The extra zero
A 90% code instead of 9%, a 50 dollar discount instead of 5, a “free shipping over 1” instead of “over 100”. The form accepts any number. A typo in a percentage is the single most expensive mistake a store can make in ten seconds, because every order with that code is sold at a loss until someone looks at the discount report.
Where to look: Discounts, sorted by last edited; open anything changed today and read the number out loud. What it costs: the whole margin on every order that used the code, plus the refunds you cannot ask for.
2. The code that never ended
A Black Friday code with no end date, a “welcome10” that was supposed to run for a month and ran for a year, an influencer code still live after the campaign. Each order with it is a 10–20% discount you no longer meant to give. The store does not look broken; it just earns less than it should, forever.
Where to look: Discounts, filter Active, sort by start date; anything older than its campaign is a suspect. What it costs: a few percent of revenue, quietly, for as long as it stays on.
3. The price of 0
A product imported from a CSV with an empty price column, a variant added in a hurry, a bulk edit that cleared a field. Shopify accepts a price of 0 and sells the product for nothing. It also shows up as “free” in your storefront search, which customers notice before you do.
Where to look: Products, filter by price with the bulk editor, or export the catalogue and sort the price column. What it costs: the product, the shipping, and the fulfilment labour on every order of it.
4. The compare-at price that lies
A compare-at price lower than the price, or equal to it, or a sale price left after the sale ended. The first shows a “discount” that is actually a markup, which some jurisdictions treat as misleading advertising. The others show a sale that is not one, which customers remember when they check again.
Where to look: an export of the catalogue with the two columns side by side; anything where compare-at is not greater than the price is wrong. What it costs: trust, and in some countries a complaint.
5. The bulk edit that went further than planned
A 20% price increase applied to a collection that had more products in it than you remembered. A tag filter that matched the wrong products. An app that “optimised” prices overnight. Bulk tools are fast in both directions, and the admin shows you the result only if you go looking.
Where to look: Products sorted by last updated; if fifty products changed at the same minute and you only meant ten, that is the one. What it costs: whichever direction it went: lost sales at too high a price, lost margin at too low.
The habit that catches most of them
Every price mistake has a moment. A discount is created or edited, a product is saved, an import finishes. If you know what the store looked like just before, the mistake is obvious. So the habit is simple: after every bulk change, import or new discount, look at the result for a minute before you walk away. Sort by last updated, open the newest discount, read the numbers.
The problem is that the mistakes happen when you are not looking: the app that changes prices at night, the teammate who creates a code on their phone, the import you ran on Friday. That is where an automatic watch earns its place.
How to be told the minute it happens
njX Promo & Price Watch keeps a snapshot of your prices and discounts and compares every change against it, the moment Shopify reports the change. A discount above the threshold you set, a code past its end date, a price of 0, a compare-at price below the price, a bulk change that touched more products than usual: each one is a message in Telegram, Slack, Discord or e-mail, with the product or the code named and a link to where it is fixed. The Free plan watches every store change; Pro adds your own thresholds, every change sent as it happens, a daily digest and export.
If the mistake has already gone out, njX Price Rollback & Snapshots keeps every price and crossed-out price remembered, so a product, a collection or the whole evening goes back to the moment before the mistake, with one preview and one click.
Read next
- A bulk edit, an import or an app changed your Shopify prices: how to undo it, and why there is no Undo button
- Low stock alerts on Shopify: why one threshold is wrong for every product, and what to reorder instead
- Shopify order notifications in Telegram: what to send to a chat, what to keep in e-mail, and how to set it up in a minute
- The 30-day prior price on Shopify: what the Omnibus rule actually needs, and why compare-at price is not it
- An estimated delivery date on Shopify that is true: cut-off, processing, transit, days off
- Add to Cart stopped working on Shopify: why every page still says 200 OK, and how to catch it in minutes
- How to track competitor prices on Shopify without a spreadsheet