Skip to main content

Conditional Logic

Conditional logic shows or hides a field based on the value of another field. Use it to keep your forms focused — only ask a follow-up if the previous answer warrants it.

How It Works

Each field has a Logic tab in the right panel. Click Add Conditional Logic to create a logic block. A logic block is:

[Action] this field when [match] of these conditions are met:

  • [Field A] [operator] [value]
  • [Field B] [operator] [value]

The action is Show or Hide. The match is all (AND) or any (OR). You can add as many condition rows as you need with + Add Condition.

Hidden fields are skipped at runtime — they don't render, don't submit, and their validation doesn't fire.

Action

ActionBehavior
ShowThe field is hidden by default. It renders only when conditions match.
HideThe field is visible by default. It hides when conditions match.

Use Hide when the field should normally show and you want to drop it for specific cases. Use Show when the field is rare and only needed in specific cases.

Match

MatchBehavior
allEvery condition must pass (logical AND)
anyAt least one condition passes (logical OR)

Conditions

Each row has three parts:

Field

Pick which other field's value to compare against. The dropdown lists every field in the form. You can reference any field — earlier or later in the order — but in conversational forms it only makes sense to reference fields the visitor has already filled out.

Operator

OperatorMatches When
EqualsField's value === reference value
Not EqualsField's value !== reference value
ContainsField's value contains the reference value (substring)
Not ContainsField's value doesn't contain the reference value
Greater ThanField's numeric value > reference (parsed as numbers)
Less ThanField's numeric value < reference (parsed as numbers)
Is EmptyField has no value
Is Not EmptyField has any value

Value

The value to compare against. For Is Empty / Is Not Empty the value isn't used.

For multi-value fields (Multi Select, Checkbox), the stored value is comma-separated — use Contains to test for a single chosen option.

Worked Example: Show "Other" textbox when dropdown is set to Other

Goal: A Dropdown asks "How did you hear about us?" with a few options including "Other". A Text Input below should appear only when Other is picked.

Steps:

  1. Add a Dropdown with options: Friend, Search, Social Media, Other.
  2. Add a Text Input below it. Label: Tell us more.
  3. Click the Text Input. Click the Logic tab.
  4. Click Add Conditional Logic.
  5. Action: Show. Match: all.
  6. Add a condition: Field = the Dropdown, Operator = Equals, Value = other (or whatever the dropdown's value is for the Other option).
  7. Save.

The Text Input is hidden by default. It only appears when the visitor picks "Other" in the dropdown — and disappears again if they change their answer.

Worked Example: Hide a section if the visitor isn't a returning customer

Goal: A Yes/No "Are you a returning customer?" question. If No, hide the "Account Number" field that follows.

Steps:

  1. Add a Yes/No field labeled Are you a returning customer?.
  2. Add a Text Input below it labeled Account Number.
  3. On the Account Number, click Logic, Add Conditional Logic.
  4. Action: Hide. Match: all.
  5. Condition: Field = the Yes/No, Operator = Equals, Value = no.
  6. Save.

When the visitor picks No, the Account Number field disappears.

Multiple Conditions

Use multiple conditions to gate on more than one signal:

Show this field when all of these conditions are met:

  • Country Equals US
  • Plan Equals Enterprise
  • Annual revenue Greater Than 1000000

Switch to any for an OR — useful for multi-cohort questions:

Show this field when any of these conditions are met:

  • Role Equals Engineer
  • Role Equals Designer

What Happens to Validation on Hidden Fields

Hidden fields don't render and don't submit. Their validation is also skipped. This means:

  • A required field that's hidden by logic is treated as "not required" while hidden — submit isn't blocked by it.
  • When the visitor's answer changes and the field becomes visible, its validation kicks in immediately.

This is the right behavior almost always — you don't want to block submission on a field nobody can see.

Logic vs Branch Routes (Conversational Only)

In conversational forms, you have a second mechanism: branch routes on a screen. Branch routes change which screen comes next based on the current screen's value, while conditional logic only changes which fields render.

Use…When
Conditional logicYou want to show/hide fields within the same form
Branch routesYou want to skip ahead to a different screen entirely

See Multi-Screen & Branching for branch routes.


Next Steps