Typeform hidden fields

Typeform Hidden Fields: the full setup, and when you can skip it

Hidden Fields carry data into a Typeform response. Here is every step to build them right, plus the route that sources each response with nothing to declare.

The full manual setup, step by step And the version with nothing to declare Free to start, no card
app.leadsource.co · lead record
Dana Okafor
Okafor & Co
Channel
Organic search
Referrer
google.com
Landing page
/blog/managed-it-costs
Typeform
Quote request
Page journey
  1. /blog/managed-it-costs
  2. /pricing
  3. typeform.com
Salesforce
HubSpot
Pipedrive
Gmail
Google Ads
Gravity Forms
Jotform
Webflow
Wix
Typeform

Hidden Fields, built right

Five steps, from declaring the keys to mapping them into your CRM. Every entry point tested.

Sources that fill themselves

Connect the account and each response arrives matched to its visit. No keys, no appended links.

The whole visit on the response

Landing page, referrer, first and last visit, and every page read before the form opened.

Hidden Fields with a day job

Record IDs, known contacts, plans and partner codes. Keep them working on those.

Manual setup

Hidden Fields, built right

A Hidden Field is a named slot you declare in the Typeform builder. The respondent never sees it. You fill it by appending a matching query parameter to the form’s URL, and that value comes back in the response.

  1. Declare the fields. In the builder, open Hidden Fields and add a key per value: utm_source, utm_medium, utm_campaign, utm_term, utm_content. Keys are case sensitive and must match your parameters exactly.
  2. Capture the values at landing. Read the parameters from the URL on arrival and store them, so they survive the visitor browsing to another page. Session storage lasts the browser session. A cookie lasts longer and covers the visitor who comes back tomorrow.
  3. Append on every entry point. Every link, button and embed that opens the Typeform needs the stored values appended. Cover every path, because each one carries its own values.
  4. Test with a live parameter. Open the form through a real tagged URL, submit, and check the response carries the values. Test each entry point separately, since each one works on its own.
  5. Map them onward. Map each Hidden Field through your Typeform integration or Zapier into your CRM, and repeat that mapping for every new form.

If UTMs are all you need, Typeform’s native UTM setting captures the five standard parameters with no declaration. Switch it on and you are done.

typeform builder · hidden fields
Keys declared in the builder
utm_source
declared
utm_medium
declared
utm_campaign
declared
Values appended to the form link
utm_source
google
utm_medium
cpc
utm_campaign
managed-it-sydney
keys match exactly. capitals count.
Your real code is in the dashboard
<script async src="https://app.leadsource.co/ft.js" data-site="YOUR_SITE_KEY"></script>
Connected account

Sources that fill themselves

Lead Source identifies the visitor on your website, then matches the Typeform response back to that person when it arrives. Nothing goes into the form. Nothing changes inside Typeform, and the match holds for forms hosted on typeform.com.

  1. Install the Lead Source tracking code on your website. One snippet records the visit, the campaign and the pages read.
  2. Connect your Typeform account in Forms and tick the forms you want. Lead Source handles the webhooks from there.
Start free

5-minute install · no card

Every screen of the connect is on the Typeform lead tracking page.

Already built

Keep the Hidden Fields you built

Your existing Hidden Fields keep running exactly as you set them up. Lead Source leaves them untouched and records the attribution beside them on the lead. Two systems, zero friction.

Typeform attribution

The whole visit on the response

A Hidden Field carries a campaign name. The connected record carries the visit around it: the landing page, the referrer, the first and last visit, and the pages viewed before the form opened. Three reads of your pricing page show up as three reads. Very telling.

  • Organic, direct and referral responses arrive with a channel.
  • A visitor who returns days later keeps the first campaign.
  • New Typeforms are covered the moment you tick them.
app.leadsource.co · lead record
Dana OkaforQuote request
First touchOrganic search/blog/managed-it-costs
Last touchGoogle Adsmanaged-it-sydney
Page journey
  1. /blog/managed-it-costs
  2. /pricing ×3
  3. typeform.com
typeform · pre-filled link
Passed in by you
account_id
4821
plan
managed-it
location
sydney
partner
tideway-07
one form, four contexts.
Still the right tool

Hidden Fields with a day job

Hidden Fields do more than attribution, and for these jobs they remain the correct answer. None of it overlaps with Lead Source. Use both.

  • Pass an internal record ID, so the response comes back already linked to an account.
  • Pre-fill a known email or name for a form sent to an existing contact.
  • Pass a product, plan or location, so one form serves several contexts.
  • Pass a partner or affiliate code you issued yourself.

How do I set up Hidden Fields in Typeform?

Declare a key per value in the builder, store the URL parameters when the visitor lands, and append them to every link, button and embed that opens the form. Test each entry point with a tagged URL, then map the fields onward to your CRM.

What do Typeform Hidden Fields leave blank?

Any visit with no parameters on the URL. That covers organic, direct and referral traffic, often most of it. A visitor who returns after the browser closes arrives as direct, no field carries the pages read first, and every new Typeform needs every step again.

Common questions

Typeform Hidden Fields questions, answered.

Why are my Hidden Fields coming back empty?

Almost always one of three things: the key in the builder does not exactly match the parameter on the URL, the link opening the form does not carry the parameters, or the visitor browsed to another page before opening the form and the parameters were never stored.

How many Hidden Fields can I add?

Enough for a normal UTM set and then some. The practical limit is URL length and your own patience maintaining them, not a cap in Typeform.

Do Hidden Fields work on embedded forms?

Yes, but the parameters have to be on the embed URL rather than the page URL. This is the single most common place the setup breaks.

Every Typeform response, sourced on arrival.

Connect Typeform to Lead Source and every response arrives with its real source attached. No fields to declare.

Start free

Free to start · no card

Typeform lead trackingIntegrations