# Repeat-from-data (stimulus testing)

Canonical page: https://www.questionpunk.com/support/repeat-from-data

Repeat a section of questions for each row in an uploaded data table — ideal for product testing, ad evaluation, and stimulus-driven research.

Time: 10-15 minutes

Level: Intermediate to Advanced

Audience: Researchers, Academics, Product teams, Brand managers

## Steps

### 1. Create a section for your questions

In 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?").

### 2. Enable repeat-from-data

Open the section settings and enable **Repeat from Data**. This converts the section into a data-driven loop.

### 3. Define fields and upload data

Define 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.

### 4. Configure selection and ordering

Choose 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.

### 5. Bind fields to question content

Map 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.

### 6. Preview and publish

Use the live preview to see how the section repeats for each data row. Each trial shows the correct stimulus and collects independent responses.

## Details

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.

## Related articles

- [Question types guide](https://www.questionpunk.com/support/survey-design-question-types.md)
- [Logic and branching](https://www.questionpunk.com/support/survey-design-logic-branching.md)
- [Concept testing](https://www.questionpunk.com/support/concept-testing.md)
