> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sprig.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Question Types

> Learn about the question types available in Sprig.

# Supported Question Types

By default, every question type is supported across all:

* Plans (Free, Starter, and Enterprise)
* Study Types (In-Product Surveys, Surveys, Feedback Studies, and Prototype Tests)
* Delivery Methods (Web, Mobile, and Link)
* Survey Formats (Conversational and Standard)

Exceptions are noted in the **Constraints** column below:

| **Question Type**                                                                                           | **Description**                                                                                                                                                   | **Constraints**                                                                   |
| :---------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------- |
| [<u>Rating Scale</u>](https://docs.sprig.com/docs/questions#rating-scale)                                   | Also known as a Likert scale. Used to measure respondents' attitudes toward a statement.                                                                          |                                                                                   |
| [<u>Open Text</u>](https://docs.sprig.com/docs/questions#open-text)                                         | Open text response to a text question. Our AI Analysis constructs themes based on these responses. We also support AI Follow-up Questions for this question type. |                                                                                   |
| [<u>Validated Text</u>](/docs/shared-study-foundations/main-tasks/questions#validated-text)                 | Validates that a respondent's text answer matches a required format, like an email address, phone number, URL, or a custom pattern.                               | Not available on Heatmap or Replay studies.                                       |
| [<u>Matrix / Accordion</u>](https://docs.sprig.com/docs/questions#matrix--accordion)                        | Allows you to collect many responses for similar question sets.                                                                                                   |                                                                                   |
| [<u>Multiple Choice Single-Select</u>](https://docs.sprig.com/docs/questions#multiple-choice-single-select) | Users may select only one option from a list.                                                                                                                     |                                                                                   |
| [<u>Multiple Choice Multi-Select</u>](https://docs.sprig.com/docs/questions#multiple-choice-multi-select)   | Users may select multiple options from a list.                                                                                                                    |                                                                                   |
| [<u>NPS</u>](https://docs.sprig.com/docs/questions#net-promoter-score)                                      | NPS measures customer loyalty on a scale from 0 to 10. Results are automatically categorized into Promoters, Passives, and Detractors.                            |                                                                                   |
| [<u>Consent / Legal</u>](https://docs.sprig.com/docs/questions#consent--legal)                              | Enable respondents to consent to disclaimers before conducting the study.                                                                                         | Only available on In-Product and Surveys.                                         |
| [<u>Text / URL prompt</u>](https://docs.sprig.com/docs/questions#text--url-prompt)                          | Used to introduce or conclude a study, or permit the study respondent to navigate to a URL.                                                                       |                                                                                   |
| [<u>Video and Voice</u>](https://docs.sprig.com/docs/questions#video-and-voice)                             | Enable respondents to provide video and audio-only questions and responses.                                                                                       | Not supported on Feedback Studies.                                                |
| [<u>Rank Order</u>](https://docs.sprig.com/docs/questions#rank-order)                                       | Enable respondents to prioritize a set of options so you can make data-driven decisions.                                                                          | Only available on Enterprise Plans. Only available on In-Product and Surveys.     |
| [<u>Recorded Task</u>](https://docs.sprig.com/docs/prototype-testing#recorded-task)                         | Allows you to watch a user attempt a specific goal in your prototype while capturing their screen, voice, and video.                                              | Only available on Enterprise Plans. Only available on Prototype Tests.            |
| [<u>MaxDiff</u>](https://docs.sprig.com/docs/questions#maxdiff)                                             | Gather granular preference information on longer lists of items.                                                                                                  | Only available on Enterprise Plans. Only available on Surveys in Standard Format. |
| [Conjoint](https://docs.sprig.com/docs/shared-study-foundations/main-tasks/questions#conjoint)              | Collect detailed preference data to make pricing and packaging decisions.                                                                                         | Only available on Enterprise Plans. Only available on Surveys in Standard Format. |
| Multi-Question: Single Page                                                                                 | Add a page that can contain multiple questions.                                                                                                                   | Only available on Surveys.                                                        |

<Warning>
  **Note:** Video and Voice and Recorded Task questions are not supported in HIPAA-compliant environments.
</Warning>

# Supported Question Types

## Rating Scale

A Rating or Likert scale is a type of scale used in survey research that measures respondents’ attitudes towards a certain subject. You can change the range or number of points, the labels, icons, and the lowest and highest value labels.

<Accordion title="Rating Scale Skip Logic" iconColor="rgb(66, 70, 140)">
  There are eight options for configuring skip logic on numerical question types.

  1. is equal to
  2. is not equal to
  3. is less than
  4. is less than or equal to
  5. is greater than
  6. is greater than or equal to
  7. is submitted (any value selected)
  8. is skipped (no value selected)
</Accordion>

## Net Promoter Score

Net promoter score (NPS) is a widely used market research metric that typically takes the form of a single survey question asking respondents to rate the likelihood that they would recommend a company, product, or service to a friend or colleague. NPS is a commonly requested sentiment score that investors and boards review across companies, segments and verticals. For more information on NPS, click [here](/docs/study-best-practices/measuring-cx/should-you-be-tracking-nps).

<Accordion title="NPS Skip Logic" iconColor="rgb(66, 70, 140)">
  There are eight options for configuring skip logic on numerical question types.

  1. is equal to
  2. is not equal to
  3. is less than
  4. is less than or equal to
  5. is greater than
  6. is greater than or equal to
  7. is submitted (any value selected)
  8. is skipped (no value selected)
</Accordion>

## Open Text

Open Text uses AI [Thematic Clustering](/docs/native-ai/synthesize-agent/ai-powered-open-text-analysis#how-it-works) to automatically group qualitative responses to text-based questions into themes.

#### AI Follow-up Questions

Open Text questions support AI-powered follow-up questions. When enabled, Sprig AI dynamically generates a contextual follow-up based on the respondent's open text response, surfacing deeper insights without requiring you to anticipate every answer path in advance. To enable AI follow-up questions on an Open Text question, toggle AI Follow-up Question on in the question settings. See [AI Follow-up Question](/docs/native-ai/field-agent/ai-follow-ups) for full configuration details and best practices.

<Accordion title="Open Text Skip Logic" iconColor="rgb(66, 70, 140)">
  There are four options for configuring skip logic on Open Text question types.

  1. is submitted (any value selected)
  2. is skipped (no value selected)
  3. contains
  4. does not contain
</Accordion>

## Validated Text

Validated Text questions ensure a respondent's text answer matches a specific format, so the data you collect is usable right away instead of needing to be cleaned up after the fact.

#### Supported Formats

When adding a Validated Text question, choose one of the following formats to validate a respondent's answer against:

* **Email address**
* **Numeric** (numbers only)
* **URL**
* **Phone number**
* **Custom** (define your own format using a regular expression)

#### Error Messaging

If a respondent's answer doesn't match the selected format, they'll see an error message explaining what's wrong before they can continue. This message can be customized and translated like other study copy.

#### Required vs. Optional Behavior

* **Required questions:** If the response doesn't pass validation, the respondent cannot advance to the next question.
* **Optional questions:** Respondents can leave the question blank and proceed. However, if they enter any text, it must pass validation before they can proceed.

#### Feature Support

* Validated Text questions support the same logic options as Open Text questions.
* AI Follow-up Questions and Open Text theming/AI analysis are not supported for this question type.
* It's not possible to add a prototype link to a Validated Text question.

#### Configuration Notes

* Translations are supported, including custom error messages.
* The global Open Text footer setting (Settings > Surveys) does not apply to Validated Text questions.

<Accordion title="There are minimum SDK version requirements to support Validated Text questions." icon="exclamation" iconColor="rgb(255, 212, 59)">
  | Platform     | Minimum SDK Version |
  | :----------- | :------------------ |
  | Web          | 2.51.0              |
  | iOS          | Coming soon         |
  | Android      | Coming soon         |
  | React Native | Coming soon         |

  <br />
</Accordion>

<Accordion title="Validated Text Skip Logic" iconColor="rgb(66, 70, 140)">
  There are four options for configuring skip logic on Validated Text question types.

  1. is submitted (any value entered)
  2. is skipped (no value entered)
  3. contains
  4. does not contain
</Accordion>

## Matrix / Accordion

Matrix questions bundle multiple questions sharing the same rating scale or response options into one cohesive table. Rows represent different items being evaluated, while columns represent the scale.

<Accordion title="There are minimum SDK version requirements to support Matrix questions." icon="exclamation" iconColor="rgb(255, 212, 59)">
  | Platform     | Minimum SDK Version                                                               |
  | :----------- | :-------------------------------------------------------------------------------- |
  | Web          | 2.25.1 (Desktop), 2.32.0 (Accordion on Desktop), 2.31.2 (Accordion on Mobile Web) |
  | iOS          | 4.22.3                                                                            |
  | Android      | 2.16.4                                                                            |
  | React Native | 2.17.0                                                                            |

  <br />
</Accordion>

#### Display Behavior

* Desktop Web: Defaults as a full-scale matrix, with an option to *always display as an accordion on desktop*
* Mobile Web & Mobile Apps: Always displayed as an accordion (full-scale matrix not supported)

#### Editing Post-Launch

Matrix rows and columns cannot be deleted or reordered after launching a survey, but new rows and columns can be added as needed.

<Accordion title="Matrix Skip Logic" iconColor="rgb(66, 70, 140)">
  There are three options for configuring skip logic on Matrix questions.

  1. is completely submitted (an answer is provided for every row)
  2. is partially submitted (an answer is provided for at least one, but not all rows)
  3. is skipped
</Accordion>

## Multiple Choice

Multiple choice questions allow respondents to select one or more options from a list, depending on whether they are allowed to select one, a range, or unlimited options. Both single- and multi-select options support the following two configurations:

#### Randomized Order Supported

The order of responses shown to the user can be randomized using the **Randomize Order** dropdown menu. Additionally, users can configure choices to be pinned to the bottom of the list of responses by adding a **Pinned Choice**, even alongside an **Other** choice.

#### Display as Dropdown

You can choose to display multiple choice questions as a dropdown instead of a list by toggling *Show choices in a dropdown* ON. Note: When using the "Other" choice option, displaying as a drop-down is not supported.

### Multiple Choice Single-Select

The multiple-choice single-select question type allows a respondent to choose only one option from a list of possible answers.

<Accordion title="Single-Select Skip Logic" iconColor="rgb(66, 70, 140)">
  There are three options for configuring skip logic on Single-Select questions.

  1. is
  2. is not
  3. is submitted (any value selected)
</Accordion>

<Expandable title="Using Images in Response Options">
  **Using Images in Response Options**

  * Add an image to each answer choice in a multiple choice question, so respondents pick between designs, layouts, or products by seeing them, not by reading a description of them.
  * Visual questions used to require a workaround: describing each option in text, linking out to external mocks, or running the study in another tool. Every workaround had the same problem. When you describe a design in words, respondents react to your description, not the design. Images in response options removes that gap. The thing you're testing is the thing they see.

      <img src="https://mintcdn.com/sprig/THcwZ8AuChpcuMMU/images/Images-in-Response-Options.png?fit=max&auto=format&n=THcwZ8AuChpcuMMU&q=85&s=5f5de1af5bd9b49fa099a9171c3fd1f4" alt="Images In Response Options" width="1800" height="1284" data-path="images/Images-in-Response-Options.png" />

  ## What it does

  * Images in response options is a display mode for multiple choice questions.
  * Turn it on, and each answer choice gets an image alongside its text label.
  * Respondents see the choices as tappable image cards: image on top, label underneath, and a border when selected.
  * Under the hood, it's still a multiple choice question. Skip logic, randomization, and reporting all work exactly as they do today, because they operate on the option, not the image. You're not learning a new question type; you're adding pictures to one you already use.

  ## Where it's available

  * **Question types:** Multiple Choice Single Select and Multiple Choice Multi Select.
  * **Study types:** Surveys only.
  * **Plans:** All plans (Free, Starter, and Enterprise).
  * **SDK:** An updated SDK version is required for respondents to see image cards.

  ## How to set it up

  1. In the builder, add a Multiple Choice Single Select or Multi Select question.
  2. Switch the choice list to **With Image** mode. Each choice row gets an image slot.
  3. Click the image slot on a choice and upload a JPEG, PNG, or WebP file, up to 10MB.
  4. Give each choice a text label. Labels are always required, because they power reporting, the Data tab, piping, and AI Follow-ups.
  5. Optionally add alt text for each image. If you leave it empty, screen readers use the text label instead.
  6. Launch. Sprig won't let you launch a survey if any image option is missing its image, so you'll never accidentally ship a blank card.

  A few builder behaviors to know:

  * **Randomize order** works as usual. Cards shuffle as units, so each image stays with its option.
  * **Show choices in a dropdown** is disabled in With Image mode, since dropdowns can't render images.
  * **Other (please specify)** and **None of the Above** stay as text rows. They never get an image slot, and that's by design.

  ## What respondents see

  * Choices render as a grid of image cards.
  * With fewer than 15 options, respondents see 2 columns; with 15 or more, 3 columns.
  * Tapping a card selects it and highlights the border. Respondents can right-click an image to open it full size in a new tab.
  * Images display without cropping. Sprig fits the whole image inside the card rather than zooming or trimming it, so the corner of your design that matters doesn't get cut off.
  * **If an image ever fails to load**, the option falls back to a standard text row and the respondent can still answer normally. A broken image never blocks a response.

  ## How results show up

  * **Responses page:** each selected option appears as a thumbnail chip with its label and an expand icon that opens the full-size image. No more mapping "Option B" back to a screenshot from memory.
  * **Data tab:** the question card shows each option's thumbnail next to its aggregate counts, with the same expand affordance.
  * **CSV exports:** rows carry the option text, as they do today.
  * **Charts:** option breakdowns show images as above. Other chart types (pie, line) are unchanged.

  ## Works with, doesn't work with

  **Works with:**

  * Skip logic, randomization, and quotas. All unchanged.
  * AI Follow-ups. They read the text label, so follow-up questions reference your options naturally.

  **Not supported:**

  * Carry forward. Questions with images can't be a carry forward source or destination.
  * An image library. Uploads are per survey for now.
  * Image editing (cropping, borders, aspect ratio adjustments). Upload the image the way you want it shown.
  * Images-only mode. Text labels are always shown and always required.

  ## FAQ

  **Do I have to add an image to every choice?**

  Every choice except Other and None of the Above needs an image before you can launch. Mixing image cards and text rows in one question isn't a supported authoring setup, though a failed image load will gracefully render as text.

  **What happens if I delete a choice?**

  It's image and alt text are deleted with it. Duplicating a question copies the images and alt text along with everything else.

  **Does this change my data or exports?**

  No. Responses are still recorded against the option, exactly as before. The image is presentation only.

  **What file types and sizes are supported?**

  JPEG, PNG, and WebP, up to 10MB per image. Unsupported or oversized files show an error in the upload modal.
</Expandable>

### Multiple Choice Multi-Select

The multiple choice multi-select question type allows a respondent to choose multiple options from a list of possible answers.

#### Response Validation Options (also known as "Max Selectable")

There are three options for constraining responses to **Multiple Choice Multi-Select** questions:

1. **Unlimited** (default) - Respondents can select as many choices as they'd like.
2. **Maximum** - Set a maximum for the number of choices respondents can select.
   1. Once the maximum has been reached, remaining choices will become unselectable.
3. **Range** - Define a minimum and maximum number of choices that respondents can select.
   1. The lowest a minimum can be is 1, and the maximum can be up to the total number of choices in the list.
   2. If a question is optional, respondents can skip it entirely. However, if they select any option, they must meet the minimum requirement to proceed.
   3. Respondents will see a numeric indicator to know how many options they need to select to meet the minimum. The indicator will disappear once it's been met.

Best practice: Describe the validation requirements in the question or description so respondents know what's expected.

#### None of the Above Choice

For Multiple Choice Multi-Select questions, a **None of the Above** choice can be added to the list of options. When selected by a respondent, other options are automatically deselected.

* If Range or Maximum is selected for the question, a "None of the above" option cannot be added to the question.
* Similarly, if "None of the above" is already one of the options, you cannot change the Selection Amount to Range or Maximum.
* Remove the "None of the above" option to change the validation type.

<Accordion title="Multiple-Select Skip Logic" iconColor="rgb(66, 70, 140)">
  Skip logic for multi-select questions triggers based on how the respondent's collective choices match your defined criteria. There are four options for configuring skip logic on Multi-Select questions.

  1. is exactly: evaluates to TRUE when respondent selects the EXACT options specified.
     | **Rule**        | **Options** | **Result** |
     | :-------------- | :---------- | :--------- |
     | Exactly \[a, b] | \[a]        | false      |
     | Exactly \[a, b] | \[a, b]     | true       |
     | Exactly \[a, b] | \[a, b, c]  | false      |
  2. includes all: evaluates to TRUE when respondents select ALL that are included within specified options.
     | **Rule**             | **Options** | **Result** |
     | :------------------- | :---------- | :--------- |
     | Includes all \[a, b] | \[a]        | false      |
     | Includes all \[a, b] | \[a, b]     | true       |
     | Includes all \[a, b] | \[a, b, c]  | true       |
  3. includes at least one: evaluates to TRUE when respondents select one or more options specified.
     | **Rule**                      | **Options** | **Result** |
     | :---------------------------- | :---------- | :--------- |
     | Includes at least one \[a, b] | \[a]        | true       |
     | Includes at least one \[a, b] | \[a, b]     | true       |
     | Includes at least one \[a, b] | \[a, c]     | true       |
     | Includes at least one \[a, b] | \[c]        | false      |
  4. does not include: evaluates to TRUE when respondents do not select ANY of the options specified.
     | **Rule**                 | **Options** | **Result** |
     | :----------------------- | :---------- | :--------- |
     | Does not include \[a, b] | \[a]        | false      |
     | Does not include \[a, b] | \[c]        | true       |
     | Does not include \[a, b] | \[a, b]     | false      |
     | Does not include \[a, b] | \[c, d]     | true       |

  <Warning>
    If multiple skip logic statements are true, visitors will be routed to a **randomly selected** true logic statement.

    For example:

    * includes at least one \[a or b] = skip to 2
    * includes all \[a and b] = skip to 3

    If the user selects **a and b**, they are routed to a randomly selected TRUE logic statement. In the example above, a visitor would have an equal chance of landing on question 2 or 3.
  </Warning>

  <br />
</Accordion>

## Text / URL Prompt

The Text / URL prompt can be used to add messaging for respondents into a study or redirect respondents to an external site. It comprises two text fields and a button that can go to the next question or a URL.

The steps to create a study with a Text / URL prompt are:

1. Select **Text / URL Prompt** from the **Add Question** menu.
2. Type in your purpose, question, or statement in the **Title** and **Description** fields. Both fields allow rich text formatting. Rich text formatting is supported on Web SDK v2.14.9 and later.
3. Select when the respondent clicks the button whether you want the navigation to continue in the survey or link to an external URL.
4. Type in the text for the button
5. If you selected **Button to link to an external URL**, type in the URL you want the respondent to navigate to. To construct unique links for each participant, you can enrich each link with the visitor's User ID.

<Accordion title="Text/URL Prompt Skip Logic" iconColor="rgb(66, 70, 140)">
  There are two options for configuring skip logic on Text/URL questions.

  1. is submitted (user selects the button, whether it links to a URL or not)
  2. is skipped
</Accordion>

### Identifying the Visitor

If you use a **Button to link to an external URL**, you can pass respondents' email and/or User ID to the destination website.  This can be useful for [recruiting participants](/docs/study-best-practices/recruiting-participants) or connecting responses across different platforms, or to a Sprig Survey. More about using an In-Product Survey to navigate to Surveys [here](/docs/sprig-studies/long-form-surveys/delivering-lfs#linking-from-an-in-product-survey).

#### How to Use

* Add `{{email}}` or `{{user_id}}` to your URL. Sprig will automatically swap these with the respondent's actual data when they click the button.
  * For example, `https://website.com/schedule?id={{user_id}}&email={{email}}` might become `https://website.com/schedule?id=23481&email=sara@example.com`.
  * The exact format for the user ID and email name-value pairs may vary by destination site.
* To make user ID and email available in button URLs in studies, ensure they're set on the user before the study is displayed. If there's no value found for a parameter, it is removed from the URL so the link doesn't break.
  * For example, if a visitor accessed `https://website.com/schedule?id={{user_id}}&email={{email}}` but only had a User ID set (and no email), it would become `https://website.com/schedule?id=23481`.

<Accordion title="There are minimum SDK version requirements to support enriching URLs with user identity." iconColor="rgb(255, 212, 59)">
  | Platform     | Minimum SDK Version |
  | :----------- | :------------------ |
  | Web          | 2.15.3              |
  | iOS          | 4.3.0               |
  | Android      | 2.6.0               |
  | React Native | 2.6.0               |

  <br />
</Accordion>

#### Sending Identity vs. Capturing Identity

To use identity placeholders (like `{{email}}`) in a Text/URL prompt, Sprig must first "know" who the visitor is.

**Sending Identity through In-Product Surveys (Outgoing)**: Once Sprig has captured the data, you can "pass" it to an external URL using this button. Data must already be in Sprig (via the SDK or CSV upload). End goal: an outgoing Button URL set to`https://website.com/schedule?email={{email}}` might become `https://website.com/schedule?email=sara@example.com`.

**Capturing Identity into Surveys  (Incoming)**: To store a Survey respondent's user identity, you must "inject" the identity by adding the `{{user_id}}` or`{{email}}` parameter to the study link you distribute. See [here](/docs/sprig-studies/long-form-surveys/delivering-lfs)  for details on how to capture identity in Surveys when they're distributed through third-party software or marketing tools.

### Customizing URLs with User Attributes

Aside from passing respondents' email and/or User ID to the destination website when using a **Button to link to an external URL**, you can also pass other attributes to personalize the URL. Simply include a placeholder in the format `{{attribute_name}}` anywhere in the URL and Sprig will automatically populate it with the corresponding value when a user clicks the link from within an In-Product Survey. If a value isn't available for a given visitor, its placeholder is automatically removed so the URL still resolves correctly and the link does not break.

```text theme={null}
https://website.com/schedule?id={{user_id}}&email={{email}}&invite={{code}}
```

```text theme={null}
https://website.com/schedule/{{code}}
```

## Consent / Legal

You can incorporate a Non-Disclosure Agreement into your Study for your participant's review and obtain their consent before proceeding with the study. The copy can be in text format and/or a PDF file. You can also capture the respondent's name.

<Accordion title="Consent/Legal Skip Logic" iconColor="rgb(66, 70, 140)">
  There are two options for configuring skip logic on Consent/Legal questions.

  1. is submitted (user selects the checkbox and selects the button)
  2. is skipped
</Accordion>

## Video and Voice

As well as [Open Text](/docs/shared-study-foundations/main-tasks/questions#adding-a-question) questions and responses, Sprig also supports video and audio-only questions and responses. The video and voice responses are automatically transcribed and optionally translated. Contact Sprig [Support](/docs/support-privacy-and-technical/support) to enable the translation service. The transcription enables the same AI analysis used for text to be applied to video responses. However, video and audio responses provide an additional emotional dimension that is not always visible in text-only responses. Because recording video or audio requires more effort from respondents, expect lower response rates compared to standard text questions. Consider focusing voice and video questions on a specific area of interest and only share that study with recipients you think the topic would be particularly relevant.

The steps to create a study with video-enabled questions and responses are:

1. Select **Video & Voice** from the **+Add Question** menu.
2. Click **Request Permissions** to enable Sprig to request access to your camera and microphone.
3. Click Allow for the browser to permit Sprig access to your camera and microphone.
4. Click **Record** to begin the recording countdown, and it will automatically begin recording for you to record your question. Optionally, click the **Video Camera** icon to turn off video and record the audio only.
5. Click the stop icon to **Stop** recording, the play icon to **Play** back your recording, and  the trash can icon to **Delete** if you'd like to start over.
6. Distribute the survey link to prospective respondents using your usual methods.
7. Note that respondents who engage with this question must give permission in their browser to enable camera and microphone access.

<Accordion title="Video/Voice Skip Logic" iconColor="rgb(66, 70, 140)">
  There are two options for configuring skip logic on Video/Voice questions.

  1. is submitted (user uploads a video/voice response)
  2. is skipped
</Accordion>

<Warning>
  Videos are only accessible within the Sprig dashboard and cannot be downloaded or exported.
</Warning>

### Content Security Policy

Supporting Video and Voice questions for Web studies may require you to update your web application's [Content Security Policy](https://en.wikipedia.org/wiki/Content_Security_Policy) (CSP). This is because Sprig uses third-party libraries to support Video & Voice questions, including fetching an external stream of the question and uploading the response.

The following list of sources is required to use Video & Voice questions:

* Base64 SVGs and fonts.
* Connecting to Mux (for streaming and short video uploads).
* Connecting to Google APIs (for long video uploads).
* A worker source required by our third-party library (videos).

Examples are shown in the following CSP source list:

```html theme={null}
<meta
     http-equiv="Content-Security-Policy"
     content="img-src data: https://*.mux.com;
     	connect-src blob: data: https://api.sprig.com https://*.mux.com https://storage.googleapis.com https://cdn.sprig.com https://cdn.userleap.com;
     	font-src data:;
     	media-src blob: https://*.mux.com;
     	worker-src blob:;"
   />
```

<Warning>
  **Warning:** As every company has different security policies, the example may not reflect the complete configuration. You may need to add additional keys and values in order to comply with your own organization’s policies. *Note: Video and Voice questions are not supported in HIPAA compliant environments.*
</Warning>

#### Troubleshooting Errors

After creating your first study with Video and Voice questions, test its display on your website using these [instructions](/docs/Installation/introduction-web/web-javascript#browser-console). Check your browser console for any CSP-related errors if the questions are not rendering correctly or responses aren't uploaded. You may have to work with your engineering and security teams to update your website's or app's CSP settings to resolve the errors.

## Rank Order

<Note>
  Rank Order questions are only available on the Enterprise plan.
</Note>

Capture relative preferences by having respondents prioritize a set of options. Supported in Long-Form and In-Product Surveys. This question type only supports the "is submitted" conditional for skip logic.

### Configure

* Add 2 - 10 options and optionally set them to display in a random order
* Set the labels for the top and bottom of the list to help respondents understand the criteria they should be using to rank the options

<Accordion title="Rank Order Skip Logic" iconColor="rgb(66, 70, 140)">
  There are two options for configuring skip logic on Rank Order questions.

  1. is submitted (user ranks items)
  2. is skipped (user does not interact with any items)
</Accordion>

### Respondent Experience

Items are unranked until the respondent ranks their first item. Respondents can drag and drop items or set a specific ranking for an item. If they set a ranking, the items in the list will move to reflect the new order. Note that drag and drop is not yet supported when surveys are taken on Android devices.

### Review results

Once you've collected results, view details about how each item was ranked in a histogram. Hover over the histogram to get a tool tip containing a breakdown with percentages.

## MaxDiff

<Note>
  MaxDiff questions are only available on the Enterprise plan and for Surveys.
</Note>

MaxDiff questions, also known as Best-Worst Scaling or Maximum Difference Scaling, allow you to gather detailed preference information from respondents. They're often used when the goal is to deeply understand the importance of the items, like product improvements or brand messages, being rated.

**Benefits**

For researchers: mitigate position and order bias by showing items in different groupings and orders; gather deeper insights and detailed preference data.

For respondents: reduced cognitive load due to only needing to select the best and worst items from a small set of items. Once a user selects both a Best and Worst, the survey automatically advances to the next set; there's no "Next" button between sets.

### Build

1. **Create items:** MaxDiff questions require a minimum of 4 and a maximum of 24 items in the list to be rated.
2. **Create labels:**
   * The **left** label must be a **positive** descriptor for Sprig's Best-Worst calculation to be accurate. By default, this is "Best."
   * The **right** label must be a **negative** descriptor for Sprig's Best-Worst calculation to be accurate. By default, this is "Worst."
3. **Required or Optional?**
   * If a MaxDiff question is required, respondents must finish all sets to proceed.
   * If it's Optional, respondents can skip the whole experiment. However, if they start a set, they must finish that specific set.
4. **Construct the experiment:** determines the number of items per set and the number of sets that a user sees. There are two options:
   * **Recommended**:  Sprig will use half the total possible items as the number of items per set (up to a maximum of 8), and it will use the following formula to determine the total number of sets: (total # items/items per set) \* 3.
     * For example, in a question that has 24 items: Items per set = half of 24, max 8 = 8 Number of sets = (24/8) \* 3 = 3 \* 3 = 9 So, users will see 9 sets of 8 items.
     * In a question that has an odd number of items, the items per set is the number below the halved value. However, Sprig always rounds up to the nearest whole *set* to ensure coverage. For example, in a question that has 11 items: Items per set = half of 11 = 5.5, which is rounded down to 5 Number of sets = (11/5) \* 3 = 2.2 \* 3 = 6.6, which is rounded up to 7 So, the user will see 7 sets of 5 items.
   * **Custom**: Configure the number of items per set and the number of times each item should be shown to each respondent, within the ranges noted below the fields. Based on those values, Sprig will calculate the number of sets to show each respondent.

<Accordion title="MaxDiff Skip Logic" iconColor="rgb(66, 70, 140)">
  There are two options for configuring skip logic on Maxdiff questions.

  1. is submitted (user picks a "best" and "worst" for each set shown)
  2. is skipped (user immediately clicks forward button, or does not pick a "best" and/or "worst" for all sets shown)
</Accordion>

### Results

Sprig records the "best" and "worst" selection for each set, and the order of items shown in each set.

* The "best" percentage is the percentage of times that item was chosen as the best across all sets. The "worst" is the percentage of times the item was chosen as worst.
* The score is based on the following formula and ranges from 100 to -100:<br />(# Best - # Worst) \* 100 / total number of appearances.

Results on the survey summary page are based on "completed" questions, where respondents filled in all of the sets they were shown. To view partial responses, download the CSV.

<Warning>
  After a survey is launched, you can only edit the existing items in a MaxDiff question. You cannot add or remove items. Likewise, you cannot change the configuration of MaxDiff item sets once the survey has been launched.
</Warning>

<Accordion title="MaxDiff FAQs" iconColor="rgb(98, 211, 195)">
  #### How are sets configured?

  Sprig's MaxDiff sets will:

  * Show items in different pairs evenly, such that all pair comparisons are shown to each respondent or can be inferred
    * ensure each item is shown an equal number of times with other items (so strawberries aren't always shown with kiwi and durian)
  * Show each item the same (minimum) number of times across all sets (some rounding occurs, especially when there are an odd number of items or sets)
  * Show items in different positions within sets (top, bottom, middle)
  * Show items evenly across sets so they aren't shown only up front and not later

  #### Do all respondents see the same sets?

  * All sets a respondent will see are generated as the survey initially loads; the order of the items displayed will be randomly determined and will differ between respondents.
  * Not all items will be shown to each respondent, and each respondent may not see each item the exact number of times the formula calls for, usually when there's an odd number of items and rounding occurs.
</Accordion>

## Conjoint

Conjoint questions are a structured research method that simulates real-world decision making. Rather than asking respondents to rate features in isolation, a conjoint question presents them with realistic combinations of features and asks them to choose between options, just as they would in an actual purchase or usage scenario.

Choice-Based Conjoints are particularly well-suited for:

* Pricing and packaging research
* Understanding willingness to pay
* Estimating relative feature importance
* Simulating market share across product configurations

<Note>
  Note: Conjoint questions are available to **Enterprise teams** on **link surveys only**.
</Note>

<Accordion title="Adding a Conjoint Question">
  1. Navigate to a new or existing Survey (link survey, previously known as Long-Form Surveys)
  2. Click **Add Question** and select **Conjoint** from the menu.
  3. Define your features and levels (see below).
  4. Configure display and behavior settings.
  5. Optionally: add exclusion groups to prevent unrealistic combinations and/or a “None of these” option.

  <Note>
    **Note:** The features and levels cannot be added, removed, or reordered after the survey is launched. Task configuration also cannot be changed. Plan your question structure before going live.
  </Note>
</Accordion>

<Accordion title="Defining Features & Levels">
  A Conjoint question requires at least **3 features**, each with at least **3 levels**. There are maximums for both — Sprig will indicate these constraints in the builder.

  **To add a feature (also commonly known as an attribute):**

  * Enter the feature name (e.g., "Price", "Delivery Speed", "Support Type")

  **To add levels (specific values) to a feature:**

  * Enter each value you want to test for that feature (e.g., "\$10", "\$25", "\$50")

  Levels should represent realistic, meaningfully different values. Avoid overly similar levels or values that would never coexist in a real product.
</Accordion>

<Accordion title="Configuration Options">
  Once features and levels are defined, configure how the experiment will run:

  * **Randomize feature order:** Toggle this on to randomize the order in which features are displayed across respondents which mitigates position bias. Each respondent will always see features in the same order.
  * **Options per task:** Set how many options (product combinations) are shown side-by-side in each task. Maximum: **4 options**.
  * **Tasks per respondent** Set how many tasks each respondent will complete. More tasks yield richer preference data but increase survey length. Maximum: **15 tasks**.
  * **"None of these" option:** Optionally add a "None of these" choice to each task. This allows respondents to indicate that none of the presented options would satisfy them and is useful for pricing research and realistic purchase simulation. The text can be customized and translated.
</Accordion>

<Accordion title="Exclusion Groups">
  Exclusion Groups prevent logically inconsistent or unrealistic combinations from appearing in an option. For example, if your highest price point should never appear alongside your lowest feature tier, you can define this as an exclusion.

  **To create an Exclusion Group:**

  1. Select a feature and the level(s) that should not appear together.
  2. Add additional feature/level pairs that shouldn’t be shown together.
  3. Save the group.

  Note: If your exclusion rules eliminate too many possible combinations, Sprig will display a warning. You'll need to adjust the rules to ensure enough valid combinations can be generated for the experiment.
</Accordion>

<Accordion title="Respondent Experience">
  When a respondent reaches a Conjoint question, they will see multiple options side by side, several times in a row. Each option shows the same set of features with different level values.

  * Respondents click anywhere on an option to select it.
  * Unlike some other question formats, respondents control when they advance to the next task using the button below the options. This allows time for deliberation.
  * On **mobile**, options are displayed vertically and respondents tap to select, then use the button at the bottom of the list to advance.

  **Skip behavior for Conjoint questions that are optional:**

  * If a respondent has not started responding to the first task, they can skip the question entirely using the button below the options.
  * If a respondent starts a task (selects an option from a task) and then skips, no data is recorded for that task.
</Accordion>

<Accordion title="Viewing Results">
  **From the Data Tab**

  Conjoint results in the Data tab are organized by feature. For each level within a feature, you can see:

  * **Times Shown**: how many times that level appeared across all tasks and respondents
  * **Times Selected**: how many times an option containing that level was chosen
  * **Selection Rate**: the percentage of the time it was selected when shown

  Note: For deeper analysis in external tools or statistical software, download the raw data as a CSV. The export includes task-level detail for every respondent:

  * Which option they selected in each task
  * All options they were shown in that task
  * The full feature and level breakdown for each option
</Accordion>
