Conditional logic

Build and test a branching flow

Combine screening, splits and shared follow-up questions.

A useful branching flow needs a route for every answer, including answers that match none of your conditions. Build a small example first, then preview every route before adding more questions.

Example: compare two workshop introductions

Screen respondents

Ask whether someone wants to give feedback. A No → Go To End rule ends their survey without showing either version.

Assign a version

After the screening rule, add a Split with Version A and Version B as destinations. With no Split conditions, everyone who reaches this rule is assigned a version.

Rejoin the flow

At the end of Version A, use Go To to reach a shared follow-up or End. Version B can continue there along its normal path.

Check the map

In Graph mode, inspect the screening route, both split paths and the point where they rejoin. Then verify the same routes in Preview.
Graph showing screening, two workshop versions and routes to the end

When more than one rule matches

Rules are evaluated in their stored order. The first matching Go To or Split chooses the next destination. A matching Skip marks its target to be skipped and evaluation continues. If no rule chooses a destination, the normal connection is used, with applicable skips respected.

Make conditions mutually exclusive where possible. A general rule before a more specific one can prevent the specific one from being reached. If you remove and recreate rules to change their order, recheck the destinations and conditions afterwards.

Test cases to keep beside your survey

CaseExpected result
Declines feedbackGoes directly to End
Accepts and receives ASees A, then the shared follow-up or End
Accepts and receives BSees B, then the shared follow-up or End
Does not match a conditional splitFollows the normal route
Leaves an optional answer blankUses the intended empty-answer route
Changes an earlier answer with BackFollows the route for the updated answer

When a later question pipes an answer, also check whether every route actually asks the source question. A skipped source cannot supply an answer that was never given.

See nested groups, Go To and Skip and testing splits.