Settings reference
Every condition, every action, and how priority and stacking resolve.
Rule fields
| Field | What it does |
|---|---|
| Name | How the rule appears in the list and in the plain English summary. |
| Status | Enabled or disabled. A disabled rule stays in the list and is skipped at evaluation. |
| Priority | The order rules are evaluated in. Drag to reorder. |
| Stacks with others | Whether 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.
| Condition | Takes |
|---|---|
| Cart subtotal | A minimum, a maximum, or both |
| Item quantity | A minimum, counted across the matching lines |
| Product membership | Specific products |
| Collection membership | One or more collections |
| Tag membership | One or more product tags |
| Variant SKU list | An exact list of SKUs |
| Customer tags | One or more customer tags. Pro and above |
| Customer email domain | For example a company domain for staff pricing. Pro and above |
| Market or country | One or more markets or countries. Pro and above |
| Shipping method | The selected shipping method |
| Cart attribute | A key and an expected value, drawn from one of three attribute key slots |
| Day of week and time window | Days plus a start and end time, drawn from one of three time window slots |
| First order only | True for a customer with no previous orders. Pro and above |
Actions
| Action | Takes |
|---|---|
| Percentage off | A percentage, applied to the matching lines |
| Fixed amount off | An amount, applied to the matching lines |
| Quantity tiers | A table of minimum quantity and percentage or amount, for example 10 at 5 percent and 25 at 10 percent |
| Buy X get Y | Quantity of X, quantity of Y, and whether Y is free or discounted |
| Gift with purchase | A variant and the discount applied to it |
| Order level discount | A percentage or amount off the order |
| Shipping discount | A percentage or amount off shipping |
| Exclude items already on sale | Skips any line with a compare at price |
| Cap per order | A maximum the rule can take off a single order |
How conflicts resolve
- Rules are evaluated in priority order, top first.
- A rule with stacking off claims its matching lines and no later rule in the same class can discount them again.
- A rule with stacking on leaves its lines available to later rules in the same class.
- Product, order, and shipping discounts are separate classes. A product rule and a shipping rule never compete.
- 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
| Free | Growth | Pro | Plus | |
|---|---|---|---|---|
| Price | $0 | $19 a month | $49 a month | $99 a month |
| Rules | 3 | 8 | 12 | 12 |
| Every action type | Yes | Yes | Yes | Yes |
| Plain English preview | Yes | Yes | Yes | Yes |
| Cart tester | Yes | Yes | Yes | Yes |
| Priority ordering and stacking control | No | Yes | Yes | Yes |
| Customer tag, email domain, first order, market, and country conditions | No | No | Yes | Yes |
| Priority support | No | No | No | Yes |
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.