Repeat-from-data (stimulus testing)
Repeat a section of questions for each row in an uploaded data table — ideal for product testing, ad evaluation, and stimulus-driven research.
Repeat-from-data lets you upload a table of stimuli (product images, brand names, ad creatives, etc.) and have a section of questions repeat once for each row. Each trial shows the stimulus to the respondent and collects their responses, enabling within-subjects comparisons at scale.
Steps
- Create a section for your questionsIn the survey editor, create a section with the questions you want to repeat for each stimulus (e.g., "Rate this product" and "What do you like about it?").
- Enable repeat-from-dataOpen the section settings and enable Repeat from Data. This converts the section into a data-driven loop.
- Define fields and upload dataDefine the columns in your data table. Each field has a name, type (text or image), and visibility (participant — shown to respondents — or analysis — hidden, for your records only). Then add rows manually or import from a file.
- Configure selection and orderingChoose whether respondents see all rows or a random subset (set a sample size). Set the order to authored (fixed) or randomized (each respondent sees rows in a different order). Optionally filter rows per respondent using a URL parameter.
- Bind fields to question contentMap data fields to where they appear in the section. Bind an image field to the stimulus display, or a text field to dynamic question text. Respondents see the bound content change for each trial.
- Preview and publishUse the live preview to see how the section repeats for each data row. Each trial shows the correct stimulus and collects independent responses.
Repeat-from-data is designed for stimulus-driven research: product evaluations, ad testing, packaging comparisons, and any study where respondents react to a series of items.
Each data row becomes a trial. The section's questions are asked once per row, with the row's image or text shown as a stimulus. Responses are tagged with the row they belong to for easy analysis.
Randomized ordering and random subsets help control for order effects and reduce respondent fatigue when testing large stimulus sets.
Row-level filtering lets you show different stimuli to different respondents based on a URL parameter — useful for between-subjects designs or panel routing.
Fields marked as "analysis only" are included in exports but hidden from respondents, letting you attach metadata (product IDs, categories, internal codes) to each trial without exposing it.