Skip to content

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.

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.

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).

equals on a destination field is exact-match against the code. contains is useful for postcode prefixes (e.g. all SW* London postcodes).

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.

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 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.