How to track lead source in Fluent Forms
Fluent Forms submits without a reload, and every entry still lands with its campaign, its landing page and its page journey.
- Channel
- Google Ads
- Campaign
- cyber-security-audit
- Landing page
- /managed-it
- Fluent Forms
- Audit request
- /managed-it
- /pricing
- /contact
Fluent Forms entries, campaign attached
What they asked for, and the marketing that made them ask, on one lead.
Fluent Forms stays fast
The snippet loads asynchronously and never touches the form. Speed intact.
Conversational Fluent Forms included
One question at a time, one credited lead at the end.
Fluent Forms set up once
Paste the code, clear the cache. Hidden fields stay off the to-do list.
Fluent Forms entries, campaign attached
Fluent Forms stores every entry, quickly. Lead Source pairs each one with the marketing behind it, so your submissions list tells you what people asked for and what made them ask. Then you buy more of what made them ask.
- Channel, campaign and full UTM set.
- Click IDs, landing page and referrer.
- The first visit and the last, on the same lead.
- Method
- AJAX
- Page reload
- None
- Loads
- async
- Form changes
- None
- Lead recorded
- On submit
Fluent Forms stays fast
Everything in Fluent Forms submits by AJAX, which is part of why it feels instant. Lead Source records the submission without waiting for a thank-you page to load. The snippet loads asynchronously and leaves the form alone. Your visitors keep the speed.
- Credited on submit, no reload needed.
- Async snippet, no change to the form.
- Same result on every page the form sits on.
The Fluent Forms visit, captured separately
Fluent Forms integrations fire on the submission_inserted hook and see what the entry holds. Lead Source captures the visit on its own and matches it to the submission. The campaign never waits on a field.
Conversational Fluent Forms included
A conversational form asks one question per screen, and it still sits on a page the tracking code runs on. So the finished conversation arrives as a lead with its source and journey. Charming form, credited lead.
- Conversational and classic forms, one install.
- The page the conversation started on, recorded.
- Every page read before the first question.
- /blog/managed-it-costs
- /pricing
- /contact
- First touch
- Organic search
- Last touch
- october-newsletter
<script async src="https://app.leadsource.co/ft.js" data-site="YOUR_SITE_KEY"></script>
Fluent Forms set up once
- Install the free WPCode plugin from the WordPress plugin directory.
- Open Code Snippets, then Header and Footer, paste the Lead Source tracking code into the Header section and save.
- Clear your page cache. Fresh pages run the code from the next visit.
No hidden fields to add, in any form. The same header snippet runs the whole WordPress lead tracking setup.
How do I see which campaign sent a Fluent Forms entry?
Paste the Lead Source tracking code into your WordPress header using WPCode, then clear the cache. Each Fluent Forms submission reaches Lead Source as a lead with its channel, campaign, click IDs, landing page and the pages viewed beforehand.
Which Fluent Forms entries carry limited attribution?
Entries from someone Lead Source never saw before they submitted, since there is no visit to match. Their attribution may be limited or unknown. Anyone who browsed your site first arrives credited.
Fluent Forms questions, answered.
Does it work with conversational forms?
A conversational form is still a form on a page the tracking code is on, so yes.
Will it slow Fluent Forms down?
No. The snippet loads asynchronously and does not touch the form.
Do I need to add hidden fields?
No. That is the method this replaces.
Fluent Forms, fast and fully credited.
Every entry arrives with its channel, campaign and the pages read first. Free to start.
Start freeFree to start · no card









