Attribution for WPForms

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 Lite & Pro✓ No hidden fields to add✓ Smart tags for emails✓ $29.99/mo after trial
WPForms submissionSaved by Contact Trail
Contact us · WPFormsclassified
channelPaid Search
utm_source / mediumgoogle / cpc
utm_campaignemergency_repairs
gclidCj0KCQ… 9Rb
landing_page/services/
first / lastOrganic → Paid Search
form_pluginwpforms
Captured on every entryutm_source / medium / campaign / term / contentgclid · gbraid · wbraid · msclkid · fbclidreferrer + landing pagefirst & last touch
The blind spot

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.

● WPForms alone
name: Dana Reyes
message: “Need a quote this week”
channel: — unknown —
campaign: — unknown —
landing page: — unknown —
✓ With Contact Trail Pro
name: Dana Reyes
message: “Need a quote this week”
channel: Paid Search
campaign: emergency_repairs
landing page: /services/
Built for WPForms

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

How it works

Install it once. Every WPForms form starts recording.

No hidden fields to build, no Tag Manager variables, no changes to your forms.

01

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.

utm_*gclidreferrerlanding_page
02

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.

first_touchlast_touchITP-safe
03

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

{ct_channel}entry boxCSV export
The DIY route

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.
With Contact Trail: nothing to add to your forms. The trail is captured on arrival, kept across pages and visits, classified into a channel and saved with the submission on Lite and Pro alike. Already using hidden UTM fields? On Pro, one click adds Contact Trail's own ct-attr-* fields for your CRM mappings.
Pricing

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.

Contact Trail Pro
$29.99/ month
14 days free, then billed monthly · cancel anytime · secured by Stripe
Start 14-day free trial
Cancel during your trial and you won’t be charged. After that, a 30-day money-back guarantee covers your first payment.
Works with WPForms (Lite or Pro), Contact Form 7 and Gravity Forms
Everything included
✓ WPForms Lite & Pro, Contact Form 7 and Gravity Forms, side by side
✓ {ct_*} smart tags and one-click CRM fields (Pro)
✓ Automatic 12‑channel classification incl. AI Search, GBP & LSA
✓ First‑touch & last‑touch attribution
✓ All click IDs: gclid, gbraid, wbraid, msclkid, fbclid, ttclid
✓ Safari ITP server‑side cookie
✓ Search Console keywords & IP geolocation
✓ REST API, signed webhooks & GA4 / GTM event
FAQ

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.