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?
Which hidden field names should I use?
Does it work with cached pages?
Can I capture both first-touch and last-touch UTMs?
Does gclid get captured for Google Ads attribution?
Next step