---
title: Partial responses
description: Save answers as visitors advance, inspect unfinished surveys and keep completion metrics separate.
package: "@userreason/js"
version: "0.5.4"
since: "0.4.0"
url: https://docs.userreason.com/prompts/partial-responses/
updated: 2026-10-17
---

# Partial responses

Partial responses retain submitted answers when a visitor leaves before finishing a survey.

Partial collection requires `@userreason/js` 0.4.0 or later. Older SDKs do not save intermediate answers.

## When answers are saved

On a multi-question survey, **Next** validates the current question and saves the answers submitted so far. The SDK waits for the API to confirm the save before showing the next question. If saving fails, the visitor stays on that question and can choose **Try again** with the same answers.

Editing text or changing a selection without advancing does not save the edit. A question that advances immediately after a choice saves at that point; pressing Enter in a one-line answer also submits that question. Submitting the last question, usually with **Send feedback**, finalizes the response, including when a rule ends the survey early.

| Visitor action | What is retained |
| - | - |
| Advances with **Next** | Submitted answers on the route taken so far. |
| Types or changes a selection without advancing | The previously saved answers; the new edit is not saved. |
| Closes the survey or leaves the page | Previously saved answers remain. The current unsubmitted answer is not captured. |
| Submits the final answer | The same response becomes completed or screened out, according to its ending. It is not counted again as a partial response. |

For example, a visitor answers two questions using **Next**, types into a third, then closes the survey. The partial response contains the first two answers. It does not contain the third answer.

## Configure collection

**Save partial responses** is enabled by default in the survey editor. Clear it to collect answers only when the visitor submits the final response.

In a [survey definition](https://docs.userreason.com/prompts/definition/index.md#content), set the optional `content.collect_partial_responses` boolean:

| Value | Behavior |
| - | - |
| `true`, or omitted | Save submitted answers as the visitor advances. |
| `false` | Save only the final response. |

Save and publish after changing this setting. A survey already on screen continues to use the published version originally shown to that visitor.

## Read partial results

Open the survey's **Responses** tab or the site's **Responses** page. Choose **Partial** in the response-status filter to see unfinished responses. The detail shows the saved answers and whether a close was recorded. An open partial means no close was recorded; it does not prove the visitor is still answering.

Response lists and CSV exports include partial responses. Their recorded time is the last save, and they have no completion time.

Question summaries exclude partial responses by default. Enable **Include partial responses in question summaries** to include their saved answers. Completion counts, completion rates and response frequency limits continue to use final outcomes; a partial save does not count as a completion.

## Editing answers and returning later

Going **Back** does not change saved answers by itself. Advancing again updates the submitted answers. If a changed answer takes a different branch, answers from the branch the visitor left are removed from the saved response.

Partial collection does not resume the survey after a reload and does not create a saved answer draft in browser storage. Resetting the SDK or switching accounts does not submit the current unfinished answer. Previously saved answers remain associated with the original admitted visitor.

## SDK notifications

The SDK's `submitted` notification fires only after the final response is accepted, including a screened-out response. Individual partial saves do not emit it. A `dismissed` notification can therefore occur after some answers have already been saved.

See [SDK notifications](https://docs.userreason.com/sdk/notifications/index.md) for final response payloads.
