Lead source tracking for WordPress.
One install covers every form plugin on the site, whichever ones you have collected. Free on WordPress.org, or as a hosted script.
Pick the WordPress setup that fits.
The WordPress.org plugin saves each lead to your own database and needs no account. The hosted script keeps them with Lead Source, away from the WordPress install. Both see Gravity, CF7, WPForms and the rest in the same way. Choose by where the records should sit.
The official plugin
- Keeps every form's leads and sources in your own database
- Two-click install from the directory, no account
- Works across every form plugin you already run
The one-line script
- A single tag in the site <head>, nothing added to Plugins
- Leads land in your Lead Source dashboard, independent of WordPress
- Survives a rebuild or migration
One dashboard. Every answer.
Leads from all your form plugins in one list, sorted by channel. The Gravity quote form and the CF7 contact page stop being two separate inboxes, and each lead opens to the pages the person read first.
- Channels ranked across every plugin at once
- First page and page path on each enquiry
- Usable before a CRM is ever connected
Works with every major WordPress form plugin
Most WordPress sites have more than one form plugin.
WordPress sites accumulate form plugins over time. The quote form is Gravity Forms, the newsletter widget is Elementor, the contact page is Contact Form 7. Each plugin has its own approach to hidden fields, its own submission events, and its own quirks.
Forms. The part WordPress nails
- Visual form builders with every field type
- Email notifications, auto-replies, CC, BCC
- Entry storage, exports, integrations
- Spam filters, reCAPTCHA, validation
- Payments, multi-step layouts and conditional logic
The campaign behind each entry
- The campaign that drove the click
- The first page they opened
- Pages opened before the enquiry
- One source format, whichever plugin took the entry
- Source data that survives plugin updates and migrations
Every form plugin, one install.
By hand, it is hidden fields on every form, Dynamic Population or a UTM plugin to fill them, and a cookie layer for the second pageview. Then you do Gravity Forms’ version, Contact Form 7’s version and Forminator’s version, followed by WPForms, Elementor, Ninja and Fluent, each with its own settings screen and its own way of breaking after an update.
Lead Source sits on the site itself. Plugin or hosted script, it records the channel and page path on every form in every plugin, and a plugin update or a switch from CF7 to Gravity does not reset it.
What the WordPress install covers.
Theme, page builder and form plugin do not matter. Lead Source runs across the site, so a source recorded on the blog is still there on the quote page.
- Works with every major form plugin from a single install
- With the official plugin, leads are stored in your own wp-admin
- One-click CSV export straight from wp-admin
- Source data survives plugin updates and migrations
The official WordPress plugin.
Find it under Plugins, Add New, install and activate. On activation a setup wizard looks for the form plugins already on the site, and from then on each lead is saved in your own wp-admin without an account. There is more on the plugin launch in the launch post.
- The source and click ID behind each lead, google, Meta and Microsoft, then LinkedIn and TikTok
- UTMs on each submission, with first page and page path
- Works with WooCommerce checkout and order forms for lead source on quote and enquiry flows
- Leads held in your own database, exportable to CSV from wp-admin in one click
<!-- Paste your real snippet from app.leadsource.co --> <script async src="https://app.leadsource.co/ft.js" data-site="YOUR_SITE_KEY"></script>
Or add it direct, in one line.
Plugin list long enough already? A single JavaScript line in the site <head> finds every form, whichever plugin made it, and sends leads to the lead source tracking dashboard. Because the records live outside WordPress, a rebuild or a host move leaves them intact.
- Open an account and copy the tag from your dashboard
- Put it in the <head> through WPCode, Insert Headers and Footers, or the theme
- Try a form from each plugin you run and watch the sources arrive within minutes
- One tag records UTMs for all your form plugins together
Questions, answered.
Which WordPress form plugins does Lead Source work with?
Gravity Forms, Contact Form 7, WPForms, Forminator, Elementor Forms, Ninja Forms and Fluent Forms, plus most others. A plugin is picked up automatically when it fires a standard form-submit event or a documented JavaScript submission event. Running one we have not tested? Send us the URL and we will add support.
Do I need to install a WordPress plugin?
No, it is optional. The free plugin from WordPress.org keeps each lead in your own WordPress database and needs no account. The hosted option is a single line in the <head> with nothing in the Plugins list, and it keeps leads in the Lead Source dashboard, safe from a rebuild or a migration. The data captured is identical.
Does it track WooCommerce orders?
Yes, as a lead source for quote and enquiry flows. WooCommerce checkout and order forms get the same channel, UTMs and page path as any other WordPress form, so each new order or enquiry is labelled with how the customer found you. It covers the source of the submission. Per-product revenue attribution is outside what it does.
Where do I paste the script?
Anywhere in the <head>. The easy way is a free header plugin, WPCode, Insert Headers and Footers or Header Footer Code Manager, any of which will do.
I have multiple WordPress sites. Do I need a separate script for each?
You install the same snippet on each site. The script auto-detects which site it's running on and groups leads accordingly in your dashboard. Free plan covers 1 site, Starter covers 3, Growth covers 10.
Will it conflict with caching plugins. WP Rocket, LiteSpeed, W3 Total Cache?
No. The script is async and runs in the browser, after the cached HTML has arrived, so WP Rocket, LiteSpeed and W3 Total Cache can serve pages as they always do. Nothing needs excluding, and nothing needs purging after install.
Track every form on your WordPress site. Free to start.
Channel, campaign and page path on every submission, whichever form plugin took it. Switch plugins next year and the tracking stays put.
Start freeFree to start · no card











