Condition fields
A condition reads a single value from the cart, the customer, or the destination. The available fields are organised by subject — what part of the checkout the field reads.
The operator menu in the condition form changes to match the field’s type. The table below lists every available field, the subject it reads, the type of value, and the operators it accepts.
Customer
Section titled “Customer”| Field | Type | Operators | Reads |
|---|---|---|---|
customer_tags |
String, multi-value | contains |
The tags assigned to the logged-in customer. Multi-value: the condition is true if any of the listed tags match (turn on “all must match” to require every listed tag). |
If the customer is not logged in, customer conditions are treated as not matching. Build a separate operation or add a negate if you want the rule to apply to guests.
Destination
Section titled “Destination”| Field | Type | Operators | Reads |
|---|---|---|---|
country_code |
String | equals, contains, starts_with, ends_with |
The shipping country as an ISO 3166-1 alpha-2 code (e.g. US, CA, GB, DE). |
province_code |
String | equals, contains, starts_with, ends_with |
The shipping province / state as an ISO 3166-2 code (e.g. CA, NY, ON). |
postal_code |
String | equals, contains, starts_with, ends_with |
The shipping postal / ZIP code as a string (e.g. 90210, SW1A 1AA). |
equalson a destination field is exact-match against the code.containsis useful for postcode prefixes (e.g. allSW*London postcodes).
Shipment
Section titled “Shipment”| Field | Type | Operators | Reads |
|---|---|---|---|
shipment_value |
Number with currency | equals, contains, between |
The shipment subtotal in the shop’s currency. |
shipment_weight |
Number with unit | equals, contains, between |
The total weight of items in the shipment, in the unit set on the condition. |
shipment_quantity |
Number (no unit) | equals, contains, between |
The total quantity of items in the shipment. |
The unit on a weight condition is set when the condition is created and does not change if the shop’s default weight unit is updated later. The same applies to the currency on a value condition. To use a different unit or to update the value, edit the operation.
Cart line
Section titled “Cart line”| Field | Type | Operators | Reads |
|---|---|---|---|
product_tags |
String, multi-value | contains |
The tags on each product in the cart. The condition is true if any product in the cart has a tag matching one of the listed values. |
A cart-line condition is evaluated per product, not per cart. Use this when you want a rule that fires when a single matching product is in the cart, regardless of the rest of the cart’s contents.
Operator reference
Section titled “Operator reference”| Operator | Works on | Behaviour |
|---|---|---|
equals |
String, Number | The field equals exactly one of the listed values. |
contains |
String, Number, Multi-value string | The field contains one of the listed values. For multi-value string fields (tags), it’s true if any of the values match. |
between |
Number | The field is in the inclusive range [start, end]. Either bound can be left blank for an open-ended range. |
starts_with |
String | The field starts with one of the listed values. |
ends_with |
String | The field ends with one of the listed values. |
See also
Section titled “See also”- Conditions — how conditions combine, negation, and the all-must-match toggle.
- Hide shipping rates — see conditions used in context.