Conditions
A condition is a single if clause attached to an operation. Every condition has the same shape:
<field> <operator> <value(s)>For example: cart total weight equals 5 kg or customer country equals CA.
If you don’t add any conditions to an operation, it always fires. If you add one or more, all of them must be true for the operation to fire (an implicit AND).
Field types
Section titled “Field types”The available fields are organized by subject — what part of the cart or customer the field reads.
| Subject | Field | What it reads | Type |
|---|---|---|---|
| Cart line | product_tags |
The tags on each product in the cart | String (multi) |
| Cart line | shipment_value |
The shipment subtotal (cart subtotal) | Number |
| Cart line | shipment_weight |
Total weight of items in the shipment | Number |
| Cart line | shipment_quantity |
Total quantity of items in the shipment | Number |
| Customer | customer_tags |
The tags on the logged-in customer | String (multi) |
| Destination | country_code |
The customer’s shipping country (ISO 3166-1 alpha-2) | String |
| Destination | province_code |
The customer’s shipping province / state (ISO 3166-2) | String |
| Destination | postal_code |
The customer’s shipping postal / ZIP code | String |
The full list with notes is in Condition fields.
Operators
Section titled “Operators”- String fields accept:
equals,contains,starts_with,ends_with. - Number fields accept:
equals,contains,between(a range). - Multi-value string fields (like tags) accept:
contains(any of the values matches).
The operator menu in the form changes to match the field type.
Number conditions and units
Section titled “Number conditions and units”Number conditions (shipment_value, shipment_weight, shipment_quantity) carry a unit. For weight, the unit is the shop’s default weight unit (set in Settings) at the time the condition was created. Changing the shop default later doesn’t change existing conditions.
You can also override the unit per condition if you want a rule to evaluate against a specific unit (e.g. “more than 10 lb” while the shop default is kilograms).
Negating a condition
Section titled “Negating a condition”Each condition has a negate toggle. When turned on, the condition’s meaning flips — it fires when the comparison is not true.
For example, with country_code equals CA and negate on, the condition is “the country is not Canada.” Conditions still combine with AND across the operation.
All-must-match
Section titled “All-must-match”For multi-value string fields (like tags), the rule “contains” is by default any of — the condition is true if at least one of the listed values matches. The condition has a toggle called all must match which flips it to all of — every listed value must be present for the condition to be true.
How conditions interact across operations
Section titled “How conditions interact across operations”Conditions are scoped to a single operation. There is no global AND/OR between operations. If you need OR logic, build two operations with the same action and different conditions.
See also
Section titled “See also”- Condition fields — every field, every operator, every type.
- Hide shipping rates — see conditions in context.