Routing, also known as skip logic, is the programming of a questionnaire to skip or go to a certain question depending on previous answers. It’s an integral part of any survey and requires a good understanding of Boolean logic and an eye for detail, and it needs to be thoroughly tested before taking your survey live.
Piping is the insertion of certain words into questions and response options depending on previous answers.
Essentially, there are two types of routing: section routing (jumps) and question routing (or skips).
Section routing is when you want a respondent to jump over an entire section because they have made a response previously that means they don’t need to answer that section. There could be many reasons for this, including that they haven’t used or are not aware of a certain product, they have a specific demographic that excludes them, or any other number of reasons.
Your section jumps should really be planned out when you design your questionnaire’s structure and general flow. It is imperative then that any source questions (those that determine who qualifies for a section) are asked up front. It is best practice to include an ASK statement at the beginning of each section in the questionnaire plan. Here’s an example:
ASK IF USED PRODUCT X IN THE LAST 30 DAYS
Section B: Product Usage
We tend to use bold capitals for these to discriminate them from questions and answers. You can create your own protocols but we find it useful to use ASK ALL if you are asking everyone or bringing all respondents back into a section or question, and ASK IF if you are excluding some respondents from a section or question.
Most skips and jumps need to be programmed or scripted and require the use of Boolean logic for a programmer or script writer (the person who programs the survey) to get this right. Specifying them in a way that properly reflects the intention using Boolean logic is useful and avoids mistakes down the line.
There are plenty of resources on learning Boolean logic online and to provide that here is clearly beyond the scope of this post. However, the good news is that, for survey purposes, the logic required comes down to the use of a combination of AND, OR, and NOT statements to create “gates” (IF, ALL) that determine who qualifies for a section or question. Be careful with NOT statements as they can have unexpected results.
To keep the beverage example flowing (no pun intended), here’s an example of a question which we might use as the source for a skip or jump using Boolean logic.
Q1. Which of these have you drunk in the past 30 days?
Any energy drink
You then mightwant to ask a question just of those who have drunk any type of cola in the last 30 days. You would express this as:
ASK IF DRANK ANY COLA IN THE LAST 30 DAYS I.E. CODES 1 OR 2 IN Q1.
As you can see, we’ve added an “i.e.” statement at the end of the condition and specified the codes that relate to “any cola”. This makes it clear to the programmer which responses are relevant to the condition. Also note that although OR suggests only one option should be selected, in Boolean logic it means that at least one option is selected (hence “any”).
But say you wanted to ask only cola drinkers who have also had an energy drink. You would have to express this as:
ASK IF DRANK ANY COLA AND ENERGY DRINK IN THE LAST 30 DAYS I.E. (CODES 1 OR 2) AND CODE 3 IN Q1
Other times, you might need to express a negative, such as:
ASK IF NOT HAD ENERGY DRINK IN PAST 30 DAYS, I.E. NOT CODE 3 IN Q1
…but be careful with NOT because it can mean different things in combination with AND/OR statements.
The use of parentheses is also helpful to define exactly what you mean, just like in common algebra where brackets around an operation signify what to calculate first. It is particularly important when using the OR statement in combination with the AND statement.
Investing a little time in understanding how to use these will pay off and your programmer or scripter will thank you for it.
Piping is the process whereby you INSERT certain words into the question text or SHOW certain codes in the response categories depending on previous answers. Most survey software will allow you to do this and it really makes a difference to the seamless completion of surveys by respondents.
Let’s start with inserting question text. Say you had a list of products followed by a question regarding usage.
Q1. How likely are you to consider buying any of these brands in the future?
Not at all likely
Not very likely
If your product was called Acme and you were interested in the drivers and barriers to the purchase of your product, you might ask a follow-up question such as:
Q2. Why is it that you say you are <INSERT RESPONSE IN Q1> to consider Acme in the future?
You want to pipe in the response from Q1 into the sentence, effectively asking a “why” question to five possible responses in one go. The benefit is that you only need to program one question rather than five with different jumps or skips. You can then collect all the responses in one go and analyse them in a cross tab with Q1 to understand the barriers and drivers. There are many examples and different question types where you might want to use text piping, but the principle is pretty much always the same.
Next is showing certain codes in the question responses depending on previous examples. Again, by way of example, say you had a question which asked:
Q1. Which of these brands have you heard of?
None of these
A respondent indicates in the survey that they are aware of codes 1, 3 and 6 (reading vertically). Then your next question is:
Q2. And which of these brands have you ever tried?
There is no point showing brands that they have never heard of because they wouldn’t have been able to try them, so you want to just show the brands they aware of in Q1. You would therefore include an instruction about the codes saying:
SHOW CODES AWARE OF IN Q1
You would, of course, also include a “none of these” option because it is possible to be aware of brands but never tried them. You might then repeat this through several questions such as:
Q3. Which have you tried in the past 12 months?
SHOW CODES EVER TRIED IN Q2
Q4. And which of these did you buy last?
SHOW CODES BOUGHT IN THE PAST 12 MONTHS IN Q3
Including question routing and piping does make your survey more complex to program and test, but it also makes the data cleaner and easier for the respondent, so it’s definitely worth the effort to implement.