How do JotForm hidden fields capture UTM parameters?
JotForm hidden fields are form fields the respondent never sees, and JotForm can prefill them from URL parameters that match each field's unique name. Add a hidden field per UTM parameter, set the unique names to utm_source, utm_medium and utm_campaign, and link to the form with those parameters. Embedded forms need the page's UTMs passed through.
- Add a Hidden Box field per UTM parameter.
- Set each field's unique name.
- Link or embed the form with the parameters.
- Map the fields to your CRM.
- Test with a tagged URL.
A tagged link opens the page with your JotForm, the hidden fields are prefilled, and the submission reaches your CRM with its source.
Step 1: add hidden fields in JotForm
In the Form Builder, add the Hidden Box field (search "hidden" in the elements panel, or use the field's Advanced settings to hide a short text field). Add one per parameter. JotForm's guide to hidden fields has the current menu path.
Step 2: set unique names
Open each field's properties, then Advanced, and set the Unique Name to the exact parameter name. JotForm prefills a field when the URL contains a parameter with its unique name.
https://form.jotform.com/FORMID?utm_source=google&utm_medium=cpc&utm_campaign=spring
| URL parameter | Unique name | Stored |
|---|---|---|
utm_source=google | utm_source | |
utm_medium=cpc | utm_medium | cpc |
utm_campaign=spring | utm_campaign | spring |
Step 3: embedded forms
When the form is embedded on your site, the UTMs are on your page's URL. JotForm's embed code can pass the parent page's query string to the form in some embed methods; check the current embed options. If the visitor browsed first, the page URL no longer has the tags. See capturing UTM parameters in hidden fields.
Step 4: map to your CRM
JotForm integrations (HubSpot, Salesforce, Google Sheets, webhooks) send hidden field values with each submission. Map them to CRM properties.
That's the manual setup. To skip it, pre-register for Trakt and each JotForm submission arrives with its source attached.
Why JotForm hidden fields break in practice (and how Trakt helps)
Someone clones a form and renames fields. An embed doesn't forward parameters. A link to the form goes out untagged.
How Trakt closes the gap
Trakt's JotForm integration receives submissions by webhook and stores each with the source saved in the visitor's browser, so the campaign survives page changes. Trakt keeps the first touch, syncs source and revenue into your CRM, and sends new-lead alerts by email and Slack.
Manual vs. Trakt, by requirement
| Requirement | JotForm hidden fields | Trakt receiver |
|---|---|---|
| Setup per form | Fields and unique names | Once |
| UTMs from earlier pages | Extra script | First-party cookie |
| Source in CRM | Integration mapping | Synced |
| Questions people answer | Same either way | Same either way |
FAQ
How do I add a hidden field in JotForm?
Add a Hidden Box field from the form elements, or hide a text field in its Advanced settings. Give it a clear unique name.
How do I pass UTM parameters to JotForm?
Add the parameters to the form URL with names that match each hidden field's unique name. JotForm prefills them.
Why are my JotForm hidden fields blank?
The URL the form read didn't contain the parameters, or the unique names don't match. Embedded forms are the usual culprit.
Can JotForm capture GCLID?
Yes. Add a hidden field with the unique name gclid and it fills from the URL like the UTMs.
How do I send JotForm hidden fields to HubSpot?
Use the HubSpot integration or a webhook and map each hidden field to a HubSpot property.
Does Trakt work with JotForm?
Yes. Trakt receives JotForm submissions by webhook and attaches the visitor's stored source to each one.
What to do first
Submit your JotForm from your own site after landing with ?utm_source=test. If the entry doesn't show "test", fix the embed before the next campaign.



