Building forms
Logic and branching
Send respondents down different paths based on their answers and hidden fields, skip what doesn't apply, and finish on different endings.
Logic decides which question comes next. Without it, respondents see every question in order. With it, a question can jump ahead: skip a section that doesn't apply, go straight to an ending, or send different people to different follow-up questions.
How a rule works
Each question can have up to 20 rules. A rule has conditions and a destination:
If How did you hear about us? is A friend, then go to Who referred you?
After a respondent answers the question, its rules are checked in order, and the first one that matches decides where they go. If none match, they continue to the next question as usual.
A rule's destination (Then go to) can be:
- a later question,
- one of your endings,
- End of form, which finishes the form on the default ending.
Jumps only go forward. That's what guarantees every path through a form has an end: a respondent can never be sent round in a loop.
Adding a rule
- Select a question in the Build tab, and find Logic in its settings. (Or open the Logic tab and select the question there.)
- Choose Add rule.
- Pick the Question to check, the Comparison, and the Answer or Choice to compare with.
- Pick where to go in Then go to.
A rule can check more than one thing. Add another condition and set Match to all (every condition must hold) or any (one is enough).
What a condition can check
A condition can look at the question the rule belongs to, any earlier question, or a hidden field. So a question near the end can branch on something answered at the very start, or on where the respondent came from.
The comparisons on offer depend on the type of question:
| Question types | Comparisons |
|---|---|
| Short text, Long text, Email, Phone number, Link, hidden fields | is, is not, contains, doesn't contain |
| Number, Rating, Scale, variables | is, is not, is less than, is greater than, is at least, is at most |
| Date, Date & time, Time | is, is not, is before, is after, is on or after, is on or before |
| Multiple choice | includes, doesn't include |
| Dropdown | is, is not |
| Yes / No | is |
| Date range, Ranking, Matrix, Consent, File upload, Signature | only whether it was answered |
Every type (except Statement and variables) also offers is answered and is not answered, which is how to branch on an optional question being skipped.
Text comparisons ignore upper and lower case, and spaces at either end. A question that wasn't answered "is not" anything and "doesn't contain" anything, so those comparisons match when the question was skipped.
The Logic tab
The Logic tab draws every rule as a map: your questions in a column, in order, with each jump drawn as an arc from the question it starts at to where it lands, and a box for each ending. It's the quickest way to see a form's paths at a glance, and to spot a question nobody can reach.
Select any question on the map to edit its rules in place. The tab's label shows how many rules the form has.
What respondents notice
Nothing, except a shorter form. The progress bar and "Question N of M" follow each respondent's own path, so they aren't told about questions they'll never see.
On a form with All questions on one page, questions a rule skips disappear from the page as the respondent answers, and come back if they change their answer. A skipped question is never required.
In a question group, the rules of its questions run together once the whole group is answered, and can only jump past it.
If a respondent goes back and changes an answer that sends them down a different path, answers they gave on the path they left are dropped when they finish, so the response only contains what's on their final path.
Rules while you're editing
Rules can be broken while you edit: you might delete the question a rule jumps to, or move a question so a rule would jump backwards. The builder keeps the rule and flags it. You can't publish until it's fixed, and the published version keeps working in the meantime.
When you delete a question, rules that checked or jumped to it are removed or cleaned up. When you change a question's type, conditions that no longer make sense for the new type are reset.