Stack Discounts Ninja
  • Release Notes
    • 2025-04-23
    • 2025-03-12
    • 2025-03-07
    • 2025-02-27
    • 2024-12-09
  • 1. Getting Started
  • 2. Create Your First Campaign
  • 3. First Campaign In Action
  • 4. Campaign Explained In Details
  • 5. Automatic Campaigns
  • 6. Code Campaigns
    • Shipping Discount Code
    • Enable Checkout Extension for Plus Merchants
  • 7. Discount Types
  • 8. Volume Discounts
  • 9. Discounts Combination Logic
  • 10. Stack Discounts Widget
  • 11. Widget Settings
  • 12. Themes
  • 13. Preview on store and Go Live
  • 14. Analytics
Powered by GitBook
On this page

9. Discounts Combination Logic

Previous8. Volume DiscountsNext10. Stack Discounts Widget

Last updated 11 months ago

As we already know, multiple active campaigns can exist simultaneously, with each campaign can have multiple discounts.

Let's explore how the app consolidates discounts from all possible campaigns.

The app collects all discounts into a single pool. From this pool, discounts are applied to the cart items. The main challenge arises when multiple discounts apply to the same product. In such cases, the app selects the discount that offers the maximum value to avoid unexpectedly high or even 100% discounts.

For example, in the pool, we have two discounts: "10% off on Entire Order" and "15% off on Adidas backpacks."

If a customer's cart contains multiple products, including an "Adidas backpacks," a conflict arises. The "10% off on Entire Order" discount is valid for "Adidas backpacks" because it covers all products. The "15% off on Adidas backpacks" discount also is valid for "Adidas backpacks."

For all products except the "Adidas backpacks," the app applies a 10% discount. For the "Adidas backpacks," the 15% discount takes priority because it offers a greater discount.

Let's modify the second discount to be Fixed Amount: "6$ off on Adidas backpack" (applied per eligible item).

Now we have "10% off on Entire Order" and "6$ off on Adidas backpack." If the "Adidas backpack" costs $50, the 10% discount is $5, so the $6 discount takes priority. If the "Adidas backpack" costs $70, the 10% discount is $7, so the 10% discount takes priority.

All discounts without conflicts will be applied without any issues. We consider this logic the most accurate and safe way to calculate discounts.

Some clients have requested an alternative logic where all discounts are applied even if there is a conflict. For example, they want to apply the first discount, then apply the second discount to the already discounted value, and so on. For these clients, we developed a custom campaign type, which is not part of the app by default. If you want this logic, you can request it from our , and we will enable it for you.

support team