LeadSource – UTM Tracking & Lead Source Attribution for Forms

Plugin Banner

LeadSource – UTM Tracking & Lead Source Attribution for Forms

by forgecreative

Download
Description

Stop guessing which marketing channels are generating your leads.

LeadSource is a lead source tracking and marketing attribution plugin for WordPress forms. It automatically captures UTM parameters and advertising platform click IDs from your visitors, persists them through the browsing session, and attaches the traffic source to every form submission, with no configuration on your forms required.

Perfect for small businesses and agencies running ads across Google, Meta, LinkedIn, Microsoft and TikTok who need simple, reliable lead attribution and conversion tracking without complex analytics setups.

How It Works

  1. A visitor clicks your ad or link containing UTM parameters
  2. LeadSource captures and stores the traffic source data in a cookie
  3. When the visitor submits a form, the traffic source is automatically recorded
  4. View all your leads and their sources in a clean WordPress dashboard

Supported Form Plugins

Works automatically with the form plugin you already use — no shortcodes or form modifications needed:

  • Contact Form 7
  • WPForms
  • Gravity Forms
  • Ninja Forms
  • Formidable Forms
  • Fluent Forms
  • Elementor Pro Forms
  • Everest Forms

What It Tracks

  • UTM Parametersutm_source, utm_medium, utm_campaign, utm_term and utm_content
  • Ad Platform Click IDs — Google Ads (gclid), Meta / Facebook Ads (fbclid), Microsoft Ads including Bing (msclkid), LinkedIn Ads (li_fat_id), TikTok Ads (ttclid)
  • Auto-detected Traffic Source — labelled as Google Ads, Meta Ads, LinkedIn Ads, Microsoft Ads, TikTok Ads, Organic Search, Direct, or Referral
  • Landing Page URL — the first page the visitor arrived on
  • Referrer — where the visitor came from (with server-side fallback)

Dashboard & Reporting

  • Sortable, searchable entries table with a native WordPress look
  • Quick stats showing total submissions and top traffic sources
  • Colour-coded badges for each platform (Google, Meta, LinkedIn, etc.)
  • View full submission details in a modal popup
  • Export all entries to CSV with one click

Features

Everything is included — no paid plan required:

  • All UTM and click ID tracking
  • All 7 form plugin integrations
  • Admin dashboard with search, sort, and quick stats
  • CSV export
  • 5-step setup wizard with auto form detection
  • Unlimited stored entries
  • Per-submission email notifications
  • Daily, weekly, and monthly summary emails
  • IP address anonymisation

Privacy Friendly

  • IP addresses are automatically anonymised (last octet removed)
  • No data sent to external servers — everything stays in your WordPress database
  • Setup wizard includes recommended privacy policy language
  1. Upload the leadsource folder to /wp-content/plugins/
  2. Activate the plugin through the Plugins menu in WordPress
  3. Complete the 5-step setup wizard that appears automatically
  4. That’s it — traffic sources will be captured on your next form submission

The setup wizard will:

  • Auto-detect which form plugins you have installed
  • Let you choose your notification preferences
  • Configure your notification email address
  1. <strong>Dashboard</strong> — View all form submissions with their traffic sources, sortable columns, and quick stats

    Dashboard — View all form submissions with their traffic sources, sortable columns, and quick stats

  2. <strong>Entry Detail</strong> — Click any entry to see full UTM parameters, click IDs, landing page, and referrer

    Entry Detail — Click any entry to see full UTM parameters, click IDs, landing page, and referrer

  3. <strong>Setup Wizard</strong> — 5-step guided setup with automatic form detection

    Setup Wizard — 5-step guided setup with automatic form detection

  4. <strong>Settings</strong> — Configure email notifications and tracked form plugins

    Settings — Configure email notifications and tracked form plugins

Do I need to modify my forms?

No. LeadSource hooks into your form plugin automatically. There are no shortcodes to add, no hidden fields to configure, and no form templates to edit.

Does it work if I don’t use UTM parameters?

Yes. The plugin also detects ad platform click IDs (gclid, fbclid, etc.) and automatically labels the traffic source. Even visitors arriving via organic search or direct traffic are categorised.

Will it slow down my site?

No. The frontend script is tiny vanilla JavaScript (no jQuery dependency) that runs once on page load to read URL parameters. There are no external API calls and no impact on page load speed.

Does it work with caching plugins?

Yes. The UTM capture runs in the visitor’s browser via JavaScript, so server-side caching does not interfere with tracking.

What is the conversion window?

The plugin uses “Same Session” attribution — the captured UTM data persists until the browser is closed. This is the most accurate setting and prevents cross-session over-counting.

Is my data sent anywhere?

No. All data is stored locally in your WordPress database. The plugin does not communicate with any external analytics or tracking service.

Does this work for Google Ads conversion tracking?

Yes. LeadSource captures the Google Click ID (gclid) on every form submission, so you can match leads back to the campaigns, ad groups and keywords that produced them and feed conversions back into Google Ads.

Can I track the lead source for Contact Form 7, WPForms and Gravity Forms?

Yes. LeadSource records lead source and full UTM attribution automatically for Contact Form 7, WPForms, Gravity Forms, Ninja Forms, Formidable Forms, Fluent Forms, Elementor Pro Forms and Everest Forms, with no per-form setup.

Does it do first-touch or last-touch attribution?

LeadSource uses same-session attribution. The captured source persists until the browser is closed, which avoids the cross-session over-counting that long cookie windows can cause.

Which ad campaign generated this lead?

That is the question the plugin exists to answer. Every entry in the dashboard shows the campaign the lead arrived from, taken from utm_campaign where you set it and from the ad platform click ID where you did not. Sort or search the entries table by traffic source to see which campaigns are producing leads and which are producing nothing, then export the lot to CSV if you want to pivot it in a spreadsheet.

How do I add a hidden UTM field to Contact Form 7?

You do not need to. This is the usual way of getting UTM data into a form, and LeadSource makes it unnecessary — there is no hidden field to add, no shortcode, and no form template to edit. The plugin captures the UTM parameters in the browser, stores them for the session, and attaches them to the submission through Contact Form 7’s own submission hook. Your existing forms keep working exactly as they are. The same applies to WPForms, Gravity Forms and the other supported form plugins.

Which advertising platforms does it recognise?

Google Ads, Meta Ads (Facebook and Instagram), Microsoft Ads (including Bing, MSN and Outlook placements), LinkedIn Ads and TikTok Ads are identified from their click IDs, which is the reliable method because a click ID cannot be faked by a stray link. Visitors with no click ID are still categorised from utm_source, or labelled as organic search, direct traffic or a referral.

Easy set up.

By steveseo on June 15, 2026

Really easy to set up.

1.0.6

  • Documentation: expanded the readme for discoverability — the UTM parameter names are now spelled out, the supported ad platforms are named individually, and three FAQs were added on campaign attribution, hidden form fields and platform detection.
  • Internal version constant bumped to match the plugin header, so browsers re-fetch the plugin’s CSS and JavaScript once. No other functional changes.

1.0.5

  • Added – Everest Forms integration. Traffic source and UTM attribution are now captured automatically on Everest Forms submissions.

1.0.4

  • Show the full message content in notification emails and the entry detail view (no longer truncated)
  • Update the plugin name and directory listing for clarity
  • Rename the translation template to leadsource.pot to match the text domain

1.0.3

  • All features now free — no licensing or paid plan required
  • Unlimited entry storage for all users
  • Email notifications and summary reports available on all installs
  • Rename text domain to leadsource

1.0.2

  • Fix additional fatal redeclaration errors when free and Pro versions are both active

1.0.1

  • Fix fatal error when free and Pro versions are active simultaneously

1.0.0

  • Initial release
  • UTM parameter and click ID tracking
  • Support for 7 form plugins
  • Admin dashboard with WP_List_Table
  • 5-step setup wizard
  • Email notifications
  • Summary emails — daily, weekly, monthly
  • IP anonymisation
Back to top