Survey Response Types
Surveys & forms
On form trials (type = form), the responseType column picks the question widget and the responseOptions column supplies the answer choices or the widget’s settings. This page covers every survey question type and the columns that shape it.
For the anatomy of a form row, pages, and layout, see Forms and Surveys. For response types on experimental trials (buttons, keyboard, clicks, mic, drag), see Responses in Experiments.
Choosing a question type (responseType)
Section titled “Choosing a question type (responseType)”Put one of these values in the responseType cell of a form row:
responseType | Renders |
|---|---|
box | Single-line text input |
comment | Multi-line text area |
radio | Radio buttons (pick one) |
likert | Likert scale, one rating button per entry in responseOptions |
checkboxes | Multiple checkboxes (pick any) |
dropdown | Drop-down menu |
slider | Draggable slider |
stars | 5-star rating |
rank | Drag-to-rank items |
The display-only fallback is also useful on purpose: a form row with head and body but no recognised responseType shows text between questions.
Defining answer options (responseOptions)
Section titled “Defining answer options (responseOptions)”For radio, likert, checkboxes, dropdown, and rank, set responseOptions as a semicolon-separated list:
type,head,responseType,responseOptionsform,How much do you agree?,likert,Strongly agree;Agree;Neutral;Disagree;Strongly disagree- The written order is the display order (unless you randomise it).
responseCodein the results is the 1-based position of the chosen option in the order you wrote, even when the displayed order is randomised.- Empty segments are ignored, so a stray
;does not add a blank option. %variable%placeholders in the cell are substituted before the question is built.
A choice question with an empty responseOptions cell has nothing for the participant to pick, so always fill this column in for radio, checkboxes, dropdown, rank, and likert.
Exclusive choices
Section titled “Exclusive choices”Append :exclusive to a checkbox option to make it mutually exclusive with all other checkboxes (useful for “None of the above”). The keyword is removed from the displayed text:
type,head,responseType,responseOptionsform,Which devices do you own?,checkboxes,Phone;Laptop;Tablet;None of these:exclusiveQuestion types in detail
Section titled “Question types in detail”Choice questions (radio, checkboxes, dropdown)
Section titled “Choice questions (radio, checkboxes, dropdown)”radioshows the options as radio buttons; the participant picks exactly one.checkboxesshows the options as checkboxes; the participant can tick any number (see Exclusive choices for “None of the above” style options).dropdownshows the options in a drop-down menu.
All three support an “Other” option and become matrices or repeated panels with responseRows.
Likert scales (likert)
Section titled “Likert scales (likert)”likert renders a rating scale sized to your responseOptions list, one rating button per entry. A 5-point scale is simply five semicolon-separated anchors:
type,head,responseType,responseOptions,requiredform,How satisfied are you?,likert,Not at all;Somewhat;Very,1Star ratings (stars)
Section titled “Star ratings (stars)”stars shows a 5-star rating widget. It does not read responseOptions, so there is nothing to configure there.
Ranking (rank)
Section titled “Ranking (rank)”rank lists the responseOptions items and participants drag them into order.
Text input (box)
Section titled “Text input (box)”box renders a single-line text input.
On experimental trials the same value behaves differently (multiple boxes with box*N, positioning with responsePos, and HTML5 input constraints on test trials). See Text boxes in Responses in Experiments.
Multi-line text area (comment)
Section titled “Multi-line text area (comment)”comment renders a multi-line text area for longer free-text answers.
For the experimental-trial variant, see Responses in Experiments.
Sliders (slider)
Section titled “Sliders (slider)”slider renders a draggable slider. Configure it in responseOptions with the format min_max_step;startValue;flags:
type,head,responseType,responseOptionsform,How much pain are you in?,slider,0(no pain)_10(worst pain);5- The first segment is the scale:
min_maxormin_max_step(step defaults to 1). Numeric endpoints may carry a label in parentheses, as in0(low)_10(high). - A first segment that is not numeric, or has more than three
_-separated parts, becomes a labelled slider:poor_average_goodgives three options with the values 1 to 3. For labelled sliders the recorded response is the label text andresponseCodeis the numeric value. - After the scale, an optional start value: a number, or one of the labels.
- Then any of the flags
hideValue,hideStart,hideGrid,hideMinMax,hideLabels,removeFill. Flag names are case-sensitive.
How form sliders are recorded:
- An untouched slider inside a form records
NA, even though the handle was showing its start value. A slider the participant deliberately sets to0records0, notNA. - A required form slider must actually be touched (clicked, dragged, or operated by keyboard) before the survey validates.
The standalone experiment slider has extra behaviour (the noButton flag, required on test trials); see Sliders in Responses in Experiments.
Adding an “Other” option (responseOther)
Section titled “Adding an “Other” option (responseOther)”Put a label in the responseOther column to append an “Other” choice with a free-text input to a choice question:
type,head,responseType,responseOptions,responseOtherform,How did you hear about us?,radio,Friend;Advert;Social media,Other (please specify)- Any non-empty cell turns the option on, and the cell value is used verbatim as its label. There is no built-in “Other (please specify)” text, and no on/off semantics (
0shows an option labelled “0”). - Only
radio,checkboxes, anddropdownhonour it;rank,likert,slider,box,comment, andstarsignore it. - The text the participant types is saved as the response, with a
responseCodeofNA(it is not one of the defined choices).
Matrix and battery questions (responseRows)
Section titled “Matrix and battery questions (responseRows)”Use responseRows to turn a single question into a multi-item battery. Each semicolon-separated entry becomes one row, answered on the same scale defined in responseOptions:
type,head,responseType,responseOptions,responseRowsform,How often do you...,radio,Never;Sometimes;Often,Sleep well;Exercise;Eat healthy- With
responseType = radioorcheckboxes, the question becomes a single matrix (rows are your labels, columns are theresponseOptions). - With any other question type (
dropdown,slider,box,comment,likert,rank,stars), it becomes a panel of repeated questions, one full question per row, titled with the row text. - A matrix never shows an “Other” option, so
responseOtherhas no effect there; withdropdownplus rows, each per-row dropdown gets its own Other item.
In the results, per-row responses are joined with _ and each answer is saved in its own row’s position (a skipped row saves as NA in that position). In the matrix example above, a participant answering Sleep well = Often, Exercise = Never, Eat healthy = Sometimes saves response Often_Never_Sometimes and responseCode 3_1_2.
For the full results format, including how rows combine with image stimuli, see the responseRows column page.
Randomising option and row order
Section titled “Randomising option and row order”Two columns shuffle the display order per participant:
responseOptionsRandomshuffles the options of radio, checkbox, dropdown, rank, likert, and matrix questions.responseCodein the results still counts positions in the order you wrote, but the displayed order itself is not recorded anywhere.responseRowsRandomshuffles the rows of aresponseRowsbattery. The displayed order is written to the results as an extraresponseRows_actualcolumn, and the saved per-row responses follow that displayed order, so match them positionally againstresponseRows_actual.
type,head,responseType,responseOptions,responseRows,responseRowsRandomform,How often do you...,radio,Never;Sometimes;Often,Sleep well;Exercise;Eat healthy,1Exclusive checkbox options always render last, after the normal options, and the “Other” item is never shuffled.
Required answers (required)
Section titled “Required answers (required)”Put exactly 1 in the required column to make a form question mandatory; the participant cannot advance without answering:
type,head,responseType,responseOptions,requiredform,Do you consent?,radio,Yes;No,1- On form trials only the exact value
1works;0,yes, ortrueleave the question optional. - With
responseRows, every row becomes required: a matrix question demands an answer in every matrix row, not just one. - A required form slider must be touched before the survey validates; sitting at its start value does not count as an answer.
Note that the same column follows different rules on experimental trials (any non-empty value, and a special grammar for label responses); see the required column page.
Next steps
Section titled “Next steps”- Forms and Surveys: form row anatomy, pages, separators, and survey scoring
- Responses in Experiments: response types on experimental trials
- Generating Questions from Lists: populate options or questions from a list
- How to Read the Results Files: find survey responses in your data