When To Use Branching And Skip Logic
Branching and skip logic send respondents through different survey paths based on answers, variables, quotas, or experimental assignments. Use branching when an academic research survey has eligibility rules, treatment paths, follow-up sections, early exits, or respondent-specific blocks.
Flow: Conditions and Routing
Flow Canvas
Interactive routing surface from the app, running in no-persist help mode.
Build Branching In Flow
Step 1: Create every destination block first. In Block Builder, add the blocks for eligible, ineligible, treatment, follow-up, quota-full, and completion paths before wiring the route.
Step 1: Add blocks in Block Builder
Survey Editor
No-persist demo using the real builder shell.
Step 2: Collect the routing variable before the split. Put the screener, answer, quota status, or custom variable in a block that respondents reach before the branch.
Step 2: Name the routing variable
Block Builder: Voter Registration Screener
The registered_voter variable drives the Flow branch — eligible respondents continue, ineligible route to a screen-out end screen.
Step 3: Open Flow. Select the Flow tab in the survey editor and locate the block where the route should split.
Step 3: Open Flow canvas
Block BuilderPreviewDeployFlow Canvas
Interactive routing surface from the app, running in no-persist help mode.
Step 4: Add the condition set. Use Random Assignment for experiments or By Variable when a previous answer should choose the path.
Step 4: Add a condition set
Block BuilderPreviewDeployFlow Canvas
Interactive routing surface from the app, running in no-persist help mode.
Step 5: Connect each outcome. Link every condition arm to the next block respondents should see, including fallback or ineligible routes; use quotas when full cells need their own path.
Step 5: Connect condition arms
Block BuilderPreviewDeployFlow Canvas
Interactive routing surface from the app, running in no-persist help mode.
Step 6: Preview each path. Open Preview and test every major route before publishing.
Step 6: Preview each branch path
Block BuilderPreviewDeployPreview: Voter Screener
Answer 'No, I am not registered' to trace the ineligible branch in Flow. Confirm respondents reach the Screen Out end screen.
Common Research Uses
- Eligibility screening: route ineligible respondents to an end screen.
- Experimental treatments: send respondents to control or treatment blocks.
- Follow-up questions: show additional questions only for relevant answers.
- Quota management: route respondents when a quota is open or full.
- Language paths: send respondents to translated blocks when the study supports multiple languages.
- Longitudinal modules: route returning participants to wave-specific follow-ups when a tracking variable is available.
Preview: Test Each Branch Path
Preview
Walk through respondent-facing behavior in the same preview surface.
Data And Design Notes
Make routing variables easy to find in the export. Use stable answer labels and clear variable names so the path a respondent took can be audited later. For randomized designs, export condition assignments with the response data.
- Place source variables early: do not branch on a question that appears after the split.
- Create fallback paths: decide what happens when an answer is missing, a quota is full, or no condition matches.
- Name end screens clearly: separate completion, ineligible, quota-full, and debriefing endings.
- Retest after edits: changing answer labels, recodes, or block order can change how a branch behaves.
Block Builder: Variable Name
Block Builder: Question Name
The export variable label is the column name for this question in downloaded data.