Lead source tracking for WordPress.
See where every WordPress form lead came from, across every plugin, from one install.
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
- Conditional logic, multi-step, payments
Where each lead actually came from
- The campaign that drove the click
- The landing page they entered on
- Pages they read before submitting
- A consistent record across every form plugin
- Source data that survives plugin updates and migrations
Why one script beats configuring every plugin separately.
Each WordPress form plugin has its own way of capturing lead source. Each has its own hidden field syntax, its own submit event, and its own quirks. Configuring them all by hand means maintaining several separate setups, each of which can break independently.
The manual way
- 01Gravity Forms: add 5 hidden fields per form, enable Dynamic Population, configure parameter names.
- 02Contact Form 7: add
[hidden]shortcodes, install a UTM plugin to populate them, then edit each Mail tab. - 03Forminator: add Embed URL + HTTP Refer + Query Parameter hidden fields per form, map them in each email template.
- 04WPForms, Elementor, Ninja, Fluent: each one different again. Each one a separate plugin to learn, configure, test, and maintain.
With Lead Source
- 01Paste one script tag into your WordPress header. That’s the entire install, regardless of which form plugins you’re running.
- 02Lead Source detects every form on the site automatically, regardless of which plugin built it. Gravity Forms, Contact Form 7, Forminator, WPForms, Elementor, Ninja Forms, and Fluent Forms are all covered from the same install.
- 03Source persists across the full visitor journey, and the campaign name is written out rather than left as a raw UTM string.
- 04Every form on your site stays exactly as it is. Adding a new form plugin next month, or migrating from one plugin to another, doesn’t change anything on the Lead Source side. It just keeps tracking.
Every form plugin handles attribution slightly differently. From a visitor’s perspective that doesn’t matter. From the perspective of comparing sources across forms, it’s a problem worth solving once at the site level rather than per plugin.
One script tag. That’s the whole thing.
Sign up, copy the snippet from your dashboard, and paste it into your WordPress header. Every form on the site gets detected automatically from there, across every plugin, every embed type, and every page. The block below shows what the snippet looks like, with placeholder text where your unique site ID will be.
<!-- illustrative. Paste your real snippet from app.leadsource.co --> <script src="https://leadsource.co/s/[your-site-id].js" async></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.
Three steps. Most sites are done in five minutes.
Sign up and get your script tag
Create your free Lead Source account. You’ll see a snippet on the dashboard with your unique site ID already in it. Copy it.
Paste it into your WordPress header
Use a header plugin like WPCode, Insert Headers and Footers, or Header Footer Code Manager. Or edit your theme’s header.php directly if you’re comfortable. The snippet goes anywhere inside the <head>.
Submit a test through any form on your site
Open any page with a form on it. Any plugin, any embed type. Fill it in. Submit. Within a minute or two, the lead appears in your Lead Source dashboard with the source, the campaign, and every page visited before submitting.
?utm_source=test to the URL before you submit. That’ll be the source on the lead.Questions, answered.
Which WordPress form plugins does Lead Source work with?
Every major one we've tested: Gravity Forms, Contact Form 7, WPForms, Forminator, Elementor Forms, Ninja Forms, Fluent Forms. Most other WordPress form plugins also work. If yours emits a standard form-submit event or a documented JavaScript submission event, Lead Source detects it automatically.If you're using a plugin we haven't explicitly tested, get in touch with the URL and we'll add support.
Do I need to install a WordPress plugin?
No. Lead Source is one JavaScript snippet that goes in your site's
. It runs in the browser. There's no PHP plugin to install, no database table to add. If your WordPress install gets nuked tomorrow, your Lead Source data stays intact in your dashboard.Where do I paste the script?
Anywhere inside the
of your WordPress site. Most people use a header-injection plugin like WPCode, Insert Headers and Footers, or Header Footer Code Manager. All free, all do the same job.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 loads async and runs in the visitor's browser, so it doesn't care whether the HTML was served fresh or from cache. You don't need to exclude any pages from caching. No purge required after install.
One script for every form on your WordPress site. Free to start.
Whatever form plugin you’re using today, or whatever you migrate to next year, the source, campaign, and page journey on every submission lands in your inbox within minutes.
Start freeFree to start · no card