Dynamic lists

Introduction

Dynamic lists are specialized lists of items compiled on the fly based on instruction logic you define. This means dynamic lists can change per respondent.

In Discover, the model for question building is different than other survey platforms; lists and questions are separate entities. Questions use lists but lists do not belong to the questions that use them.

This distinction is important because dynamic lists are built in relationship to other lists.

The most common use of dynamic lists is to display items chosen in one question in a follow-up question. The carry forward function is used in this case. (Read more about how this works and the different instruction types below.)

How dynamic lists work

Dynamic lists are built with instructions that are evaluated and executed on the list when the question the list is applied to is encountered. These instructions include a source list, functions (like carry forward), and other settings.

When building a dynamic list, it is important to remember three things:

  1. The list starts empty and is filled with items by using functions (such as the carry forward and add instructions).
  2. Dynamic lists are built within the landscape of a source list. You can think of the source list like a master list of all the items you could possibly use. (More on source lists in a later section.)
  3. Instructions are evaluated in the order they appear, so the order of instructions is important. Ensure that instructions are placed in the correct sequence to produce your desired results.
    • For example, if you want to randomize a list, you first need to add items to the list (since dynamic lists start out empty) and then add the randomize function.

Creating a dynamic list

Simple example

To illustrate how to set up a dynamic list, here is an example using the Carry forward function:

  1. To start out, we need to create the question and Source list that will eventually flow into our follow up question. To do this, create a multi-select question that has several items and name the list “Music Genres.”
    Multi-select question that asks
  2. Create a new single-select question as the follow-up.
    Single select question that asks
  3. Create a dynamic list that references the “Music Genres” list. Do this by clicking the new dynamic list icon (Dynamic List, New) on the “Music Genres” item in the list selection menu. This action opens the list manager with the new dynamic list as a child to the Source list “Music Genres.”
    List dropdown at the top of the question is opened. The
  4. Add the Carry forward items instruction, choose the from question (the question that determines which items will be carried forward, this question’s list must reference the same source list or a derivative of the source list), choose Selected by the respondent in the next dropdown, and click Done.
    The list manager is open to the music genres dynamic list. The instruction has been created with the criteria listed in step 4 above.
  5. The new dynamic list is applied to the question.
    The single select question is again shown with the dynamic list applied.

When respondents take the survey, they will first tell us which genres of music they typically listen to, then only those responses will display in the follow up question.

Compound example

Sometimes multiple instructions are used to create a dynamic list. If the desired outcome is to have an item prevented from appearing, two instructions will be used: add or carry forward and remove.

Since the list starts out empty, use the add or carry forward function to first include items, then apply the remove function to prevent an item such as “none of the above” from appearing.

The list manager is opened to the list with the functions described above applied.

Source list

Items that appear in a dynamic list are derived from a standard list (a basic, static list with items) known as a source list. The source list defines the landscape in which the dynamic list lives; it determines which items could be displayed, but not necessarily will be displayed. When defining a dynamic list, you must always select a source list. The list starts out empty, you must then use functions to add items. A dynamic list can only have one source list. Dynamic lists can be built by using other dynamic lists if all of them have the same source.

Functions

After a source list is chosen, additional functions are added. Multiple functions can be used to create a dynamic list. Here are the available functions:

Function Use
Carry forward Brings items from one question into another based on respondent selections
Add Ensure specific items are included in the list
Remove Prevent selected items from being included in the list
Randomize Randomize the items added from the preceding functions

Carry forward

The carry forward function brings items (either selected or not selected by the respondent) from one question into another. This may be used to:

  • Ask follow-up questions about items selected in a previous multi-select question.
  • Combine answers into a single list from multiple questions (if all reference the same source list).
  • Add items ranked best to worst from ranking questions and highest score to lowest score from constant sum questions.

Add

The add function adds or ensures that specific items are displayed in the list. This may be used to:

  • Add all items to a list and then randomize the items.
  • Ensure specific items appear.
    • For example, you may want to ensure that the brands owned by your company are displayed in a follow up question where you carry forward the brands that the respondent was familiar with (even if they did not select the brands you own).
  • Create multiple list subsets from a single source whose items all show up in the same report in analysis.
    • For example, the source list could be “Landmarks” and two dynamic lists (subsets) could be “Landmarks in the United States” and “Landmarks in Mexico.”

Remove

The remove function removes or prevents selected items from being shown in the list. This may be used to:

  • Display all items except for a text entry or exclusive option.
Remember that dynamic lists start out empty. Use the Add or Carry forward instructions to ensure the list is not empty, then apply the remove function.

Randomize

The randomize function randomizes dynamic list items (in the same randomization pattern each time the list is encountered). When dynamic lists are used, the Randomize UI feature in question settings is disabled; you must use the Randomize function to randomize items in dynamic lists.

Remember that dynamic lists start out empty. Use the Add or Carry forward instructions to ensure the list is not empty, then apply the randomize instruction. Also note that because instructions are evaluated and executed in the sequential order that they appear, the Randomize function will only randomize the items from instructions preceding it. Items added after the Randomize function will not be randomized.

List behavior

There are several important things to note about dynamic list behavior:

  • A list item will never be shown twice. If multiple instructions are used that result in an item being displayed multiple times, it will only appear once.
  • List items shown in the dynamic list are recorded as the same numeric values of the items found in the source list. If “Blue” is number 3 in the source list, it will be reported as a 3 in the data export and other places of the software (even if it was displayed as the first item to the respondent in a dynamic list).
  • If a dynamic list is evaluated and comes up empty, the question with the list applied will be skipped.
  • Questions that will result in all items requiring a response will automatically be skipped. For example:
    • If the list only has one item and is used in a required single select question, the single item is automatically chosen, and the question is not shown.
    • If a required question has range requirements (such as a multi-select requiring three selections) and there are an equal or lesser number of items available (one to three items), all items are selected, and the question is not shown to the respondent.
  • If a list includes a text entry option (a list item that allows respondents to enter text; such as “Other, please specify”), the item will display differently depending on the instruction that brings it in.
    • Carry forward items selected by the respondent: if the respondent types in an answer, what they entered will display in the follow-up question.
    • Carry forward items not selected by the respondent: if the respondent does not select the text entry, it will be displayed in the follow-up question as a text box.
    • Carry forward and then the Add function: If the carry forward instruction is used and then the add function is applied, the text entry option will appear as a text box, not the text entered by the respondent (if there is any).