Prefilling page questions via URL parameters
Prefill survey answers on a public page by adding query parameters to the link you share
Prefilling page questions via URL parameters
When you share a link to a public page, you can prefill survey questions by adding query parameters to the URL. This is useful when you already know something about the person you're linking - for example an email that includes their name, or a link from another system that knows which option they should pick.
Prefilled answers appear in the form as if the person had typed them. They can still review and change them before submitting.
Parameter format
Each parameter is named response_ followed by the question ID:
https://your-movement-domain.com/p/your-page-slug?response_101=Jane&response_102=jane%40example.com
101and102are question IDs (see Finding a question's ID below).- Values must be URL-encoded - e.g. spaces become
%20,@becomes%40. - You can prefill any number of questions in one URL, joined with
&. - Prefill works on every page of a multi-page survey, and can be combined freely with other parameters such as UTM tags.
Finding a question's ID
- Open the public page in your browser.
- Right-click the question you want to prefill and choose Inspect (or Inspect Element).
- In the developer tools panel, look at the
<div>wrapping the question. It has adata-question-idattribute:
<div class="mvmt-question-1 mvmt-question-whats-your-name field question-type-text" data-question-id="101">Here the question ID is 101, so the parameter would be response_101=....
Value formats by question type
| Question type | Value to pass | Example |
|---|---|---|
| Text / long text / email / phone number | The text itself | response_101=Jane%20Smith |
| Multiple choice (radio buttons) | The answer ID, or the exact answer text | response_102=456 or response_102=Yes%20please |
| Multiple select (checkboxes) | One parameter per selection, with [] after the ID. Answer ID or exact answer text. | response_103[]=Red&response_103[]=Blue |
| Checkbox / opt-in (Yes–No) | y or n | response_104=y |
| Date | YYYY-MM-DD | response_105=2026-07-02 |
To find an answer ID for a multiple choice or multiple select question, inspect one of its options: each radio or checkbox <input> has the answer ID as its value attribute. Using the exact answer text instead also works, as long as it matches the option exactly (case-sensitive).
Full example
A page survey with a name question (ID 101), an email question (ID 102) and a multiple select question (ID 103) with options "Housing" and "Climate":
https://your-movement-domain.com/p/save-the-whales?response_101=Jane%20Smith&response_102=jane%40example.com&response_103[]=Housing&response_103[]=Climate
Limitations and further information
- Postcode and split first/last name questions can't be prefilled. These store structured values, which can't be passed as a simple parameter.
- File upload and score/ranking questions can't be prefilled.
- Signed-in supporters may not see prefilled personal questions. When someone follows a personalised link (e.g. from a Movement email), questions asking for details Movement already knows about them - name, email, postcode, phone - are hidden automatically, so a prefilled value for those questions won't be visible.
- Non-matching values are ignored silently. If the answer text for a multiple choice question doesn't exactly match one of the options, the question is left blank rather than showing an error.
- Prefilling happens in the visitor's browser as the page loads; nothing is stored until the person actually submits the form.
Updated about 1 month ago
