Reference
Conditions
Conditions let you control exactly when an extension block is shown. Each rule can have one or more conditions combined with AND (all must pass) or OR (any must pass) logic.
AND logic
Every condition in the rule must be true for the block to show. Use this to narrow your audience — e.g. cart total > $50 and customer is logged in.
OR logic
Any single condition being true is enough to show the block. Use this to broaden your audience — e.g. customer tag is "vip" or customer tag is "wholesale".
⚡
General
Default behaviour with no targeting.
| Condition | What it checks | Operators | Example value |
|---|---|---|---|
| Always show | No conditions — block is always visible | — | — |
🛒
Cart
Target based on what is in the cart.
| Condition | What it checks | Operators | Example value |
|---|---|---|---|
| Cart total | Cart subtotal amount | > · ≥ · < · ≤ · = | 50.00 |
| Cart item count | Total number of items in cart | > · ≥ · < · ≤ · = | 3 |
| Cart attribute | Custom cart attribute key equals a value | is · is not · contains · not contains | Key: gift Value: true |
| Product in cart | A specific product (by ID or title) is in the cart | is · is not | Summer T-Shirt |
👤
Customer
Target based on who is checking out.
| Condition | What it checks | Operators | Example value |
|---|---|---|---|
| Customer logged in | Customer has an account and is signed in | — | — |
| New customer | Customer has zero previous orders | — | — |
| Customer tag | Customer has a specific Shopify tag | is · is not | vip |
| Customer country | Customer's billing / localization country code | is · is not | US |
| Customer email | Customer's email address | is · is not · contains · starts with · ends with | @company.com |
| Customer type | B2B (company account) or B2C (regular customer) | is · is not | b2b or b2c |
📍
Shipping Address
Target based on where the order is being shipped.
| Condition | What it checks | Operators | Example value |
|---|---|---|---|
| Country | Shipping destination country (ISO code) | is · is not | US · GB · AU |
| Province / State | Shipping state or province code | is · is not | CA · NY · TX |
| City | Shipping city name | is · is not · contains | New York |
| ZIP / Postal code | Shipping postal code | is · is not · contains · starts with | 10001 |
| Address line 1 | Street address (first line) | is · is not · contains | 123 Main |
| Address line 2 | Apt / unit / suite (second line) | is · is not · contains | Apt |
🔧
Checkout Context
Target based on selections made during checkout.
| Condition | What it checks | Operators | Example value |
|---|---|---|---|
| Shipping method | Name of the selected shipping option | is · is not · contains | Express |
| Payment method | Name of the selected payment method | is · is not · contains | PayPal |
| Language | Checkout language (ISO code) | is · is not | en · fr · de |
| Market | Shopify market handle | is · is not | us · eu · au |
🗓️
Date & Time
Target based on when the checkout happens.
| Condition | What it checks | Operators | Example value |
|---|---|---|---|
| Date | Current date compared to a target date | after · before · on | 2024-12-25 |
| Day of week | Day the checkout is taking place | is · is not | monday · friday |
| Time | Current time compared to a target time (24 h) | after · before | 14:00 |
Tips
- ✓String comparisons are case-insensitive — "VIP", "vip", and "Vip" all match.
- ✓Customer tags require a tag lookup at checkout load time. Avoid combining many tag conditions in a single rule.
- ✓Cart attribute conditions require the attribute to be set by your storefront or another app before checkout.
- ✓Date and time conditions use the customer's local time on the server at the moment of checkout load.
- ✓For B2B targeting, set Customer type = b2b — this matches any customer with a linked company account.