Purpose
Data prefilling via URL comes in handy when you:- Have data for some of the respondents, but not all
- Have data you want the respondent to confirm or update
- Have data in a different system (e.g. your database) and want to add it to the user profile in Formbricks
- Want to embed a survey in an email and increase completion by prefilling the choice selected in the email
Quick Example
Example URL
How it works
- To prefill survey questions, add query parameters to the survey URL using the format
questionId=answer. - The answer must match the question’s expected type to pass validation.
- The answer needs to be URL encoded (if it contains spaces or special characters)
Skip prefilled questions
You can skip prefilled questions by adding theskipPrefilled parameter in the URL. To skip prefilled questions and show the next available question, add skipPrefilled=true to the URL. By default, skipPrefilled is set to false.
Skipping prefilled questions
Prefilling multiple values
Formbricks lets you prefill as many values as you want. Combine multiple values in the URL using&, for example: name=Bernadette&age=18. The order of query parameters doesn’t matter, so you can move questions around or add new ones without worrying about the parameter order.
Where do I find my question Id?
You can find thequestionId in the Advanced Settings at the bottom of each question card in the Survey Editor. You can update the questionId to any string you like before you publish a survey. After you published a survey, you cannot change the id anymore.

Examples
Here are a few examples to get you started:Rating Question
Translates to 5 stars / points / emojis:Rating Question
NPS Question
Translates to an NPS rating of 10:NPS Questions
Single Select Question (Radio)
Chooses the option ‘Very disappointed’ in the single select question. The string has to be identical to the option in your question:Single-select Question
Multi Select Question (Checkbox)
Selects three options ‘Sun, Palms and Beach’ in the multi select question. The strings have to be identical to the options in your question:Multi-select Question
Open Text Question
Adds ‘I love Formbricks’ as the answer to the open text question:Open Text Question
Consent Question
Adds ‘accepted’ as the answer to the Consent question. Alternatively, you can set it to ‘dismissed’ to skip the question.Consent Question
Picture Selection Question
Adds index of the selected image(s) as the answer to the Picture Selection question. The index starts from 1Picture Selection Question
Using Option IDs for Choice-Based Questions
All choice-based question types (Single Select, Multi Select, Picture Selection) now support prefilling with option IDs in addition to option labels. This is the recommended approach as it’s more reliable and doesn’t break when you update option text.Benefits of Using Option IDs
- Stable: Option IDs don’t change when you edit the option label text
- Language-independent: Works across all survey languages without modification
- Reliable: No issues with special characters or URL encoding of complex text
How to Find Option IDs
- Open your survey in the Survey Editor
- Click on the question you want to prefill
- Open the Advanced Settings at the bottom of the question card
- Each option shows its unique ID that you can copy
Examples with Option IDs
Single Select:Single Select with Option ID
Multi Select with Option IDs
Mixed Approach
Backward Compatibility
All existing URLs using option labels continue to work. The system tries to match by option ID first, then falls back to matching by label text if no ID match is found.Validation
Make sure that the answer in the URL matches the expected type for the questions. The URL validation works as follows:- Rating or NPS questions: The response is parsed as a number and verified to be within the valid range.
- Consent type questions: Valid values are “accepted” (consent given) and “dismissed” (consent not given).
- Picture Selection questions: The response is parsed as comma-separated numbers (1-based indices) and verified against available choices.
- Single/Multi Select questions: Values can be either option IDs or exact label text. The system tries to match by option ID first, then falls back to label matching.
- Open Text questions: Any string value is accepted.
If an answer is invalid or doesn’t match any option, the prefilling will be ignored and the question is presented as if not prefilled.