A grid of rows (statements) and columns (scale points) — the classic Likert-style battery for rating many statements against the same scale in one screen.
What respondents see#
A table: one row per statement, one column per scale point (or answer option). Depending on Selection Mode, respondents pick one column per row, several columns per row, type text into each row, or drag rows into rank positions.
When to use it#
- Agreement or satisfaction batteries across many statements ("rate each of the following...").
- Brand or attribute grids where every row is judged on the same scale.
- Any question you'd otherwise build as several identical single-choice questions.
Configuring it in the builder#
- Add your rows (statements) and columns (scale points) in the properties panel.
- Choose a Selection Mode in Settings.
- Set Answers Display for how row/column content renders (text/image/both).
Settings reference#
| Setting | What it controls | Default |
|---|---|---|
| Selection Mode | Single Select (one column per row), Multiple Select (several per row), Text Entry (type into each row), or Rank Order (drag rows into rank positions) | Single Select |
| Text Length (Text Entry mode only) | Short (single line) or Long (multi-line/paragraph) per-row input | Short |
| Answers Display | Row/column card layout (text/image/both) | Text |
| Row Order (Randomization) | Randomize, reverse, or hold fixed the order rows appear in — plus advanced order/lock/show-N-of-M/Least Fill controls | Fixed |
| Column Order (Randomization) | Same randomization controls, applied to columns | Fixed |
| Require Answer | Blocks Next until every row has a value (not just one) | Off |
| Required message | Custom text shown when a required row is left blank | "This question is required" |
Good to know:
- Switching Selection Mode changes what's stored for each row — logic conditions and exports should be reviewed after changing it on a live survey.
- Row and column randomization are separate, independent controls — see Randomization & Section Loops for the full set of options (lock specific rows/columns in place, show only N of M, Least Fill weighting).
- Many Custom Interfaces (Directional Swipe, Simple Icon Grid, Dial Gauge Grid, and more) are matrix under the hood with a different respondent-facing interaction — see that guide if a tap/swipe/dial experience fits your grid better than the standard table.
Logic support#
Matrix questions store a response per row, so conditions work across rows:
| Operator | Meaning |
|---|---|
| Any row equals | At least one row selected this column value |
| All rows equal | Every row selected this column value |
| Row equals | A specific row selected a specific column |
| Any row is in set | At least one row matches one of several column values |
| All rows are in set | Every row matches one of several column values |
When you tick more than one row (or column) in the condition's row and column list, the condition must be true for all of them, never just one. The (?) next to Rows and next to Columns in that list says the same. To match any one of several rows instead, use Any Row or add one condition per row joined with Or.
See Display logic — Matrix for the full reference and examples (e.g. "Show Q5 only if any row in the satisfaction matrix equals 'Very Dissatisfied'").
A single row or column can also have its own display logic, so it shows only to some respondents. Add row and column logic (or Edit row and column logic) in the row's or column's ⋯ menu opens the Row and column logic window on it, and Remove row and column logic takes the rule off. To read, edit, fill down or check every row and column rule at once, click the button above the rows. While a teammate is editing the question, the window opens view-only: you can read every rule but not change it until they finish. See Display logic on choices, items, rows and columns.
Related guides#
- Question Types — overview and when-to-use table
- Grid & Allocation Questions — matrix alongside distribution, constant sum, multi numeric
- Custom Interfaces — swipe, tap, and dial plugins built on matrix
- Display Logic — full matrix operator table
- Randomization & Section Loops — row/column randomization options and looping a matrix per section
Was this page helpful?