Main Use
The Loop question allows users to ask the same question or set of questions, and dynamically repeat them multiple times for a participant.
The set of questions can be repeatedly asked across different stimuli or based on answers from a previous question, mainly a multiple choice question.
Thus, in the inca Question Builder there are two types of Loop questions:
1. Loop: Question based
2. Loop: Stimuli based
When do I use Loop: Question based?
Example 1: The user wants to ask a set of questions about each brand the participant is aware of. Instead of creating separate questions for each brand, a loop can be used to define the question group once. The system will then automatically repeat the same questions for each brand the participant indicated they were aware of in a previous question.
When do I use Loop: Stimuli based?
Example 2: The user wants to ask a set of questions for each of the testing ads. Instead of creating separate questions for each ad, a loop can be used to define the question group once. The system will then automatically repeat the same questions for each ad (as a Monadic sequential design).
Other features
In addition, various randomization and selection modes can be applied directly within the loop question to support use cases such as random selection, least fill, or defined priority. For example, in Example 1 above, users don’t have to ask about every brand the respondent is aware of—they can randomly select a subset, prioritize brands based on predefined importance, or select those that have been chosen least frequently by previous respondents (least fill).
Another appeal of the loop question is that during analysis we can easily merge or stack the data together and compare results across different stimuli or previous selections, as we have packed the same set of questions together in the question builder.
When to use Loop Question vs Group Question?
The Group Question is mainly used to combine groups of questions or to create an umbrella question with sub-questions inside.
All the questions inside the Group will be shown in a chronological order. When users require only a certain portion of participants to answer sub-questions, then users can use a Group question instead of a Loop question.
In this case, add a Pre-condition when you only require a certain portion of your participants to answer these questions -- i.e. only among Females, only among 18-24 age group, or only among Non users of Brand A. So for example you have Q1, Q2, Q3, to be asked among Females. You can add Q1, Q2, Q3 in a Group question and select show in all order (Question Display Options)

In the Question Logic tab, add the Pre-condition to show the Group question only among Females. This way you will only be adding the logic once, instead of adding the Pre-condition for each question in Q1, Q2, or Q3.
How to set up the Loop: Question based?
1. In the Questionnaire Builder page, add a new question OR insert a new question by hovering over an existing question and clicking the green (+) button (either above or below the existing question)
2. Select Loop: Question based from the popup menu that appears.
3. Write your question number or label in the upper box.
4. In the Question Settings, select a reference question that the loop will be based on. This must be either a multiple-choice type question, such as standard multiple choice, rank order, virtual questions, hot air balloon, rapid choice, etc. or an open ended question with multiple targets.
5. In the Loop Condition criteria field, select whether the loop should run based on the selected or unselected options (if the base question is non open-end questions), or on mentioned or unmentioned targets (if the base question is an open end question).
6. Select the options that will be included in the loop.
Note: If none of options or targets from the base question qualifies, then the system will skip the loop question. For example, if a user defines to loop based on the selected options from the base question, and a respondent selects "Not Applicable" or "None of these" or does not choose any options in the base question, then the system will skip the loop question entirely for that respondent.
7. Select the looping behavior.
A. Randomize Loop Order: Users can choose whether to randomize the order in which the loop runs. If enabled, the system will present the looped questions in a random order based on the qualified options from the base question. By default, the loop order follow the option values (in base question) from smallest to largest.
B. Limit Number of Loops: Users can choose to limit the number of loops shown to each respondent. If enabled, they can specify a number.
- For selected options from a multiple-choice question, the number must be between 1 and the maximum number of selections allowed in the base question.
- For unselected options from a multiple-choice question, the number must be between 1 and the difference between the total number of options and the minimum number of selections allowed in the base question.
- For mentioned or unmentioned targets from an open-ended question, the number must be between 1 and the total number of targets.
- Loop selection type: If users choose to limit the number of loops to be shown, users must also define a selection mode—i.e., how the system chooses which subset of options to show. Details on the available selection modes are provided in the following section:
B.1 Completely random - The system selects the loops randomly from the available options.
B.2 Least fill - Prioritize the options that have been selected the least by previous participants.
- Note: The system selects the option with the least # of selections among those who have already completed the survey and answered this question (We don't count live respondents, only those who finished survey).
- For example, for the 10th respondent, the system needs to select 1 option from options A, C, and E. Based on the previous 9 respondents, option A is already selected 3 times, option C 2 times, option E 1 time, then the system will select option E for the 10th respondent since it currently has the least # of selections. When multiple options are qualified for the least # of selections, then we randomly choose 1 from them.
B.3 Defined priority
- Users can set a priority for each loop (i.e., option), with 1 being the highest priority. The system follows this order when selecting loops.
Users can assign the same priority on multiple options, e.g. a user puts priority 1 for option A, 2 for options B-E, and the user wants to select 2 options with this defined priority order, the system should choose A and then randomly choose another 1 from B-E.
Users can also leave the priority fields blank for certain options. When a field is left blank, it’s treated as the lowest priority.
In addition, users can choose to enable loop order to follow the Defined priority. If enabled, the Randomize Loop Order would be turned off.
B.4 Participant selection order
- Follow the order in which participants selected options in the reference question. Available only for Rank Order or Hot Air Balloon question types.
- Users can choose to select the options based on one of the following order: a) From the options that respondents selected the first; b) From the options that respondents selected the last.
- In addition, users can choose to have the loop order follow the respondent's selection order. If enabled, the Randomize Loop Order should be turned off.
8. Select all questions that will be included into this Loop. Users can either create new questions within the loop or add existing ones. Users can add any question types in the loop except for the loop question type, basically we do not support loop within loop.
9. When creating new questions and you want pipe in the answer in the loop reference question (i.e. brand selected) in the Question Text, simply use the Loop Reference. This will reference each of the current loop the participant is in.
In the Loop: Question based, user can select the format of Loop Reference (either Text, Image, Video)
How to set up the Loop: Stimuli based?
1. In the Questionnaire Builder page, add a new question OR insert a new question by hovering over an existing question and clicking the green (+) button (either above or below the existing question)
2. Select Loop: Stimulus based from the popup menu that appears.
3. Write your question number or label in the upper box.
4. In the Stimulus Set, select the format of the stimulus that the loop will be based on. The stimulus format can be in Text, Image, or Video

5. Add each stimulus by clicking
+Add Option. For each stimulus added, users will be required to provide a label.

Please note that adding the stimuli here will only serve as a randomizer and users will need to add a Multimedia question and use Loop Reference to expose each stimulus on the chatbot. See example below:

In the Loop Reference, users must select again the format of the stimulus (Text, Image or Video) to be exposed in the drop down for Reference type format

For Image formats, users can edit the size and alignment of the stimulus by hovering to the Loop reference (blue box) then click Edit Design. Users can see select the image size they prefer but we suggest to use Full for maximum size.

6. Select the looping behavior.
- 6.1. Randomize Loop Order: Users can choose whether to randomize the order in which the loop runs. If enabled, the system will present the looped questions in a random order based on the stimulus set. By default, this option should be checked. If it's not enabled, the loop order will follow the stimulus values from smallest to largest.
6.2 Limit Number of Loops: Users can choose to limit the number of loops shown to each participant. If enabled, they can specify a number between 1 and the total number of stimuli added minus 1. By default, loops will be randomly selected. But users have the following additional controls:
6.2.a Evenly Present Loops: If desired, users can choose to Evenly Present Loops to present each loop a roughly equal number of times across all participants.
6.2.b Custom limit per loop: If users don't want to Evenly Present Loops, users can set a specific limit for each loop (i.e., stimulus). Once a loop reaches its limit, the system will automatically and randomly select another loop.

7. Select all questions that will be included into this Loop. Users can either create new questions within the loop or add existing ones. Users can add any question types in the loop except for the loop question type, basically we do not support loop within loop.
Note: Currently, Specialty Tools questions such as Hotspot, Video Annotation, Text Highlighter placed under a loop don’t support stimulus references. If users want to use these question types under a stimulus-based loop, they will need to create one for each stimulus and set a Pre-condition logic for each stimulus in the loop.
How can I set demographic quotas within each loop or each stimulus set?
Currently, demographic quotas can be set by creating a Virtual Question outside of the Loop questions. For example, you want to set quotas for Male/Females and have seen each stimulus with equal split. You can set up the Virtual question after the Loop questions and then define the variables as 4 options.
- For a monadic study, you can set the demographic quotas based on whether the stimulus is displayed or not.
For a sequential study, you can set the demographic quotas based on whether the stimulus is displayed first or not.
Then add the Virtual Question as a Custom Screener in the Audience page. Once the the Virtual Question is added, you can add the quota numbers for each group.
In this setup, once a participant is assigned to a full quota loop, the participant will be screened out and will not be re-assigned to another quota loop. For more information about creating Virtual Questions please refer to this article
here.
Loop Logic System: How can I set up a Question Logic using Loop?
The Loop Question itself is similar to a Group Question - i.e. it can't be used as a reference question in the logic system. However, the individual questions inside the loop (i.e. looped questions) and the loop name can be used as reference questions in the logic.
For questions inside the loop, there are three types of logics.
1. The first type is loop-based—specifically, users can set preconditions based on which loop the respondent is currently in. This allows them to show or hide questions depending on the active loop. In the Question Logic tab, users can reference a loop name to define whether it IS or IS NOT the current loop.
For example: To display Question 1 only in Loop A, users can set the precondition: [Loop A] is [Current Loop].
Consequently, to display Question 2 in all loops except Loop A, the precondition would be: [Loop A] is [Not Current Loop]. This gives users control over question visibility across different loops.
Note: When selecting the loop name to which the logic will be referenced, scroll further down in the drop down menu for "Display if" field to select the loop name.
2. The second type is to set a condition referencing a question inside the same loop. In this case, users can define the reference question first, and if the question is inside the same loop, then users can choose between:
2.1. Select a Loop by Name: A specific choice is selected in a specific loop.
2.2. Current Loop: A specific choice must be selected on the current loop.
Example
2.1. Select a Loop by Name: You are asking people "Do you find tagline appealing?" (Appeal) and if they answered any Top 2 Box (Very appealing, A little appealing) for only a specific loop seen, the next question Reason for Appeal will be shown. In this case, you can use the "Select a Loop by Name" logic as example below:

Example 2.2. Current Loop: You are asking people "Do you find tagline appealing?" (Appeal) and if they answered any Top 2 Box (Very appealing, A little appealing) for the current loop seen, the next question Reason for Appeal will be shown. In this case, you can use the "Current Loop" logic as example below:
3. The third type is to set a condition based on a question outside of the loop.
For example: You are asking people "Do you find tagline appealing?" (Appeal) only among Females. In this case, you can select the question outside of the loop (Gender) and use condition Include and select option Female

For questions outside the loop, there are two types of logics.
The first type is to set a condition based on a question inside the loop. In this case, users can define the reference question first, and if the question is inside the loop, then users can choose between
Select a Loop by Name: A specific choice is selected in a specific loop.
Any Loop: A specific choice was selected on any loop.
All Loops: A specific choice must be selected on all loops.

The second type is to set a condition based on a question outside of the loop. Users can simply add the logic in the Question Logic Tab. For more information about adding question logic, please see the article here.
How to reference or pipe in an Answer using Loop?
How to pipe in previous answer options (Option Piping) to a new question using Loop?
If the question is inside a loop and pipes answers from another question within the same loop, we assume it automatically pipes from the current loop. In the Response Options box, toggle the Use piped option and the select the source question you want to pipe from and the select in the options you want to be piped either SELECTED answers or UNSELECTED answers.

If the question is outside a loop and pipes answers from a question inside a loop, users should be able to specify which loop the piping should come from. Similarly, in the Response Options box, toggle the Use piped option and the select the source question you want to pipe from. Then select the specific loop in which the piping should come from and the select in the options you want to be piped either SELECTED answers or UNSELECTED answers.
