Customer (4)
| Condition | Operators | Value |
|---|---|---|
| Customer tag | Is one of · Is not one of | Tags from your store |
| Customer total spent | Numeric · Between | Amount |
| Customer order count | Numeric · Between | Number |
| Customer is logged in | Is true · Is false | — |
Cart (5)
| Condition | Operators | Value |
|---|---|---|
| Cart total | Numeric · Between | Amount |
| Cart subtotal | Numeric · Between | Amount |
| Items in cart | Numeric · Between | Number |
| Cart currency | Is one of · Is not one of | Currency code |
| Cart attribute | Equals · Contains · Is empty (+ negations) | Key + value |
Cart total vs. cart subtotal
Subtotal is the value of the items; total includes what Shopify adds on top. A “$500 or more” rule built on total will trigger on a $470 cart once shipping is added.
Products (7)
| Condition | Operators | Value |
|---|---|---|
| Product tag in cart | Is one of · Is not one of | Tags |
| Product vendor | Is one of · Is not one of | Vendors |
| Product title | Equals · Contains · Starts with · Ends with (+ negations) | Text |
| Variant name | Is one of · Is not one of | Variants |
| Product in cart | Is one of · Is not one of | Specific products |
| Collection in cart | Is one of · Is not one of | Collections |
| Quantity of product | Numeric | Product + number |
Product conditions match if any item in the cart satisfies them — not only when every item does.
Location (5)
| Condition | Operators | Value |
|---|---|---|
| Customer country | Is one of · Is not one of | Countries |
| Shipping country | Is one of · Is not one of | Countries |
| Shipping state / province | Is one of · Is not one of | Text |
| Shipping ZIP / postal code | Is one of · Equals · Starts with · Contains (+ negations) | Codes |
| Shipping method | Is one of · Is not one of | Shipping options |
Customer country and shipping country differ
Customer country comes from the customer’s own address; shipping country is where the order is going. They diverge on gifts and business shipments. For anything delivery-related, use shipping country.
Discounts (2)
| Condition | Operators | Value |
|---|---|---|
| Discount applied | Is true · Is false | — |
| Total discount amount | Numeric · Between | Amount |
Operators
| Operator | Meaning |
|---|---|
| Equals / Does not equal | Exact match |
| Contains / Does not contain | Substring match |
| Starts with / Ends with | Prefix or suffix |
| Is empty / Is not empty | No value input needed |
| Greater than / Less than | Strict comparison |
| Greater than or equal / Less than or equal | Inclusive comparison |
| Between | Inclusive range, two values |
| Is one of / Is not one of | List membership |
| Is true / Is false | Boolean, no value input |
Unsure what a term means? The glossary has plain definitions.
“Numeric” above means Greater than, Less than, ≥, ≤, Equals and Does not equal. Not every operator is offered on every condition — see each group’s table.
Condition sets
| Set | Covers |
|---|---|
| General Rules | Cart value, customer, location, discounts |
| Product-Based Rules | Products, collections, items in cart |
| Advanced & Custom Rules | Cart attributes, applied discounts, address details, custom fields |
A condition can belong to several sets — Cart total is in all three — which is why the picker changes when you switch.
Switching sets clears your conditions
Changing the set on a rule you’ve already built discards its conditions, with a confirmation first. Decide the set before you build the rule out.
Limits
- Conditions per rule is capped. The Add Condition modal shows your remaining slots — check there rather than assuming a number.
- Cart attribute is capped at two per rule, separately from the overall cap.
- Active rules per store is a Shopify limit: 25 payment and 25 delivery customizations, counted across every app. See platform support.