Request an audit

ClickTrail for Gravity Forms

GRAVITY FORMS UTM ATTRIBUTION

ClickTrail reads stored UTMs, click IDs, and referrers and saves them to the Gravity Forms entry at submission time via a server-side hook, so campaign context survives cached pages, AJAX rendering, and repeat visits.

What ClickTrail adds to Gravity Forms

  • Entry meta populated from stored attribution at submission time.
  • Works on cached pages without extra JavaScript.
  • First-touch and last-touch UTMs on Gravity Forms entries.
  • No Gravity Forms add-on or conditional logic required.

WHY GRAVITY FORMS LOSES CAMPAIGN CONTEXT

The attribution gap

Gravity Forms hidden fields populate at render time. On a cached page that render happens before the visitor arrives, leaving the field empty at submission. ClickTrail bypasses the gap by reading stored attribution and saving it to the entry at submission time through a server-side hook — no URL parameters required at the moment the form fires.

Common failure modes

  • Hidden UTM fields empty on cached page submissions.
  • gclid absent from entries generated by Google Ads traffic.
  • Last-click parameters missing when visitors return directly.
  • Cross-domain referrer reset before the form submission fires.
  • Session attribution never transferred to the Gravity Forms entry.

INJECTION, CACHE, AND DELIVERY

How ClickTrail handles Gravity Forms

ClickTrail covers three main attribution gaps in Gravity Forms: entry attribution on cached pages, first-touch and last-touch context through repeat visits, and attribution forwarding to a configured endpoint.

  • Hidden Field Injection

    Matches hidden fields by ct_-prefixed parameter name and populates ct_ft_source, ct_ft_medium, ct_ft_campaign, ct_ft_content, ct_ft_term, ct_gclid, ct_fbclid, ct_msclkid, and ct_ft_referrer from stored attribution.

  • Cache-Safe Delivery

    Attribution is written to entry meta via the gform_after_submission server-side hook rather than at page render, so cached page delivery does not empty the attribution before the visitor submits.

  • First-Touch + Last-Touch

    ClickTrail stores first-touch and last-touch attribution separately. Both are available for injection, so entries carry whichever touch model the reporting pipeline expects.

  • Consent-Aware Capture

    Attribution capture respects consent state. When Consent Mode requires consent, fields are only populated after the visitor has granted marketing consent, keeping the integration aligned with a CMP setup.

QUESTIONS BEFORE YOU ADD THE HIDDEN FIELDS

Gravity Forms FAQ

ClickTrail uses Gravity Forms' submission hooks rather than JavaScript field population, so the integration works reliably on cached pages without a dedicated add-on.

  • No Gravity Forms add-on or extra license tier required.
  • Works with cached pages and AJAX-rendered forms.
  • Captures gclid alongside UTMs for Google Ads attribution.
Does ClickTrail need a Gravity Forms add-on?
No. ClickTrail hooks into Gravity Forms via the gform_field_value and gform_after_submission hooks. No additional add-on, license upgrade, or third-party plugin is required beyond ClickTrail itself.
Which hidden field names should I use?
ClickTrail populates hidden fields whose parameter names match its ct_-prefixed attribution keys: ct_lt_source, ct_lt_medium, ct_lt_campaign, ct_lt_content, ct_lt_term, ct_gclid, ct_fbclid, ct_msclkid, ct_lt_referrer, and first-touch (ct_ft_*) equivalents. Naming conventions are in the integration docs.
Does it work with cached pages?
Yes. Because entry meta is written via a server-side hook at submission time rather than at page render, cached page delivery does not prevent attribution from being stored.
Can I capture both first-touch and last-touch UTMs?
Yes. ClickTrail stores first-touch and last-touch attribution separately. Add two sets of hidden fields to your form to capture both, or use whichever touch model your CRM expects.
Does gclid get captured for Google Ads attribution?
Yes. ClickTrail captures gclid alongside UTM parameters and injects it into a matching hidden field if one is present in the form.

Next step

DOWNLOAD CLICKTRAIL AND VERIFY GRAVITY FORMS ATTRIBUTION BEFORE LAUNCH