Routing and Skipping in SMP

Routing your respondent through a survey depending on the questions already answered is an important element in most online surveys.  In Smp Surveys we do this using a special control that we call “Gates”.  It is not the only control mechanism for routing though – there is also the “Simple Skip” built into most question types and another control called “Freejump”.

Combined these controls allow the survey builder the power to build almost any type of survey that they can dream of.

To a computer programmer the SMP “Gate” control is a simple if..,then…,else…,goto statement where a condition is tested and if true an action occurs or, if false a different action is triggered. Any number of conditions can be included between or / and instructions such that the following.

If A is true/false, and/or, B is true/false, and/or C is true/false

Then: goto/hide Question X

Else: goto/hide Question Y.

Combined these routing controls allow you to create virtually any type of survey.


Some Examples

Gates are input into your survey just like any other control such as question types and behave hierarchically dependent on where you put them.  The visual condition builder makes creating the skip logic simple.  Importantly you can also skip to other Gates which allows for extremely powerful survey design options.

The “FreeJump” control is like a simple goto statement and helps to further control survey destinations and exit points in the survey.

In the example that follows the following simple condition will be tested:

If respondent is a male then go to the question on male razors or, if the respondent is a female then go to the question on female razors.

Note that because their are two sets of questions, one answered by males and one by females, a freejump question type will need to be used at the end of the first set (the male set) to leap over the second set (the female set) that are not answered if the respondent is male.

Note also that you can string several gates together to build quite sophisticated routing options in your survey where the destination of the gate options is another gate.

Lets complete some examples to see how they work.

Example 1: Many surveys include control screening questions at the start such as age and sex to determine the sample quotas and which sections of the survey to answer. We shall use two demographic questions sex and age to determine were in the survey particular respondents are sent.

The questions that we will use in our gates look like this.


Lets start with something simple. Firstly we wish to ask our respondent about shaving and the shavers that they use. However there are two different sets of questions depending on the gender of the respondent. To send the respondent to the appropriate section in the survey using the “Gate” control type we create the following gate question.

Note: The survey questions must already have been created in order for the gate to point to them. Therefore we recommend that survey scripters first set up all the questions of their survey before creating the logic.

To use a gate create a new question in the location that you wish to place the gate, select the question type “Gate”, and then complete the parameters. In this example we will be sending the males to a question called “Male_Razors” and the females to a question called “Fem_Razors”.

The initial Gate parameters you have just created should look like this.


First give your gate a name. lets call it Gate1

Next we need to add some conditions that will trigger the ‘Then:” response if the condition is true, or the “Else:” response if the condition is false.

Since Males are going to the question ‘Male_Razors’ and females are going to ‘Fem_Razors’ the criteria will look like this.

Click on “Add condition(s)” shown above.


An extra button will appear “Select Condition”. Click on this button and then click on the conditions as they appear as in the pop up window seen in the following image.

First click on “Select Condition” and all the questions in your survey prior to the placement of this gate question will appear in a drop down. Next click on the question you wish to use, in this case “Q1” the sex question.

Next click on “answer text”, this will reveal the answers from the question Q1. Then select the answer you are interested in, in this case “Male”, then select the condition “is” and then either true or false, in this case true.


This has built the condition:

If Q1 is male, which is filled into the button heading and looks like the following:


Next we need to add an outcome if this condition is true or not true.

If the condition is true the “Then” instruction will be executed, if not true the “Else” instruction will be executed.

Note the “screenOut” is the default selection. This will cause the survey to be exited at this point.

Filling in the rest is now easy. If true then the ‘Then’ outcome is Male_Razors and if false then the Else outcome is Fem_Razors. The final parameter settings should now look like this.


This is a fairly simple example but the Gate question type can be used to build very complex instructions.

The simple skip rule found in most of SMP’s standard question types would also have solved this routing requirement and would have looked like this.  This solution is extremely simple but also less powerful when more complex routing requirements are needed.

Clicking on the “Skip” answer option shown circled below reveals a set of drop downs containing all the forward questions in the survey.  Simply select the one you want the respondent to go to if they select a particular answer – as shown below.