SHOPLINE Discount Stacking: How Codes Combine and How to Set a Floor
SHOPLINE lets you stack up to 5 discount codes per order, and each one needs its own stacking permission. Here's exactly how the combination rules work, and how to make sure a stacked order never ships below cost.
SHOPLINE discount stacking is opt-in, not automatic
The first thing to understand about shopline discount stacking is that nothing stacks by default. Every discount code or automatic discount campaign on SHOPLINE ships with stacking turned off unless you explicitly configure it otherwise. That's a meaningfully different starting point from platforms where stacking silently happens unless you block it, and it means most of the risk in shopline discount stacking comes from merchants who turned it on for one good reason and never revisited what else it opened the door to.
Here's exactly how the mechanics work, and where the margin risk actually lives.
The stacking rules, precisely
SHOPLINE's stacking system has a few concrete limits worth knowing by number, not just by concept:
- Maximum of 5 discount codes per order. A customer cannot apply more than five separate codes to a single cart, no matter how permissive your settings are.
- Each code needs its own stacking permission. Turning on stacking for Code A doesn't stack Code A with everything; Code A has to be individually configured to allow combination with other codes.
- Combining a code with an automatic discount requires the code to allow it. If you want a customer's manually entered code to stack on top of a sitewide automatic promotion, that specific code needs the "stack with automatic discounts" setting enabled. Automatic discounts don't force their way onto every code by default.
- Buy X Get Y codes are the most restricted type. They can only stack with shipping-fee discounts, not with other percentage-off or fixed-amount codes.
- The setup lives per-discount. In the SHOPLINE admin, under Discounts, open a specific discount code or automatic campaign and look for the "Stack discounts" section. That's where you choose the stacking type, including an "Order discount" option that applies store-wide across all items.
None of this is exotic. It's a genuinely sensible, opt-in permission model. The margin risk isn't that SHOPLINE's stacking is reckless, it's that a merchant who enables stacking on two or three promotions over time, for perfectly reasonable individual campaigns, ends up with combinations nobody explicitly modeled together.
Where the actual damage happens
Picture a real sequence, the kind that accumulates over a quarter rather than getting decided in one meeting:
- January: you enable stacking on a welcome-code so new customers can combine it with the sitewide automatic sale, because 10% off on top of a sale still felt safe.
- March: you launch a loyalty-tier code and, to keep it consistent with the welcome code, you also make it stackable.
- June: a livestream promo goes live with a "stack with everything" order discount, because the live-selling team wanted maximum flexibility for the broadcast.
By June, a returning, loyalty-tier customer watching your live stream can combine the loyalty code, the welcome code (if they never redeemed it), and the live-stream order discount, three codes that were each individually reasonable and were never stress-tested together. That's checkout margin erosion: a real margin loss that never shows up as a single obviously-wrong transaction, just as a slow bleed across your best sales days.
The five-code ceiling doesn't save you here. Three stacked codes is well within the limit, and three is often enough to erase margin on a low-ticket item.
How to check what's actually enabled, without guessing
Most merchants can't answer "which of my discounts can stack with which" from memory, and guessing is how the June scenario above happens in the first place. The only reliable check is to go through every active discount code and automatic campaign in the admin one at a time and record its stacking permission, rather than trusting what you remember configuring months ago. Pay particular attention to any promotion your live-selling team set up independently, since livestream campaigns are often built fast, under time pressure, with "allow everything" as the path of least resistance to avoid a broadcast-day support headache.
Setting a floor before you configure stacking, not after
The fix isn't to turn stacking off wholesale, which usually isn't realistic once marketing has built campaigns around it. The fix is to decide your profit floor before you turn any stacking permission on, and check every combination against it, not just each promotion individually.
Concretely:
- List every discount that currently has stacking enabled. Go through Discounts in the admin and check the "Stack discounts" setting on each active code and automatic campaign. Most merchants have never audited this in one pass; it's usually more permissive than anyone remembers configuring.
- Model the worst realistic combination, not the best case. If a customer can legally combine your welcome code, loyalty code, and a livestream promo, calculate what that stack does to your margin on your lowest-margin eligible SKU, not your highest.
- Set a hard floor per SKU or category, informed by that worst-case number, not your average margin. Averages hide exactly the orders that are losing money.
- Re-check the stack every time you launch a new stackable promotion. The risk compounds with each addition; a new code is never just evaluated on its own.
If you want to see exactly what a specific stacked discount does to a specific order before you commit to it as policy, the discount impact calculator shows the real damage one discount does to one product; running your worst-case stack through it is a five-minute check against a policy that otherwise only reveals itself in a month-end report.
That's the honest limit of manual policy, though: it tells you what should happen, not what actually happened on every order today. For that, checkout-time enforcement, which reads the live discount stack against your floor before the order confirms rather than after, is what closes the loop. See how Agentis enforces a margin floor on every SHOPLINE order.
Frequently Asked Questions
How many discount codes can a customer combine on SHOPLINE?
A maximum of five discount codes per order. Beyond that platform-wide ceiling, each individual code also needs its own stacking permission enabled, so the practical number is usually much lower than five unless you've explicitly configured multiple codes to stack together.
Do SHOPLINE discounts stack by default?
No. Stacking is opt-in per discount. A new discount code or automatic campaign does not combine with anything else until you explicitly enable a stacking permission for it in the Discounts section of the admin.
Can a discount code stack with an automatic discount on SHOPLINE?
Only if the discount code is specifically configured to allow stacking with automatic discounts. The automatic discount doesn't force combination onto every code; the permission lives on the code side.
Can Buy X Get Y discounts stack with other discount codes?
Buy X Get Y discount codes are limited to stacking only with shipping-fee discounts. They cannot combine with other percentage-off or fixed-amount discount codes.
How do I stop a specific stacked combination from shipping below cost?
Manual policy (auditing which discounts are stackable, modeling worst-case combinations, setting a floor per SKU) reduces the risk but only catches what you remember to check. Real-time enforcement at checkout, which evaluates the actual discount stack on each order against your margin floor before it confirms, is the only approach that catches every order, not just the ones you thought to model.