Fluent Forms integration

Lead source tracking for Fluent Forms.

Fluent Forms is the fast one, with a lot built in. Source is the piece it still reads at the wrong moment.

Free official plugin, or one script - your pick No Smart Code to wire into every form Live in minutes
Salesforce
HubSpot
Pipedrive
Gmail
Twilio
Google Ads
Gravity Forms
Jotform
Webflow
Wix
Calendly
Typeform

Works with all Fluent Forms features

Conversational forms Multi-step forms Conditional logic AJAX submissions Payment forms Repeat fields
Two ways to run it

Plugin or script, on a Fluent Forms site.

The plugin keeps each source in wp-admin, near the entries Fluent Forms already stores. The hosted script sends leads to your Lead Source dashboard instead, outside WordPress. Same capture both ways, so choose by where you want to read it.

Free · WordPress.org

The official plugin

  • Records the source for each Fluent Forms entry, inside wp-admin
  • Two-click install from the directory, no account needed
  • Sits alongside your existing Fluent Forms entries, no Smart Code to add
View on WordPress.org
Hosted · any platform

The one-line script

  • One JavaScript line in your <head>, no plugin and no PHP
  • Leads land in your Lead Source dashboard, independent of WordPress
  • Survives a rebuild, host change or full migration
Start free →
The gap

Fluent Forms gives you more for free than most. Source is still read too late.

Fluent Forms earns its reputation for speed, and for packing conditional logic, multi-step, payments and entry storage into the free tier. It will even fill a Hidden field with a UTM through a Smart Code. The snag: the Smart Code fills in as the form loads, and by then the visitor may be several pages past the link that carried the UTM.

What Fluent Forms gives you

A fast form, fully featured

  • Entries stored with built-in reporting
  • Smart Codes for dynamic and hidden values
  • Conversational and multi-step layouts
  • Conditional logic, payments, repeat fields
What the Smart Code misses

The click that started it

  • The source the visitor arrived with, not the URL at submit
  • A named campaign instead of a raw UTM string
  • Pages read before the form appeared
  • Source that holds when the visitor browses first
The usual workaround

Smart Codes capture the URL. They just capture it too late.

Give a Hidden field a query-string Smart Code and Fluent Forms will store the UTM with the entry. That holds for exactly one kind of visitor: the one who lands on the form page and fills it in. Anyone who arrives on a blog post and finds the form later brings a URL with no parameters in it, and the Smart Code writes a blank.

The manual way

  • 01
    Put a Hidden field on each form for every UTM, each with its own query-string Smart Code.
  • 02
    Smart Codes resolve when the form renders. Someone who wandered in via the blog gives it a bare URL, and the entry saves an empty value.
  • 03
    Write a cookie script that remembers the UTMs from page one, then check Fluent Forms' AJAX submit still picks them up.
  • 04
    Copy the whole set onto each new form, conversational ones included, and test again after every Fluent Forms update.

With Lead Source

  • One install, plugin or script tag, and every Fluent Forms form reports a source, conversational layouts too.
  • The UTMs are read on page one and kept for the visit. When the form finally submits on a bare URL, they are still there.
  • You get a readable campaign name on the lead, where the Hidden field would hold whatever someone typed into utm_campaign.
  • A form you build next month is tracked the moment it goes live. Nobody adds a Smart Code to it.

Fluent Forms handles the form, quickly. Remembering where the visitor came from, from their first page to their last, happens outside any one form, so no form plugin tries.

The hosted option

One script tag. That’s the whole thing.

Skipping the plugin? Create an account, copy the tag from your dashboard and put it in the header. Every Fluent Forms form is found from then on, conversational and multi-step ones included. The tag looks roughly like this, with a placeholder for your site key.

Your real code is in the dashboard
<!-- Paste your real snippet from app.leadsource.co -->
<script async src="https://app.leadsource.co/ft.js" data-site="YOUR_SITE_KEY"></script>

The real snippet is generated for your account when you sign up. Copy it from the install page in your dashboard. Under 50ms execution. Async, so it doesn’t block your page. No dependencies.

Install on WordPress

Three steps. Most sites are done in five minutes.

1

Pick your path

Choose between the free plugin on WordPress.org and the hosted tag from your dashboard. Both reach every Fluent Forms form, including the conversational ones.

No credit card required to start. The signup flow takes about a minute.
2

Turn it on

Plugin route: Activate, then a short setup wizard. Script route: add it to the site <head> through WPCode, Insert Headers and Footers, or the theme header.

No Fluent Forms changes. Your forms, entries, and Smart Codes stay exactly as they are.
3

Send a test entry

Fill in one of your Fluent Forms and submit. The entry lands in Fluent Forms as usual, and a minute or two later the lead shows in Lead Source with its channel, campaign and page path. This is lead source tracking at work.

Want to test it end to end? Add ?utm_source=test to the URL before you submit. That’ll be the source on the lead.
Common questions

Questions, answered.

Do I use the plugin or the script for Fluent Forms?

Both capture the same source. Pick the free plugin to keep leads in wp-admin alongside your Fluent Forms entries, no account needed. Pick the hosted script to keep them on the Lead Source side, which carries on if the WordPress site is rebuilt or moved.

Is there an official Fluent Forms plugin on WordPress.org?

Yes, a free one. In wp-admin go to Plugins, Add New and search "Lead Source". Install, activate, and Fluent Forms entries carry their source from then on, with no Smart Code and no Hidden field on any form.

I already use a Smart Code to capture UTMs. Do I still need this?

Probably. Your Smart Code works for visitors who land straight on the form page with UTMs in the address. Lead Source records the UTMs on whichever page they land on and keeps them for the visit, which covers everyone who looked around before filling in the form.

Does it work with conversational and multi-step Fluent Forms?

Yes. The source is attached when the final step is sent, so a conversational form that asks one question per screen is handled the same as a plain one, and conditional logic makes no difference.

Will it slow down a site I chose Fluent Forms to keep fast?

No. The script is small and async, runs once the page is interactive, and typically executes in under 50ms. Your Core Web Vitals, which were presumably the point of choosing Fluent Forms, stay where they are.

Track your Fluent Forms leads. Free to start.

Channel, UTMs and page path on every Fluent Forms entry, from the free plugin or one async script. The site stays as quick as you built it.

Start free

Free to start · no card