DOCS

Checkout discount rules

Checkout discount rules

Create discounts that apply automatically when an order meets your conditions—no code required.

A discount rule reduces a shopper's checkout total on its own, as soon as the order meets the conditions you set. The shopper doesn't type anything—if the cart qualifies, the discount is applied.

This is the automatic counterpart to discount codes, which only apply when the shopper enters a code. Both live under SettingsCheckout in Dashboard and share the same builder, rule language, and scheduling.

Use discount rules for offers like:

  • Free shipping on orders over a threshold
  • A percentage off the order total once the cart reaches a minimum
  • A flat amount off the cart for qualifying orders
  • A discount on a specific SKU, product ID, or category
  • A seasonal promotion that runs between two dates

Discount codes vs. discount rules 

Dashboard splits checkout discounts into two pages. Both are backed by the same rule engine—the only difference is whether the shopper has to enter a code.

Discount codesDiscount rules
Dashboard pageSettingsCheckoutDiscount codesSettingsCheckoutDiscount rules
How it appliesThe shopper enters the code at checkoutAutomatically, when the order meets the conditions
IdentifierDiscount code—the value shoppers typeName—an internal label shoppers never see
Underlying ruleCondition includes a :promo_codes: clauseCondition has no :promo_codes: clause
Conditions requiredNone—the code itself is the conditionAt least one (minimum purchase or item restriction)
Renamed page

The page previously called Discounts is now Discount codes. Existing discounts, links, and URLs are unchanged—/settings/checkout/discounts still opens the discount codes list.

Both pages are available to online store organizations. Marketplace, postal, and brokerage organizations are redirected away from them.

Create a discount rule 

  1. Go to DashboardSettingsCheckoutDiscount rules.
  2. Click New discount rule.
  3. Enter a Name and, optionally, a Description.
  4. Choose what the discount adjusts under Apply discount to, and set the start and end dates.
  5. In the Discount builder, pick the discount type and value, then add at least one condition—a minimum purchase requirement, an item restriction, or both.
  6. Confirm the generated rule under Rule preview.
  7. Click Create discount rule.

Details 

FieldWhat it does
NameRequired. An internal label for the rule, shown in the Discount rules list. Shoppers never see it, and it is never added to the rule condition. Apostrophes are allowed.
DescriptionFree-form notes for your team. Not shown to shoppers.
Start / end dateWhen the rule becomes active and when it stops. Leave the end date blank to keep it active indefinitely; set it to a past date to deactivate.

Renaming a rule only changes its display name. Because the name never enters the condition, renaming will not rewrite a rule you have hand-edited in the Rule preview.

Apply discount to

The Apply discount to dropdown controls which part of the order the discount adjusts, and caps the discount at that amount—a $50 discount applied to a $20 cart only takes $20 off. Choose Order total, Cart total, Shipping total, or Item.

When you're editing an existing rule, Apply discount to is restricted to options compatible with the rule's original context. To switch between order-level and item-level discounts, create a new rule instead.

Every rule needs at least one condition 

A discount code is always gated by the code the shopper types. A discount rule has no code, so it needs something else to decide when it fires—otherwise it would discount every order.

Set at least one of the following in the Discount builder:

  • Minimum purchase requirements—a minimum amount and currency. The rule only applies when the shopper's items total is at or above this amount.
  • Restrict to specific items—limit the rule to items matched by SKU, product ID, or category.

If you save without either, Dashboard blocks the save with:

A discount rule needs at least one condition. Add a minimum purchase requirement or restrict it to specific items.

Discount builder 

The Discount builder assembles the rule for you and works the same way it does for discount codes. Use the Enable toggle in the section header to choose how you author the rule:

  • Enable on (default)—the builder fields are shown and the Rule preview is read-only. Change any field and the preview regenerates automatically.
  • Enable off—the builder fields are hidden and you edit the rule text directly in the Rule preview.

If you open a rule whose saved logic the builder can't reproduce, the toggle is off and locked, and the rule can only be edited in the preview.

Discount type

  • Percentage off—enter the Percentage (0–100) and pick what it's calculated against under Calculate percentage against: Items subtotal, Shipping, Items subtotal + Shipping, or Item amount (available when Apply discount to is Item).
  • Fixed amount off—a flat discount. Enter the Amount and choose the Currency.

Requirements

Under Configure when this discount should be available, choose Minimum purchase requirements and set an amount and currency. For a discount rule this is one of the two ways to satisfy the "at least one condition" requirement.

Restrict to specific items

Use Restrict the discount to items matched by SKU, product ID, or category to limit which items the rule applies to: Any item, Specific SKUs, Specific product IDs, or Specific categories (available when Apply discount to is Item).

Each value is committed when you press Enter. Spaces inside a value are allowed (e.g. Holiday Gifts); empty entries are filtered out. Item matching uses exact equality, so PROD-123 will not match PROD-1234.

For the full reference on the builder fields, see Checkout promo codes and discounts.

Rule preview 

The Rule preview shows the rule that gets saved. A rule has two halves separated by then:

:items_total: >= 100 usd
  then :amount: = :shipping: * -1 and :type: = 'SHIPPING'
  • The condition (before then) decides when the rule fires.
  • The actions (after then) describe what the discount does and where it applies—:type: is always required and indicates the context ('ORDER_TOTAL', 'CART_TOTAL', 'SHIPPING', or 'ITEM').

The difference from a discount code is the condition: a discount rule's condition never contains a :promo_codes: clause. Everything else about the rule language—operators, variables, and the Operators reference dialog—is identical. See Rule preview for the full rule language reference.

Examples

Click Examples at the bottom of the rule preview to load a ready-made rule. The Discount rules page shows condition-only templates, with no promo code in them:

ExampleWhat it does
Free shipping (100%)100% off shipping when the order subtotal is at least $100
Percentage off order total10% off the order total when the subtotal is at least $50
Fixed amount off cartFixed $5 off cart total when a minimum purchase of $50 is met
Free gift by SKU100% off a specific item matched by SKU
Category discount20% off items in a specific category

Clicking Use this example overwrites the current draft's rule, but keeps the Name you already typed. Use the search field to filter the list.

Which list a discount appears in 

Dashboard sorts a saved discount into one of the two pages by looking at its condition:

  • Conditions that contain a :promo_codes: clause appear under Discount codes.
  • Conditions that don't appear under Discount rules.
Editing the rule directly moves the discount

If you turn the Discount builder off and hand-write a :promo_codes: clause into a discount rule's condition, the discount becomes a discount code and moves to the Discount codes page after you save. The reverse is also true: removing the :promo_codes: clause from a discount code moves it to Discount rules. Its name and settings are preserved either way.

To stop an existing rule from applying, you have two options:

Schedule it to expire

  1. Go to DashboardSettingsCheckoutDiscount rules.
  2. Select the rule you want to expire.
  3. Set the end date to a date in the past (or any future date you want it to stop).
  4. Click Save changes.

Expire it immediately

  1. Go to DashboardSettingsCheckoutDiscount rules.
  2. Select the rule you want to expire.
  3. Scroll to the bottom and click Expire discount.
Book a demo

Was this page helpful?