How to Set a Maximum Discount Amount Per Order
Sometimes, in order to protect your margins, you'll want to set a maximum discount amount per order. Using our advanced logic builder, it's easy to set this up.
All you need to do is create a discount that:
- If the subtotal of eligible products is greater than or equal to your maximum discount amount, divided by the desired discount percentage
- Otherwise, apply a fixed amount discount.
Example Use Cases
- A 60% discount based on a tag, up to $200 value off an order
Example Setup

Maximum Discount Amount Input

The "Maximum discount amount" of a percentage discount allows you set a hard cap on price reductions.
You can find the "Maximum discount amount" input in the "Advanced options" when creating an "Apply discount" step in our advanced logic builder.
By default, there is no maximum amount.
Only apply maximum discount amount once per order
- If checked, the maximum discount amount of ${formattedMaxDiscountAmount} will be applied to the entire group of eligible items.
- If unchecked: the maximum discount amount will apply individually to each eligible item.
- This is on by default.
For example, let's say the maximum discount amount is 100, you have a "10% off red shirts up to $100" discount, and there are $500 worth of red shirts in the cart:
- If checked: The discount amount across all shirts will be capped at 100, so the cart subtotal will always be at least $400 ($500 - $100).
- If unchecked: Each individual shirt can receive up to $100 off. Maybe you have 2x $250 red shirts: each one can be discounted to $150 ($250 - $100).
Automatically convert maximum discount to local currency
If checked, the maximum discount will be converted from the store's currency to the customer's currency. This is off by default.
For example, let's say your store uses USD, and the maximum discount amount is 100:
- If unchecked: Regardless of which currency the customer shops in, the maximum discount amount will be converted into $100 USD.
- If checked, the maximum discount will be in the customer's currency. So $100 CAD for Canadian customers, $100 EUR for European Union customers, etc.
When used with Buy X
If you have a "Buy X" step as one of the parents of your "Apply discount" node, then the "Maximum discount amount" will NOT be multiplied by the number of sets. For example, if you have a "Buy 2 shoes, get 1 pair of socks 20% off, up to $10" discount, and 6 shoes are in the cart, the customer will still only get up to $10 off their socks.
Your Feedback Matters
Your review helps keep this small business running. Please leave one on the Shopify App Store.
Updated on: 24/01/2026
Thank you!