Skip to main content
Conditional blocks let you show different content based on product data. They work like if/else statements — define conditions, and the right content is rendered per product automatically. Set them up on the Conditional tab in Settings > Content Logic.

How to use them

  1. Create a block — Give it a name and key.
  2. Define conditions — Pick a product field, choose an operator, and enter a comparison value. Combine multiple conditions with AND or OR.
  3. Write the content — Enter what should appear when conditions are met (then). Add else if branches for additional scenarios, and an optional else for the fallback.
  4. Reference in content — Use the key to insert the conditional block wherever variables are supported.

Condition operators

OperatorDescriptionNeeds value?
equalsExact matchYes
not_equalsDoes not equalYes
containsContains substringYes
not_containsDoes not containYes
starts_withStarts withYes
ends_withEnds withYes
greater_thanGreater than (numeric)Yes
less_thanLess than (numeric)Yes
greater_than_or_equalGreater than or equalYes
less_than_or_equalLess than or equalYes
in_listIs one of (comma-separated)Yes
is_emptyHas no valueNo
is_not_emptyHas a valueNo
is_trueBoolean trueNo
is_falseBoolean falseNo
Conditions can reference any product field, custom attribute, or date/time variable.

Use case examples

1. Free shipping banner based on price

Show different shipping messages depending on the product price. Key: free_shipping
BranchConditionContent
IFproduct.price greater than 50Free shipping included.
ELSEShipping calculated at checkout. Add €{{global.free_shipping_threshold}} to your order for free shipping.

2. Stock urgency messaging

Create urgency for low-stock items and set expectations for out-of-stock products. Key: stock_message
BranchConditionContent
IFproduct.stock_quantity less than 5 AND product.stock_status equals in_stockOnly {{product.stock_quantity}} left in stock — order soon.
ELSE IFproduct.stock_status equals out_of_stockCurrently out of stock. {{global.restock_text}}
ELSE IFproduct.stock_status equals on_backorderAvailable on backorder. {{global.backorder_lead_time}}
ELSEIn stock and ready to ship. {{global.lead_time_text}}

3. Seasonal promotions

Show different promotional content depending on the time of year. Key: seasonal_promo
BranchConditionContent
IFcurrent.season equals WinterWinter Sale: save up to 30% on selected items.
ELSE IFcurrent.season equals SummerSummer clearance — extra discounts on last season’s stock.
ELSE IFcurrent.month equals NovemberBlack Friday deals — check {{global.website_url}}/blackfriday for offers.
ELSE(empty — no promo)

4. B2B lead time by product type

Different product categories have different lead times — show the right expectation per product. Key: lead_time
BranchConditionContent
IFproduct.category in_list Custom Orders, Made to OrderLead time: 4-6 weeks. Contact {{global.support_email}} for expedited options.
ELSE IFproduct.stock_quantity greater than 100In stock. Ships within 1-2 business days.
ELSE IFproduct.stock_quantity greater than 0In stock. {{global.lead_time_text}}
ELSEAvailable on backorder. {{global.backorder_lead_time}}

5. Hazardous material warnings

Automatically add safety warnings to dangerous goods. Key: hazmat_notice
BranchConditionContent
IFproduct.is_dangerous_good is_trueWarning: Hazardous material. Special shipping restrictions apply. {{brand.hazmat_handling}} Refer to the Safety Data Sheet before handling.
ELSE(empty)

6. Product description suffix by price tier

Add different messaging based on the product’s price tier. Key: price_tier_text
BranchConditionContent
IFproduct.price greater than 500Premium product. Includes {{brand.warranty_text}} Contact our specialist team for bulk pricing: {{global.support_email}}
ELSE IFproduct.price greater than 100Professional grade. {{brand.warranty_text}} Volume discounts available.
ELSE{{brand.warranty_text}}

7. Compliance text by country of origin

Show different compliance statements depending on where the product is manufactured. Key: origin_compliance
BranchConditionContent
IFproduct.country_of_origin in_list CN, TW, VN, THImported product. Complies with EU import regulations. {{global.reach_statement}}
ELSE IFproduct.country_of_origin in_list DE, NL, FR, IT, ESManufactured in the EU. {{global.compliance_general}}
ELSE{{global.compliance_general}}

8. Content completeness nudge (internal)

Flag products with missing data in internal exports or reports. Key: data_quality_note
BranchConditionContent
IFproduct.description is_emptyMISSING: Product description not set.
ELSE IFproduct.meta_description is_emptyINCOMPLETE: SEO meta description missing.
ELSE IFproduct.main_image is_emptyINCOMPLETE: Main product image missing.
ELSE(empty — data looks complete)

9. MOQ messaging for B2B

Show minimum order quantity information that varies by product type and stock level. Key: moq_message
BranchConditionContent
IFproduct.category in_list Heavy Machinery, Industrial EquipmentMinimum order: 1 unit. Freight shipping required — contact {{global.support_email}} for a quote.
ELSE IFproduct.stock_quantity greater than 500In stock. Order from {{category.moq}} units. Volume discounts available for 500+ units.
ELSEMinimum order: {{category.moq}} units. {{global.lead_time_text}}

10. Sale badge content

Generate dynamic sale badge text based on the discount depth. Key: sale_badge
BranchConditionContent
IFproduct.savings_percent greater_than_or_equal 50MEGA DEAL: {{product.savings_percent}}% OFF
ELSE IFproduct.savings_percent greater_than_or_equal 25SALE: {{product.savings_percent}}% OFF
ELSE IFproduct.special_price is_not_empty{{product.savings_percent}}% OFF
ELSE(empty — not on sale)

Tips

  • Conditions are evaluated top to bottom — the first matching branch wins. Put more specific conditions above general ones.
  • Use AND logic when all conditions must be true (e.g., low stock AND in stock). Use OR when any condition should trigger the content.
  • Content fields in conditional blocks support all variables — {{product.*}}, {{global.*}}, {{brand.*}}, {{category.*}}.
  • Leave the else content empty when you don’t want any output for non-matching products.