Go to app

Hidden fields

Save data the respondent does not see with each submission, such as a campaign source or a CRM ID. On a share link, the value comes from the URL; on a request, from the request's context.


What they are for

  • Track where answers come from, such as an email campaign or a social media post.
  • Link answers to your systems with a contact, deal, or order ID.
  • Change the form with logic, for example show extra questions for plan=enterprise.

  • Check answers against what you know with AI Validation, for example an order number an uploaded invoice must mention.

Add a hidden field

Click Hidden Field in the Blocks tab, or type / and pick it. It cannot go inside a column or a repeating group. Then set:

  • Field type: text (the default) or number.

  • Parameter name: the URL parameter that fills it, such as utm_source or contact_id. It is also the field's field key.

Fill it from the URL

When someone opens a share link with a matching parameter, the hidden field takes its value:

https://form.formstep.io/abc123?utm_source=newsletter&contact_id=12345
  • Values are read once, when the form opens.
  • A number hidden field ignores values that are not numbers, so ?score=abc leaves it empty.

  • To add parameters to a share link without editing the URL, use the link's Query parameters. UTM tags and campaign tracking are explained there too.

To show a URL value in a question the respondent can edit, such as their name, see Default values from other fields.

On a request

Request links ignore URL parameters, so the recipient cannot change your values. A request fills hidden fields from its context, and can fill visible questions directly. See Prefill, locked fields and hidden fields.

Where values show up

Hidden fields have their own columns in the Submissions table, marked with an eye-slash icon. They also appear in exports and integrations.

Next steps