Skip to main content
Cart conditions look at the order as a whole rather than at individual products. They’re the most common way to build free-shipping thresholds and weight-based rules.
This page covers cart conditions for Shipping Rates. For the customization equivalent, see Cart Conditions under Shipping Customizations — the available attributes differ.

Available attributes

Subtotal before or after discount?

These two are easy to confuse, and picking the wrong one is a common source of surprise:
  • Cart Subtotal (total before discount) — the cart value ignoring discount codes.
  • Cart Total (total after discount) — what the customer actually pays for goods.
For a free-shipping threshold, decide deliberately which one you want. Using Cart Subtotal means a discount code can drop a customer below your threshold and they would still be eligible for free shipping.

Cart Contains

Cart Contains and Cart Does Not Contain are different from the other attributes: instead of comparing one cart-level number, they ask whether any product in the cart matches a condition. When you pick one, you then choose a product attribute to test against — Product Tag, Product Type, Product Metafield, and so on — and give it an operator and value, exactly as you would in a product condition.

Quantity and amount checks

Cart Contains adds one more control, letting you require a certain quantity or value of matching products rather than just their presence:
Cart Contains is how you write “if the cart has any fragile item” without forcing the whole cart to be fragile. A plain Product Tag condition applies per line item; Cart Contains asks a question about the cart.

Cart Locale

Matches the locale the customer is browsing in — useful for language-specific rates. Enter the Shopify locale code (en, fr, de-DE). You can enter several separated by semicolons.

Examples

Free shipping over $100, before discounts are applied
A surcharge when the cart is heavy
A handling fee when the cart holds more than 3 fragile items

Product Attributes

Match on tags, type, SKU, weight, dimensions, and metafields.

Customer Attributes

Match on customer tags and names.

Location and Address

Match on postcode, country, province, and warehouse.

Ranged Rates

Turn a cart value into a sliding scale of prices.