Start from the constraint
What is actually constraining you?
Is it a fixed packaging or carton size?
├─ Yes → Quantity limit type, "Sell in multiples of"
│ (see Case Packs and Multiples)
│
└─ No → Is it a money threshold, a wholesale minimum or a spend cap?
├─ Yes → Value limit type, Minimum/Maximum total value
│ (see Order Value Rules)
│
└─ No → Is it physical shipping weight, freight, pallets or LTL?
├─ Yes → Weight limit type, Minimum/Maximum total weight
│ (see Weight-Based Order Limits)
│
└─ No → It is a unit-count constraint.
├─ Need a floor? → Quantity, Minimum quantity
└─ Need a ceiling? → Quantity, Maximum quantity
Separately: do you need to stop the SAME customer buying more across
MULTIPLE orders, not just one? Add "Limit customer re-purchase" to any of
the above. It is an independent control, not its own limit type.
Comparison table
| Rule type | Checks | Best for | Requires login? |
|---|---|---|---|
| Minimum quantity | Unit count, floor | Protecting margin on small orders | No |
| Maximum quantity | Unit count, ceiling | Limited drops, anti-bulk-buying | No |
| Case pack or multiple | Unit count, step | Products that ship in fixed cartons | No |
| Order value | Cart money total | Wholesale minimums, spend caps | No |
| Weight-based | Cart total weight | Freight and pallet-sensitive products | No |
| Repurchase limit | Cumulative units over time | Anti-hoarding across separate orders | Yes |
Two more decisions every rule needs
Picking the limit type only sets the condition. Two more choices shape how it behaves.
- How to count. Does the condition apply to each matching product independently, or to all of them added together? See How to Count.
- Applied products (scope). Which products, collections, tags, vendors or product types the rule covers. See Targeting Products.
A rule with the right limit type but the wrong scope or counting mode is one of the most common reasons a rule does not behave as expected.
Not a rule-mechanics question?
If you are less sure which business scenario applies than which technical setting, follow the reading path that matches your store instead: