Skip to content
Growform Multi Step Form Builder

Feature

Hidden fields in forms

Hidden fields save information the lead never sees, such as the campaign, keyword and click ID behind each submission. Every lead can be traced to the ad that produced it, so you compare your sources on real numbers.

A hidden field in the Growform editor set to read utm_source from the URL

What are hidden fields in forms?

Hidden fields are form fields that store a value with the submission without showing anything to the person filling in the form. Hidden form fields in Growform take their value from a parameter in the page URL, from one of 14 presets such as the referrer or a click ID, or from a default you set in the editor. Each value is saved with the lead's answers as a field of its own.

A debt relief campaign that runs on three ad networks can use hidden fields to record the network, campaign and ad behind every lead. They are also the basis of UTM tracking in Growform, and the hidden fields guide walks through the setup with screenshots.

How do you capture UTM parameters with hidden fields?

You capture UTM parameters by naming a hidden field after each parameter you want to keep. A hidden field called utm_source looks for utm_source in the page URL and saves whatever it finds. Add one field each for utm_campaign, utm_medium and utm_content, or for any other parameter your links carry, such as a sub-ID from an affiliate network.

The method is the same whether the form is embedded on your website or opened through its own link, because the page hands its URL parameters to the form. A default value covers the leads whose link carried no parameter at all.

What can a preset capture without a URL parameter?

A preset fills a hidden field automatically when the form loads, with no parameter in the URL and no code on the page. Growform has 14 presets, which fall into four groups.

  • Page details cover “Full page URL”, “Page path”, “Page domain” and “Referrer URL”.
  • Google values cover “Google Click ID (gclid)” and “Google Analytics client ID”.
  • Social ad values cover “Facebook pixel (fbp)”, “Facebook click ID (fbc)”, “TikTok pixel (ttp)” and “TikTok click ID (ttclid)”.
  • Record details cover “Form name”, “Form ID”, “Unique ID” and “Timestamp”.

A gclid hidden field built on the preset reads the click ID that Google Ads adds to the URL, which is the value Google asks for when you upload offline conversions. The “Facebook click ID (fbc)” preset reads the _fbc cookie and, when the cookie is missing but the URL carries an fbclid, builds the value from it in the format Meta documents. The “Unique ID” preset creates an identifier when the form loads, which you can send as the event_id of a Meta Conversions API event so the same conversion is not counted twice.

Where do hidden field values appear?

Hidden field values appear beside every other answer in “View leads”, in your email alerts, in the CSV export, and in the data sent through webhooks and Zapier. Your CRM receives the campaign and the click ID in the same record as the name and phone number.

How to add a hidden field in Growform

Add a hidden field

Open your form in the editor and choose “Hidden field” from the list of fields.

Choose the source

Leave the hidden field type reading a parameter from the page address, or switch it to “Value from preset” and pick a preset from the list.

Name the field

Type the exact parameter name, such as utm_campaign. Your integrations and webhooks identify the value by this name.

Set a default and save

Enter a default value to store when the parameter is missing, then save the form and submit a test lead.

What hidden fields add to your campaign reporting

  • Every lead carries its own source.

    The campaign, medium and keyword are stored in the lead record, so attribution does not rely on matching timestamps afterwards.

  • Offline conversions can be matched to the click.

    The Google click ID is saved with the lead, and it is the value Google Ads uses when you upload offline conversions.

  • One form can run on many landing pages.

    The “Page domain” and “Page path” presets record where each lead filled in the form.

  • Blank sources are replaced with a value you choose.

    A default such as “direct” is stored whenever a lead arrives without a utm_source.

  • Server-side events carry a deduplication key.

    The “Unique ID” preset gives each submission an identifier that your pixel and your server event can share, so a conversion is counted once.

Do all plans include hidden fields?

Hidden fields and all 14 presets are part of Basic, Professional, Scale and Custom.

Basic
Yes
Professional
Yes
Scale
Yes
Custom
Yes

Frequently asked questions

Can the lead see a hidden field?

No. A hidden field never appears on the form, and its value is stored only with the submission.

Is there a limit on the number of hidden fields?

No. You can create as many as your reporting needs, and each one is saved as a separate field on the lead.

Can I set a hidden field with JavaScript?

Yes. Your page listens for the growform_loaded event and then calls growform.setHiddenField with the field name and the value, in a script placed above the embed code. The value arrives with the submission like any other hidden field.

Why is the referrer sometimes empty?

Most modern browsers share only the domain of the referring site, and they share nothing when the lead arrived directly or from a bookmark. The “Referrer URL” preset stores whatever the browser provides.

What does the “Timestamp” preset record?

It records the moment the form loaded as an ISO 8601 timestamp, not the moment of submission. Comparing it with the submission time tells you how long the lead spent on the form.

Related features

UTM tracking

Store the source, medium and campaign of every lead.

View ›

URL prefill

Fill visible fields in advance from values in the link.

View ›

Webhooks

Post each lead, hidden values included, to your own endpoint.

View ›

Start your free trial

Create beautiful multi-step forms that convert, with a 14-day free trial. No credit card required.