Multiple Choice
Präsentiere eine Liste von Optionen, aus denen der Teilnehmer wählen kann. Unterstützt Einzelauswahl, Mehrfachauswahl, freien „Sonstiges"-Text, Zufallsreihenfolge und alphabetische Sortierung. Jede Auswahl kann ein eigenes Bild, Video oder Icon tragen, und die Eigenschaft layout wechselt zwischen einer vertikalen Liste und einem Raster aus Bildkarten — dieser eine Typ deckt also sowohl reine Textoptionen als auch bildbasierte ab.

Typ-Bezeichner: multiple_choice
Eigenschaften
| Eigenschaft | Typ | Beschreibung | Standard |
|---|---|---|---|
choices | Choice[] | Array der Auswahloptionen. Jede Auswahl hat eine id, ein label und ein optionales media. | [] |
layout | string | Wie die Optionen dargestellt werden: stacked (vertikale Liste, optional mit Vorschaubildern), blocks (Raster aus Bildkarten), staggered (inhaltsbreite Chips mit Umbruch) oder grid (Raster mit fester Spaltenzahl). | stacked |
allowMultiple | boolean | Erlaubt dem Teilnehmer, mehr als eine Option auszuwählen. | false |
allowOther | boolean | Zeigt eine „Sonstiges"-Option mit Freitext-Eingabe, in die der Teilnehmer eine eigene Antwort tippen kann. | false |
randomize | boolean | Mischt die Reihenfolge der Optionen bei jeder Anzeige der Frage neu. | false |
alphabeticalOrder | boolean | Sortiert Optionen alphabetisch. Wird ignoriert, wenn randomize aktiviert ist (Zufallsreihenfolge hat Vorrang). | false |
choiceSource | string | Woher die Optionen kommen: fixed verwendet choices; variable lädt sie aus einer Variable. Siehe Optionen aus einer Variable. | fixed |
Choice-Objekt
Jede Auswahl im choices-Array hat:
| Feld | Typ | Beschreibung |
|---|---|---|
id | string | Eindeutiger Bezeichner dieser Auswahl. Wird in Logiksprüngen und der Bewertung verwendet. |
label | string | Der Anzeigetext der Auswahl. |
media | QuestionMedia | Optionales Bild, Video oder Icon für diese Auswahl. Setze media.display, um die Darstellung zu steuern — siehe unten. |
Auswahl-Medien
Jede Auswahl kann eigene Medien tragen. media.display bestimmt, wie sie auf der Auswahl sitzen:
| Darstellung | Beschreibung |
|---|---|
thumbnail | Ein kleines Bild neben der Auswahlbeschriftung. |
background | Das Bild füllt die Auswahlfläche und wird dafür beschnitten. |
background-fit | Das Bild füllt die Auswahlfläche, bleibt aber vollständig sichtbar und wird gegen die Hintergrundfarbe der Auswahl mit Rändern dargestellt. |
Auswahl-Medien unterstützen dieselben Bearbeitungen wie Fragen-Medien — Filter, Farbton, Rahmen, Fokuspunkt und Zoom. Siehe Darstellung von Auswahl-Medien dazu, wie sich Füllen und Einpassen unterscheiden und wann du welches wählst.
Auswahl-Medien sind das, was aus dem früheren Fragetyp Bildauswahl geworden ist. Für ein Raster aus Bildkarten nutzt du Multiple Choice mit layout: "blocks" und gibst jeder Auswahl ein media-Objekt. Aus Typeform importierte Formulare wandeln picture_choice-Fragen automatisch in diese Form um.
Validierung
Ist required auf true gesetzt, muss der Teilnehmer mindestens eine Option auswählen, bevor er fortfahren kann.
Logiksprung-Operatoren
equals, not_equals, is_answered, is_not_answered
Bei equals oder not_equals ist der Vergleichswert die Auswahl-ID. Bei Mehrfachauswahl-Fragen prüft equals, ob der Wert unter den ausgewählten Elementen ist.
Antwortformat
- Einzelauswahl (
allowMultiple: false): Ein string (die ausgewählte Auswahl-ID). - Mehrfachauswahl (
allowMultiple: true): Ein Array von Strings (die ausgewählten Auswahl-IDs).
Bewertung im Quiz-Modus
Multiple Choice ist in allen Quiz-Modi ein bewertbarer Fragetyp:
- Wissensquiz: Setze
correctAnswers(Array der richtigen Auswahl-IDs) undcorrectAnswerScore(Punkte pro richtiger Antwort). - Lead-Qualifizierung: Setze
choiceScores(Zuordnung von Auswahl-ID zu Punktwert). - Match-Quiz: Setze
choiceOutcomes(Zuordnung von Auswahl-ID zu Endbildschirm-Fragen-IDs).
Für die Auswahl stehen Tastenkürzel zur Verfügung. Teilnehmer können Buchstabentasten (A, B, C usw.) drücken, um Optionen auszuwählen — die Kürzel erscheinen als Indikatoren neben jeder Option.
Dropdown
Ein Dropdown-Menü zur Auswahl aus einer Optionsliste. Unterstützt dieselbe Konfiguration wie Multiple Choice, zeigt die Optionen aber in einem kompakten Dropdown-Format. media pro Auswahl und layout gelten hier nicht — ein Dropdown stellt seine Optionen immer als reinen Text dar.

Typ-Bezeichner: dropdown
Eigenschaften
| Eigenschaft | Typ | Beschreibung | Standard |
|---|---|---|---|
choices | Choice[] | Array der Auswahloptionen. | [] |
allowMultiple | boolean | Erlaubt die Auswahl mehrerer Optionen aus dem Dropdown. | false |
allowOther | boolean | Zeigt eine „Sonstiges"-Option mit Freitext-Eingabe. | false |
placeholder | string | Platzhaltertext, der vor einer Auswahl angezeigt wird. | Keiner |
randomize | boolean | Mischt die Reihenfolge der Optionen. | false |
alphabeticalOrder | boolean | Sortiert Optionen alphabetisch. | false |
choiceSource | string | Woher die Optionen kommen: fixed verwendet choices; variable lädt sie aus einer Variable. Siehe Optionen aus einer Variable. | fixed |
Validierung
Ist required auf true gesetzt, muss der Teilnehmer mindestens eine Option auswählen.
Logiksprung-Operatoren
equals, not_equals, is_answered, is_not_answered
Antwortformat
- Einzelauswahl: Ein string (die ausgewählte Auswahl-ID).
- Mehrfachauswahl: Ein Array von Strings (die ausgewählten Auswahl-IDs).
Bewertung im Quiz-Modus
Dropdown ist ein bewertbarer Fragetyp. Die Bewertungskonfiguration ist identisch mit Multiple Choice.
Bildauswahl
Bildauswahl ist kein eigener Fragetyp mehr. Sie wurde in Multiple Choice überführt — es gibt keinen picture_choice-Bezeichner mehr, den du auswählen könntest.
Um dasselbe zu bauen, nutzt du eine Multiple-Choice-Frage mit layout auf blocks und einem media-Objekt an jeder Auswahl. Alles, was die Bildauswahl konnte, steht weiterhin zur Verfügung — dazu die Bearbeitungen, die sie nie hatte: Video- und Icon-Auswahlen, Filter, Farbton, Fokuspunkt, Zoom und ein Einpassen-Modus, der breite Bilder vollständig zeigt, statt sie zu beschneiden.

{
"type": "multiple_choice",
"properties": {
"layout": "blocks",
"choices": [
{ "id": "c1", "label": "Mountains", "media": { "type": "image", "url": "https://…", "display": "background" } },
{ "id": "c2", "label": "Coast", "media": { "type": "image", "url": "https://…", "display": "background" } }
]
}
}
Bestehende Formulare und Typeform-Importe werden für dich übernommen — eine picture_choice-Frage wird automatisch in Multiple Choice mit layout: "blocks" umgewandelt, du musst also nichts neu anlegen.
Ja / Nein
Eine einfache binäre Frage mit „Ja"- und „Nein"-Schaltflächen.

Typ-Bezeichner: yes_no
Eigenschaften
Der Ja/Nein-Fragetyp hat über die gemeinsamen Frageeigenschaften hinaus keine zusätzlichen Eigenschaften.
Validierung
Ist required auf true gesetzt, muss der Teilnehmer entweder „Ja" oder „Nein" anklicken.
Logiksprung-Operatoren
equals, not_equals, is_answered, is_not_answered
Vergleiche bei equals gegen true (Ja) oder false (Nein). Die String-Werte "true" und "false" werden ebenfalls akzeptiert.
Antwortformat
Die Antwort wird als boolean gespeichert (true für Ja, false für Nein, oder null, wenn unbeantwortet).
Bewertung im Quiz-Modus
Ja/Nein ist ein bewertbarer Fragetyp:
- Wissensquiz: Setze
correctAnswersmit einem einzelnen Wert"true"oder"false". - Lead-Qualifizierung: Setze
choiceScoresmit den Schlüsseln"true"und"false". - Match-Quiz: Setze
choiceOutcomesmit den Schlüsseln"true"und"false".
Die Ja/Nein-Frage springt sofort nach der Auswahl automatisch zur nächsten Frage weiter. Es gibt keine separate „OK"-Schaltfläche.
Ranking
Präsentiere eine Liste von Elementen, die der Teilnehmer per Drag-and-drop in seine bevorzugte Reihenfolge bringt.

Typ-Bezeichner: ranking
Eigenschaften
| Eigenschaft | Typ | Beschreibung | Standard |
|---|---|---|---|
choices | Choice[] | Array der zu sortierenden Elemente. Jedes hat eine id und ein label. | [] |
choiceSource | string | Woher die Elemente kommen: fixed verwendet choices; variable lädt sie aus einer Variable. Siehe Optionen aus einer Variable. | fixed |
Validierung
Ist required auf true gesetzt, muss der Teilnehmer ein Ranking übermitteln (alle Elemente müssen in einer definierten Reihenfolge sein).
Logiksprung-Operatoren
equals, not_equals, is_answered, is_not_answered
Antwortformat
Die Antwort wird als Array von Strings gespeichert (Auswahl-IDs in der vom Teilnehmer gewählten Reihenfolge, von zuerst bis zuletzt).
["choice_3", "choice_1", "choice_2"]
Das Ranking-Feld nutzt Drag-and-drop-Interaktion. Auf Mobilgeräten können Teilnehmer Elemente per Touch-Gesten umsortieren.
Matrix
Ein rasterbasierter Fragetyp, bei dem Teilnehmer mehrere Elemente (Zeilen) über mehrere Kategorien (Spalten) bewerten. Jeder Schnittpunkt aus Zeile und Spalte ist eine auswählbare Option.

Typ-Bezeichner: matrix
Eigenschaften
| Eigenschaft | Typ | Beschreibung | Standard |
|---|---|---|---|
rows | string[] | Array der Zeilenbeschriftungen (die zu bewertenden Elemente). | [] |
columns | string[] | Array der Spaltenbeschriftungen (die Bewertungskategorien). | [] |
randomizeRows | boolean | Mischt die Reihenfolge der Zeilen. | false |
randomizeColumns | boolean | Mischt die Reihenfolge der Spalten. | false |
rowSource | string | Woher die Zeilen kommen: fixed verwendet rows; variable lädt sie aus einer Variable. Siehe Optionen aus einer Variable. | fixed |
columnSource | string | Woher die Spalten kommen: fixed verwendet columns; variable lädt sie aus einer Variable. | fixed |
Validierung
Ist required auf true gesetzt, muss der Teilnehmer pro Zeile eine Option auswählen.
Logiksprung-Operatoren
equals, not_equals, is_answered, is_not_answered
Antwortformat
Die Antwort wird als object (Record<string, string>) gespeichert, das jede Zeilenbeschriftung der ausgewählten Spaltenbeschriftung zuordnet:
{
"Product Quality": "Excellent",
"Customer Service": "Good",
"Value for Money": "Average"
}
Matrix-Fragen werden auf dem Desktop als responsives Raster angezeigt und passen sich auf Mobilgeräten für bessere Bedienbarkeit einem gestapelten Format an. Zeilen und Spalten unterstützen unabhängige Zufallsreihenfolgen.
Liste
Erfasse mehrere Einträge derselben Art. Eine Liste enthält entweder einfache Textelemente (tippen und Enter drücken oder auf Hinzufügen tippen) oder wiederholbare Composite-Elemente — strukturierte Einträge auf Basis eines wiederverwendbaren Composites, etwa um beliebig viele Vorstandsmitglieder in einer einzigen Frage hinzuzufügen.
Typ-Bezeichner: list
Eigenschaften
| Eigenschaft | Typ | Beschreibung | Standard |
|---|---|---|---|
itemType | string | string für einfache Textelemente, composite für wiederholbare Composite-Instanzen. | string |
compositeId | string | Das referenzierte Composite (nur Composite-Elemente). Wird über die Auswahl gesetzt. | — |
itemPlaceholder | string | Platzhaltertext für das Eingabefeld (Textelemente). | — |
addButtonLabel | string | Eigene Beschriftung für die Hinzufügen-Schaltfläche in beiden Element-Modi. | — |
minItems | number | Minimale Anzahl an Elementen, die zum Absenden erforderlich ist. | — |
maxItems | number | Maximale Anzahl an Elementen. Harte Obergrenze 100. | 100 |
itemRegex | string | Validierungsmuster pro Element (Textelemente). | — |
itemRegexError | string | Fehlermeldung, wenn das Muster nicht erfüllt ist. | — |
itemMinLength | number | Minimale Zeichenanzahl pro Element (Textelemente). | — |
itemMaxLength | number | Maximale Zeichenanzahl pro Element (Textelemente). | — |
allowDuplicates | boolean | Erlaubt, dasselbe Textelement zweimal hinzuzufügen (Textelemente). | true |
allowReorder | boolean | Lässt Teilnehmer Elemente per Ziehen umsortieren (Textelemente). | true |
defaultItems | string[] | Beim ersten Laden der Frage vorbefüllte Elemente (Textelemente, Web-Formulare). | [] |
displayMode | string | Wie ein eingeklappter Composite-Eintrag gerendert wird: compact (einzeilige Zusammenfassung) oder card (jede Feldbeschriftung + Wert). | compact |
compactFields | string[] | Geordnete Unterfeld-IDs, die in der kompakten eingeklappten Zusammenfassung angezeigt werden. Standard ist das erste Feld des Composites. | — |
Validierung
Ist required auf true gesetzt, muss mindestens ein Element hinzugefügt werden. minItems / maxItems werden beim Absenden durchgesetzt; Muster- und Längenregeln pro Element (Textelemente) werden beim Hinzufügen jedes Elements durchgesetzt.
Logiksprung-Operatoren
list_count_equals, list_count_greater_than, list_count_less_than, contains, not_contains, is_answered, is_not_answered
Die Zähloperatoren vergleichen gegen die Anzahl der Elemente in der Antwort.
Antwortformat
- Textelemente: ein Array von Strings.
- Composite-Elemente: ein Array von Objekten, jeweils mit Unterfeld-IDs als Schlüssel:
[
{ "sub_first_name": "Ada", "sub_email": "ada@example.com" },
{ "sub_first_name": "Grace", "sub_email": "grace@example.com" }
]
Jedes Composite-Element wird zusätzlich als eigenständiger Composite-Eintrag erfasst — siehe die Composites-Anleitung für die formularübergreifende Einträge-Ansicht und die eingeklappten Anzeigemodi.
Optionen aus einer Variable
Multiple Choice, Dropdown und Ranking können ihre Optionen statt aus einer festen Liste aus einer Variable laden — meist aus der Antwort eines Datenknotens, der deine API aufruft. Eine Matrix kann das Gleiche für ihre Zeilen, ihre Spalten oder beides.
Einrichtung
- Füge einen Datenknoten hinzu, der die Liste zurückgibt, und gib ihm eine Antwort-Variable — zum Beispiel
breeds. - Stelle in den Einstellungen der Frage Quelle der Optionen von Feste Liste (der Voreinstellung) auf Aus einer Variable um. Bei einer Matrix verwendest du Quelle der Zeilen und Quelle der Spalten.
- Gib die Variable ein, die die Liste enthält:
{breeds}oder einen Pfad in die Antwort wie{breeds.data}. - Verwenden deine Einträge nicht die Schlüssel
labelundvalue, öffne Deine Einträge verwenden andere Feldnamen? und trage das Feld für Beschriftung und das Feld für Wert ein, die deine Daten verwenden.
In einem Formular im NueForm-Stil platzierst du den Datenknoten vor der Frage. In einem Formular im Fragebogen-Stil stellst du Wann ausführen des Datenknotens auf Aktuell halten, damit die Liste den Antworten des Teilnehmers folgt — siehe Fragebogen-Stil.
Diese Quell-Einstellungen gibt es nur bei Fragen, die direkt im Formular stehen. Bei einer Frage in einer Fragengruppe, einer Seite mit mehreren Fragen oder einem Composite zeigt der Builder sie nicht an, weil diese Fragen ihre Antwort in der Antwort des übergeordneten Elements speichern, wo die Beschriftungen nicht erhalten bleiben können. Eine Frage, die ihre Optionen bereits aus einer Variable lädt, behält die Einstellung, wenn du sie in eines davon verschiebst — ihre Antworten zeigen dann aber die Werte der Einträge statt der Beschriftungen.
Auf der Builder-Arbeitsfläche zeigt die Frage statt ihrer Optionen Optionen aus {breeds} an.
Unterstützte Formate
Die Variable muss eine JSON-Liste enthalten — entweder einfache Strings, bei denen jeder String zugleich Beschriftung und Wert ist:
["Siamese", "Persian"]
oder Objekte mit Beschriftung und Wert:
[
{ "label": "Siamese", "value": "siamese" },
{ "label": "Persian", "value": "persian" }
]
Objekte mit anderen Schlüsseln funktionieren auch — benenne die Schlüssel mit Feld für Beschriftung und Feld für Wert. Für diese Antwort verwendest du die Variable {breeds.data}, Feld für Beschriftung name und Feld für Wert id:
{ "data": [{ "name": "Siamese", "id": "siamese" }, { "name": "Persian", "id": "persian" }] }
Bei Multiple Choice kann ein Eintrag außerdem eine image-URL enthalten, die zum Bild dieser Option wird:
[{ "label": "Siamese", "value": "siamese", "image": "https://example.com/siamese.jpg" }]
Ist die Antwort ein Objekt, verweise mit einem Punktpfad wie {breeds.data} auf die Liste darin. Für einen Schlüssel, der kein einfaches Wort ist, verwende {breeds["the list"]}.
So werden die Einträge gelesen
- Der Wert jedes Eintrags wird zu seiner Auswahl-ID. Er ist das, was die Antwort speichert, was Logikbedingungen vergleichen und was die Quiz-Punktevergabe abgleicht.
- Hat ein Objekt nur eine Beschriftung oder nur einen Wert, wird dieser für beides verwendet. Zahlen und
true/falsewerden als Text gelesen. - Einträge ohne Wert oder mit demselben Wert wie ein früherer Eintrag werden übersprungen, ebenso Werte mit mehr als 500 Zeichen. Beschriftungen mit mehr als 500 Zeichen werden gekürzt, und nur die ersten 1.000 Einträge werden verwendet.
- Beschriftungen werden als reiner Text angezeigt: Formatierungen werden nicht angewendet, und
{variable}-Platzhalter darin werden nicht ersetzt. - „Sonstiges“ funktioniert bei Multiple Choice und Dropdown weiterhin: Es erscheint nach den geladenen Einträgen.
- Die übrigen Einstellungen der Frage — etwa Mehrfachauswahl erlauben, Zufällige Reihenfolge und Alphabetische Reihenfolge — gelten wie gewohnt für die geladenen Einträge.
- Ein Datenknoten behält bis zu 4.096 Zeichen seiner Antwort, eine lange Liste kann also abgeschnitten ankommen. Siehe Datenknoten-Antworten als Optionslisten.
Was Teilnehmer sehen
Es gibt keine feste Ersatzliste. Solange die Variable keine verwendbare Liste enthält, zeigt die Frage statt der Optionen eine der ersten drei Meldungen unten. Die letzte erscheint über den Optionen, nachdem sich die Liste geändert hat:
| Meldung | Wann |
|---|---|
| Optionen werden geladen… | Der Datenknoten, der die Liste füllt, läuft gerade. |
| Die Optionen erscheinen, sobald du die Fragen oben beantwortet hast. | Die Variable ist noch leer — meist, weil der Datenknoten auf eine Antwort wartet. |
| Diese Optionen konnten nicht geladen werden. | Die Variable enthält keine verwendbare Liste. Die Builder-Vorschau zeigt dir auch, warum. |
| Aktualisiert anhand deiner vorherigen Antwort. | Die Liste hat sich geändert und eine Option, die der Teilnehmer gewählt hatte, wird nicht mehr angeboten — sie wurde deshalb entfernt. |
Gespeicherte Antworten
- Die Antwort speichert die Werte der Einträge, genau wie Auswahl-IDs. Bei einer Matrix ordnet sie jedem Zeilenwert den Wert der gewählten Spalte zu.
- Die Beschriftungen, die der Teilnehmer gesehen hat, werden mit der Antwort gespeichert — Antworten, CSV-Exporte und Benachrichtigungs-E-Mails zeigen daher Beschriftungen statt Werten.
- Webhooks senden die Werte zusammen mit einer
valueLabels-Zuordnung von jedem gewählten Wert zu seiner Beschriftung – bei Übermittlungen im Web ebenso wie per Telefonanruf. - Die Liste wird geladen, während der Teilnehmer das Formular ausfüllt, deshalb prüft NueForm übermittelte Werte nicht erneut gegen sie. Pflichtfragen werden weiterhin durchgesetzt. Muss eine Antwort zu deinen eigenen Einträgen gehören, prüfe das in deinem System, wenn du die Antwort verarbeitest.
Punktevergabe und Bedingungen
- Punktevergabe: Es gibt keine feste Liste zum Ankreuzen, daher fragt der Editor stattdessen nach Werten der Einträge, die exakt übereinstimmen müssen („Muss exakt dem Wert des Eintrags entsprechen.“). Siehe Formularmodi.
- Bedingungen: Logiksprünge und Sichtbarkeitsbedingungen für diese Fragen verwenden Text-Operatoren und einen eingetippten Wert. Bei einer Matrix bietet der Bedingungs-Editor nur
is_answeredundis_not_answeredan, weil ihre Antwort Zeilen mit Spalten verknüpft. Siehe Logiksprünge. - Telefonanrufe: Der Agent liest jede Option der Liste vor, und Anrufer können eine Option sagen oder ihre Nummer drücken. Siehe Telefonie.
Quell-Eigenschaften
| Eigenschaft | Typ | Beschreibung | Standard |
|---|---|---|---|
choiceSource | string | fixed verwendet choices. variable lädt die Optionen aus choiceVariable, und choices wird ignoriert. | fixed |
choiceVariable | string | Die Variable mit der Liste, etwa {breeds} oder {breeds.data}. | — |
choiceLabelField | string | Bei Objekt-Einträgen: der Schlüssel mit der Beschriftung jedes Eintrags. | label |
choiceValueField | string | Bei Objekt-Einträgen: der Schlüssel mit dem Wert jedes Eintrags. | value |
Eine Matrix hat für jede Achse denselben Satz: rowSource, rowVariable, rowLabelField, rowValueField und columnSource, columnVariable, columnLabelField, columnValueField.