WordPress lead source tracking

Lead source tracking for WordPress.

See where every WordPress form lead came from, across every plugin, from one install.

Works with every major form plugin No plugin to install, no per-form setup Live in minutes

Works with every major WordPress form plugin

Gravity Forms Contact Form 7 WPForms Forminator Elementor Forms Ninja Forms Fluent Forms
The gap

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.

What each plugin does well

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
What every plugin leaves to you

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
The usual workaround

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

  • 01
    Gravity Forms: add 5 hidden fields per form, enable Dynamic Population, configure parameter names.
  • 02
    Contact Form 7: add [hidden] shortcodes, install a UTM plugin to populate them, then edit each Mail tab.
  • 03
    Forminator: add Embed URL + HTTP Refer + Query Parameter hidden fields per form, map them in each email template.
  • 04
    WPForms, Elementor, Ninja, Fluent: each one different again. Each one a separate plugin to learn, configure, test, and maintain.

With Lead Source

  • 01
    Paste one script tag into your WordPress header. That’s the entire install, regardless of which form plugins you’re running.
  • 02
    Lead 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.
  • 03
    Source persists across the full visitor journey, and the campaign name is written out rather than left as a raw UTM string.
  • 04
    Every 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.

What you install

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.

example only. Your real code is in the dashboard
<!-- 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.

Install on WordPress

Three steps. Most sites are done in five minutes.

1

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.

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

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>.

Don’t worry about caching plugins; async scripts don’t need special handling. You don’t need to clear anything.
3

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.

Want to test attribution 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.

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&rsquo;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 free

Free to start &middot; no card