Pre-Populate Forms

You can pre-populate hidden fields from URL parameters for free on every plan to save known data with each submission. In the builder’s form settings, add a Hidden Field and pass a matching parameter in the form URL.

Makeform is a free AI form builder: describe what you want to collect and it builds the form for you, with unlimited forms and submissions on the free plan.

Add a hidden field for URL parameters

How pre-population works

Create a hidden field, save the form, then pass a matching query parameter in the form URL. Makeform reads that parameter and saves it with the response.

Example:

Text
https://makeform.ai/f/customer-intake?email=maya@example.com&plan=pro

In this example:

  • email fills a hidden field named email.
  • plan fills a hidden field named plan.

You can also use that hidden value inside form copy. Click or type @ and choose the parameter from the variable menu.

Create a hidden parameter

  1. Open your form in the builder.
  2. Go to the form settings.
  3. Add a Hidden Field.
  4. Give it a stable field name, such as email, utm_source, customer_id, referral_code, plan, or company.
  5. Save or update the form after adding the hidden field.
  6. Publish or preview the form.
  7. Add a matching query parameter to the form URL.

Start with the form URL, then add a question mark and key-value pairs:

Text
?email=maya@example.com&plan=pro&utm_source=newsletter

Use & between each value.

If a value contains spaces or special characters, encode it:

Text
company=Acme%20Studio

Use the parameter in form copy

Hidden parameters are not shown as editable fields, but you can reference them in questions, descriptions, text blocks, or ending pages.

For example, if your hidden field is named email, you can insert it into copy as:

Text
We will send the receipt to {{email}}.

Use the @ menu in the builder to insert the parameter instead of typing the variable manually.

Select a hidden field from the variable menu

Respondent experience

The respondent does not see or edit the hidden field. Makeform stores the parameter with the response, and any visible copy that references the parameter updates when the form loads.

Common use cases

Use case Values to pass
Newsletter campaign utm_source, campaign, segment
CRM lead routing company, owner, lead_id
Customer support account_id, issue_type, customer_tier
Event registration ticket_type, referrer, discount_code

Testing checklist

  • Open the link in a private browser window.
  • Confirm hidden tracking fields appear in the submission data.
  • Confirm any copy that references the parameter renders correctly.
  • Test values with spaces and special characters.
  • Submit a test response and review the saved values.

Troubleshooting

A hidden field does not receive a value

Check that the query parameter name matches the field name exactly.

Spaces appear incorrectly

Encode spaces as %20 or use a URL builder before sending the link.

The value is visible but should be hidden

Move that value to a hidden field so respondents cannot edit it.

A variable does not render in copy

Confirm the hidden field exists before you insert it, then use the @ menu to select the parameter again.