UTM tracking for WPForms, with zero form changes.
Contact Trail Pro records the campaign, click ID, referrer and landing page behind every WPForms submission — on WPForms Lite and Pro — and sorts each lead into a marketing channel automatically.
WPForms tells you what a lead typed. Not where they came from.
A WPForms notification has the name, email and message, but nothing about the ad, search or campaign that earned the lead. On WPForms Lite it's harder still: there's no Hidden field and no entries saved in WordPress. Contact Trail stores every submission with its attribution either way.
Attribution that works the way WPForms does.
Install it and every form starts recording. The extras below are there when you want the data in emails, confirmations or your CRM.
Works on Lite and Pro
Capture needs no setup on either edition. Lite keeps no entries of its own, so Contact Trail's Submissions screen becomes your record of every lead and where it came from.
Smart tags for every email
Drop {ct_channel}, {ct_source}, {ct_campaign}, {ct_keyword} or {ct_gclid} into notifications, confirmations and redirect URLs. The form builder's Contact Trail section has ready-made email snippets.
One-click CRM fields (Pro)
“Add core attribution fields” drops Hidden fields with the ct-attr-* class into the form, so HubSpot, Salesforce and Zapier can map the channel, UTMs and GCLID like any other field.
Webhooks & Google Sheets (Pro)
The same smart tags work as custom values in the WPForms Webhooks and Google Sheets addons, and Contact Trail's own signed webhook and REST API carry every lead too.
12 channels, classified for you
Paid Search, Local Services Ads, Paid Social, Organic Search, Google Business Profile, AI Search and six more, decided by one priority ladder instead of guesswork.
A clean GA4 / GTM event
contact_trail_submission fires once per submission with the channel, campaign and form_plugin, including page-reload and redirect confirmations to your own pages.
Install it once. Every WPForms form starts recording.
No hidden fields to build, no Tag Manager variables, no changes to your forms.
A visitor arrives
Contact Trail reads the UTMs, click IDs, referrer and landing page on the very first pageview, before any of it can be lost.
The trail is kept
First touch is locked in and last touch updates as they come back. A server-side cookie keeps the trail past Safari's 7-day limit on script cookies.
They submit a WPForms form
The channel and full trail are saved with the submission, by AJAX or page reload. WPForms Pro entries get a Contact Trail box, and spam isn't recorded until you mark it “not spam”.
Can WPForms track UTM parameters on its own?
Partly, and only on WPForms Pro. Add a Hidden field to the form, then set its Default Value to the query-string smart tag for the parameter you want. You need one field per parameter:
# Hidden field → Default Value
{query_var key="utm_source"}
{query_var key="utm_medium"}
{query_var key="utm_campaign"}
{query_var key="gclid"}That fills the field from the page URL at the moment the form loads. It's fine for a single landing page, but it falls short in a few ways:
- The tags only live on the first page. If the visitor reads your services page and then submits the form on
/contact/, the URL no longer carries the UTMs and the fields arrive empty. - Untagged visits get nothing. Organic search, Google Business Profile, AI assistants, referrals and direct visits don't carry UTMs, so there's no channel for most of your leads.
- No first or last touch. A lead who found you through an ad and came back through search shows only whatever is in the URL that day.
- Lite can't do it at all. WPForms Lite has no Hidden field and keeps no entries in WordPress.
ct-attr-* fields for your CRM mappings.One plan. Every feature. No lead limits.
Try everything free for 14 days, then $29.99/month. Cancel anytime from Contact Trail → License in WordPress or the Stripe customer portal.
WPForms questions, answered.
Yes. Capture works the same on Lite and Pro. Lite has no Hidden field and keeps no entries, so you'll see each lead, its form contents and its attribution on Contact Trail's Submissions screen instead.
No. Contact Trail records attribution for every form automatically. Hidden fields are optional on Pro, for CRM integrations that map form fields: “Add core attribution fields” in the builder's Contact Trail section adds them in one click.
On WPForms Pro, add the core attribution fields and map them in your integration like any other field. On any edition you can also use Contact Trail's signed webhook (Zapier, Make or a CRM endpoint) or pull leads from its REST API.
Yes. Use smart tags such as {ct_channel}, {ct_source}, {ct_campaign}, {ct_keyword}, {ct_gclid} and {ct_submission_id} in notifications, confirmations and redirect URLs. Settings → Contact Trail in the form builder lists them with email snippets.
Yes. Submissions are recorded by AJAX or page reload, and the GA4 / GTM event still fires once when the confirmation redirects to a page on your site.
Yes. All three are supported side by side, and the Submissions screen, CSV, REST API and webhook name the form plugin for each lead.
Know which marketing fills your WPForms inbox.
Every WPForms lead, with its channel, campaign and click ID, starting today. Free for 14 days, then $29.99/month.