How to track lead source in Contact Form 7
Attribute every Contact Form 7 submission to the campaign or channel that produced it, with the visitor's pre-submission journey attached.
On this page
Contact Form 7 is the WordPress plugin that quietly powers more contact forms than any other tool, simple, free, ubiquitous. The drawback most CF7 users accept is having no idea where the leads come from. This guide adds that visibility.
Three steps, around five minutes.
What SourceLoop captures from Contact Form 7
Each CF7 submission lands in SourceLoop with the visitor’s acquisition channel, full UTM set, browsing path, time on site, visit count, email, original landing page, last-touch source, and device/country/browser. Same depth as the bigger form tools, just on top of CF7’s lightweight plugin.
Before you start
- A SourceLoop workspace (free trial)
- Admin access to your WordPress site
- Contact Form 7 installed with at least one form embedded on a page
Step 1: Install the SourceLoop tracking script
From SourceLoop’s Setup -> Tracking code tab, copy the snippet.
Drop it into your WordPress site’s <head>, easiest via a “Headers and Footers” plugin or directly in your theme’s header.php.
Step 2: Confirm your CF7 form is on a tracked page
Once the script is live, every Contact Form 7 form is ready. Confirm the form is on a published page, includes an email field, and that no caching plugin is delaying SourceLoop’s snippet past the form load.
Step 3: Verify it’s working
Open the form page in an incognito tab, add ?utm_source=test&utm_medium=verify&utm_campaign=cf7-check, and submit a test entry. The submission should appear in Contacts Hub within seconds.
Where to see Contact Form 7 submissions
Contacts Hub
Submissions appear at app.sourceloop.ai/contacts with the full pre-submission journey.
Attribution dashboard
app.sourceloop.ai/dashboards/traffic rolls CF7 submissions up by source, medium, and campaign.
Funnel reports
Build a funnel in app.sourceloop.ai/funnels ending in “Contact Form 7 submission” to compare paths by conversion rate.
For paid acquisition, push submissions to Google Ads, Meta, and LinkedIn as offline conversions via Connect your Google Ads account.
Frequently asked questions
-
Does this work with Contact Form 7 free, or is there a paid add-on involved?
Yes, with the free CF7 plugin. Nothing paid is required, the integration works at the website level using the standard SourceLoop tracking script.
-
Will this conflict with the Akismet, reCAPTCHA, or Flamingo add-ons I run alongside CF7?
No. Those add-ons continue handling their roles (spam filtering, captcha, submission archiving) without interference from SourceLoop.
-
My CF7 form uses AJAX submission. Does that matter for tracking?
No. SourceLoop captures the submission whether CF7 reloads the page or processes the submission via AJAX.
-
I have multiple CF7 forms on one page (newsletter + contact). Are both tracked separately?
Yes. Each form's submission creates its own conversion attached to the submitted email. Visitors who submit multiple forms appear as the same contact.