How It Works

How your discount stacks with everything else on your storefront

When a shopper is about to leave, NavonaAI offers a real Shopify discount code — and that code has to coexist with a sitewide sale, a free-shipping bar, or a code the shopper typed in themselves. Whether it stacks, replaces, or gets blocked comes down to four settings in your NavonaAI dashboard. Get them wrong and you either give away more margin than you meant to, or block a discount your shopper can see but can't use.

What “stacking” actually means

Every discount on Shopify — yours, a sitewide sale, an automatic free-shipping offer — belongs to a class: order-level, product-level, or shipping. And every discount declares whether it “combines with” the other classes.

NavonaAI's discount is a normal Shopify discount code. It isn't exempt from any of this, and it doesn't get special priority — it plays by the exact same combine rules as any other app or sale running on your store. Four settings decide which classes it can combine with, and one of them decides which class it belongs to in the first place.

The four controls

Live in your NavonaAI settings, under Discount Combination Settings.

Combines with Order Discounts

On

Your discount stacks on top of a customer's order-level discount — applied to the subtotal after that discount has already reduced it.

Off

Only the larger of the two discounts applies. Shopify picks one; it never adds both together.

Combines with Product Discounts

On

Your discount can stack with a product-level discount. But Shopify only ever applies one product discount to a given line item — where both would apply, it keeps whichever is larger and drops the other.

Off

Only the larger discount applies to that line, same as above.

Combines with Shipping Discounts

On

Your discount can coexist with a free-shipping discount.

Off

Free shipping is blocked for as long as your discount is active.

Force Product-Level Discounts

Does

Applies your discount to each product line instead of to the whole order.

Auto-on

Turns itself on the moment you exclude any product or collection — you don't have to flip it yourself.

Trade-off

Once on, it stacks with a customer's order-level discount, but not with a product discount on the same item — and switching it on manually also turns on Combines with Order Discounts and locks it, so you can't have one without the other.

The trade-offs merchants miss

None of this is a bug. It's Shopify's discount system working exactly as designed — the trade-offs just aren't obvious until you hit them.

Excluding anything changes the discount's shape, not just its reach

The instant you exclude one product or one collection, NavonaAI stops discounting the whole order and starts discounting a specific list of products — the same shift Force Product-Level Discounts makes when you flip it manually. You inherit that trade-off automatically: it can now stack with an order-level discount, but not with a product discount on the same item.

Two product discounts never both apply to one line

If your storefront is running a product sale and NavonaAI's discount is also product-level, Shopify compares the two on that line item and keeps the larger one. Combines with Product Discounts being on doesn't mean the shopper gets both amounts added together — it means neither discount is blocked from being considered.

Order discounts stack in sequence, not in parallel

When Combines with Order Discounts is on, your discount doesn't apply to the original price — it applies to whatever the order already looks like after the first order-level discount landed.

Every new store starts stacked with everything

All three combine settings default to on the moment a store finishes setup — NavonaAI is configured, out of the box, to coexist with whatever else is running at checkout. If you'd rather protect margin than guarantee the discount always applies, that's something you turn off deliberately, not something you opt into.

Common questions

Will NavonaAI's discount stack with a code my customer already has?

It depends on what kind of code that is and how your Combines with Order/Product/Shipping Discounts settings are configured. If the existing code is an order-level discount and Combines with Order Discounts is on, both apply — NavonaAI's discount lands on top of the subtotal the first code already reduced. If it's off, Shopify keeps only the larger of the two and drops the other.

My shopper got two discounts at checkout — is that a bug?

No — that's Combines with Order Discounts or Combines with Product Discounts doing exactly what it's set to do. If you didn't intend for the two to combine, turn the relevant setting off; it isn't something that needs a support ticket.

Why did excluding a collection change how my discount stacks?

Excluding any product or collection switches NavonaAI's discount from applying to the whole order to applying per product line — the same shift Force Product-Level Discounts makes when you turn it on directly. That change is what lets the discount stack with an order-level discount, and it also means it no longer stacks with a product discount on the same item.

Can I make sure our discount always wins over a competing product sale?

Not directly. Shopify applies only one product-level discount per line item and keeps whichever is larger, regardless of which app created it. If protecting your discount amount matters more than letting the other sale through on that item, exclude the products carrying that sale instead.

What should I leave these set to if I'm not sure?

New stores start with all three combine settings on, so the discount is guaranteed to reach the shopper alongside whatever else is already running on your store. That favors the discount always applying over protecting margin — worth revisiting deliberately if you run frequent sitewide sales or let customers apply their own codes.

Configure your discount's stacking behavior in minutes

Every plan includes full control over Combines with Order, Product, and Shipping Discounts, plus Force Product-Level Discounts.

See Plans