Batten
Color theme

Settings reference

Every condition, every action, and how priority and stacking resolve.

Rule fields

FieldWhat it does
NameHow the rule appears in the list and in the plain English summary.
StatusEnabled or disabled. A disabled rule stays in the list and is skipped at evaluation.
PriorityThe order rules are evaluated in. Drag to reorder.
Stacks with othersWhether this rule can apply alongside another rule in the same class. Off makes it exclusive.

Conditions

Every condition on a rule must match for the rule to fire.

ConditionTakes
Cart subtotalA minimum, a maximum, or both
Item quantityA minimum, counted across the matching lines
Product membershipSpecific products
Collection membershipOne or more collections
Tag membershipOne or more product tags
Variant SKU listAn exact list of SKUs
Customer tagsOne or more customer tags. Pro and above
Customer email domainFor example a company domain for staff pricing. Pro and above
Market or countryOne or more markets or countries. Pro and above
Shipping methodThe selected shipping method
Cart attributeA key and an expected value, drawn from one of three attribute key slots
Day of week and time windowDays plus a start and end time, drawn from one of three time window slots
First order onlyTrue for a customer with no previous orders. Pro and above

Actions

ActionTakes
Percentage offA percentage, applied to the matching lines
Fixed amount offAn amount, applied to the matching lines
Quantity tiersA table of minimum quantity and percentage or amount, for example 10 at 5 percent and 25 at 10 percent
Buy X get YQuantity of X, quantity of Y, and whether Y is free or discounted
Gift with purchaseA variant and the discount applied to it
Order level discountA percentage or amount off the order
Shipping discountA percentage or amount off shipping
Exclude items already on saleSkips any line with a compare at price
Cap per orderA maximum the rule can take off a single order

How conflicts resolve

  1. Rules are evaluated in priority order, top first.
  2. A rule with stacking off claims its matching lines and no later rule in the same class can discount them again.
  3. A rule with stacking on leaves its lines available to later rules in the same class.
  4. Product, order, and shipping discounts are separate classes. A product rule and a shipping rule never compete.
  5. Where two rules could both apply to the same line and both stack, both apply, and the cap per order is enforced last.

The test panel shows the same resolution, so you can prove the order rather than infer it.

Plans

FreeGrowthProPlus
Price$0$19 a month$49 a month$99 a month
Rules381212
Every action typeYesYesYesYes
Plain English previewYesYesYesYes
Cart testerYesYesYesYes
Priority ordering and stacking controlNoYesYesYes
Customer tag, email domain, first order, market, and country conditionsNoNoYesYes
Priority supportNoNoNoYes

Twelve rules is the ceiling on every plan, including Plus. It is measured against the Function's instruction budget rather than chosen as a price ladder, and it does not move until the Function gets cheaper to run.

Shopify hosts the plan selection page, so changing plan happens through the app and is billed with your store.

Platform limits worth knowing

  • Shopify Functions have no network access. Rules cannot call an external service, and nothing about your cart leaves the store.
  • A Function runs against an input query written to fetch only what the rules need, which keeps large carts inside the instruction budget.
  • A store may hold 25 active automatic discounts including app and Function discounts. This app uses one.
  • Twelve rules per store, on every plan. See the plan table above.
  • Three cart attribute keys and three time windows per store. A Function input query takes a fixed argument list, so the keys and windows are declared once and rules point at a slot.
  • Only one order level discount can win. Where two order rules both apply, the app sums them itself and applies a single amount.
  • A percentage discount that hits its cap is applied as the capped amount, because the platform has no native cap.
  • A rule can ask whether a product, collection, or customer carries a value it names. It cannot ask what values something carries, because the input query only asks about the values your rules reference.

Still stuck? Send it through the support form and you will have a reply inside two business days.