Intuify

Intuify

Documentation

Logic & flow12 min read

Randomization & Section Loops

Shuffle content, show subsets, and repeat sections per loop item.

On this page (9 sections)

Randomization varies the order in which sections or questions appear, which helps reduce bias in your results. Section loops repeat the same block of questions for each item — for example, one pass per product or concept.

See Logic, Flow & Conditions for how these features connect to display logic, skip logic, and the Flow tab.


Randomization#

Randomization lets you vary the order in which sections or questions are shown, which helps reduce bias in your results.

What you can do#

  • Randomize section order — In the Flow tab, add a randomizer element and choose which sections to shuffle.
  • Show a subset — Instead of showing all sections, show only a certain number (for example, 3 out of 10 concepts). If some of those sections sit behind a Branch condition, only the ones the respondent currently qualifies for are in the running — the count is a maximum, not a guarantee, so a respondent who only qualifies for 1 of them sees just that 1, and one who qualifies for none sees none.
  • Even distribution (Least Fill) — Automatically steer respondents toward the least-shown sections so each one gets roughly equal exposure. You can view and adjust the counts if needed.

Tip: Randomizers can mix sections and other flow blocks as children. Use the Flow editor to place randomizers on the visual map and confirm which content is inside each shuffle group.

Tip: If a respondent goes back and changes an earlier answer in a way that would have disqualified their randomizer assignment, the randomizer re-draws from whatever they now qualify for — it doesn't leave them on an assignment they can no longer see.


Section loops#

Loops let you repeat a section multiple times with different items — for example, asking the same set of questions about each of several products or concepts.

How to set up a loop#

  1. Open the section's Section Loop settings (from the section's properties panel or its menu) and turn the loop on.
  2. Choose a loop source: Static Items, Based on a Question, or Fixed Count.
  3. Each item or iteration becomes one pass through the section.

Inside the loop, you can use piping to insert the current item's name into question text — so respondents see "Thinking about Product A, how satisfied are you?" and then the same questions again for Product B, and so on.

Each loop iteration is shown on its own page — the respondent completes one pass through the section, clicks Next, and sees the next iteration.

The dialog shows a live iteration count as you configure: an exact number when it can be known up front (static lists, fixed counts, "all items" conditions), or a note that the count depends on the respondent's answers. On the Flow tab, looped sections carry a "Loop" badge with a summary of the loop source.

Looping based on a question#

When you set the loop source to Based on a Question, you can pick an earlier Multiple Choice (Single or Multiple Select), Standard Matrix, Basic Rank, or Funnel question, and the available conditions change depending on its type. The condition dropdown updates automatically when you pick a source question, and a short description of the selected condition is shown beneath it.

Note: Slider, Distribution, Constant Sum, Multi Numeric, and Text questions are no longer offered as sources for new loops. Existing surveys that already loop on one of these keep working — the configuration is shown with a "legacy source" note.

Multiple Choice (Single / Multiple Select)#

ConditionWhat it does
All ChoicesLoop over every answer option, regardless of what the respondent picked
Displayed ChoicesLoop over answer options that were visible to the respondent
Not DisplayedLoop over answer options that were hidden by display logic
Selected ChoicesLoop only over the answers the respondent selected (default)
Unselected ChoicesLoop over answer options the respondent did not select

Matrix questions#

For matrix sources, the condition dropdown is grouped into Rows and Columns:

Rows:

ConditionWhat it does
All RowsLoop once per row
Displayed RowsLoop over rows that passed display logic
Not DisplayedLoop over rows hidden by display logic
Selected RowsLoop over rows with a non-empty answer
Unselected RowsLoop over rows with no answer

Columns:

ConditionWhat it does
All ColumnsLoop once per column
Displayed ColumnsLoop over columns that passed display logic
Not DisplayedLoop over columns hidden by display logic
Selected ColumnsLoop over columns selected for at least one row
Unselected ColumnsLoop over columns not selected for any row

Rows filtered by a column value:

ConditionWhat it does
Selected Rows for ColumnLoop over rows where the respondent selected a specific column
Unselected Rows for ColumnLoop over rows where the respondent did NOT select that column

For these two modes, a "Match column value" picker appears right inside the condition panel so you can select which column to filter by. The item table below updates to list whichever axis the loop iterates — columns for the Columns group, rows otherwise.

Example: You have a matrix asking "Rate each feature" with columns Poor/OK/Great. Using "Selected Rows for Column" with the filter set to "Poor", you can loop a follow-up section over only the features the respondent rated poorly.

Ranking questions#

ConditionWhat it does
All ChoicesLoop over all ranking items
Displayed ChoicesItems that passed display logic
Not DisplayedItems hidden by display logic
Selected ChoicesItems the respondent ranked (in rank order)
Unselected ChoicesItems the respondent did not rank
Value >Items with rank position greater than a threshold
Value <Items with rank position less than a threshold
Value =Items with rank position equal to a threshold
Highest ValueThe single item ranked first
Lowest ValueThe single item ranked last

For value comparison modes (Value >, Value <, Value =), a rank position input appears inside the condition panel where you enter the threshold.

Funnel questions#

A Funnel is a matrix question — its rows are the brands and its columns are the sequential slides — so it offers the same conditions as any other matrix question. Read them in funnel terms:

ConditionWhat it does
All ChoicesLoop once per brand
Selected ChoicesLoop over the brands the respondent picked on any slide
Unselected ChoicesLoop over the brands the respondent never picked
Selected Choices for AnswerLoop over the brands picked on one specific slide you choose
Unselected Choices for AnswerLoop over the brands not picked on that slide

Looping over one recall window. Choose Selected Choices for Answer, then pick the slide in the Match column value dropdown that appears — for example "purchased in the past month". The section then repeats once per brand selected on that slide, and no others.

The dropdown also lists the question's "None of these" column. Matching on it loops over the brands the respondent never picked on any slide.

In Multiple and Reverse Funnel selection modes, brands carry forward across slides. In Reverse Funnel the selections are cumulative, so "selected on slide 3" means the respondent picked that brand on or before slide 3.

Loop randomization options#

The loop settings include three related options that form a dependency chain:

  1. Randomize loop order — Shuffles the order in which loop items are presented. The shuffle is stable per respondent — resuming the survey keeps the same order.
  2. Present only X of total loops — Shows only a subset of loop items instead of all of them. Requires "Randomize loop order" to be enabled (a random subset only makes sense when the order is randomized).
  3. Show least-seen items first (Least Fill) — Ensures each loop item is shown a roughly equal number of times across respondents. Requires both "Randomize loop order" and "Present only" to be enabled. Per-item display counts are shown in the item table and can be adjusted.

Warning: "Present only X of total loops" and "Least Fill" depend on earlier toggles in that chain. Enable Randomize loop order first, then subset and least-fill options as needed.

When a loop has nothing to loop over#

If a Section Loop is based on a question and the respondent has no active items to loop over, the whole looped section is skipped — they never see a single pass of it. The loop's items are worked out exactly as they always were; the only difference is that a section with nothing active is left out instead of shown once with blank loop fields.

A looped section is skipped when:

  • The source question was never shown to them. If display logic hid the source question, nothing about it is active, so there is nothing to loop over. What counts is whether the question was actually put in front of them: a question they were shown, or answered, still counts, even if an answer or variable set later in the survey would hide it now.
  • None of the source question's items is active for them. For example: the condition is Displayed Choices and every answer option was hidden by choice-level display logic; the condition is Selected Choices and they selected nothing, or everything they selected is hidden; the condition is Not Displayed and nothing was hidden; the condition is Unselected and they selected every option they could see; or a ranking condition such as Value > matches no ranked item.

One exception: on the Unselected Choices condition, a source question whose every option was hidden by choice-level display logic still shows the section once, unlooped, as it always has. A question with no options on screen leaves no record of what the respondent saw, so the survey does not treat that as proof there is nothing to loop over.

When a section is skipped, the respondent moves straight from the page before it to the page after it, and Back steps over it the same way.

The decision is made once, when the respondent reaches the section. Once they are inside a looped section, nothing they answer and no variable set on its pages can remove the passes that remain — the section runs to the end exactly as it started, including when skip logic jumps them to a later page of that same section. And a section they have already seen is never skipped later: going Back into it, or Back out of it and then Next again, shows it just as before. That holds across a refresh too: a respondent who resumes the survey never resumes inside a skipped section, and a section they saw before refreshing is never skipped afterwards.

The progress bar and the Next / Submit label catch up one page later, deliberately. A looped section is only taken out of the count once the respondent has actually been asked its source question, on a page they have already submitted. So if the source sits on the very page before a skipped looped section that ends the survey, that page still shows Next and a bar that has not reached the end — and pressing Next finishes the survey anyway.

This only applies when the source question is asked before the looped section in the order this respondent walks the survey. A section that loops on one of its own questions, or on a question asked later, is never skipped — and neither is one that a section randomizer happens to present ahead of the section holding its source. Those loops run exactly as they did before.

Note: The All Choices, All Rows, and All Columns conditions loop over what you authored rather than over what the respondent saw, so a section using one of them is never skipped, even if the source question was hidden.

These are configuration states, not skips#

A loop that comes up empty for a reason that has nothing to do with the respondent still shows the section once, unlooped, exactly as it always has:

  • A Fixed Count of 0.
  • A Static Items list with no items in it, including a loop you turned on but never configured.
  • A source question with no answer options, rows, or columns to loop over, or a source question type that has no items to loop over at all.
  • A count-driven loop where the respondent typed something that isn't a number — "0", "-2", "three", "lots". A respondent's answer can never delete a section.
  • A source question that has since been deleted from the survey, or a loop where no source question was picked.
  • A loop whose saved condition does not fit its source question's type (for example after importing a survey or changing the question type). It behaves exactly as it did before.
  • A Not Displayed or Unselected condition on a source whose items are generated rather than authored — a slider's scale points, for instance.

Known limitation — a source question inside another looped section. When the source question is itself asked inside a different looped section, its answers are stored separately for each pass of that other loop, so the section is never skipped on its account and works exactly as it did before. In particular, if the respondent leaves that source question blank and the condition is Unselected Choices, the looped section shows once, unlooped, with blank loop fields.

Tip: If a section is unexpectedly missing in Preview, check the source question first — if it is hidden for the path you are previewing, the looped section is hidden too. Previewing from a single section or question never skips it.

Piping inside loops#

Use these piped text tokens inside a looped section to personalize each iteration:

TokenWhat it shows
${lm://Field/1}Current loop item's name / label
${lm://Field/2}Second field value (auto-filled with the item's image URL when the looped item has one — a column's image when looping over matrix columns)
${lm://Field/N/ImageHTML}The field value rendered as an image
${lm://LoopNumber}Current iteration number (1-based)
${lm://TotalLoops}Total number of loop iterations
${lm://CurrentItem}Same as Field/1 (alias)

These tokens work in question text and answer options, and also in the value of a global variable assignment placed inside the loop. Setting a variable to ${lm://CurrentItem} (loop ${lm://LoopNumber}) records the item shown on that iteration.

For general piping syntax and QID-based references, see Carry forward & piping.


Was this page helpful?