How to track lead source in Contact Form 7
Contact Form 7 emails you the message. Lead Source keeps the record, with the campaign, landing page and page journey that produced it.
- Channel
- Google Ads
- Campaign
- cyber-security-audit
- Landing page
- /pricing
- Contact Form 7
- Contact form
- /pricing
- /managed-it
- /contact
A record for every CF7 message
CF7 sends the email. Lead Source files the lead, campaign included.
CF7 AJAX, credited by default
The plugin submits without a reload. The source arrives regardless.
Both touches on every CF7 lead
The visit that found you and the visit that wrote in, side by side.
Your CF7 shortcode, untouched
No extra tags in the form, no edits to the mail template.
A record for every CF7 message
Contact Form 7 takes what somebody typed and emails it, which is why it runs on millions of sites without getting in anyone’s way. By default it saves no submissions at all. Lead Source keeps one for every message. Each record carries the campaign that produced it.
- A lead list, with no Flamingo required.
- Source, channel, campaign and UTMs on each one.
- Click IDs, landing page and referrer on each one.
- Email to you
- sent
- Saved in WordPress
- nothing, by design
- Lead
- Tom Whitcombe
- Channel
- Google Ads
- Campaign
- cyber-security-audit
CF7 AJAX, credited by default
Contact Form 7 submits by AJAX out of the box, so there is no page reload and no thank-you page for a conversion tag to wait on. Lead Source captures the submission on the page itself. Every campaign gets its count.
- Works with the default AJAX submit.
- No thank-you page to build.
- Ad platform tags carry on alongside it.
Contact Form 7 leads, with or without Flamingo
Plenty of sites add Flamingo to get an entry list inside WordPress, and it earns its keep for other reasons. Lead Source records the lead and its source either way. Add it or leave it. Attribution arrives regardless.
Both touches on every CF7 lead
Tom found you through a Google search and came back weeks later through an ad. Lead Source shows both visits on his record. The first touch earns the introduction. The last touch earns the message.
- First visit and last visit, both kept.
- Every page viewed before submitting.
- One person, one journey, one record.
- /blog/managed-it-costs
- /pricing
- /contact
<script async src="https://app.leadsource.co/ft.js" data-site="YOUR_SITE_KEY"></script>
Your CF7 shortcode, untouched
- Install the free WPCode plugin from the WordPress plugin directory.
- Open Code Snippets, then Header and Footer, paste the Lead Source tracking code into the Header section and save.
- Clear your page cache. That is the install.
Nothing changes in your form markup: no extra [hidden] tags, no mail template edits. Every other form on the site is covered by WordPress lead tracking.
How do I track lead source in a Contact Form 7 form?
Paste the Lead Source tracking code into your site header with WPCode and clear the page cache. Every Contact Form 7 message then becomes a lead record with its source, campaign, click IDs, landing page and the pages viewed first.
Which Contact Form 7 messages arrive with less attribution?
Messages from someone Lead Source never saw on your website before they submitted. With no visit to match, attribution on that lead is limited or unknown. Clear your cache after installing.
Contact Form 7 questions, answered.
Do I need Flamingo as well?
Not for Lead Source. Flamingo gives you an entry list inside WordPress, which is useful for other reasons. The lead and its source are recorded in Lead Source regardless.
Do I have to add hidden fields to my shortcode?
No. Nothing in your form markup changes.
Why do my Contact Form 7 conversions not show in Google Ads?
Usually because the form submits by AJAX and your conversion tag is waiting for a thank-you page that never loads.
See your real Contact Form 7 lead sources.
Free. Five-minute install. No credit card.
Start freeFree to start · no card









