docs/user/promotions/promotion-rules.mdx
Promotion rules define the conditions that must be met for a promotion to be applied. Spree gives you full control over when a promotion should be eligible - whether it’s based on the order total, customer group, specific products, or a user’s login status.
Each promotion can have multiple rules, and you can choose whether all rules must match (match all) or any rule must match (match any).
At the top of the Rules section in the promotion editor, you’ll see the Match Policy toggle:
This gives you flexibility to fine-tune how strict or lenient the promotion conditions should be.
Below is a list of all rule types currently supported in Spree, along with when and why you might use them.
Applies the promotion only if the order total meets a specific threshold.
Use this when:
Limits the promotion to customers whose shipping address is in a specific country.
Useful for:
Applies the promotion only to orders in a specific currency.
Use this if:
Limits the promotion to orders that include one or more specific products (variants).
Perfect for:
Applies when the order includes products belonging to specific taxons (categories, collections, etc.).
Ideal for:
Triggers when products in the cart have a specific option value (e.g., color, size, material).
Use cases:
Applies only to specific customers.
This is useful for:
Applies only if the promotion is being used on a customer’s first-ever order.
Great for:
Applies only when the customer is logged in.
Use this to:
Restricts the promotion so that each user can only use it once.
Helps prevent abuse and maintain exclusivity.
Limits the promotion to customers belonging to a specific Customer Group.
Perfect for:
Customer Groups are created under <u>Customers → Customer Groups</u>.
| Goal | Rule(s) to Use |
|---|---|
| $10 off first order only | First Order + User Logged In |
| 20% off selected category | Taxon(s) |
| Exclusive deal for logged-in VIPs | User Logged In + Customer Group |
| Free shipping to U.S. only | Country (US) |
| Discount on red-colored items | Option Value(s) → Color: Red |
| Welcome promo limited to one-time use | First Order + One Use Per User |