Building
Hide what does not apply.
Conditional logic shows or hides a question based on an answer given earlier in the same survey. A rule can hold several conditions and match on any of them or on all of them. A hidden question is never rendered, never answered, and never scored, so a long questionnaire only presents the parts that apply to the person filling it in.
What a rule looks like
A rule lives on the question you want to control, not on the question being tested. You pick the earlier question, the comparison and the value, then say whether the rule fires when any condition matches or only when all of them do.
Because the rule lives on the target, you can point several unrelated questions at the same trigger without building a branching tree. Ten follow-ups that all depend on "Do you have a travel plan in place?" are ten one-line rules, and deleting one of them changes nothing else.
Rules read against the answer as it stands right now. Change your mind, go back, and answer differently, and the follow-ups fold away again. Free text typed into an "Other (please specify)" option goes with them, because it is kept only while the question is visible and the option is still selected.
Do you have a travel plan in place?
- Which measures are included?
- When was it last reviewed?
- Who owns it internally?
Three follow-up questions are skipped.
Any versus all
The two match modes cover most of what a survey needs to branch on.
- Any is an OR. Show the accessibility follow-up if the respondent selected wheelchair user or visual impairment or "prefer not to say". One rule, three conditions.
- All is an AND. Show the landlord section only if they said they rent and they said the property is in the borough.
Nesting any inside all is not something the rule editor does. In practice you get the same result by splitting the question in two and giving each half its own rule, which is also easier for whoever inherits the survey to read six months later.
Piping: putting their answer into your question
Piping inserts an earlier answer into later text. Write
{{question_id}} into a question title, a
description or an inline heading, and it is replaced at display time
with what the respondent gave.
Ask "Which service did you use?", get "Bulky waste collection", and the next question can read "How satisfied were you with bulky waste collection?" rather than "How satisfied were you with the service you selected?". It reads as though the survey is paying attention, because it is.
The failure case is handled: if the referenced question was skipped or
left blank, the token renders as "your answer". A
respondent never sees a raw
{{q_7}} on screen.
Piping and logic work together. Hide a question with a rule and any pipe pointing at it degrades to "your answer" rather than breaking the sentence.
Logic across the three layouts
Classic
Follow-ups collapse and expand in place on the single scrolling page, so the respondent sees the survey shorten as they answer.
Conversational
Hidden questions are simply never presented. Combined with auto-advance on one-tap questions, a branch is invisible rather than a jump.
Paged
Questions hide within their section. A section whose questions are all hidden is not a screen the respondent has to page through.
Layout is a survey setting, chosen in the form builder, not a separate build. All three are covered in the product overview.
What logic does to your data
Two consequences worth knowing before you design a branching survey.
Scoring only counts what was seen
Score totals include only the questions the respondent was actually shown, and bands are worked out as a percentage of the points that were available to them. Someone routed past a whole section is not penalised for the points they never had a chance to earn. The mechanics are on the scoring and quizzes page.
Exports have gaps, and that is correct
A CSV column for a hidden question is empty for respondents who never saw it. That is a genuine "not asked", not a "declined to answer", and the difference matters when you analyse. Free text from an "Other (please specify)" option gets its own column, and matrix questions get one column per row — see exports and PDF.
Questions people ask about survey logic
What is conditional logic in a survey?
Conditional logic is a rule that shows or hides a question based on an answer given earlier in the same survey. If the condition is not met, the question is never rendered, so the respondent does not see it and does not answer it.
Can a rule test more than one earlier answer?
Yes. A rule can hold several conditions and match on any of them or on all of them. Any behaves as OR, all behaves as AND.
What happens to an answer if the question is later hidden?
A hidden question is not scored and is not presented again. Free text captured by an "Other (please specify)" option is kept only while the question is visible and the option is still selected, so a hidden question does not leave stray text in the export.
Does hidden-question skipping affect scoring?
Only questions the respondent actually saw are scored, and bands are calculated as a percentage of the points that were available to that respondent. Branching past a section does not push a score down.
What is piping?
Piping inserts an earlier answer into later text. Write {{question_id}} in a question title, description or heading and it is replaced with what the respondent typed or chose. If that question was not answered, it renders as "your answer" rather than a raw token.
Build a survey that branches.
A rule sits on the question you want to control, so ten follow-ups hanging off one trigger are ten one-line rules rather than a tree. Add them once the questions exist, and the survey shortens itself for every respondent.
- Match any condition, or all of them
- Piping puts an earlier answer into a later question
- A hidden question is never asked and never scored