Skip to content
On this page
Reference Updated Aug 14, 2026

How rules are evaluated at checkout

In short

Every activated rule is tested independently against each checkout, and the Condition Match Type decides whether all conditions must pass or just one. Where rules overlap, hiding wins — a hidden method cannot be renamed or moved.

Applies to

  • All activated payment and shipping rules
  • Online checkout and draft order checkouts

Doesn't apply to

  • Rules not set to Activated — saved but inert
  • Shopify POS

What happens on each checkout

Shopify calls the app with the current cart, customer and shipping address. Each Activated rule is then tested on its own:

  1. Do the rule’s conditions pass, per its match type?
  2. If yes, the action — hide, rename or reorder — applies to the named methods.

Rules that are saved but not Activated are skipped entirely.

Match type within a rule

  • All Conditions Pass — every condition must be true (AND). Adding conditions makes the rule narrower.
  • Any Condition Passes — one is enough (OR). Adding conditions makes it broader.

The most common logic mistake

Adding conditions to an “Any” rule widens it. Merchants often add a second condition expecting to tighten a rule that fires too often — and it fires more often instead. If a rule is over-applying, check the match type before touching the conditions.

A rule with no conditions always fires. That’s the right setup for something unconditional, like always putting Free Shipping first.

Condition sets

A rule pulls its conditions from exactly one set — General, Product-Based, or Advanced & Custom. This is a property of the rule, which is why the picker’s contents change when you switch.

Some conditions appear in several sets (Cart total is in all three), others in only one (Product title is Product-Based only). If a condition you expect is missing, you’re in the wrong set.

Switching sets clears the conditions already on the rule, with a confirmation first.

When several rules touch the same method

Rules are independent, not sequential — there is no priority to set. Where effects overlap:

CombinationResult
Hide + renameHidden. Nothing left to rename.
Hide + reorderHidden, and the rest close the gap.
Rename + reorderBoth apply.
Two hidesHidden if either rule’s conditions pass.
Two renamesAvoid — build one rename rule per method.

Hiding is destructive and wins. When a method vanishes and you can’t see why, look for a second hide rule before scrutinising the one you were working on.

When changes take effect

Activating, editing or deactivating affects every checkout started from that moment. No cache to clear, no publish step.

The exception is a checkout the customer already has open — it keeps its original options until they refresh. Reload after each change when testing, or you’ll read a stale page.

Where rules run

  • Online checkout and draft order checkouts the customer opens — yes.
  • Shopify POS — no.
  • The cart page — no; methods aren’t chosen there.
  • The admin draft order screen — no; the rule applies when the customer opens the link.

Full detail in platform support.

Frequently asked

In what order do my rules run?

Treat them as independent rather than sequential. Each activated rule is tested on its own terms. Where outcomes interact, hiding takes precedence.

What happens if two rules contradict each other?

The more restrictive outcome wins — a method hidden by one rule stays hidden. If a method is disappearing unexpectedly, look for a second hide rule.

Do rules slow down checkout?

No. They run as native Shopify Functions inside Shopify's own infrastructure — no external calls, no extra scripts.

See also: Condition reference — all 23 conditions · Rule is not applying at checkout · Platform support — plans, POS, draft orders and Markets

Still stuck? Email support — we usually reply within a few hours.