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

Source: https://sourceloop.ai/help/track-lead-source-in-contact-form-7/
Updated: 2026-05-28

---

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](https://app.sourceloop.ai/sign-up))
- **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](/help/screenshots/sourceloop-tracking-code-script.png)

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.

> **Forms hosted off your domain aren't trackable**
> If you somehow display a CF7 form on a page outside your main WordPress site, the SourceLoop tracker won't be there to capture it. Always embed on a published page within your main site.

## 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](https://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](/help/screenshots/sourceloop-lead-journey-demo.webp)

### Attribution dashboard

[app.sourceloop.ai/dashboards/traffic](https://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](/help/screenshots/sourceloop-attribution-dashboard.webp)

### Funnel reports

Build a funnel in [app.sourceloop.ai/funnels](https://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](/help/screenshots/sourceloop-funnel.png)

For paid acquisition, push submissions to Google Ads, Meta, and LinkedIn as offline conversions via [Connect your Google Ads account](/help/connect-google-ads/).

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