Skip to content
SourceLoop
Web form tracking

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
  1. What SourceLoop captures from Contact Form 7
  2. Before you start
  3. Step 1: Install the SourceLoop tracking script
  4. Step 2: Confirm your CF7 form is on a tracked page
  5. Step 3: Verify it’s working
  6. Where to see Contact Form 7 submissions
  7. Contacts Hub
  8. Attribution dashboard
  9. Funnel reports

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.

SourceLoop Setup page with the tracking code snippet ready to copy

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.

SourceLoop Contacts Hub showing a Contact Form 7 submission with the lead's full journey

Attribution dashboard

app.sourceloop.ai/dashboards/traffic rolls CF7 submissions up by source, medium, and campaign.

SourceLoop attribution dashboard with Contact Form 7 submissions grouped by source and campaign

Funnel reports

Build a funnel in app.sourceloop.ai/funnels ending in “Contact Form 7 submission” to compare paths by conversion rate.

SourceLoop funnel report ending in a Contact Form 7 submission conversion step

For paid acquisition, push submissions to Google Ads, Meta, and LinkedIn as offline conversions via Connect your Google Ads account.

Frequently asked questions

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

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

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

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

Track every conversion to its true source

Capture and send full attribution data from every signup, lead, booking, and sale to your CRM and ad platforms, so you know exactly what's driving revenue.

Without SourceLoop

Untagged

Kayden Floyd

kayden@abc.com

  • SourceUnknown
  • MediumUnknown
  • CampaignUnknown
  • Landing pageUnknown
Journey
No touchpoints captured

With SourceLoop

Auto-tagged

Kayden Floyd

kayden@abc.com · Acme Co.

  • Channel Paid Social
  • CampaignFree_demo
  • Landing page/pricing
Journey
Synced to HubSpot Google Ads Meta