Hidden fields

Pass data into a form through the URL and keep it with the submission.

Hidden fields let you attach information to a submission that the respondent never types: a campaign name, a user id from your app, the page the form was embedded on. The value travels in the form's URL, is stored with every submission, can be mentioned in text and used in logic, and is exported and sent to webhooks and integrations like any other answer.

Add hidden fields

Type /hidden in the editor to insert a Hidden fields block (it only appears in the editor, never to respondents). Add one row per field and give each a name such as utm_source or customer_id. Names are matched case-sensitively, so use the exact spelling in your links. The block holds as many fields as you need; remove the last row to delete the block.

Fill them from the URL

Append the fields as query parameters to the public link or the embed: /r/abc123?utm_source=newsletter&customer_id=42. Only hidden fields are filled from the URL; visible questions keep their own default-answer settings (which may in turn point at a hidden field). Values are trimmed to 2,000 characters. A hidden field can also carry a default value in the block, used when the parameter is missing.

Website embeds

In the Share tab's embed code, open Save website page and query parameters. The option appends the page URL and its query string to the embedded form, so UTM tags on your landing page land in the matching hidden fields without any code. The popup embed supports the same option.

Use the values

  • Mention a hidden field in any text with @ to personalise copy and the thank-you page.
  • Reference it in conditional logic ('when utm_source is ads, show the discount question') and in calculations.
  • Point a visible question's default answer at a hidden field to prefill it.
  • Hidden fields appear as columns in Submissions and CSV export and in webhook payloads under hidden.

Good to know

Hidden fields are not secret: anyone can read and change the URL. Do not use them for pricing or access decisions you need to trust; validate server-side with a webhook instead. Respondent metadata such as IP address and respondent id is collected by the Metadata fields setting, not by hidden fields.

Still stuck? Contact support.