Attribution for WordPress forms

Know exactly where every lead came from.

Contact Trail Pro captures UTM parameters, click IDs, and referrer data behind the scenes — then classifies each Contact Form 7, WPForms and Gravity Forms submission into a marketing channel automatically. Full-funnel attribution, stored right next to the entry.

✓ CF7, WPForms & Gravity Forms✓ First & last‑touch✓ GDPR‑ready✓ Cancel anytime✓ $29.99/mo after trial
Incoming trafficAttributed entry
Paid Search gclid
Paid Social fbclid
Organic google
Email utm
CF7 submissionclassified
channelPaid Search
utm_sourcegoogle
utm_campaignspring_promo
gclidCj0KCQ… aAv
first / lastEmail → Paid Search
geoAustin, US
Captures every signalutm_source / medium / campaigngclid · fbclid · msclkidttclid · li_fat_id · gbraidreferrer + landing page
The blind spot

Your form says “New submission.” It never says where they came from.

Out of the box, Contact Form 7 stores a name and a message — and nothing about the campaign, click, or channel that earned the lead. So you can't tell which marketing actually works.

● Contact Form 7 alone
name: Jordan Lee
message: “Interested in a demo…”
channel: — unknown —
campaign: — unknown —
source: — unknown —
✓ With Contact Trail Pro
name: Jordan Lee
message: “Interested in a demo…”
channel: Paid Search
campaign: spring_promo
source / medium: google / cpc
What's inside

Everything you need for full‑funnel attribution.

A complete tracking and reporting layer for Contact Form 7, WPForms and Gravity Forms — built for accuracy, privacy, and scale.

01

Automatic channel classification

A prioritized rule engine sorts every visit into 12 marketing channels — including AI Search, Google Business Profile and Local Services Ads — no manual tagging required.

02

First‑touch & last‑touch

Capture the channel that discovered a lead and the one that converted them, with a configurable cookie window.

03

Safari ITP bypass

A server‑side cookie endpoint preserves attribution where Safari's Intelligent Tracking Prevention would otherwise wipe it.

04

Search Console enrichment

Pull the actual organic keyword from Google Search Console for organic visits, labelled with High / Med / Low confidence.

05

Geolocation enrichment

Resolve each submission's city, region, and country from its IP via ipinfo.io for geographic reporting.

06

Consent‑manager integration

Honors Cookiebot, OneTrust, and Google Consent Mode so tracking only fires when the visitor has agreed.

07

IP anonymization

Mask the final octet of every IP for GDPR / CCPA compliance while keeping geo and channel data intact.

08

Data‑retention cleanup

A WP‑Cron job auto‑prunes records past your retention window, so you only keep what you're allowed to.

09

Streaming CSV export

Export filtered submissions — including the message column — as CSV, streamed so even huge datasets never time out.

How it works

Set it once. It works on every submission.

No tags to drop on each page, no developer required after setup. Contact Trail listens in the background and attaches the full trail to each entry.

01

A visitor arrives

Contact Trail records the UTM parameters, click IDs, referrer, and landing page from that very first pageview.

utm_*gclidreferrerlanding_page
02

The trail is stored

First touch is locked in; last touch updates as they return. A server‑side cookie keeps the trail alive past Safari ITP.

first_touchlast_touchITP‑safe
03

They submit the form

The classified channel and full attribution are saved alongside the form entry — ready to filter, sort, and export.

channeldashboardCSV export
The classifier

Twelve channels, one priority ladder, zero guesswork.

A prioritized detection engine checks explicit campaign tags and ad click IDs first, then where the visit came from — so each visit lands in exactly one channel, consistently.

Paid Searchgclid · cpc
Local Services Adslsa
Paid Socialpaid_social · cpc
Organic Searchgoogle · bing
Google Business Profilegbp · maps
AI Searchchatgpt · perplexity
Organic Socialreferrer · fbclid
Emailutm_medium
Displaybanner
Affiliatesutm_medium
Referralother site
Directno referrer
Detection priorityin order
01utm_medium = social / organic‑socialOrganic Social
02utm_medium = email / newsletterEmail
03paid medium + social source · ttclid / li_fat_id + paidPaid Social
04utm_medium = display / bannerDisplay
05gclid · gbraid · wbraid · msclkid · cpc / ppcPaid Search
06utm_medium = lsa · lsa‑* campaignLocal Services Ads
07utm_medium = gbp · maps.google.comGoogle Business Profile
08utm_medium = affiliateAffiliates
09chatgpt.com · perplexity · gemini · claudeAI Search
10referrer = search engineOrganic Search
11referrer = social site · bare fbclidOrganic Social
12referrer = other siteReferral
13no referrer, no tagsDirect
The dashboard

Every lead, every channel — in one filterable table.

Right inside WordPress under Contact Trail. Filter, sort, bulk‑manage, and export — no spreadsheets, no SQL.

yoursite.com/wp‑admin/admin.php?page=contact-trail

Submissions · 1,284

Channel: All ▾Last 30 days ▾Export CSV
ContactChannelSource / CampaignKeywordLocationDate
“Interested in a demo”
Paid Searchgoogle / spring_promoattribution pluginHighAustin, USJun 1, 14:22
“Pricing question”
Paid Socialfacebook / retarget_q2—London, GBJun 1, 11:08
“How does ITP work?”
Organic Searchgoogle / —cf7 utm trackingMedToronto, CAMay 31, 19:40
“Agency inquiry”
Emailnewsletter / may_digest—Berlin, DEMay 31, 09:15
“WooCommerce setup”
Referralwpbeginner.com / ——Madrid, ESMay 30, 16:52
Privacy by design

Attribution you can run with a clear conscience.

Built to respect consent and regional privacy law from the ground up — not bolted on after.

Consent‑gated

Integrates with Cookiebot, OneTrust, and Google Consent Mode — tracking waits for opt‑in.

IP anonymization

Drop the last octet of each IP address while preserving channel and geo accuracy.

Auto retention

Set a retention window; WP‑Cron prunes anything older automatically, on schedule.

GDPR / CCPA ready

The controls regional privacy law expects — so you can document a compliant setup.

Pricing

One plan. Every feature. No tiers.

Try every feature free for 14 days, then $29.99/month through Stripe. Update your card, download invoices or 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 Contact Form 7, WPForms (Lite or Pro) and Gravity Forms
Everything included
✓ Automatic 12‑channel classification incl. AI Search, GBP & LSA
✓ First‑touch & last‑touch attribution
✓ All click IDs: gclid, fbclid, msclkid, ttclid, li_fat_id
✓ Safari ITP server‑side cookie bypass
✓ Google Search Console keyword enrichment
✓ IP geolocation via ipinfo.io
✓ Consent‑manager & IP‑anonymization controls
✓ Filterable dashboard + streaming CSV export
✓ REST API, signed webhooks & GA4 / GTM event
FAQ

Questions, answered.

Contact Form 7, WPForms (Lite and Pro) and Gravity Forms, side by side if you use more than one. Every form records attribution automatically, with no form changes. See the WPForms and Gravity Forms pages for what each one gets.

Contact Trail Pro starts with a 14-day free trial, then costs $29.99/month. Click “Start 14-day free trial” to sign up through Stripe Checkout. You add a card, but nothing is charged until the trial ends, and Stripe emails you a reminder before then. Update your card, download invoices or cancel anytime from Contact Trail → License in WordPress or the Stripe customer portal. Pro features stay on while your trial or subscription is active.

In WordPress, go to Contact Trail → License and click Manage or Cancel Subscription, or sign in to the Stripe customer portal with the email you used at checkout. Pro keeps working until the end of the period you’ve already paid for, and you won’t be charged again. Removing the license key or deleting the plugin doesn’t cancel your subscription. Cancel during your free trial and you won’t be charged at all.

Yes — every subscription is backed by a 30-day money-back guarantee. If Contact Trail Pro is not the right fit, email [email protected] within 30 days of your first payment for a full refund, no questions asked.

A prioritized detection engine examines UTM parameters, click IDs, and referrer data to classify each visit into one of twelve marketing channels — Paid Search, Local Services Ads, Paid Social, Organic Search, Google Business Profile, AI Search, Organic Social, Email, Display, Affiliates, Referral and Direct — checking the most reliable signals first.

Contact Trail Pro includes IP anonymization, cookie‑consent integration, and configurable data retention to support GDPR / CCPA compliance. As always, consult your legal advisor for full compliance guidance.

A server‑side cookie endpoint preserves the attribution trail where Safari's Intelligent Tracking Prevention (ITP) would normally cap or clear client‑side cookies — so Safari visitors stay attributed.

Yes. Export any filtered view — including the message column — as CSV. Exports are streamed, so even very large datasets download without timing out.

Stop guessing. Start attributing.

Give every Contact Form 7, WPForms and Gravity Forms submission the full story of where it came from — automatically, from today. Free for 14 days, then $29.99/month.