How do you capture UTM parameters in Zoho Forms?
To capture UTM parameters in Zoho Forms, add a hidden field for each parameter, give each a field alias that matches the parameter name, and link to the form with the UTMs in the URL so Zoho prefills them. Map the fields to Zoho CRM lead fields. Embedded forms need the host page's parameters passed in.
- Add hidden fields for each UTM.
- Set each field's alias to the parameter name.
- Link or embed with the parameters.
- Map fields to Zoho CRM.
- Test with a tagged URL.
A tagged link opens your Zoho form, the hidden fields are prefilled, and the entry reaches Zoho CRM with its source.
Step 1: add hidden fields
In the form builder, add fields for utm_source, utm_medium and utm_campaign, and set them to hidden. Zoho Forms also has UTM tracking options in form settings on some plans. Zoho Forms help has the current menu paths.
Step 2: prefill from the URL
Set each field's alias (field link name) to the parameter name, then use:
https://forms.zohopublic.com/yourorg/form/Contact/formperma/ID?utm_source=google&utm_campaign=spring
| Parameter | Field alias | Stored |
|---|---|---|
utm_source=google | utm_source | |
utm_campaign=spring | utm_campaign | spring |
Step 3: embeds and earlier pages
An embedded form reads its own URL, not your page's. Pass the parameters into the embed URL, and store them on arrival for visitors who browse first, as in capturing UTM parameters in hidden fields.
Step 4: map to Zoho CRM
In the Zoho CRM integration, map each hidden field to a lead field. Create custom fields for medium and campaign if needed. See also the Zoho CRM integration.
That's the manual route. To skip it, pre-register for Trakt and each Zoho Forms entry arrives with its source attached.
Why Zoho Forms UTM tracking breaks (and how Trakt helps)
Aliases get renamed, embeds don't forward parameters, and visitors browse before converting.
How Trakt closes the gap
Trakt's Zoho Forms integration attaches the source saved in the visitor's browser to each entry, so the campaign survives page changes. Trakt syncs source and revenue into your CRM, including Zoho CRM, and sends email and Slack alerts.
Manual vs. Trakt, by requirement
| Requirement | Zoho hidden fields | Trakt |
|---|---|---|
| Setup per form | Fields and aliases | Once |
| UTMs from earlier pages | Extra script | First-party cookie |
| Source in Zoho CRM | Field mapping | Synced |
| A form people finish | Same either way | Same either way |
FAQ
Does Zoho Forms support hidden fields?
Yes. You can hide fields and prefill them from URL parameters using each field's alias.
How do I pass UTM parameters to Zoho Forms?
Add the parameters to the form URL using names that match each hidden field's alias.
Why are UTMs missing in my Zoho Forms entries?
Usually the form is embedded and doesn't receive the page's parameters, or the visitor browsed before submitting.
How do I get UTMs into Zoho CRM?
Map the hidden fields to lead fields in the Zoho CRM integration, or let Trakt sync the source.
Does Trakt work with Zoho Forms?
Yes. Trakt's Zoho Forms receiver attaches the visitor's stored source to every entry.
What to do first
Open your Zoho form via a URL ending ?utm_source=test, submit, and check the entry and the Zoho CRM lead.


