How to track lead source in WS Form
Equip every WS Form submission with the marketing context behind it, source, campaign, landing page, and full visitor journey, all attached automatically.
On this page
WS Form is the WordPress form plugin developers and agencies reach for when they want serious control, advanced layout, deep API surface, action chains, and complex conditional logic. It does almost everything a form needs to do. The one thing it doesn’t is tell you which marketing channel produced each submission. SourceLoop covers that.
Three steps, around five minutes, no WS Form-side configuration needed.
What SourceLoop captures from WS Form
For each WS Form submission, SourceLoop attaches:
- The marketing channel that delivered the visitor
- UTM parameter values parsed from the landing URL
- Sequence of pages browsed before the form submission
- Time on site ahead of the conversion
- Number of distinct sessions before they finally submitted
- Email + name read from the WS Form fields
- First-touch landing page of the visitor’s history
- Source attributed to the converting session specifically
- Device, country, browser
Before you start
You’ll need:
- A SourceLoop workspace (free trial)
- WordPress admin access (or another way to add markup to
<head>) - A WS Form form embedded on a published WordPress page
Step 1: Install the SourceLoop snippet on your site
Inside SourceLoop, head to Setup -> Tracking code in the left sidebar and copy the snippet.
Add it to your WordPress <head>. Common ways:
- A header-injection plugin like Insert Headers and Footers or WPCode
- Your active theme’s
header.php, just before</head> - For developer-built themes, hook it via the
wp_headaction - Tag manager firing on All Pages
The snippet must run on every page that hosts a WS Form form.
Step 2: Confirm the form is on a tracked page
WS Form doesn’t require any per-form switch. Once the snippet is loading site-wide, every WS Form on every published page that includes the snippet is attributable.
Verify these basics:
- The form is embedded on a published page or post (not a draft)
- The form collects an email, used by SourceLoop as the lead identifier
- Aggressive performance plugins or theme-level deferring isn’t pushing SourceLoop after WS Form’s submit handler
Step 3: Run a verification submission
Open your WS Form page in an incognito tab with ?utm_source=test&utm_medium=verify&utm_campaign=wsform-check glued onto the URL. Submit a real entry using an email you control.
Within seconds, the lead should appear at the top of the Contacts Hub in SourceLoop with the three test UTM values stamped on the record.
Where to see WS Form submissions in SourceLoop
Contacts Hub
Every WS Form submission becomes a contact row at app.sourceloop.ai/contacts. Open a contact for the visitor’s full pre-submission browsing timeline.
Attribution dashboard
For the campaign-level view, app.sourceloop.ai/dashboards/traffic rolls WS Form submissions up by source, medium, and campaign so you can see which channels are pulling weight.
Funnel reports
Build a funnel at app.sourceloop.ai/funnels with “WS Form submission” as the final step. Slice by source, content, or device to find the highest-converting paths.
If paid acquisition is in the mix, mirror WS Form submissions back to Google Ads, Meta, and LinkedIn as offline conversions so the bidding algorithms train on real form fills instead of clicks. Connect your Google Ads account covers the wiring.
Frequently asked questions
-
Does this work with WS Form Lite (free)?
Yes. SourceLoop's tracking is browser-side and works the same on WS Form Lite as it does on WS Form Pro Edition, with no licence-tier dependencies.
-
WS Form's advanced layout uses CSS Grid and Flexbox. Will the snippet break anything visually?
No. The SourceLoop snippet doesn't render any UI or inject any CSS, so WS Form's layout (no matter how complex) is unaffected.
-
I use WS Form's "Action" system to push data to webhooks and integrations. Will those keep firing?
Yes. WS Form's actions continue to execute as configured. SourceLoop attaches attribution data on its end in parallel, completely separate from your action chain.
-
My WS Form forms include calculations, conditional logic, and repeaters. Are submissions still tracked?
Yes. None of WS Form's advanced field types or logic affect tracking. SourceLoop only fires on the final submission, so any complexity inside the form happens entirely upstream.
-
WS Form supports REST API submissions and headless workflows. Is that compatible with SourceLoop?
SourceLoop captures submissions made through a tracked page in a real browser. Pure REST API submissions (server-to-server, no visitor session) don't create attribution data, by design, since there's no visitor journey to attach.