Logic in forms and surveys can
improve the experience for participants by allowing for more customization and better
management of complexity. The form tool contains a
logic builder that can be used to show or hide questions, ask follow-up questions, tailor questions or information to a specific user and more.
Logic can be added to both question, section, and content elements using the logic editor in the form editor. It is important to note that logic actions and conditions must be added to the dependent question or section rather than the question that triggers the logic event.
For example, a simple yes/no question and following up with an open-ended question when the participants answers no, you would add the logic actions and conditions to the open-ended question in order to see if it would appear or not for the participant depending on their answer.
Actions
The first step in adding logic to your forms and surveys is to add an action. These actions determine what happens when a person responds to a question in a particular way based on a set of conditions.
The three available actions are:
Action
|
Description
|
Show
|
Adding the ‘show’ action will display the current element only if a specified logic condition is satisfied.
|
Make required
|
Adding the ‘make required’ action will force participants to respond to a question if a specified logic condition is satisfied.
|
Make disabled
|
Adding
the ‘make disabled’ action will remove the ability for a participant to
answer a question if a specified logic condition is satisfied.
|
For
example, if you want a question to only appear if the participant
answers a previous question in a certain way, you would select the
‘Show’ action, and define the conditions that the question will be displayed to participants.
You can add multiple logic actions to a question, however the same logic action cannot be used twice. For example, you could add an action to 'show' a particular question and make it required by adding two different logic actions.
Examples of Form Logic
For a comprehensive example of the different types of logic, navigate here
Conditions and Operators
Conditions and operators
Conditions define the rules for when anaction gets triggered, giving you a fine-grain level of control. You
can set multiple conditions per each action.
The 'all' operator checks that every condition is true before triggering the action. The 'any' operator checks that at least one condition is true before triggering the action.
When creating the conditions for a question, you define the target question (the question you will evaluate the response to), an operator and the expected value or response to that question.
There are 16 different operators that can be used, but only certain operators can be used in each question type.
The available operators and their relevant question types are:
Condition |
Description
|
Relevant Question Types
|
Equals
|
If the response matches the expected value set in the condition, the action will trigger.
For example, if a multiple choice question (Question 1) has four possible answers (A,B,C, and D), a multiple choice question, is equal to A, show Question 2.
|
- Short text
- Long text
- Email
- Number
- Telephone
- Website
- Select box
- Multiple choice
- Rating
- Date
- Date and Time
- Slider
|
Does not equal
|
If the response does not match the expected value set in the condition, the action will trigger.
For example, if the response to Question 1 is B, C, or D (but not A), show Question 2.
|
- Short text
- Long text
- Email
- Number
- Telephone
- Website
- Select box
- Multiple choice
- Rating
- Date
- Date and Time
- Slider
|
Contains
|
If the response contains a specific keyword, the action will trigger.
For example, if the response contains the word 'traffic' or 'parking', show a follow-up question that dives further into these particular issues.
|
- Short text
- Long text
- Email
- Telephone
|
Does not contain
|
If the response does not contain a specific keyword, the action will trigger.
For example, if the response does not contain the word 'traffic' or 'parking', show a different set of questions.
|
- Short text
- Long text
- Email
- Telephone
|
Contains one of
|
If the response matches one of multiple values set in the condition, the action will trigger.
For example, if the response to Question 1 is A, B or D, show Question 2 and make it required.
|
- Select box
- Multiple choice
|
Does not contain one of
|
If the response does not match one of multiple values set in the condition, the action will trigger.
For example, if the response to Question 1 is C or E, show Question 2 (but do not make it required). |
- Select box
- Multiple choice
|
Is answered
|
If a question is answered, the action will trigger.
For example, if Question 1 is answered, show Question 2.
|
- Short text
- Long text
- Email
- Number
- Telephone
- Website
- Select box
- Multiple choice
- Rating
- Ranking
- File upload
- Date
- Date and time
- Slider
|
Is not answered
|
If a question is answered (because it does not require a response), the action will trigger.
For example, if Question 1 is answered, show Question 3. |
- Short text
- Long text
- Email
- Number
- Telephone
- Website
- Select box
- Multiple choice
- Rating
- Ranking
- File upload
- Date
- Date and time
- Slider
|
Contains all of
|
If the response matches all of the values set in the condition, the action will trigger.
For example, if the response to Question 1 (which allows multiple answers) contains both 'Apples' and 'Bananas', show Question 2.
|
|
Does not contain any of
|
If a response does matches any of the values set in the condition, the action will trigger.
For example, if the response to Question 1 (which allows multiple answers) does not contain 'Apples', show Question 3.
|
|
Checked
|
If the response to a checkbox question is checked, the action will trigger.
For example, if the checkbox is ticked, show Question 2.
|
|
Not checked
|
If the response to a checkbox question is not checked, the action will trigger.
For example, if the checkbox is not ticked, show Question 3.
|
|
Is greater than
|
If a response is more than the value set in the condition, the action will trigger.
For example, if the response to a five-step rating question is more than 3 (e.g. 4 or 5), show Question 2. |
- Number
- Rating
- Date
- Date and time
- Slider
|
Is greater than or equal
|
If a response is equal to or more than the value set in the condition, the action will trigger.
For example, if the response to a five-step rating question is 3 or more (e.g. 3,4, or 5), show Question 2.
|
- Number
- Rating
- Date
- Date and time
- Slider
|
Is less than
|
If a response is less than the value set in the condition, the action will trigger.
For example, if the response to a five-step rating question is less than 3 (e.g. 1 or 2), show Question 2.
|
- Number
- Rating
- Date
- Date and time
- Slider
|
Is less than or equal
|
If a response is equal to or less than the value set in the condition, the action will trigger.
For example, if the response to a five-step rating question is 3 or less (e.g. 1,2 or 3), show Question 2. |
- Number
- Rating
- Date
- Date and time
- Slider
|
Skip Logic
Creating "skip logic"
There is no "skip" functionality in the Form Editor.
In order to create a situation where questions are skipped, you would need to apply the proper logic to the target questions you expect to be hidden. The "Show" logic action would need to be satisfied.
Basic "skip logic" example
In this scenario, the question regarding the benefits of monthly workshops would only be visible to respondents who chose Yes to either of the preceding attendance questions.
Which would look something like this:
What benefits does your community group gain through monthly workshops?
Action: SHOW
IF
ANY of the following apply
Did you attend a community group workshop last month?
equals
YES
Did you attend a community group workshop last year?
equals
YES
A good approach for setting up Form logic is to go through each question one by one and then ask, when should this question be visible? from there you can apply logic conditions accordingly.
Sections
Section Editor
A new feature for our form tool, with this its possible to group your survey questions into sections, allowing for a more organized and stream lined survey experience for your community users.
This allows for the addition of logical branching which enables you to customize the survey flow based on the answers provided by your participants. This means you can now create a survey that is tailored to the specific needs and preferences of your participants.
Using sections
When it comes to using sections, you would treat it as a group, catered for a specific group of community users.
Lets begin with asking specific types of questions for users with different types of occupations, the first section - Personal Data - is where you would gather their general information and ask "What is your occupation?" from there you may create branches for each occupation.
The first section - Personal Data -
The second section - Employee -
The third section - Student -
The fourth section - Business owner -
The fifth section, "General Community", would be a section where you could ask general questions that apply to all types of occupations. For example, questions about the community, their opinions on certain issues, or their satisfaction with certain services.
The fifth section - General Community -
To make sure that the correct sections are shown to the correct participants, you can use logic in your form. For example, you can show the "Employee" section only to participants who indicate that they are currently employed, and it would automatically only be shown to those users.
You can add logic by selecting the 'pencil' icon to the right of each section.
🖼️Example