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
| Action | Behavior |
|---|---|
| Show | The field is hidden by default. It renders only when conditions match. |
| Hide | The 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
| Match | Behavior |
|---|---|
| all | Every condition must pass (logical AND) |
| any | At 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
| Operator | Matches When |
|---|---|
| Equals | Field's value === reference value |
| Not Equals | Field's value !== reference value |
| Contains | Field's value contains the reference value (substring) |
| Not Contains | Field's value doesn't contain the reference value |
| Greater Than | Field's numeric value > reference (parsed as numbers) |
| Less Than | Field's numeric value < reference (parsed as numbers) |
| Is Empty | Field has no value |
| Is Not Empty | Field 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:
- Add a Dropdown with options:
Friend,Search,Social Media,Other. - Add a Text Input below it. Label:
Tell us more. - Click the Text Input. Click the Logic tab.
- Click Add Conditional Logic.
- Action: Show. Match: all.
- Add a condition: Field = the Dropdown, Operator = Equals, Value =
other(or whatever the dropdown'svalueis for the Other option). - 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:
- Add a Yes/No field labeled
Are you a returning customer?. - Add a Text Input below it labeled
Account Number. - On the Account Number, click Logic, Add Conditional Logic.
- Action: Hide. Match: all.
- Condition: Field = the Yes/No, Operator = Equals, Value =
no. - 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 logic | You want to show/hide fields within the same form |
| Branch routes | You want to skip ahead to a different screen entirely |
See Multi-Screen & Branching for branch routes.
Next Steps
- Validation — Per-field validation rules
- Multi-Screen & Branching — Conversational form screen routing
- Hidden Fields & Variables — Quiz scoring and URL-param prefill