Choicery Documentation Series

Survey Flow Editor

Complete guide to every question type and every button in its editor, from a simple text page to Market Research pricing, quotas and display logic. Worked example: the Pizza (Example) study.

Choicery Platform | October 2026

Contents

Part I, Survey Flow Basics
  1. What Is the Survey Flow Editor?
  2. Adding Items to Your Survey
  3. Survey Structure: Pages & Navigation
Part II, Question Types
  1. Text & Media
  2. Single Choice
  3. Multiple Choice
  4. Grid / Likert Scale
  5. Bipolar Scale
  6. Ranking
  7. Text Input & Formats
  8. Numeric Input
  9. Constant Sum
  10. Custom HTML
  11. Market Research (Kano, Van Westendorp, Gabor-Granger)
  12. Evaluation
  13. CBC & MaxDiff (Conjoint Tasks)
Part III, Structural & Advanced
  1. Page Breaks
  2. End Pages & Outcomes
  3. Quotas & Panel Redirects
  4. Display & Skip Logic
  5. Best Practices
Appendix
  1. Quick Reference Table
Part I

Survey Flow Basics

Understanding the editor, adding items, and structuring your survey.

1. What Is the Survey Flow Editor?

The Survey Flow Editor (top navigation Survey) is the central workspace where you build and organize your survey. It shows every item in the order participants will encounter it, grouped into pages. Each item, whether a question, a text page or a choice task, appears as a card that you can reorder, edit, deactivate or delete.

Worked example: Pizza (Example)

Every screenshot in this guide is taken from the real app with the Pizza (Example) study, a short pizza-delivery survey that uses one of every question type. Wherever you see variable names like diet, Pizza_toppings, food_involvement, favorite_topping, last_order_amount, or KANO_Pizza, they refer to real items from this study. It ships with your account, so you can open it and follow along. The orange numbers in the screenshots belong to the button tables next to them.

The Survey Flow Editor of the Pizza study with numbered markers on the page header buttons and the item card buttons
Figure 1. The Survey Flow Editor. Pages hold item cards; the Add Item panel sits on the right. The numbers point to the buttons explained below.

Buttons on a page header

No.ButtonWhat it does
1Drag handleDrag the whole page (with all its items) to another position.
2Page nameFree text, up to 20 characters, for your own orientation. Participants never see it. The badge in front (PAGE 01, PAGE 02 ...) numbers the pages.
3Preview PageShows the whole page as participants see it, in a new tab. Not shown on empty pages.
4Page TimerSets a minimum time before participants may continue (see section 3). The icon is filled while a timer is on, and a timer badge appears in the header.
5▲ / ▼Move the page one position up or down.
6Remove Page BreakMerges this page into the page above it (asks for confirmation when the page has items). An empty first page shows the same button as "Remove this empty page".

Buttons on an item card

No.ButtonWhat it does
7PreviewShows this single item as participants see it, in a new tab, without saving anything.
8EditOpens the item editor. On a choice task (CBC, MaxDiff ...) the button reads Configure and opens that task's own configuration screen.
9More actionsHolds Deactivate / Activate and Delete. Deactivate keeps the item in the flow but hides it from participants after the next publish (an Inactive badge appears; collected answers are kept). Delete asks for confirmation and offers a 5-second Undo. An item that already has responses cannot be deleted; the dialog offers "Deactivate instead". On the End Page the menu holds only Delete.
10Add Skip LogicOpens the skip-logic dialog for this question (section 20). Reads Skip Logic Active once a rule exists.
11Add Display LogicOpens the display-logic dialog. Reads Display Logic Active once a rule exists. Greyed out on the first question of the survey, because a condition needs an earlier question as its source (in Figure 1 this is the consent question).
12Save as TemplateSaves the item to your template library (it belongs to your account, so you can reuse it in other projects). The dialog asks for a Template Name, a Category and an optional Description.
13DuplicatePlaces a copy directly below the original, with _copy added to its name. Skip and display logic are not copied (you get a warning). A copied choice task needs a new design.

The two logic links appear only on data-collecting questions. Text & Media, choice tasks and the End Page get Save as Template and Duplicate only. Choice-task cards also have a Show/Hide Tasks chevron. When Between-Subject Conditions are defined, the card footer additionally shows condition pills (All, A, B ...) that restrict the item to certain conditions; a click saves at once. Ctrl+click (Cmd+click on a Mac) on a card or on an entry in the Add Item panel opens it in a new tab. At the end of the flow, Add Page inserts an empty page.

Key Concepts

Item
Any element in the flow: a question, text page, conjoint task, or end page.
Item ID
A unique, auto-generated identifier (for example select_1c678aed for the Pizza diet item) used internally to store response data. It never changes, even when you rename the variable.
Variable Name
A human-readable label you assign (labelled Question Name in the editor; letters, numbers and underscores only, up to 50 characters; for example diet, food_involvement, favorite_topping). It becomes the column header in data exports and can be renamed at any time without affecting stored data.
Page
A group of items shown together on one screen. Items between two page breaks form one page.

2. Adding Items to Your Survey

The Add Item panel sits on the right of the editor. On screens narrower than about 990 pixels it is hidden; open it with the Add & Manage button . It has two collapsible sections, Survey Questions and Conjoint. The search box (Filter items...) filters the list as you type and also knows method names, so typing "Kano", "PSM" or "Regex" finds the right type. The panel header links to this guide and to Templates , your saved items.

The full right-hand sidebar: Add Item panel with the Survey Questions and Conjoint sections, and the Survey Management panel below
Figure 2. The right-hand sidebar: the Add Item panel (Survey Questions, Conjoint) and the Survey Management panel below it.

There are two ways to add an item.

Option A: Drag it into the flow

Press and hold an item type in the panel, then drag it into the flow. Drop it exactly where you want it: between two items, or onto a page boundary to start a new page. Choicery creates the item at that position with default settings and opens its editor. Constant Sum, Market Research and End Page open their add form first; a choice task opens as a draft and only enters the flow once you save it.

Option B: Click the item type

Click an item type to open its add form. On Save, the new item is placed just before the End Page: on the last page if that page is still empty (for example the empty first page of a new study), otherwise on a fresh page. You can then drag it wherever you like. Evaluation opens its own full-page editor, and the conjoint types open their configuration screen. New Page / Page Break opens no editor at all; it inserts the page break immediately.

When to use which

Use drag when you already know where the item belongs, for example inserting a follow-up right after a specific question. Use click when you are still building out the survey and want the item appended at the end.

Survey Management

Below the Add Item panel, the Survey Management panel links to the survey-wide tools: Between-Subject Conditions, Skip & Display Logic, Randomization & Blocks, Flow Integrity, and Project Settings. Skip & Display Logic is a read-only overview of the rules you already have (a flow map of the jumps with Save full PNG, plus a plain-language list of the show/hide rules); the rules themselves are created on the item cards. Flow Integrity opens a dialog that lists everything needing review before publishing.

What every item editor has

All standard item editors share the same frame: Question Name * at the top, the type-specific fields in the middle, a collapsible Footer for small print shown below the question, and at the bottom Cancel, Preview (shows the unsaved state) and Save . Large text fields (Question / Instruction) have a full formatting toolbar: Bold, Italic, Underline, Strikethrough, Text Color, Highlight, Font Size, alignment, bullet and numbered lists, Insert Link, Insert Image and Clear Formatting.

Lists of answer options, statements or items all work the same way. Each entry is one row with these controls:

ControlLooks likeWhat it does
Number badgeblue 1, 2, 3The position of the entry. For choice questions this number is what gets stored.
FormattingTOpens a small toolbar for this one entry: bold, italic, colours, font size, alignment, link and Insert Image. This is the only way to put an image into an answer option.
Add specify text inputSingle and Multiple Choice only. Turns the option into an "Other, please specify" option with a follow-up field (details in section 5).
RemoveDeletes the entry. Greyed out when the list is at its minimum. Removing a filled entry shows a 6-second Undo.
Import from TXT above the listReplaces the whole list with the lines of a text file (one entry per line), including any specify fields.
Add Option / Add Row / Add Item below the listAdds an empty entry at the end. Pressing Enter in the last entry does the same.
Entries cannot be dragged

Rows in the editor have no drag handle. To change the order, edit the texts in place or import the list again from a TXT file. If you want participants to see a varying order, use the Randomize setting of the question instead.

3. Survey Structure: Pages & Navigation

A survey is divided into pages. Each page is one screen. Items between two page breaks (or between the start or end of the survey and a page break) form one page.

How Pages Work

A Sensible Structure

The Pizza study is ordered so the engaging, attention-hungry parts come first and the background questions come last:

1

Welcome & consent. A Text & Media page introduces the study, followed by a Single Choice consent question (consent_form).

2

Warm-up attitudes. Diet, pizza habits, toppings, and the food-involvement grid ease respondents in.

3

Core tasks. Ranking, constant sum, Market Research pricing, and the conjoint choice tasks. Place these while respondents are freshest.

4

Demographics. Age, gender, marital status, and children go near the end, which reduces priming effects.

5

End Page. A thank-you message. If the flow has no End Page item, participants see a plain auto-generated completion screen and the flow check warns you; add an End Page item for your own wording.

Page Timers

The clock button in a page header opens Page Timer, which sets a minimum wait time before participants may continue: tick Enable timer, set Wait time (seconds) between 1 and 600 (default 30), and decide whether to Show countdown to participant (ticked by default). For choice blocks, the wait applies to every task screen, including the follow-up screens in two-block mode and the Anchored MaxDiff calibration screen.

The Page Timer dialog with Enable timer ticked, a wait time of 30 seconds and the countdown checkbox
Figure 3. The Page Timer dialog: Enable timer, the wait time in seconds (1 to 600) and Show countdown to participant.
Page timing

Choicery records time spent on each page. In the export, total_page_time shows cumulative time, and per-page columns (page_time_N) sit at the far right. Use these to spot speeders and disengaged respondents.

Part II

Question Types

A reference for every question type, in the same order as the Add Item panel. For each type you see the participant view and the editor with its buttons.

4. Text & Media

The Text & Media item displays content without collecting a response. Use it for introductions, instructions, or consent text. It holds rich text (images go inside the text via Insert Image) and optional media: an uploaded video or audio file, or a YouTube/Vimeo embed. The Pizza study opens with a Text & Media page that welcomes respondents and embeds a short YouTube video.

Participant view of the Pizza welcome page with text and an embedded YouTube video behind a consent notice
Figure 4. The Pizza welcome page. Embedded videos stay behind a notice until the participant clicks Play video, so YouTube or Vimeo only loads after consent.
The Text and Media editor with the welcome text, the embedded YouTube video card, Position and Width
Figure 5. The Text & Media editor.
Field / buttonWhat it does
Question / Instruction *The text of the page (required, up to 50,000 characters, at most 10 images).
Add MediaOpens Insert Media with three tabs: Video Upload (MP4, WebM, MOV, up to 50 MB), Audio Upload (MP3, WAV, OGG, M4A, up to 25 MB) and Video Embed (YouTube incl. Shorts, or Vimeo, with a Preview button). Confirm with Insert Media.
RemoveOn the media card: removes the media again.
PositionBefore Text or After Text (default).
Playback SettingsUploaded videos only: Autoplay, Loop, Muted, Show Controls (on). Browsers only autoplay muted videos; the editor reminds you.
WidthSlider from 25 to 100 percent (default 100).

A project can hold up to 100 media files and 500 MB of media in total.

Consent forms

For a consent page, use a Text & Media item for the consent text, then a Single Choice item with "I agree" / "I do not agree" (as the Pizza consent_form item does). To end the survey for people who decline, add an End Page with the outcome Screened out and let skip logic jump there (section 18).

Storage: none. This item is display-only.

5. Single Choice

Single Choice presents a list of mutually exclusive options; the participant picks exactly one. It renders as radio buttons by default, or as a dropdown for long lists. The Pizza study uses radio buttons for diet, pizza_habits, gender and children, and a dropdown for pizza_order (How often do you order pizza?).

Participant view of the diet question with five radio buttons
Figure 6. Single Choice as radio buttons (Pizza item diet, Randomize options on).
The Single Choice editor for the children question; the Yes option has an active specify field with Type Number and placeholder How many
Figure 7. The Single Choice editor (Pizza item children). Option 2 "Yes" carries a specify field.
No.ButtonWhat it does
1Import from TXTReplaces all options with the lines of a text file.
2T FormattingFormats this option or inserts an image into it.
3Add specify text inputThis is the "Other, please specify" button. Click it on the option that needs a follow-up field. The button turns blue and the settings row 5 appears below the option. Click it again to remove the field.
4Remove optionDeletes the option (greyed out here because a Single Choice needs at least 2 options).
5Specify settingsType: Text or Number. Placeholder: grey hint inside the field (default "Please specify", up to 200 characters). Width: 40 to 1000 px, empty means auto.
6Add OptionAdds an empty option at the end.
Participant view of the children question: Yes is selected and a field How many is shown below it
Figure 8. What the specify field from Figure 7 looks like for participants: the field appears as soon as "Yes" is chosen.

Key Options

OptionDescriptionDefault
Question / Instruction (optional)The question shown to participants. Supports rich text.Empty
Answer Options *The answer choices, 2 to 100. In the edit form, lists with more than 10 options can be folded ("Show N more options").3 empty
Display StyleRadio Buttons or Dropdown. Dropdown does not render images in options; the editor warns you if you combine them. Specify fields work in both styles.Radio Buttons
Column Layout1, 2 or 3 columns (radio buttons only; options run top to bottom, then left to right, and collapse to one column on mobile).1 Column
RequiredWhether an answer is needed before continuing.On
Show option bordersDraw a border around each option row.Off
Randomize optionsShuffle the option order per participant to reduce order bias.Off
Storage pattern

Stored under the bare {item_id}. The saved value is the 1-based position of the chosen option in the original (author) order, kept as an integer, not the label text. Because the number points at the original position, renaming a label or turning on Randomize options never changes what a stored answer means. A specify field adds {item_id}_o{n}_specify with the typed text or number. Exports and the codebook can display the label text for readability, but the raw response stays integer-coded.

6. Multiple Choice

Multiple Choice lets participants tick one or more options. It renders as checkboxes. Use it when answers are not mutually exclusive. The Pizza Pizza_toppings item asks which toppings belong on a pizza, in two columns, with an "Other" option whose specify field opens when the box is ticked.

Participant view of the toppings question in two columns; Mozzarella, Mushrooms and Other are ticked and a Please specify field is open under Other
Figure 9. Multiple Choice in two columns. Ticking "Other" opens the specify field.
The Multiple Choice editor for Pizza_toppings with twelve options; option 12 Other has the active specify button and its settings row
Figure 10. The Multiple Choice editor (Pizza item Pizza_toppings).
No.ButtonWhat it does
1Import from TXTReplaces all options with the lines of a text file.
2T FormattingFormats this option or inserts an image into it.
3Add specify text inputMakes this option an "Other, please specify" option. In the Pizza item it is switched on for option 12 "Other" (blue button). Write the option text yourself, for example "Other" or "Something else".
4Remove optionDeletes the option.
5Specify settingsType (Text or Number), Placeholder and Width of the follow-up field.
6Add OptionAdds an empty option at the end.

Key Options

OptionDescriptionDefault
Question / Instruction *Required for this type.Empty
Answer Options *The checkboxes. Any option can carry a specify field.3 empty
Column Layout1, 2 or 3 columns.1 Column
Show option bordersDraw a border around each option row.Off
Randomize optionsShuffle the option order per participant. All options take part, including "Other" and "None of the above".Off
Selection ConstraintsA Minimum (0 = no minimum) and a Maximum (blank = no limit) number of ticked boxes.Minimum 0, no Maximum
Required and "None of the above"

Multiple Choice has no separate Required checkbox. To make the question required, set the Minimum to 1 or higher. A "None of the above" option is an ordinary checkbox: it does not untick the other boxes, so check such combinations in your analysis.

Storage pattern

Each option is stored under its own key: {item_id}_ao1, {item_id}_ao2, and so on, with 1 for ticked and 0 for not ticked. An option with a specify field adds {item_id}_o{n}_specify. In the export, each option becomes its own column, so you can cross-tabulate any single topping.

7. Grid / Likert Scale

A Grid (Likert) item presents several statements as rows and a shared scale as columns. Participants rate every row on the same scale, which is ideal for agreement, satisfaction, or importance batteries. The Pizza food_involvement grid rates eleven statements on a 7-point Strongly Disagree to Strongly Agree scale.

Participant view of the food involvement grid with eleven statements and seven scale columns
Figure 11. A 7-point Likert grid. On phones each statement is shown on its own with the answer options below it.
The Grid Likert editor with the statements list, Scale, Cell Type and the seven answer option labels
Figure 12. The Grid / Likert editor (Pizza item food_involvement).
No.ButtonWhat it does
1Import statementsReplaces the statements with the lines of a text file.
2T FormattingFormats this statement.
3Remove rowDeletes the statement.
4Add RowAdds a statement at the end.
5Import answer optionsFills the scale labels from a text file with 2 to 10 lines and sets Scale to the number of lines.

Key Options

OptionDescriptionDefault
Statements / Items *The statements to rate (1 to 100). Each row becomes a sub-question.3 empty
ScaleThe number of scale points (2 to 20). Determines how many columns the grid has and how many label fields appear under Answer Options.5
Cell TypeRadio (one answer per row), Checkbox (any number of cells per row), or Numeric.Radio
Answer OptionsThe label of each scale point, for example Strongly Disagree to Strongly Agree. Every label is optional, so you can label only the two ends; answers are stored as the scale value either way.Empty
Required (all items must be answered)Whether every row must be answered.On
Use alternating row colorsShade every other row for readability.On
Randomize rowsShuffle row order per participant to reduce primacy and recency effects.Off

The collapsible Layout Options group controls the visual detail. Text and spacing (Font Size, Row Padding) applies everywhere. Table (larger screens) holds Items Column Width (%) (10 to 80, default 45), Column Headers Alignment, Response Cell Width and Sticky Header for long grids; it only affects the table view.

Long column labels

With seven long labels, the header text can become cramped. Lower Items Column Width and set Response Cell Width to Wide (80px) or Extra Wide (100px), as in Figure 11, then check the result with Preview.

Storage pattern

With Cell Type Radio, each row is stored as {item_id}_i1, {item_id}_i2, and so on, and the value is the numeric scale position (1-based). Each row becomes its own export column. With Cell Type Checkbox or Numeric, every grid cell gets its own key, {item_id}_i{row}_c{column}.

8. Bipolar Scale

A Bipolar Scale (semantic differential) places opposing words at each end of a scale and asks participants where their impression falls. The Pizza Pizza_experience item rates the last delivery on eight pairs such as Cheap / Expensive and Slow / Fast, using a 7-point slider.

Participant view of the Pizza experience item with eight sliders between opposing words
Figure 13. A Bipolar Scale with sliders. Each row runs from the left word to the right word.
The Bipolar Scale editor with one item card holding eight pairs, Input Type Slider, Min 1 and Max 7
Figure 14. The Bipolar Scale editor (Pizza item Pizza_experience).
ButtonWhat it does
Item cardPairs are grouped into items. Each card has an "Item N" badge and an item text, for example the instruction above the pairs.
Left / RightThe two opposing words of a pair ("Pair N"). Both have a T Formatting button.
Remove pairDeletes the pair (shown when an item has 2 or more pairs).
Add PairInside the card: adds a pair to this item.
Add ItemBelow all cards: adds another item group.
Remove itemDeletes a whole item card (shown when there are 2 or more items).
Input TypeRadio Buttons or Slider, followed by Min and Max.

Key Options

OptionDescriptionDefault
Input TypeRadio Buttons or Slider. Radio buttons are limited to 12 scale points.Radio Buttons
Min / MaxThe numeric ends of the scale, for example 1 to 7, 0 to 10 or -3 to 3. Both lie between -100 and 100. Radio buttons show at most 12 points; a slider can use the full range (for example -100 to 100).1 and 7
Slider optionsOnly with Slider: Step Size, an optional Default Value, and under Slider Display Options: Show value above slider, Show tick marks, Show min/max labels.Step 1, no default value, display options off
Required questionWhether every pair must be answered.On
Mobile optimizedOn smartphones sliders use the full width with the words below; radio scales with more than 7 points switch to a slider.On
Group backgroundShade each item group, colour selectable.On
Randomize items (groups) / Randomize pairs within itemsShuffle the item groups, or the pairs inside each group, per participant.Off
Storage pattern

Every pair is stored under its own key, {item_id}_i{item}_p{pair}, for example {item_id}_i1_p1 and {item_id}_i1_p2. The value is the numeric scale position (Min at the left word, Max at the right). Untouched sliders store nothing rather than the browser's default midpoint.

9. Ranking

A Ranking item asks participants to put a set of items in order of preference or importance. The Pizza pizza_order_ranking item lists ten aspects of ordering pizza and asks for the top 5 (Ranking Mode Top N, Interaction Style Drag & Drop).

What participants see

With Drag & Drop, the computer view has two panels. On the left is the pool of all items, each with a grip handle. On the right are the numbered ranking slots between the top label ("Most important") and the bottom label ("Least important"). Participants drag an item from the pool into a slot; a placed item gets its rank number and an button that sends it back to the pool. Items inside the ranking can be dragged to change their order. With Top N there are exactly N slots, so the Pizza item shows 5 slots for 10 items.

Participant view on a computer: pool of seven remaining items on the left, five ranking slots on the right, three of them filled
Figure 15. Drag & Drop ranking on a computer, after three items were dragged into the slots.

On phones, tablets and narrow windows the same item turns into a tap list (Figure 16). The ranking comes first, headed Your Top 5 with a counter ("2 of 5 selected"), followed by Available items. Participants tap + to add an item to the next free slot, move it by its handle and remove it with ×. A participant who tries to continue too early sees "Please rank exactly 5 item(s) before continuing."

The other Interaction Styles look the same on every device: Reorder shows one list of all items that participants sort (Full Ranking only), and Dropdown gives each item a rank dropdown.

Participant view on a phone: Your Top 5 with two items placed and three empty slots, Available items below with plus buttons
Figure 16. The same item on a phone.
The Ranking editor with ten items, the top and bottom labels, Interaction Style, Ranking Mode Top N and Number of Items to Rank 5
Figure 17. The Ranking editor (Pizza item pizza_order_ranking).
No.ButtonWhat it does
1Import from TXTReplaces the items with the lines of a text file.
2T FormattingFormats this item.
3RemoveDeletes the item.
4Add ItemAdds an item at the end.
Interaction StyleDrag & Drop, Reorder or Dropdown. The line below explains the chosen style; the line says how it works on phones.
Ranking ModeFull, Partial or Top N, with the number field next to it.

Key Options

OptionDescriptionDefault
Items to Rank *The things to be ranked, 2 to 30.3 empty
Top Label (Rank 1) / Bottom Label (Last Rank)The captions above and below the ranking slots.Best / Worst
Interaction StyleDrag & Drop, Reorder, or Dropdown (see above). Reorder is only available with Full Ranking.Drag & Drop
Ranking ModeFull Ranking (rank all items), Partial Ranking (rank at least N items) or Top N (rank exactly N items). Partial and Top N reveal a number field (default 3, at most the number of items). With Top N, Dropdown offers the ranks 1 to N.Full Ranking
Randomize initial orderShuffle the starting order per participant (called "Randomize item order" in the add form).Off
Show rank numbersShow the position number next to each ranked item.On
Show slot numbers before items are droppedDrag & Drop only: number the empty slots.On
Best/Worst Label StyleGreen/red text, Colored background (green/red), Black, or Project font color. The Pizza item uses Colored background.Green/red text
Write the instruction to match the mode

Ranking has no Required checkbox: what counts as a complete answer follows from Ranking Mode. Tell participants in the question text how many items to rank. The Pizza item, a Top 5 of 10, says "Out of the 10 aspects below, choose the 5 that matter most to you and put them in order".

Storage pattern

Each item's rank is stored as {item_id}_i1, {item_id}_i2, and so on, in the original item order. The value is the rank assigned to that item (1 = top); items left in the pool stay empty. Each item becomes its own export column. Ranking more than about 7 to 8 items is demanding; for larger sets use Top N or a MaxDiff design.

10. Text Input & Formats

Text Input collects free-text answers. A toggle at the top of the editor switches between Single Line (names, short phrases) and Multi Line (comments, open-ended feedback). The Pizza favorite_topping item uses a single line with the lead-in text "My favorite pizza topping is/are".

Participant view of the favorite topping question with lead-in text before a short field
Figure 18. A single-line Text Input with text before the field.
The Text Input editor in Single Line mode with placeholder, text before field, live preview row, width, max chars, format and alignment
Figure 19. The Text Input editor in Single Line mode.
FieldWhat it does
Single Line / Multi LineSwitches the field type.
PlaceholderGrey hint inside the empty field (up to 500 characters).
RequiredWhether an answer is needed.
Text before / after fieldLead-in and trailing text on the same line. The Preview row below shows the result live.
Width (px)40 to 1000, default 190.
Max charsUp to 500, default 200.
FormatChecks the answer against a pattern (table below).
AlignmentLeft, Center or Right.

Formats (input validation)

FormatWhat it acceptsExample
Free textAnything (no format check).mushrooms
Email addressA basic name@domain.tld shape.anna@example.com
Phone numberAt least 5 characters of digits with optional +, spaces, brackets, dashes, dots or slashes.+49 170 1234567
Web address (URL)A host with a dot, scheme optional.example.com/menu
DateA calendar date; the server verifies it is real.2026-07-03
Custom pattern (regex)Your own regular expression (Validation Pattern (regex)) plus an Error Message.[A-Za-z]+
When formats are checked

The built-in formats are checked in the browser when the participant clicks Next, and again on the server. A custom regex is checked on the server when the page is submitted. Choosing Date hides Max chars, because a date picker does not need it.

Multi-line options

Multi Line gives a text box with Height (Rows) (Small 3, Medium 5 as default, Large 8, Extra Large 10, Huge 15), Min Characters and Max Characters (up to 5000), Show character counter (off) and Allow user to resize (on).

Storage pattern

Both variants store the entered text under {item_id}. Text is sanitized before storage. Open text is valuable but hard to quantify, so use it as a follow-up ("Please explain your choice") rather than a primary measure.

11. Numeric Input

Numeric Input collects a single number and checks it against optional minimum and maximum bounds. You can wrap the field with lead-in and trailing text. The Pizza last_order_amount item reads "I spent [ ] €" with bounds 0 to 999, and age reads "I am [ ] years old".

Participant view of the last order amount question: I spent, a short field, euro sign
Figure 20. A numeric field wrapped with lead-in and unit text.
The Numeric Input editor with text before and after the field, placeholder, min and max value, width, Required, Allow decimals and a live preview
Figure 21. The Numeric Input editor.
FieldWhat it doesDefault
Text before / after fieldLead-in and trailing labels ("I spent" ... "€").Empty
PlaceholderGrey hint inside the field.Empty
Min Value / Max ValueValues outside the range are rejected. Both within ±1,000,000,000; Min must not exceed Max.No limit
Width (px)40 to 1000.150
RequiredWhether a value is needed. Items created by dragging start with Required on.Off
Allow decimalsAccept fractional values. Which decimal separator participants may type is a project setting (Project Settings, Display & Messages); stored values always use a dot.Off
Storage pattern

Stored as {item_id} with the numeric value. Always set sensible bounds: an age field without them might receive 999 or -5. For willingness-to-pay questions, a reasonable upper bound keeps outliers from skewing your analysis.

12. Constant Sum

A Constant Sum item asks participants to split a fixed total across several categories, which forces trade-offs. The Pizza importance_constant_sum item distributes 100 points across five aspects of ordering pizza.

Participant view of the constant sum question with five point fields and a running total of 0 of 100
Figure 22. Constant Sum. The running total and the remaining points update as participants type.
The Constant Sum editor with five items each with Min and Max fields, Target Sum 100 and the option checkboxes
Figure 23. The Constant Sum editor.
Field / buttonWhat it does
Import from TXTReplaces the categories with the lines of a text file.
Min / Max per rowOptional lower and upper bound for that category (0 to 10,000).
/ Add ItemRemove a category or add one (up to 100).
Target Sum *The required total, 1 to 10,000 (default 100).
Unit (optional)Short unit next to the fields, for example points, % or EUR (up to 10 characters).
CheckboxesShow running total (on), Allow decimal numbers (off), Required (on), Randomize items (off).
Storage pattern

Each category is stored as {item_id}_1, {item_id}_2, and so on (no i prefix), with the number allocated. Use 100 for percentage-like weights, or a concrete figure (a 10,000 € budget) for realism. Keep categories under about 8 to avoid overload.

13. Custom HTML

The Custom HTML item inserts your own markup into the survey, for content the standard editors cannot produce, such as a specialized widget or an interactive layout. It is a power-user feature.

<!-- rendered inside the survey page -->
<div class="pizza-scale">
  <label>How hungry are you right now?</label>
  <input type="range" name="hunger" min="0" max="10">
</div>
Figure 24. Custom HTML is written in the editor and sanitized on save. The input's name becomes the variable.

Editor fields and buttons

Field / buttonWhat it does
Safe HTML subset, GuideA box at the top lists what is Allowed, what is Blocked and how data capture works. Guide opens the Custom HTML tutorial.
Starter exampleA collapsible example to copy from.
Question / Instruction (optional)Rich text shown above the HTML.
Variable DefinitionsOne row per survey variable this item fills: Variable Name *, Type * (Text, Numeric, Radio, Checkbox), Required, and for Numeric also Allow Decimals and Min / Max. Up to 100 per item and 300 per project.
Scan HTMLFinds every input, textarea, select and hidden field with a name= and adds it as a variable.
Add manuallyAdds an empty variable row.
HTML Content *The markup, up to 100,000 characters. Sanitized on save: scripts, event handlers, iframes, embeds, form wrappers and external URLs are removed.
CSS Styles (optional)CSS scoped to this item, up to 12,000 characters, also sanitized.

If the fields in your HTML and the declared variables do not match, Save asks first ("HTML fields and variables do not match") with Save anyway and Back to editor.

See the dedicated Custom HTML tutorial

For allowed tags, the sanitization pipeline and capturing values, see the Custom HTML tutorial.

Storage: each value is stored under its declared variable name (up to 5000 characters). With no variables declared, the item is display-only like Text & Media.

14. Market Research

Market Research is a single item type that hosts three classic research methods. You add one "Market Research" item, then pick the method with a card under Research method. Each method has its own settings, its own participant experience, and its own analysis in the results. The Pizza study includes all three: KANO_Pizza, VanWest_Pizza, and GaborGranger_pizza.

The Market Research editor with Kano selected: research method cards, Instructions, Features to test and the Display options card pickers
Figure 25. The Market Research editor (Pizza item KANO_Pizza): the three Research method cards (Kano, Van Westendorp, Gabor-Granger), Features to test, Randomise feature order, and the Display options. The item is locked because it has collected responses.
Method is locked after data arrives

Once the item has collected at least one response (responses in the bin count too), the method, the variable name and all method settings lock so stored answers keep their meaning. A lock note explains this. To field a changed version, duplicate the item; to unlock, permanently delete all of its responses.

Display logic on Market Research items

All three methods accept display logic like any other question (Add Display Logic in the card footer). Because a Market Research item has its own page, a hidden item means the whole page is skipped, forward and backward; respondents never see an empty page. If a respondent answers the item, goes back and changes the filter answer so the item is hidden, the earlier answer is removed. A Market Research item can still not be the source of a logic rule.

14a. Kano, Prioritise features

Kano finds out how much each feature actually matters. For every feature the participant answers two questions: how they would feel if the feature were present (functional), and how they would feel if it were not (dysfunctional). The pair classifies the feature as Must-be, Performance, Attractive, Indifferent, and so on. The Pizza item tests five delivery features, one at a time.

Participant view of the Kano item: one feature with the available and not available questions side by side and coloured answer rings
Figure 26. Kano with the functional and dysfunctional question side by side and the coloured answer scale.
SettingDescription
Features to test *The features to evaluate, 2 rows to start, up to 60, added with Add feature. Feature texts may contain images. A checkbox below the list, Randomise feature order for each respondent, is on by default.
Feature displayOne feature at a time (default, with "Show Back button in one-feature-at-a-time mode") or All features on one page.
Question layoutSide by side (default) or Stacked.
Answer scale styleColoured (default, like-to-dislike spectrum) or Standard.
WordingBoth question texts, the five answer labels, and the stepper texts (Next and Back labels, progress text, required-answer message) are editable. Empty Next/Back labels use the texts from Project Settings.
Instructions (optional) / RequiredAll three methods share an optional Instructions field and a Required (participant must answer) checkbox (on by default).
Kano export

For each feature f the export writes three columns: {var}_f{n}_functional, {var}_f{n}_dysfunctional (both coded like / expect / neutral / tolerate / dislike), and {var}_f{n}_category (A, O, M, I, R, or Q). The results page also plots each feature on the Better/Worse quadrant.

Tips for Kano

14b. Van Westendorp, Acceptable price range

The Van Westendorp Price Sensitivity Meter asks four price questions about one concept: at what price it becomes too cheap, a bargain, expensive, and too expensive. Crossing the resulting cumulative curves yields a perceptual acceptable range and the historical OPP, where equal shares consider the price too cheap and too expensive. OPP is a minimum-resistance balance, not a revenue- or profit-maximizing price. The Pizza item prices a medium Margherita.

Participant view of the Van Westendorp item with four coloured price cards
Figure 27. Van Westendorp's four price questions as coloured price cards.
SettingDescription
Concept name / Concept descriptionOptional name and description of what is being priced (shared with Gabor-Granger).
Currency code / Currency symbol / Currency symbol positionDefaults USD and $, symbol Before (€39.00) or After (39,00 €). Which decimal separator participants may type follows the project setting.
Minimum price / Maximum pricePrices outside are rejected. Defaults 0 and 100000.
Price fieldsColoured cards (default) or Plain.
Question textsThe wording of the four questions (Too cheap, Bargain, Expensive, Too expensive).
Require an increasing price orderOn by default: too cheap < bargain < expensive < too expensive. A second checkbox, Allow equal adjacent prices, relaxes this to non-decreasing.
Qualifying questionOff by default. Ask a qualifying question first puts one question with five answers (Definitely would buy ... Definitely would not buy) above the price questions. Counts as qualified sets the threshold (default "Definitely or probably"). Only qualified respondents see the price questions; the others go straight on with Next. Question and answer labels are editable.
Purchase likelihood (Newton-Miller-Smith)Off by default, available only when Require an increasing price order is on. Ask purchase likelihood at the respondent's own prices adds a second step: after the four prices the respondent selects Continue and answers two five-point questions, one at their own bargain price and one at their own expensive price ({{price}} in the question text becomes that price). Change prices goes back to the price fields and clears both answers. Question texts, answer labels and both button texts are editable.

What the results show

Van Westendorp export

The four prices export as {var}_p1_too_cheap, {var}_p2_bargain, {var}_p3_expensive, and {var}_p4_too_expensive. With a qualifying question, {var}_qualifier holds the answer code (price columns stay empty for respondents who did not qualify); with NMS, {var}_p5_nms_bargain and {var}_p6_nms_expensive hold the two purchase answers. The results page plots the crossing curves, reports PMC/PME only when their boundaries are identified, preserves crossing plateaus as intervals, and labels OPP as a perceptual balance rather than an economic optimum.

14c. Gabor-Granger, Stated purchase intent & revenue index

Gabor-Granger shows one configured price at a time and asks whether the participant would buy at that price. In Choicery's sequential-adaptive mode, a "yes" moves to the next higher tested price and a "no" to the next lower one until the path reaches a ladder boundary or reverses at an adjacent level. The completed path records the highest accepted tested price, not an exact personal willingness-to-pay ceiling. Under the monotone reservation-price assumption, adjacent yes/no decisions bracket a switching interval; all-yes and all-no paths provide one-sided bounds. Across valid responses, Choicery estimates stated would-buy shares and a revenue index (price × stated share) at the configured levels. These are directional survey indicators, not sales or profit forecasts. The Pizza item tests six price levels from $7.90 to $17.90.

Participant view of the Gabor-Granger item: concept, the question Would you buy this product at 11.90 dollars, Yes and No buttons
Figure 28. Gabor-Granger presents one adaptive price at a time, with a Yes / No answer.
SettingDescription
Sequential start strategyFixed midpoint (default) starts everyone at the same middle price (the lower of the two middle levels for an even number of levels). Balanced randomized start uses reproducible participant-ID-aligned permuted blocks across the middle third of the ladder and needs at least four price levels. A release can begin or end inside a block, and counts among completed, analyzable responses can also differ after item skips, dropout, or exclusions.
Price levels to test *The prices to test, up to 10 (default 19, 29, 39, 49, 59), added with Add price level. 4 to 7 levels work well.
Purchase questionThe wording, with {{price}} replaced at each step (default "Would you buy this product at {{price}}?").
Answer scaleYes / No (default) or 5-point purchase intent (Definitely would buy, Probably would buy, Might or might not buy, Probably would not buy, Definitely would not buy). With 5 points the participant sees five buttons stacked; a click answers and moves to the next price. Counts as buying sets which answers move to the next higher price (default "Definitely or probably"); any other answer moves to the next lower price.
Yes label / No labelCustom labels for the two buttons (Yes / No scale). With 5 points, the five answer labels are editable instead.
Qualifying questionSame as in Van Westendorp: one five-point question before the prices, with Counts as qualified. Only respondents who qualify get the price questions. Once the first price is answered, the qualifying answer can no longer be changed.
Completion message (optional)Text shown once the price path is finished.

What the results show

Tips for Gabor-Granger

Use few, clearly separated prices (4 to 7 levels). Prices that differ by only a few cents produce answers that cannot be told apart.

Gabor-Granger export

Each respondent exports {var}_start_price and {var}_start_assignment_policy (the assigned start price and the policy that assigned it), {var}_max_accepted_price (the highest tested price accepted in the recorded path, blank if none; it is not exact personal willingness to pay), and {var}_price_path_json (the full sequence of tested prices and answers). With the 5-point scale, {var}_price{n}_intent holds the answer at each price level (blank if not asked); with a qualifying question, {var}_qualifier holds its answer code. The results page reports analyzed start counts, stated purchase-intent shares, and the revenue index. It marks a single strongest tested price only when the configured ladder is fully estimable, stated demand is positive, and the index maximum is unique.

Comparing groups in the results

On the Market Research results page (Analysis > Survey Analysis), Group by splits the selected item by a grouping variable: a nominal or ordinal question (as set in Variable Config), a variable added in the Data Editor, a Latent Class segment, or the experimental condition. Up to 12 groups are allowed. A comparison table then shows one column per group, a No answer column for respondents without a value, and All. Each cell shows the value, its 95% bootstrap interval and n. Show charts for switches the charts to one group; Gabor-Granger demand, NMS likelihood and Kano Better/Worse also get an overlay with one line or colour per group. The intervals describe the uncertainty within each group; this is not a significance test, and overlapping intervals do not prove that two groups are equal.

15. Evaluation

The Evaluation item presents a set of options as cards and asks participants to react to them: choose one, rate them, allocate points, or rank them. It has its own full-page editor rather than the standard item editor. The Pizza delivery_service_eval item shows three delivery offers and asks which one the participant would choose, with a "None of these" option.

Participant view of the Evaluation item: three delivery offer cards with logo, price, delivery time, fee and rating, and a None of these button
Figure 29. An Evaluation item comparing three delivery offers, with a "None of these" fallback.
The Evaluation editor on its Options step: the left rail with General, Options, Display Options, Response Type and Preview, the Option Style picker and two configured option cards
Figure 30. The Evaluation editor (Pizza item delivery_service_eval), Options step.

The editor steps

Step (left rail)What you set there
GeneralTask Name (Internal) * (default "evaluation", up to 50 characters), Question / Instruction, Required (on), Randomize option order (off), Footer.
OptionsOption Style (Minimal, Simple, Detailed) and the option cards. Add Option sits above and below the list. Each card has a name, an image (Browse Images, Remove Image, Image URL, zoom 50 to 200 percent, crop) and characteristic rows with their own add button. A new card copies the characteristic labels of the previous one. Up to 20 options with up to 20 characteristics each.
Display OptionsLayout Style: Horizontal (default), Vertical or Compact Grid. Card Appearance (not for Vertical): Options per Row (Auto or 2 to 5) and Card Width (160 to 640, default 280). Image Settings: Image Height (default 120), Aspect Ratio, Enable image zoom on click (on). Option Name: Display option name (on).
Response TypeSingle Choice (Pick one), Multiple Choice (Select multiple, with Min / Max Selections), NPS (0-10 Scale, end labels "Not at all likely" / "Extremely likely"), Star Rating (2 to 10 stars), Slider Rating (Min, Max, Step, Start Position, labels, Show current value), Constant Sum (Total Points, allocation instruction) or Ranking (Order by preference). For Single and Multiple Choice also: Include "None of these" option and Click anywhere on card to select (if off, a Select button with editable text appears).
PreviewThe live participant view, with Refresh.

The header shows the save state and the Save evaluation / Save changes button, which stays disabled until something changed. Live counters in the rail show how many options and characteristics you have.

Storage pattern

With Response Type Single Choice, the answer is stored as {item_id}: 0 when "None of these" is chosen, or 1 to N for the selected option. All other response types store one key per option, {item_id}_p1, {item_id}_p2, and so on, plus {item_id}_none. Evaluation is a standalone survey question and does not require a conjoint design.

16. CBC & MaxDiff (Conjoint Tasks)

The Conjoint section of the Add Item panel holds the choice-based tasks, the core of Choicery. They work differently from the survey questions above: instead of a single question, you design a set of attributes and levels, Choicery builds an experimental design, and each task shows the participant competing product profiles to choose between. Conjoint tasks always take their own pages, and their results drive the analysis tools (HB utilities, market simulation, willingness to pay, and so on).

Each conjoint type has its own attribute setup, task layout, and analysis, so each one has its own detailed manual. Open the manual for the type you are building:

Conjoint manuals

Storage: conjoint responses expand into one export column per task, named from the task type and the task name you assigned. CBC writes conjoint_{task name}_t1, MaxDiff writes maxdiff_{task name}_t1_best and _t1_worst, DR-CBC and Best-Worst CBC add their _none columns, and fixed holdout positions are labelled FIXED_t{n}. The same responses are converted to long format for HB estimation. Each manual documents the exact schema and the analysis workflow.

Part III

Structural Items & Advanced Features

Page breaks, end pages, quotas, logic, and survey-design best practices.

17. Page Breaks

A Page Break starts a new page. In the editor it does not appear as a card but as the header of the next page (see Figure 1). Add one with New Page / Page Break in the Add Item panel (inserted immediately) or with Add Page at the end of the flow; remove one with Remove Page Break. Page breaks collect no data and are invisible to participants.

When to use them

Page length

Aim for 3 to 5 questions per page. Too many overwhelms respondents; too few creates excessive clicking. Conjoint and Market Research items always get their own page automatically.

18. End Pages & Outcomes

An End Page is a final screen, usually a thank-you message. Reaching it ends the survey. Every End Page sits alone on its own page. A survey can have several End Pages, for example one thank-you page for people who finished and one "Thank you, unfortunately you do not belong to our target group" page for people who were screened out. Skip logic can jump to a specific End Page. Items placed after the last End Page are never shown, and the editor warns about them.

The End Page editor with the thank you message and the Outcome dropdown set to Complete
Figure 31. The End Page editor with the Outcome setting.
FieldWhat it does
Thank You Message *Rich text shown on the page (called Thank You Content in the add form). Prefilled with "Thank you for your participation! Your responses have been successfully recorded. You may now close this window."
OutcomeHow a response that reaches this page is counted: Complete (default), Screened out or Quality fail. Use the last two for pages that end the survey early.

What the outcomes mean

OutcomeSet byResponse statusCounts for analysis and quotas
CompleteAn End Page with outcome CompletecompleteYes
Screened outAn End Page with outcome Screened outincompleteNo, kept apart (not a dropout)
Quality failAn End Page with outcome Quality failincompleteNo, kept apart (not a dropout)
Quota fullA full quota or the Maximum Responses limit (section 19)incompleteNo, kept apart (not a dropout)

Screened out, Quality fail and Quota full responses never enter the analysis, the dropout figures or the quota counts. The Analysis overview shows them as separate tiles ("Screened", "Quality", "Quota full") and lists them below the funnel as "Ended by the survey and not counted as dropoffs". On an End Page with outcome Screened out or Quality fail, participants see the heading "Survey Ended" instead of "Survey Completed". The preview of an End Page says how respondents reaching it will be marked.

Preview of the Pizza end page with the thank you text and the preview note that respondents will be marked as complete
Figure 32. The End Page preview names the outcome.
Screen-outs: jump to the right End Page

The skip target End Survey (Skip to end) always ends with the outcome Complete (it uses the first End Page set to Complete). To record a screen-out, for example after a declined consent, add an End Page with the outcome Screened out and choose that page as the skip target. The survey also cannot start with an End Page; publishing is refused with "The survey cannot start with an end page."

Storage: the outcome is saved with the response and exported in the column outcome (or response_outcome if a question is already called outcome), with the values complete, screened, quality or quota_full: <quota name>. The column sits in the system block at the right of the export; it is empty for older responses recorded before outcomes existed.

19. Quotas & Panel Redirects

A quota limits how many completed responses each answer of a single-choice question may collect, for example 150 men and 150 women. Once a group is full, further participants in that group end the survey. Quotas are not set in the survey editor but in the project settings: top navigation Settings, section Fieldwork, entry Quotas (between Availability and Privacy).

Setting up a quota

1

Click Add quota (later Add another quota). A new block opens.

2

Under Question, choose the single-choice question whose answers the quota limits. Only Single Choice questions without a quota are offered. The table of answer options appears.

3

Enter a Target for each answer that should be limited. Leave a field empty ("no limit") for answers without a limit. 0 is allowed and closes that group from the start. Optionally change the Name; without one the quota is named after the question.

4

Click Save quotas. Quotas apply at once, also in a running survey, without publishing again.

The Quotas settings card with a saved quota on gender: targets 150 for Male and Female, no limit for Other, status 0 completed 0 in progress
Figure 33. A saved quota on the Pizza question gender: 150 men, 150 women, no limit for "Other".
A new quota block after choosing the question gender, before saving: Not saved yet, empty targets, Counts appear after saving
Figure 34. A new block before saving.
ControlWhat it does
Add quota / Add another quotaAdds a block. Disabled when the survey has 10 quotas, has no single-choice question, or every single-choice question already has a quota; a note says which.
QuestionNew blocks only. A saved quota cannot change its question: remove it and add a new one.
Name (optional)Up to 80 characters, unique per survey. "Maximum Responses" is reserved. The name appears in the export as quota_full: <name>.
TargetWhole number from 0 to 10,000,000, or empty for no limit. An "Other" option of the question gets no target.
StatusAfter saving: "n completed, m in progress"; a Full badge appears once both together reach the target.
Remove quotaRemoves the block. Nothing is deleted until you click Save quotas.
Save quotasSaves all quotas: "Quotas saved. They apply at once, without publishing again."

How quotas are counted

What a participant in a full group sees

The survey ends with the outcome Quota full. The participant sees the Limit Reached Message from Settings > Availability (default: "We have already received the required number of responses. Thank you for your interest!"), or is sent to the Quota full panel link if one is set. The overall limit Maximum Responses (Settings > Availability > Response Limit) works the same way and is recorded as quota_full: Maximum Responses.

Quota questions are protected

While a quota uses a question, the editor refuses to delete or deactivate it, to change its type, and to delete, reorder or replace its options ("This question is used by the quota ... Remove the quota first."). Correcting option texts and adding options at the end is allowed; if the question has "Other" switched on, adding options is refused too. A quota whose question was removed shows "Question not found" and must be removed before you can save.

Panel redirects

When your participants come from a panel provider, you can send them back to the panel at the end. On the Publish page, the card Panel Redirects has one link per outcome: Complete, Screened out, Quota full and Quality fail. Write {panel_id} where the panel expects the participant's ID; Choicery fills in the ID it received in the survey link. A field left empty shows the End Page text (or the Limit Reached Message) instead. Save with Save Panel Redirects; like quotas, the links apply at once without publishing again.

The Panel Redirects card on the Publish page with four link fields for Complete, Screened out, Quota full and Quality fail
Figure 35. The Panel Redirects card on the Publish page.

Links must start with https:// or http://, may be up to 2,000 characters long and allow {panel_id} as the only placeholder, after the domain name. When a panel link is set for an End Page's outcome, the End Page editor notes that participants are sent there; in Preview and test mode the End Page shows the link with TEST as the ID instead of redirecting. Someone who reopens the survey after finishing sees the local page, never a second redirect.

20. Display & Skip Logic

Two related features branch the survey based on earlier answers. Display Logic shows or hides a single item; Skip Logic jumps participants forward over whole pages. Both are configured on the item card itself, through the Add Display Logic and Add Skip Logic links in the card footer (Figure 1, numbers 10 and 11). The Skip & Display Logic entry in the Survey Management panel is a read-only overview of the rules you already have.

How Display Logic works

1

Open the item you want to show or hide and click Add Display Logic in its card footer, then switch on Enable Display Logic. The item is then hidden by default and shown only when the conditions match.

2

Add conditions with + Add Condition, based on answers given earlier in the survey (on an earlier page or above this item on the same page), for example "Show only if children is equal to Yes".

3

Choose ALL (AND) or ANY (OR) in the "Show when ... conditions met" row, then Save. Up to 10 conditions per rule (the same cap applies to Skip Logic). Delete removes an existing rule.

The Display Logic dialog with Enable Display Logic on, the ALL (AND) / ANY (OR) chips and one condition row
Figure 36. The Display Logic dialog: Enable Display Logic, the ALL (AND) / ANY (OR) chips and one condition row (source question, operator, value).

How Skip Logic works

Skip Logic sits on the question that triggers the jump. Click Add Skip Logic in its card footer, switch on Enable Skip Logic, choose ALL (AND) or ANY (OR) in the "Skip when ... conditions met" row, and give each condition a target. After answering, matching respondents jump ahead to the page containing the target; every page in between is skipped. The target can be any item on a later page, a specific End Page, or End Survey (Skip to end), which always ends as Complete (section 18).

The Skip Logic dialog with Enable Skip Logic on and one condition row including its skip target
Figure 37. The Skip Logic dialog: Enable Skip Logic, the ALL (AND) / ANY (OR) chips and one condition row with its skip target.

Condition types

Source questionOperators
Single Choiceis equal to, is not equal to, is empty, is not empty
Multiple Choice (one option)is selected (checkbox), is not selected (checkbox)
Numeric, Grid / Likert, Bipolar Scale, Constant Sumis equal to, is not equal to, is greater than, is less than, is greater than or equal to, is less than or equal to, is empty, is not empty
Text Input (Display Logic only)is equal to, is not equal to, contains, does not contain, is empty, is not empty
Which items can be a source or a target

Skip Logic accepts Single Choice, Multiple Choice, Grid / Likert, Numeric, and Bipolar Scale as sources. Display Logic accepts those plus Text Input and Constant Sum. Choice tasks (CBC, MaxDiff, and the rest) can never be a logic source. Choice tasks and End Pages can never be hidden by display logic. A hidden Market Research item skips its whole page (see section 14).

Evaluated on both sides

Logic runs live in the browser as participants answer, and again on the server at submission. A tampered or stale browser cannot smuggle data for an item that should have been hidden, and required-field checks for visible items are enforced on the server. Items hidden by logic are skipped in validation and collect no data.

Scope of the two rule types

Display Logic can reference any question before the target: on an earlier page or above the target on the same page. Conditions on the same page react while the respondent answers; conditions on earlier pages are checked when the page opens. If the source question was never answered, for example because it was skipped, the condition is not met, except for "is empty". In the editor preview, questions that depend on earlier pages are always shown. Skip Logic works per page: its sources may be anywhere at or before the question that owns the rule, and its target must be on a later page. If a page ends up with every question hidden, respondents still see it empty and continue with Next (the dialog warns "Empty page possible"); to leave out a whole page, use Skip Logic instead. Test every branch in preview before launch.

Check the rules before publishing

The Flow Integrity entry in the Survey Management panel opens a dialog that lists everything needing review before publishing: logic rules that no longer resolve (for example a condition whose source question was deleted or moved), invalid randomization blocks, empty pages and timers on empty pages. Empty pages can be removed there with Remove empty page, and Generate Logic Report writes a repair report. Reordering items can invalidate a rule, so open it after any larger restructuring.

21. Best Practices

Survey design

Technical tips

Data quality

22. Quick Reference Table

Every item type, its internal key, storage pattern, and data type.

Type NameInternal KeyStorage PatternData Type
Text & Mediatext_pageNone (display only)No data
Single Choiceselect{item_id} (plus _o{n}_specify)Original option number, 1-based (categorical)
Multiple Choicecheckboxes{item_id}_ao1, _ao2... (plus _o{n}_specify)One column per option (1 = selected, 0 = not)
Grid / Likertlikert{item_id}_i1, _i2... (Radio cells); {item_id}_i{row}_c{col} (Checkbox / Numeric cells)Scale position per row (ordinal)
Bipolar Scalesemantic_differential{item_id}_i1_p1, _i1_p2...Scale position per pair (ordinal)
Rankingranking{item_id}_i1, _i2...Rank per item (ordinal)
Text Input (single / multi)text_short / text_long{item_id}Free text (string)
Numeric Inputnumeric{item_id}Number (continuous)
Constant Sumconstant_sum{item_id}_1, _2...Allocation per category
Custom HTMLcustom_htmlThe declared variable namesDepends on declared variables
Market Research, Kanomarket_researchExport: {var}_f{n}_functional / _dysfunctional / _categoryKano codes + category
Market Research, Van Westendorpmarket_researchExport: {var}_p1_too_cheap ... _p4_too_expensiveFour prices (metric)
Market Research, Gabor-Grangermarket_researchExport: {var}_start_price, {var}_start_assignment_policy, {var}_max_accepted_price, {var}_price_path_jsonPrice + full path
Evaluationproduct_evaluation{item_id} (Single Choice) or {item_id}_none + _p1, _p2...Option index (0 = none, 1-N), or one value per option
Page Breakpage_breakNone (structural)Structural only
End Pageend_pageExport column outcomecomplete / screened / quality (quota_full set by quotas)
About item IDs

The {item_id} is generated when you create an item (for example select_1c678aed for the Pizza diet item) and never changes, even when you rename the variable. All response data is keyed by item ID, so your data survives variable renames.

Export columns

In the CSV or Excel export, headers use the variable name you assigned, not the item ID. Multi-column items (checkboxes, grid, ranking, constant sum, Market Research) expand into one column per sub-part. ID and status columns come first; system metadata such as outcome and the page-time columns sort to the far right.