ClickTrail for Ninja Forms
NINJA FORMS UTM ATTRIBUTION
ClickTrail attaches stored UTMs, click IDs, and referrers to Ninja Forms submissions via the ninja_forms_submit_data filter, without relying on JavaScript-populated hidden fields.
What ClickTrail adds to Ninja Forms
- Attribution appended to submission payload at hook time.
- Works on cached pages.
- First-touch and last-touch UTMs on Ninja Forms entries.
- No Ninja Forms add-on or extra extension required.
WHY NINJA FORMS LOSES CAMPAIGN DATA
The attribution gap
Ninja Forms relies on field values set at render time or on JavaScript populating hidden fields when the page loads. Cached pages, repeat visits, and direct traffic all leave those paths broken. ClickTrail appends stored attribution to the submission payload at hook time, bypassing the render-time dependency entirely.
Common failure modes
- Hidden UTM fields empty when JavaScript does not fire at page load.
- Repeat and direct visits producing entries with blank source fields.
- gclid not attached to Google Ads-driven Ninja Forms submissions.
- Cached page rendering clearing JavaScript-populated field values.
- Submission notifications and CRM receiving entries with no attribution.
SUBMISSION HOOK AND CACHE
How ClickTrail handles Ninja Forms
ClickTrail appends stored attribution to Ninja Forms submissions via a server-side filter hook, covering UTMs, click IDs, and referrers without relying on URL parameters at page load.
Submission Hook
Appends ft_source, ft_medium, ft_campaign, ft_content, ft_term (and lt_ equivalents), gclid, fbclid, msclkid, and ft_referrer/lt_referrer to the submission payload via ninja_forms_submit_data at the point the visitor submits.
Cache-Safe Delivery
Attribution is read from the first-party attribution cookie at submission time, so cached page delivery and JavaScript render timing do not affect whether campaign context reaches the entry.
First-Touch + Last-Touch
Both acquisition source and last-touch source are stored and can be appended to the submission payload.
Consent-Aware Capture
Attribution storage and payload enrichment respect consent state when Consent Mode is enabled.
QUESTIONS BEFORE YOU CONNECT NINJA FORMS
Ninja Forms FAQ
ClickTrail appends attribution to Ninja Forms submissions server-side via the submission data filter, so it works across cached pages and repeat visits without modifying form fields directly.
- No Ninja Forms extension or extra plugin required.
- Server-side hook — not dependent on JavaScript-populated hidden fields.
- Covers direct traffic and repeat visits with no URL parameters.
Does ClickTrail need a Ninja Forms extension?
How does attribution get attached to submissions?
Does it work when UTMs are not in the submission URL?
Can I see attribution in the Ninja Forms submission admin?
Does gclid get captured for Google Ads traffic?
Next step