
Triggers decide when a funnel is shown. Every completed checkout is checked against your active funnels; the first funnel whose trigger matches gets to show its offer. A funnel without a trigger matches every eligible order.
💡 In short: add one or more conditions. The funnel fires only when every condition is true. Inside a condition with several entries (for example five products), you choose whether any or all of them must be in the order.
The two trigger modes
Mode | When the funnel fires |
|---|---|
After every purchase | Every eligible order. Use this for your catch-all funnel at the bottom of the list. |
Conditional | Only when every condition you configure is met. |
All available conditions
Based on what was bought
Condition | What it checks | Example |
|---|---|---|
Products | The order includes (or excludes) the selected products or variants. | Bought "Protein Powder" → offer a shaker |
Collections | A purchased product belongs to (or is absent from) the selected collections. | Anything from "Skincare" → offer a serum |
Product tag | Purchased products carry (or do not carry) a tag. | Tag "starter-kit" |
Product type | Purchased products have (or do not have) a product type. | Type "Coffee beans" |
Product metafield | A product or variant metafield matches a value, has any value, or is empty. | Metafield "refillable" equals "yes" |
Variant name | Purchased variant titles contain (or do not contain) a text, partial match, not case-sensitive. | Variant contains "500 g" |
Variant on subscription | A product was bought on a selling plan (any product or a specific one). | Subscription customers get a different offer |
Product quantity | The purchased quantity of specific products is more than, less than or exactly a number. | More than 2 of "Espresso Cups" |
Item quantity | The total number of items in the order is more than, less than or exactly a number. | Exactly 1 item → offer a bundle |
Based on the order
Condition | What it checks | Example |
|---|---|---|
Order value | The order total is more than or less than an amount. | More than 80 € → offer a premium add-on |
Currency | The customer paid in your store currency or in a foreign currency. | International shoppers see a different offer |
Shipping destination | The delivery country is in (or not in) your list. | Only Germany and Austria |
Date and time | The current time falls inside a start and/or end date, entered in your shop time zone. | Black Friday weekend only |
Device type | The customer checked out on desktop or on a mobile device. | Mobile-optimized offer |
UTM parameters | The visit that led to the order carried the configured campaign parameters. Needs the UTM capture theme extension (see the Setup guide). | Campaign "summer-sale" gets its own offer |
Based on the customer
Condition | What it checks | Example |
|---|---|---|
Customer language | The checkout language of the customer. | German shoppers only |
Customer segments | The customer belongs to (or not to) your Shopify customer segments. | VIP segment |
Order history | First order vs. customer has ordered before. | Welcome offer for first-time buyers |
Order count | The customer's number of orders is more than, less than or exactly a number (the current order counts). | Exactly 3 orders → loyalty offer |
Once per customer | The customer has not already seen this funnel on an earlier order. Later orders skip it even when every other condition still matches. | Show a welcome funnel only the first time |
How conditions combine
Between conditions: always AND. If you add "Order value more than 80 €" and "Shipping destination Germany", both must be true.
Within one condition: you choose. Conditions that take several entries (products, collections, tags, types, segments, variant names, metafields) have a switch:
Setting | Meaning | Example with three products |
|---|---|---|
OR, any must match (default) | One hit is enough | Any of the three in the order → fires |
AND, all must match | Every entry must be present | All three in the order → fires |
The same switch exists on "excludes" rules: with OR, the funnel fires when at least one of the entries is missing; with AND, only when none of them is in the order.
⚠️ Important: a funnel that never fires is almost always a trigger that is too narrow. Stacking many conditions, or switching a long product list to "all must match", shrinks the audience quickly. Start broad, then narrow down.
Good to know
Guest checkouts have no customer record, so customer-based conditions (segments, order history, order count) never match for them, and the funnel is simply skipped for guests. Once per customer is the exception: a guest checkout always matches it, since there is no customer to remember.
If a condition cannot be evaluated (for example a product was deleted or Shopify did not return the data), the funnel is skipped rather than shown to the wrong customer. Safety first.
Discount code and discount percentage appear in the condition list but cannot be evaluated yet, because Shopify does not expose reliable discount data at this point of the checkout. A funnel that uses them will not fire for now. Leave these two out until we announce them in the changelog.
Product- and metafield-based conditions need the "read products" permission, customer-based conditions need "read customers". You are asked for these when installing or updating the app.
Which funnel fires when several match?
Funnels are evaluated top to bottom in your funnel list, and the first match wins. See What happens when multiple funnels match?.
Related articles
