Skip to content

Condition Sets

Payflow conditions are organised into six sets. Each set maps to a dedicated Shopify Function extension, and only conditions within the same set (or across overlapping sets) can be used together in a single rule.

Shopify Functions have a fixed input schema — each function can only access a specific subset of checkout data. To support 50+ conditions, Payflow distributes them across multiple function extensions. The result is that some condition combinations are available and others are not.

Payflow condition picker showing two conditions in one rule with a banner explaining that some combinations are unavailable due to Shopify limitations
Payflow condition picker showing two conditions in one rule with a banner explaining that some combinations are unavailable due to Shopify limitations
  • Within a set: all conditions can be freely combined.
  • Across sets: some conditions appear in multiple sets. As long as there is at least one set that contains all your selected conditions, the combination works.
  • Set 6 (Combined) is a cross-set function that includes frequently requested multi-set conditions.

If the combination you need is not available, contact support — new combinations can be added.


Core cart and address conditions that cover the most common use cases.

CategoryConditions
CartTotal amount, Total weight, Total quantity, Product, Product variant, Product tag, Collection, Product variant title
ShippingShipping country, Shipping method name, Shipping type, First name, Company
CustomerCustomer tag

Extended address, localization, and subscription conditions.

CategoryConditions
CartSubtotal amount, Contains subscription, Product variant
ShippingShipping country, Province, Shipping city, Shipping postcode, Last name, Address line 1, Address line 2, Phone
CustomerCustomer B2B, Cart attribute B2B, B2B company name
LocalizationShopify Market, Checkout language

Conditions that rely on customer account data. Most require the buyer to be logged in.

CategoryConditions
CustomerBuyer is authenticated, Buyer email, Lifetime spend, Total number of orders, Customer display name, Customer email, Customer first name, Customer last name, Customer ID, Customer metafield

Discount-based conditions.

CategoryConditions
DiscountsDiscount amount, Discount percentage

Detailed product-level conditions including metafields and line item data.

CategoryConditions
ProductVariant SKU, Product vendor, Product type, Is gift card, Requires shipping, Line item price, Compare-at price, Cart attribute, Line item property, Product metafield, Variant metafield

A cross-set function that includes a curated selection of conditions from multiple sets, enabling combinations that would otherwise not be possible.

CategoryConditions
CartTotal weight, Total quantity, Product, Product tag, Subtotal amount, Contains subscription
ShippingShipping country, Province, Shipping postcode
CustomerBuyer is authenticated, Customer tag
DiscountsDiscount amount, Discount percentage
ProductIs gift card
LocalizationShopify Market

Checkout Rules run on their own validation functions, so the sets above don’t apply to them one to one. A checkout rule is hosted on one of three functions, and all conditions in a rule must fit the same one. Payflow picks the function when you save and refuses a mix that no single function can evaluate.

FunctionConditions
CoreBuyer email, Buyer is authenticated, Total amount, Subtotal amount, Total quantity, Shipping country, Province, Shipping city, Shipping postcode, First name, Last name, Address line 1, Address line 2, Company, Phone, Billing phone, Shipping type, Product vendor, Product tag, Collection
Shipping methodEverything in Core except the product conditions, plus Shipping method and Cart weight
Customer accountTotal number of orders, Lifetime spend, Customer account email, Customer tag, plus Buyer email, Buyer is authenticated, Total amount, Subtotal amount, Total quantity, Shipping country, Product tag, Collection

In practice: customer-account conditions combine with product tag, collection, amounts and the shipping country, but not with address details, shipping method, cart weight or vendor. Customer-account conditions only match logged-in buyers; a guest never matches them, even when the email typed at checkout belongs to an existing account.


SetInternal IDPrimary focus
Set 1defaultCart basics — totals, products, tags, country
Set 2shippingAddress details, localization, B2B
Set 3customerCustomer account data
Set 4discountDiscount amount and percentage
Set 5productProduct attributes, metafields, line items
Set 6combinedCross-set combinations