Submit a ticket My Tickets
Welcome
Login

Logic – Filters, Rotation, Randomization, Skipping, and Terminating

Overview:

This article covers all of the topics related to logic/routing a survey. This includes:

  • How to add-in different routing elements
  • Different types of rotations in Survey Builder
  • Filtering
  • Skipping (this is also where terminates can be implemented).

 

Adding in filters/routing:

There are a few options where/how you can add in filters/routing, the first of these is Logic.

Logic:

To get to Logic, when in Build, select the Logic icon on the left-hand side, this will open several options for setting up routing. This is the interface after we’ve just added a new question:

Graphical user interface, application

Description automatically generated


 

 

It is generally a good idea to set-up your question text/codes before you go into Logic as this will make it easier to use this page and give you clearer options:

Graphical user interface, application, email

Description automatically generated

 

The Logic feature menu explained:

Advanced Answer Control: This is the only default “on” setting with-in logic as the majority of the time, users want to force the respondent to answer the question, if you don’t want to force answers to questions, then simply toggle this off.

Graphical user interface

Description automatically generated with medium confidence

Clicking on “Advanced Answer Control” opens a window where advanced users can use syntax to set filter controls:

Graphical user interface, application, Word

Description automatically generated

Rotation: There is a lot of choice for setting up rotation. On a basic level, you can choose between “Advanced Row Rotation” or “Randomize Rows”. 

Advanced Row Rotation: If you set-up your question/answer codes first, then “advanced row rotation” may toggle on when you open the Logic page. Usually this is because you’ve told Survey Builder that you want an answer code(s) to “keep position” (stay in place) and not rotate. 

Graphical user interface, text, application

Description automatically generated

If you click on the Advanced Row Rotation button, you’ll be able to see what’s already been enabled and select more advanced or specialised rotation options:

Table

Description automatically generated 


 

 

When to use each type of rotation?

The main purpose of rotation is to eliminate respondent bias. There’s a theory/a lot of evidence that basically says that most people will pick the first few choices in a survey. If that’s always the same order for a question, then response bias is introduced and it can mess up the final data and produce inaccurate results.

*Continue the same rotation order. This code is only relevant when a rotation is active and all asterisk-marked codes must appear first.  This might be useful if I always wanted “code 2” to appear first. You might use this if a certain brand or choice needs to be at the top of the list.

 

N The rows shall appear in the same sequence as defined in the question. This means that the rows will not rotate when you enter “N or n”. This is useful to either lock specific rows into place such as “other”, “none of the above”, etc that we don’t want to be part of the rotation. Alternatively, this is sometimes deployed if you have a very long brand list and you want to keep them in alphabetical order so that the respondent can easily find the brand they’re looking for.

 

R Random. The rows shall appear in random order. This is the most common form of rotation. It will ensure that all of the answer choices with the “R or r” next to them are displayed in a random order to each respondent.

 

S Sequential. The rows shall appear sequentially, but the first box is drawn by random, wrapping around until all boxes are applied. This type of rotation is more commonly used with blocks of questions than it is with answer choice lists. Essentially what happens if “S or s” are entered is that Survey Builder will pick the first response at random for a respondent, and then keep the other codes in order. For example, if it picks “3” at random, it will then show the codes in order of 3, 1, 2, 4, 5, etc until the end of the list.

 

A Alternate. The rows should appear in the question sequence or in reversed order, each of them having the same probability. Basically, this (“A or a”) will alternate at random with respondents seeing either the codes in order forwards or backwards i.e. 1, 2, 3, 4, 5 or 5, 4, 3, 2, 1. This might be used for brand lists (for example) where you want to introduce some rotation, but you largely want to keep the answers in alphabetical or reverse alphabetical order to make it easier for the respondent to find the brand(s) they want to select.

 


 

 

An example of the most common rotation selection

For this example, I’ve used a multi-choice question about which colours respondents like. Here, I would probably choose to enter “R or r” into rows 1-4 as I just want to ensure rotation to prevent answer bias, but I don’t want the codes 5 or 6 for “Other” or “None of the above” to rotate.

Table

Description automatically generated 

This is the order of the answer codes in Build:

Application

Description automatically generated

 

To test that it’s working, I can click on “Preview” (top center) and I should see codes 1-4 appear in a different, random order each time while codes 5 and 6 do not rotate (example below):

Graphical user interface, text, application, email

Description automatically generated 

Randomise Rows:

Selecting this toggle option instead of Advanced Row Rotation will open a display box where you can enter the codes that you want to keep in place:

Graphical user interface, text, application

Description automatically generated

As an example, we’ll stick with the same multi-choice question about which colours respondents like. Above we entered “R or r” into rows 1-4 to ensure rotation to prevent answer bias, but kept codes 5 or 6 for “Other” or “None of the above” in place. Randomise Rows does exactly the same thing as selecting “R or r” in advanced row rotation, so here you can enter “5” and “6” in the box to keep those codes in place, but get codes 1-4 to rotate at random.

Graphical user interface, text, application, chat or text message

Description automatically generated

 

You may be wondering “why have both ‘Advanced Row Rotation’ with an option for ‘R or r’ and ‘Randomise Rows’ with an option to keep codes in place?” The main reason for this is that random rotation is the most common type of rotation.

If the user first builds out a question with answer choices and tells a code(s) to keep its position, the Logic > Rotation feature will default to “Advanced Row Rotation” and when opened a “N or n” will already be in the boxes next to the rows that are keeping their place. However, the user will need to enter “R or r” into every box next to the codes they wish to rotate. This is easy enough if there are four or five codes, but can be tedious if you have 10 or more codes, so the “Randomise Rows” option allows the user to simply select the code(s) that will not be part of the rotation.

NB: Toggling between “Advanced Row Rotation” and “Randomise Rows” will re-set the other option.  ILf a user sets-up “Advanced Row Rotation” and then switches to “Randomise Rows” and then back to “Advanced Row Rotation,” the set-up for “Advanced Row Rotation” will now be blank with no letters next to any of the rows. Similarly, if rows are entered into the exclusion box for “Randomise Rows” and then the user switches over to “Advanced Row Rotation” and then back to “Randomise Rows” the rows to exclude box will be blank. The point is that it’s a good idea to select the option you want to use for rotation so you don’t create a minor amount of extra work for yourself. Not the end of the world, but potentially annoying.

 


 

 

Filter:

The Logic page also allows the user to add filters to each question so that the question is only asked of a target audience or does not get asked where it does not make sense to ask it. The display looks like this and if “Open Filter Builder” is selected, the user will be able to set-up their filter for the selected question:

A picture containing application

Description automatically generated

The main filter display a screen like the below where you can select your variable(s) (step 1 below) and codes (step 2 below) to create the filter you want.

Graphical user interface, application

Description automatically generated

NB: “Negate filter” = NOT e.g. “NOT Blue”A picture containing application

Description automatically generated

Step 3 is “Add to Visual” where you can add variables/codes and change the logic from “And” to “Or”:

Graphical user interface, text, application, email

Description automatically generated

 

Steps 3 and 4 (optional steps) open “Advanced”

“Add to Advanced” and “Edit in Advanced” both allow the user to write in syntax:

Graphical user interface

Description automatically generated with low confidence

Note that you can go into advanced mode from visual, but you cannot go from advanced to visual.


 

 

Skip:

If you have a SINGLE choice question, “Skip” might be useful to you. Skip’s default is “off”, but its drop-down list will allow users to skip to a specific question, section, or to terminate/exit respondents. Skip is particularly useful for the screen section of a survey or for surveys where there are multiple sample targets who

A screenshot of a computer

Description automatically generated with medium confidence

Lists:

The blue boxes give specifics about what the skips/filters in Lists do:

 

 

Using different question text based on an answer at another question:

You can do something like this where you have a few versions of the question text and then ask the answer choice list:

A picture containing application

Description automatically generated

Graphical user interface, application, Teams

Description automatically generated

Table

Description automatically generated with medium confidence

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.