

The pattern is familiar: growth feels stagnant, a holiday weekend approaches, and you blast a 20% off code to your entire email list. Sales spike. You call it a win. Then you check your contribution margin and realize you gave away more than you gained.
This reactive approach leads to what operators call the discounting trap — sales volume goes up, profit margins shrink, and customers are now conditioned to never pay full price again. Breaking out of it requires treating discounts not as emergency levers, but as precision tools with clear rules.
This guide walks you through the exact Shopify settings to use, the math to run before you launch anything, and the strategic moves that protect your margin at every step.
No discount setup makes sense without this first. Your contribution margin — the money left after product cost, shipping, packaging, and transaction fees — is the only number that matters here. It's what one extra sale actually leaves behind.
A simple example: if a product costs you $20 landed (including shipping to your customer) and you sell it for $50, your gross contribution is $30. A 20% discount removes $10 from that. Your margin drops from 60% to 40% on that unit — before ad spend. If you're running paid traffic, you may already be near breakeven.
Key insight: A discount subtracts directly from profit, and the damage scales with how thin your margin already is. On a 20% net margin, a 10% discount can eliminate half the order's profit in one move.
Set your discount floor — the absolute lowest price you can sell a product for without losing money — before touching the Shopify admin. Every code you create should sit above that floor, not guess at it.
If you're sourcing from Chinese platforms and haven't locked in your landed costs yet, now is the time. Tools like Piratify surface real supplier pricing across 1688, Taobao, and other platforms, so you know your actual cost basis before you commit to a discount rate.
Not all discount types carry the same margin risk. Shopify currently offers four main structures, and picking the wrong one for your situation is where many merchants quietly lose money.
| Discount Type | Best Use Case | Margin Risk | Key Setting to Watch |
|---|---|---|---|
| % Off Products | Move a slow-selling collection | Medium — scales with cart size | Cap to specific collections only |
| % Off Order | Increase AOV with a threshold | Higher — applies broadly | Always pair with minimum spend |
| Fixed Amount Off | Low-AOV stores, single SKU promos | Low — predictable and capped | Specify product or order level |
| Buy X Get Y | Bundling, gifting, clearance | Low if paired smartly | Use a low-cost item as the 'Y' |
| Free Shipping | Cart abandonment, AOV boost | Low — fixed cost, not % of cart | Set a spend threshold above your AOV |
Percentage discounts are the most understood by customers but the riskiest at scale — they grow proportionally with cart size. A 20% off code on a $200 cart gives away $40; the same code on a $2,000 cart gives away $400. If you're running a store with variable cart values, a fixed-amount discount or a minimum-spend threshold gives you much more predictable economics.
Here's how to create a discount code that actually has guardrails built in, not bolted on as an afterthought.
VIP15 or WELCOME10 tell you instantly why they exist when you review your analytics months later. Avoid vague names you won't recognize.Stacking is the most common and least visible source of margin leakage. It happens when a customer applies a manual code on top of an active automatic discount — for instance, a sitewide BFCM automatic offer combined with a newsletter welcome code.
Shopify's Combinations setting gives you control over this. By default, turn off all combinations unless you've explicitly modeled what happens when they stack. The math compounds quickly: two 15% discounts don't add up to 30%, but the combined effect on a low-margin product can still eliminate your profit entirely.
A practical rule: if you have an active automatic discount running, pause or deactivate any standalone codes that could apply to the same products during that period.
Shopify doesn't have a native "exclude this product" button for discount codes — but there's a workaround that works well in practice.
For stores with complex catalogs, this collection-scoping approach also makes your discount strategy much easier to audit later — you can look at a code and immediately know which products it touched.
Sometimes the best discount isn't a discount at all. If your margins are already thin — common when you're competing on price with China-sourced products — consider alternatives that create perceived value without slashing your retail price.
If you're sourcing bundles or gift-with-purchase SKUs from Chinese platforms, keeping your landed cost low is what makes these strategies viable. This is where having direct access to supplier pricing — across 1688, Goofish, or Weidian — matters more than the discount mechanic itself. Learn how to source bundle-ready products from China for a margin-safe AOV strategy.
One of the most underrated margin-protection strategies is simply planning your promotions in advance. Ad-hoc discounts train customers to wait. A planned discount calendar creates genuine scarcity.
A lightweight framework to follow:
For more on building a resilient pricing structure alongside your sourcing strategy, see our guide on Shopify pricing strategy when sourcing from China.
Go to the Combinations section when creating or editing any discount code and leave all options unchecked. This prevents the code from being combined with other active discounts. Also audit any automatic discounts currently running — if they overlap with manual codes on the same products, pause one of them.
There's no universal safe percentage — it depends entirely on your contribution margin per product. The right approach is to calculate your cost floor (product + shipping + transaction fees), then set a discount that leaves at least a target margin above it. As a general principle, high-margin products can absorb deeper discounts; low-margin products need either smaller offers or non-price alternatives like free shipping or a gift with purchase.
Shopify doesn't offer a direct exclude button, but you can work around it. Create a collection that includes all products except the ones you want to protect, then scope your discount code to apply only to that collection instead of All products. This gives you effective exclusion control without any additional apps.