Skip to content
  • By cmsvizuh
  • /
  • Aug 20, 2026

Do Gravity Forms and WPForms Need ClickTrail Hidden Fields?

Short answer: both integrations can carry campaign context into form entries, but they do not use the same setup. Gravity Forms needs matching hidden fields that ClickTrail can enrich through its submission hook. WPForms also needs hidden fields added to the form, then ClickTrail populates them from stored attribution through its WPForms submission path. Neither

Short answer: both integrations can carry campaign context into form entries, but they do not use the same setup. Gravity Forms needs matching hidden fields that ClickTrail can enrich through its submission hook. WPForms also needs hidden fields added to the form, then ClickTrail populates them from stored attribution through its WPForms submission path. Neither setup should rely on the current URL still containing a UTM when the visitor submits.

The important difference

Form What you configure Where attribution is added
Gravity Forms Add hidden fields using ClickTrail’s supported attribution labels. gform_pre_submission server-side hook.
WPForms Add hidden fields manually to each form and use matching names. wpforms_process_complete integration path.

The shared principle is more important than the hook name: stored attribution is read at submission time instead of trusting a page that may have been cached before the visitor arrived.

Why page-load JavaScript is a fragile source

A common implementation renders a hidden field, reads the current URL, and fills the field in the browser. That can work in a controlled test and still fail in production:

  • a CDN serves HTML generated before the visitor arrived;
  • the visitor navigates through several pages and the form URL no longer has UTMs;
  • an AJAX or popup form renders after the initial script;
  • the visitor returns directly after an earlier tagged visit;
  • consent is unresolved when the page script first runs.

ClickTrail’s model keeps attribution in its own storage boundary and enriches supported submissions on the server-side path. That removes one dependency on page-load timing. It does not remove the need to configure the form, test consent, or verify the final CRM export.

Gravity Forms setup

  1. Add hidden fields for the values your reporting needs: for example utm_source, utm_medium, utm_campaign, gclid, and referrer.
  2. Use the admin labels and field names documented by ClickTrail; do not assume a custom label will map automatically.
  3. Submit the form from a controlled tagged URL, then inspect the stored entry rather than only the browser markup.
  4. Test a cached page, an AJAX-rendered form, a repeat visit, and a consent-denied control.

Gravity Forms has a dedicated ClickTrail integration guide with the supported field contract and boundary notes.

WPForms setup

  1. Add a Hidden Field to each WPForms form where campaign context is needed.
  2. Give each field the matching attribution name, such as utm_source, utm_campaign, gclid, or referrer.
  3. Save the form and confirm that the field is included in the stored entry and any CRM export.
  4. Run the same tagged, cached, repeat-visit, and consent control tests.

WPForms requires the fields to be added manually. ClickTrail can populate matching fields; it does not create the form schema or decide which fields your CRM should keep. See the WPForms integration guide.

Use one verification record

For each test submission, retain:

  • the landing URL and timestamp;
  • the consent state and withdrawal history;
  • the form name and field configuration;
  • the stored entry, including first-touch and last-touch values when enabled;
  • the CRM or webhook payload after mapping.

If the field is present in WordPress but absent in the CRM, the form integration worked and the export boundary is the next place to inspect. If it is absent from the entry, check field naming, the active adapter, consent, and the exact submission hook path.

What this does not prove

A populated hidden field does not prove that a provider accepted an ad conversion, that the CRM preserved every value, or that a legal consent requirement is satisfied. It proves only that the tested form path stored the value under the configured conditions.

Frequently asked questions

Do I need a separate Gravity Forms or WPForms add-on?

The ClickTrail integration documentation describes these paths as plugin-level adapters. Confirm the target versions and active hooks before production rollout; third-party extensions can change the runtime.

Can I use only the current URL as the source?

You can, but it is fragile across cached pages, repeat visits, redirects, and multi-step journeys. Stored attribution gives the submission path a stable source to inspect.

Should I store both first-touch and last-touch?

When acquisition and conversion reporting ask different questions, yes. Add the fields your data contract actually uses and document which field feeds each downstream report.

Sources

CategoriesClickTrail