> ## Documentation Index
> Fetch the complete documentation index at: https://docs.checkoutrules.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Discount all

> Configure order, product, and shipping discounts together in one rule.

<iframe className="w-full aspect-video rounded-xl" src="https://www.youtube.com/embed/R3oULXJelMY?si=xiMvxYWK2y6gxKTB" title="BeSure Discount All" style={{ border: 0 }} allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />

## Rule overview

This is the primary discount rule in the current app flow. It lets you combine **order**, **product**, and **shipping** discounts, as well as **reject discount codes**, into a single rule, each with its own operation options.

For each block, you define the conditions and then enable one or more discount types (**order**, **product**, **shipping**, or **reject discount codes**). The app applies eligible discounts according to your selected strategy settings.

## Supported operations

### Order discount operations

| Operation                                     | Behavior                                                                            |
| --------------------------------------------- | ----------------------------------------------------------------------------------- |
| **Percentage**                                | Applies percentage discount to order amount.                                        |
| **Fixed amount off**                          | Applies fixed currency discount to order amount.                                    |
| **Percentage excluding these products**       | Applies percentage discount to order amount while excluding selected products.      |
| **Percentage for only these products**        | Applies percentage discount based only on selected products.                        |
| **Fixed amount off excluding these products** | Applies fixed amount discount while excluding selected products.                    |
| **Fixed amount off for only these products**  | Applies fixed amount discount based only on selected products.                      |
| **Fixed price subtotal percentage**           | Sets order amount to `order subtotal × percent / 100` (excluding shipping and tax). |

### Product discount operations

| Operation                           | Behavior                                                         |
| ----------------------------------- | ---------------------------------------------------------------- |
| **Percentage**                      | Applies percentage discount to selected products.                |
| **Fixed amount off**                | Applies fixed currency discount to selected products.            |
| **Set fixed amount**                | Sets selected products to a fixed target amount.                 |
| **Set all products free**           | Makes selected products free.                                    |
| **Fixed price subtotal percentage** | Sets selected product price to `order subtotal × percent / 100`. |

### Shipping discount operations

| Operation                           | Behavior                                                                                          |
| ----------------------------------- | ------------------------------------------------------------------------------------------------- |
| **Percentage**                      | Applies a percentage discount to selected shipping method(s).                                     |
| **Fixed amount off**                | Applies a fixed currency amount discount to selected shipping method(s).                          |
| **Set fixed price**                 | Sets each selected shipping method to a target fixed price.                                       |
| **Set all shipping free**           | Makes all shipping methods free.                                                                  |
| **Subtotal percentage**             | Discount amount is `order subtotal × percent / 100`, then applied to selected shipping method(s). |
| **Fixed price subtotal percentage** | Sets each selected shipping method price to `order subtotal × percent / 100`.                     |

## Sample configuration

The following steps show how to create and configure a **Discount All** rule using the app.

### Create a new rule

From your [Shopify admin](/guides/en/get-started/installation#go-to-the-app), open the app. In the sidebar, go to the [Rules](/guides/en/get-started/quickstart#create-a-sample-rule) section and click *"Create Rule"*.

Then, You’ll be redirected to the **Select checkout rule type screen**. Choose *category "Discount" → select checkout rule type "Discount all" → click “Select Rule”*.

<img src="https://mintcdn.com/storespark/2g9tVGMoSQgdElHj/images/essentials/discount/select-discount-all.webp?fit=max&auto=format&n=2g9tVGMoSQgdElHj&q=85&s=dad116986eaa2f933cb13c1128951aca" alt="Select Discount All" width="1088" height="686" data-path="images/essentials/discount/select-discount-all.webp" />

Next, you’ll land on the **Create new discount rule** screen, where you can configure your rule.

### Rule configuration

To configure the rule, first optionally add a name such as "Discount all" to describe what it does if you want to apply an **"Automatic discount"**.

<img src="https://mintcdn.com/storespark/zQqGNM0gkiGw9j3r/images/essentials/discount/automatic-discount-name-discount-all.webp?fit=max&auto=format&n=zQqGNM0gkiGw9j3r&q=85&s=f41a4822a941fe484374832f89402d91" alt="Automatic Discount Name" width="974" height="235" data-path="images/essentials/discount/automatic-discount-name-discount-all.webp" />

Or, if you prefer to apply the discount using a discount code, click **"Discount code"** and enter your desired code or generate one randomly by clicking **"Generate random code"**.

<img src="https://mintcdn.com/storespark/zQqGNM0gkiGw9j3r/images/essentials/discount/discount-code-discount-all.webp?fit=max&auto=format&n=zQqGNM0gkiGw9j3r&q=85&s=7e18c5abd50cdfa8c84c7b01e929ae8a" alt="Discount Code" width="968" height="232" data-path="images/essentials/discount/discount-code-discount-all.webp" />

Next, on the same screen, select the rule [status](/guides/en/get-started/concepts#status): Testing, Active, or Deactivated. Here we are going to choose **Testing** status, so we can quickly test the rule without affecting the checkout for actual customers.

<img src="https://mintcdn.com/storespark/I1UBjFyXWKs0eNGB/images/essentials/shipping/rule-status-discount-shipping-methods.webp?fit=max&auto=format&n=I1UBjFyXWKs0eNGB&q=85&s=b40acf4474dd3b95c751062dfadd56d6" alt="Rule Status" width="959" height="291" data-path="images/essentials/shipping/rule-status-discount-shipping-methods.webp" />

As part of the [status](/guides/en/get-started/concepts#status) settings, the optional [schedule](/guides/en/get-started/concepts#schedule) section lets you control when an active rule starts and stops. Select a **Start date** and **Start time** for when the rule should begin. Optionally, check **Set end date** to choose an end date and time when the rule should automatically deactivate.

> If you select schedule dates while the rule is set to **Active**, the status becomes **Scheduled** instead of Active. The rule will run from the start date and time until the end date and time, if one is set.

<img src="https://mintcdn.com/storespark/4qWsVuvzOyUV38lJ/images/essentials/discount/schedule-status.webp?fit=max&auto=format&n=4qWsVuvzOyUV38lJ&q=85&s=b7c286a1661da52ea46b03bae1b86cde" alt="Schedule Status" width="993" height="552" data-path="images/essentials/discount/schedule-status.webp" />

<Note>
  For this example, we are not using a schedule and are keeping **Testing**
  status.
</Note>

Next, on the same screen, configure the [Combinations](/guides/en/get-started/concepts#combinations) settings to control how this rule’s discount interacts with other discounts. You can choose to allow it to combine with:

* **Product discounts** – This lets the discount all rule be used alongside any product level discounts. Make sure product discounts are also set to combine with all discounts.

* **Order discounts** – This enables the discount all rule to work together with overall order level discounts. Make sure order discounts are also set to combine with all discounts.

* **Shipping discounts** – This allows the discount all rule to be used together with shipping level discounts. Make sure shipping discounts are also set to combine with all discounts.

* **Allow multiple product discounts with matching discount tags to apply on the same product** - Only **Shopify Plus** stores can allow multiple product discounts to apply to the same product when the discounts share matching discount tags. For example, if two product discounts use the tag **VIP**, both discounts can apply to the same product.

<img src="https://mintcdn.com/storespark/3Zh52dHBMuzcScUQ/images/essentials/discount/combinations-discount-order-amount-plus.webp?fit=max&auto=format&n=3Zh52dHBMuzcScUQ&q=85&s=890c4f09ae6abc93ce9ae3b059382470" alt="Combinations Discount All" width="2050" height="910" data-path="images/essentials/discount/combinations-discount-order-amount-plus.webp" />

Next, on the same screen, configure the [Strategy](/guides/en/get-started/concepts#strategy) settings to control how the system handles multiple discount blocks. You can choose **First**, which applies only the first discount that meets the conditions, ignoring any better discounts that may come later, or **Maximum**, which evaluates all discount blocks and applies the one with the highest reduction.

<img src="https://mintcdn.com/storespark/8qTRK-A8nfquzM_u/images/essentials/discount/strategy-order-discount.webp?fit=max&auto=format&n=8qTRK-A8nfquzM_u&q=85&s=c32f10c6f90305756b84da20ee8c6d3f" alt="Strategy Order Discount" width="970" height="218" data-path="images/essentials/discount/strategy-order-discount.webp" />

Next, on the same screen, select the relevant [condition set](/guides/en/get-started/concepts#condition-set), [condition](/guides/en/get-started/concepts#conditions-when), and [action](/guides/en/get-started/concepts#action-what). Choose the relevant condition from the dropdown.

> As an example, we will choose the default **Condition Set 1**. Then, we will configure the condition for this rule to **Always**, so it runs in all situations.

<img src="https://mintcdn.com/storespark/2g9tVGMoSQgdElHj/images/essentials/discount/set-condition-set-discount-all.webp?fit=max&auto=format&n=2g9tVGMoSQgdElHj&q=85&s=04d03a4ae1b35af7e386c7cee85713d9" alt="Set Condition" width="1095" height="423" data-path="images/essentials/discount/set-condition-set-discount-all.webp" />

After choosing a condition, check the order, product, or shipping discount checkboxes according to your requirements. You can select one or multiple checkboxes as needed.

<img src="https://mintcdn.com/storespark/Sok9oSe2WoHAMR4c/images/essentials/discount/action-checkboxes.webp?fit=max&auto=format&n=Sok9oSe2WoHAMR4c&q=85&s=7ee449dc77f42392bb436b2385f38cb2" alt="Action Checkboxes" width="940" height="707" data-path="images/essentials/discount/action-checkboxes.webp" />

After choosing the checkboxes, you need to select the action for that **discount type**.

**Order Discount:**

You can choose to apply the discount using **Percentage**, **Fixed amount off**, or **Fixed price subtotal percentage**, without needing to select specific products. All other methods **Percentage excluding these products, Percentage for only these products, Fixed amount off excluding these products, and Fixed amount off for only these products** require you to select products for the discount to work.

<img src="https://mintcdn.com/storespark/2g9tVGMoSQgdElHj/images/essentials/discount/action-type-discount-order-amount.webp?fit=max&auto=format&n=2g9tVGMoSQgdElHj&q=85&s=ff6a0a186a77b0e5afdb6de5d4d6842f" alt="Action Type Discount" width="1216" height="317" data-path="images/essentials/discount/action-type-discount-order-amount.webp" />

Then enter the discount value and discount message.

<img src="https://mintcdn.com/storespark/Sok9oSe2WoHAMR4c/images/essentials/discount/action-order-discount-operations.webp?fit=max&auto=format&n=Sok9oSe2WoHAMR4c&q=85&s=cca6dd28c13078cb1cc0449d2d14d7f6" alt="Action Order Discount Operations" width="905" height="92" data-path="images/essentials/discount/action-order-discount-operations.webp" />

> As an example, here we are setting the discount value to **14%** using the **Percentage** option. The discount message **14% OFF** will be shown to customers at checkout. This 14% discount applies to the order. You can see the settings in the image below.

<img src="https://mintcdn.com/storespark/Sok9oSe2WoHAMR4c/images/essentials/discount/action-example-discount-order-amount.webp?fit=max&auto=format&n=Sok9oSe2WoHAMR4c&q=85&s=8e1c971ba25fb5f91a3efd318a5dc026" alt="Action Example Discount Order Amount" width="937" height="270" data-path="images/essentials/discount/action-example-discount-order-amount.webp" />

**Product Discount:**

You can choose to apply the discount using **Percentage**, **Fixed amount off**, **Set fixed amount**, **Set all products free**, or **Fixed price subtotal percentage** based on your requirements.

<img src="https://mintcdn.com/storespark/2g9tVGMoSQgdElHj/images/essentials/discount/action-type-discount-product-amount.webp?fit=max&auto=format&n=2g9tVGMoSQgdElHj&q=85&s=63bf1e8ae59679bbe416086fc4b83788" alt="Action Type Discount" width="931" height="207" data-path="images/essentials/discount/action-type-discount-product-amount.webp" />

Then enter the discount value and discount message. Next, select a product or multiple products from the popup to apply the discount. You must add at least one product for the discount to take effect.

<Warning>
  Please note that <b>Set all products free</b> does not show any discount
  value, message, or product selection because all products are free.
</Warning>

<img src="https://mintcdn.com/storespark/Sok9oSe2WoHAMR4c/images/essentials/discount/action-product-discount-operations.webp?fit=max&auto=format&n=Sok9oSe2WoHAMR4c&q=85&s=75f556dbb96b3827dd2521b28e6d2dde" alt="Action Product Discount Operations" width="902" height="218" data-path="images/essentials/discount/action-product-discount-operations.webp" />

> As an example, here we are setting the discount amount to **15** using the **Fixed amount off** option. The discount message **15\$ OFF** will be shown to customers at checkout. We then select the product **"The Collection Snowboard: Liquid"** to apply the discount to that product. You can see the settings in the image below.

<img src="https://mintcdn.com/storespark/Sok9oSe2WoHAMR4c/images/essentials/discount/action-example-discount-product-amount.webp?fit=max&auto=format&n=Sok9oSe2WoHAMR4c&q=85&s=2bcc15be451dc6443516ffa5640c76ce" alt="Action Example Discount Product Amount" width="941" height="448" data-path="images/essentials/discount/action-example-discount-product-amount.webp" />

**Shipping Discount:**

You can choose to apply the discount using **Percentage, Fixed amount off, Subtotal percentage, Set fixed price, Set all shipping free, or Fixed price subtotal percentage** based on your requirements.

<img src="https://mintcdn.com/storespark/2g9tVGMoSQgdElHj/images/essentials/shipping/action-type-discount-shipping-methods.webp?fit=max&auto=format&n=2g9tVGMoSQgdElHj&q=85&s=7337942ca1243c7a40fb790217a55c22" alt="Action Type Discount" width="938" height="226" data-path="images/essentials/shipping/action-type-discount-shipping-methods.webp" />

You can also choose multiple options to apply the discount. The available options are:

* **Selected shipping methods**\
  Apply the discount only to specific shipping methods by entering the **names** of the shipping methods you want to include.

  <img src="https://mintcdn.com/storespark/2g9tVGMoSQgdElHj/images/essentials/shipping/apply-discount-to-selected-shipping-methods.webp?fit=max&auto=format&n=2g9tVGMoSQgdElHj&q=85&s=76590959a932c8bc3d80b43191eeb8ef" alt="Selected shipping methods" width="1111" height="288" data-path="images/essentials/shipping/apply-discount-to-selected-shipping-methods.webp" />

* **All shipping methods**\
  Apply the discount to all available shipping methods.

  <img src="https://mintcdn.com/storespark/2g9tVGMoSQgdElHj/images/essentials/shipping/apply-discount-to-all-shipping-methods.webp?fit=max&auto=format&n=2g9tVGMoSQgdElHj&q=85&s=aabb36facd92407d34e61a723fb02031" alt="All shipping methods" width="931" height="81" data-path="images/essentials/shipping/apply-discount-to-all-shipping-methods.webp" />

* **Highest price shipping method**\
  Apply the discount to the shipping method with the highest price.

  <img src="https://mintcdn.com/storespark/2g9tVGMoSQgdElHj/images/essentials/shipping/apply-discount-to-highest-price-shipping-method.webp?fit=max&auto=format&n=2g9tVGMoSQgdElHj&q=85&s=96ea8bcd74f997d35a65e0748e8de380" alt="Highest price shipping method" width="932" height="77" data-path="images/essentials/shipping/apply-discount-to-highest-price-shipping-method.webp" />

* **Lowest price shipping method**\
  Apply the discount to the shipping method with the lowest price.

  <img src="https://mintcdn.com/storespark/2g9tVGMoSQgdElHj/images/essentials/shipping/apply-discount-to-lowest-price-shipping-method.webp?fit=max&auto=format&n=2g9tVGMoSQgdElHj&q=85&s=cfe4e9171b0af3e68fb73eff388e70a8" alt="Lowest price shipping method" width="931" height="80" data-path="images/essentials/shipping/apply-discount-to-lowest-price-shipping-method.webp" />

* **Shipping method with price**\
  Apply the discount based on an entered amount, with an option to target shipping methods that are either greater than or lower than the specified value.

  <img src="https://mintcdn.com/storespark/2g9tVGMoSQgdElHj/images/essentials/shipping/apply-discount-to-shipping-method-with-price.webp?fit=max&auto=format&n=2g9tVGMoSQgdElHj&q=85&s=e6fedff1fe4c6a25d45840327201a447" alt="Shipping method with price" width="1096" height="90" data-path="images/essentials/shipping/apply-discount-to-shipping-method-with-price.webp" />

> As an example, here we are setting the discount value to **16%** using the **Percentage** option. The discount message **16% OFF** will be shown to customers at checkout. We have also set **All shipping methods** to apply the discount to all shipping methods. This 16% discount applies to the shipping methods. You can see the settings in the image below.

<img src="https://mintcdn.com/storespark/2g9tVGMoSQgdElHj/images/essentials/discount/action-example-discount-shipping-methods.webp?fit=max&auto=format&n=2g9tVGMoSQgdElHj&q=85&s=9ea34efffc7120efefdb0f1661f4e5c0" alt="Action Example Discount Shipping Methods" width="932" height="332" data-path="images/essentials/discount/action-example-discount-shipping-methods.webp" />

**Reject discount codes:**

Select one or more discount codes and enter a relevant rejection message.

<img src="https://mintcdn.com/storespark/2g9tVGMoSQgdElHj/images/essentials/discount/action-reject-discount-codes.webp?fit=max&auto=format&n=2g9tVGMoSQgdElHj&q=85&s=5bcefec29dec1108ac2e0c1a7fdbf3a1" alt="Action Reject Discount Codes" width="897" height="267" data-path="images/essentials/discount/action-reject-discount-codes.webp" />

Also, you can optionally add translations for the rejection message in multiple languages by clicking **Add translation** and then selecting the languages you want to translate the message into. The main rejection message becomes the **default message** and is shown at checkout when no translation matches the customer’s language.

<img src="https://mintcdn.com/storespark/x2o2JFFdCDDV0vm9/images/essentials/discount/message-translations-reject-discount-codes.webp?fit=max&auto=format&n=x2o2JFFdCDDV0vm9&q=85&s=fde8c160c063f21aa497964f492a8530" alt="Message Translations Reject Discount Codes" width="1621" height="473" data-path="images/essentials/discount/message-translations-reject-discount-codes.webp" />

> As an example, we are configuring the rule to reject the discount code **"SAVE20"**. The rejection message **"This discount code is not available right now"** will be displayed to customers at checkout when they attempt to apply the discount code.

<img src="https://mintcdn.com/storespark/2g9tVGMoSQgdElHj/images/essentials/discount/action-example-reject-discount-codes.webp?fit=max&auto=format&n=2g9tVGMoSQgdElHj&q=85&s=7ecc385a162bac4cde0a427da60ad21e" alt="Action Example Reject Discount Codes" width="937" height="410" data-path="images/essentials/discount/action-example-reject-discount-codes.webp" />

Next, on the same screen, if the shipping discount option is checked, the **Subscription Deliveries** section is also available. For subscription shipping products, you can choose to limit the shipping discount to the first delivery only, limit the shipping discount to the first delivery and make the recurring deliveries free, or limit the shipping discount to the first delivery and make all recurring deliveries free.

<Warning>
  The **Subscription Deliveries** section options apply only to shipping
  products that have a subscription. For normal (non-subscription) product
  deliveries, you do not need to select any option. The default setting will
  work as expected.
</Warning>

<img src="https://mintcdn.com/storespark/2g9tVGMoSQgdElHj/images/essentials/shipping/subscription-deliveries.webp?fit=max&auto=format&n=2g9tVGMoSQgdElHj&q=85&s=cd367cdf58412d88fa43db9981082ad0" alt="Subscription Deliveries" width="964" height="177" data-path="images/essentials/shipping/subscription-deliveries.webp" />

Next, on the same screen, in the [Maximum Discount Uses](/guides/en/get-started/concepts#maximum-discount-uses) section, you can optionally enable a usage limit for the discount code, limit it to one use per customer, or apply both if a discount code is selected.

<img src="https://mintcdn.com/storespark/zQqGNM0gkiGw9j3r/images/essentials/discount/maximum-discount-uses.webp?fit=max&auto=format&n=zQqGNM0gkiGw9j3r&q=85&s=4ceef794ce2bb537768fedfd86ee7e67" alt="Maximum Discount Uses" width="973" height="180" data-path="images/essentials/discount/maximum-discount-uses.webp" />

Finally, click the <b>Save</b> button at the top to create and save your rule.

<img src="https://mintcdn.com/storespark/ZoBcc0QT_aT_tX8T/images/shared/save-rule.webp?fit=max&auto=format&n=ZoBcc0QT_aT_tX8T&q=85&s=49b09a4f049059fd67144f92d10233ca" alt="Rule Save" width="713" height="184" data-path="images/shared/save-rule.webp" />

## Test the rule

Since, the rule is set to testing status, we have to use `test@testing.com` as the email, instead of the actual email, to run the rule at checkout.

<Warning>
  The image below shows the checkout page <b>before</b> the testing email
  address was used. Please note that no discounts have been applied yet.
</Warning>

<img src="https://mintcdn.com/storespark/zQqGNM0gkiGw9j3r/images/essentials/discount/before-rule-apply-discount-all.webp?fit=max&auto=format&n=zQqGNM0gkiGw9j3r&q=85&s=3554a4f796be9e2e7665894eb45c4a75" alt="Before Rule Apply" width="1076" height="558" data-path="images/essentials/discount/before-rule-apply-discount-all.webp" />

After setting the email, the checkout rule runs and applies the configured discounts.
We can verify that the **14% order discount** has been applied at checkout, as shown below.

<img src="https://mintcdn.com/storespark/Sok9oSe2WoHAMR4c/images/essentials/discount/after-rule-apply-discount-order.webp?fit=max&auto=format&n=Sok9oSe2WoHAMR4c&q=85&s=81d7eca3c15722d9e942a7e514ed7216" alt="After Rule Apply" width="1044" height="494" data-path="images/essentials/discount/after-rule-apply-discount-order.webp" />

The **15\$ product discount** has also been applied at checkout on the product **"The Collection Snowboard: Liquid"**, as shown below.

<img src="https://mintcdn.com/storespark/zQqGNM0gkiGw9j3r/images/essentials/discount/after-rule-apply-discount-product.webp?fit=max&auto=format&n=zQqGNM0gkiGw9j3r&q=85&s=a9e38fcdd389f02c5e7fdf5f6c585361" alt="After Rule Apply" width="1046" height="492" data-path="images/essentials/discount/after-rule-apply-discount-product.webp" />

The **16% shipping discount** has been applied at checkout to **all shipping methods**, as shown below.

<img src="https://mintcdn.com/storespark/zQqGNM0gkiGw9j3r/images/essentials/discount/after-rule-apply-discount-shipping.webp?fit=max&auto=format&n=zQqGNM0gkiGw9j3r&q=85&s=fd388d7bed32c703df7d0122434bea8f" alt="After Rule Apply" width="879" height="750" data-path="images/essentials/discount/after-rule-apply-discount-shipping.webp" />

When the customer enters and applies the discount code **SAVE20**, it is rejected and the message **"This discount code is not available right now"** is displayed.

<img src="https://mintcdn.com/storespark/2g9tVGMoSQgdElHj/images/essentials/discount/after-rule-apply-reject-discount-codes2.webp?fit=max&auto=format&n=2g9tVGMoSQgdElHj&q=85&s=b35ac4169b0379de3d20876434d6b1dd" alt="After Rule Apply" width="1009" height="438" data-path="images/essentials/discount/after-rule-apply-reject-discount-codes2.webp" />

## Activate the rule

Once testing is done, we can activate the rule, so it can start making changes to the checkout for actual customers. Only activated rules can make changes to the checkout for all customers.

Click on **Rules** in the sidebar to view all rules. Select the rule you want to activate, then click the **Activate** button to activate it.

<Warning>
  Rule activation is only available on paid plans. If you haven't upgraded your
  plan yet, follow the instructions
  [here](/guides/en/get-started/installation#upgrade-your-plan) to upgrade.
</Warning>

<img src="https://mintcdn.com/storespark/Sok9oSe2WoHAMR4c/images/essentials/discount/activate-the-rule-discount-all.webp?fit=max&auto=format&n=Sok9oSe2WoHAMR4c&q=85&s=50f9fa1805ecc19c8a1352ad7571f432" alt="Activate The Rule" width="977" height="157" data-path="images/essentials/discount/activate-the-rule-discount-all.webp" />

## Limitations

* This rule is incompatible with draft-order-based checkout and apps that use draft-order checkout.
* If checkout URL contains `.../checkouts/do/...`, `do` means draft order and this rule will not run.
