JotForm and conversion tracking
JotForm is one of the most widely used form builders, especially for businesses that need conditional logic, payment collection, and approval workflows. But its Google Ads integration story is weak.
JotForm embeds load in an iframe. GTM's form submission trigger doesn't fire for iframe-based forms. The standard workaround — adding a hidden field for the GCLID and using JotForm's webhook to push data — works but requires setup that most small businesses can't do without help.
The hidden field approach
JotForm supports hidden fields, and you can populate them with URL parameters. So in theory, you append the GCLID to the page URL, JotForm reads it into a hidden field, and when the form submits, the GCLID is captured.
In practice, this breaks when the GCLID isn't in the URL (returning visitors, direct traffic), when the form is on a different page from the landing page, or when JotForm's embed method strips URL parameters.
How it works with JotForm
The Tagless script on your page auto-injects a hidden reference field into your form. When someone submits, that reference travels with the form data. Tagless matches it to the GCLID captured when the visitor arrived from Google Ads.
The only setup step: add a webhook in JotForm.
In JotForm, go to Settings → Integrations → Webhooks. Add your Tagless webhook URL.
When the webhook fires on submission, Tagless receives the data, matches the reference to the GCLID, and the lead appears in your dashboard with full attribution — campaign, ad group, keyword.
For a full explanation of the tracking mechanism, see How Tagless Works.
Tagless approach
Tagless captures the GCLID on your domain, independent of the form builder. When someone submits your JotForm, the interaction is logged with the GCLID already captured. No hidden fields to configure. No URL parameters to pass.
The submission appears in your dashboard. You qualify real leads. Conversions sync to Google Ads.
This works identically whether you use JotForm, Typeform, Fillout, Google Forms, or any other builder. The tracking is form-builder-agnostic because it operates on your page, not inside the form.