This article is part of a series, for more information about other scenarios related to combining and stacking promotions check out this article.
The stacking behavior of each offer is configured in the "Stacking" tab of each offer. Some shop-level settings also affect how stacking works.
Here are the rules Discount Ninja uses to evaluate offers:
First, product-level offers are evaluated. The app automatically applies the best discount (the lowest price) to each line in the cart. Product level offers are also evaluated on product and collection pages to determine the best offer for each product automatically.
Then, order-level offers are evaluated, unless at least one product-level offer is applied to the cart that is set to disallow order-level offers. Order level offers are applied to the cart subtotal after product-level offers have been applied to the cart line items. Multiple order-level offers can be combined. Each order-level offer can be configured to combine (or not) with other order-level offers. The app combines the order-level offers that allow for it and evaluates them against other order-level offers that do not. It automatically applies the best offer (highest discount) to the subtotal.
Then, free or discounted shipping offers are evaluated.
Finally, you can optionally allow customers to add a single discount code at checkout. This approach requires the use of the Discount Ninja Sales Channel companion app and is not recommended. This discount code further discounts the subtotal after applying Discount Ninja offers.
To provide 10% off some and 20% off other products: configure the 10% and 20% offer as product-level.
To provide 10% off on some products and an additional 5% off (on top of the 10%) to some customers: configure 10% at product-level and 5% at order-level; alternatively, configure both as order-level and enable stacking for both.
Offers are applied based on the above rules, regardless of the trigger that was used. That is to say: the same rules apply for:
Triggered via shareable links
Triggered via promotion codes (extra rules apply, see below)
Triggered via visitor behavior