# How to track lead source in Fluent Forms

Stop guessing which campaign drove your Fluent Forms entries. Stamp every submission with its true acquisition source, UTMs, and the visitor's path on the way in.

Source: https://sourceloop.ai/help/track-lead-source-in-fluent-forms/
Updated: 2026-05-28

---

Fluent Forms is the WordPress form plugin built around speed and developer ergonomics, lightweight, fast in the editor, and packed with integrations once you scale up to Pro. What it can't tell you is the same blind spot every form has: which marketing channel actually delivered each lead. This guide closes the loop.

Three quick steps, around five minutes, and zero Fluent Forms configuration needed.

## What SourceLoop captures from Fluent Forms

After setup, here's what's attached to every Fluent Forms entry inside SourceLoop:

- **First-touch source** of how the visitor originally found you
- **UTM parameters** for source, medium, campaign, content, term
- **Sequence of pages** the visitor browsed before submitting
- **Time elapsed on your site** prior to the submission
- **Repeat visits** that preceded this conversion
- **Email + name** read straight from your Fluent Forms fields
- **Landing page** that opened the journey
- **Source of the converting session** (the one that finally produced the form fill)
- **Device, country, and browser** of the lead

## Before you start

You'll need:

- A **SourceLoop account** ([free trial](https://app.sourceloop.ai/sign-up))
- **WordPress admin** rights, or another way to inject markup into `<head>`
- A **Fluent Forms** form (Lite or Pro) embedded on a live page

## Step 1: Drop the SourceLoop snippet into your site

Inside SourceLoop, go to **Setup -> Tracking code** in the left sidebar and grab the snippet.

![SourceLoop Setup page with the tracking code snippet ready to copy](/help/screenshots/sourceloop-tracking-code-script.png)

On WordPress, the cleanest options are:

- A dedicated header plugin (e.g., "Insert Headers and Footers", "WPCode")
- Your active theme's `header.php` immediately before `</head>`
- A "Custom Code" / "Header Scripts" panel inside an SEO plugin
- Google Tag Manager firing on All Pages

The script needs to load site-wide, definitely on every page where a Fluent Forms form lives.

## Step 2: Make sure the form is embedded on a tracked page

There's nothing to configure inside Fluent Forms itself. Once the snippet is live across your site, every Fluent Forms entry becomes attributable automatically.

Verify the basics:

- The form is on a **published** page or post (drafts won't carry the snippet for anonymous visitors)
- The form **collects an email**, SourceLoop uses email as the lead identifier
- Defer/async rules in your performance plugin aren't shoving SourceLoop below the form

> **Direct-link previews can't be attributed**
> Sharing a Fluent Forms preview URL or any form link that lives outside your normal site means the visitor never lands on a tracked page. Those submissions show up in Fluent Forms but won't have a marketing source. Always send traffic to a normal page that embeds the form.

## Step 3: Send a test submission

Open the form's page in an **incognito window** with `?utm_source=test&utm_medium=verify&utm_campaign=fluent-check` glued to the URL. Submit a real entry using an inbox you can access.

Inside a few seconds, that submission should appear on the **Contacts Hub** in SourceLoop with the test UTM values visible on the record.

## Where to see Fluent Forms submissions in SourceLoop

### Contacts Hub

The single source of truth for every lead: [app.sourceloop.ai/contacts](https://app.sourceloop.ai/contacts). Each Fluent Forms entry becomes a row; expand it for the lead's entire pre-submission journey, ordered by timestamp.

![SourceLoop Contacts Hub showing a Fluent Forms submission with the lead's full journey](/help/screenshots/sourceloop-lead-journey-demo.webp)

### Attribution dashboard

Open [app.sourceloop.ai/dashboards/traffic](https://app.sourceloop.ai/dashboards/traffic) for a campaign-level read. Fluent Forms submissions get sliced by source, medium, and campaign so you can see which efforts are pulling their weight at a glance.

![SourceLoop attribution dashboard with Fluent Forms submissions grouped by source and campaign](/help/screenshots/sourceloop-attribution-dashboard.webp)

### Funnel reports

Want to know which path turns the most visitors into form fills? Build a funnel in [app.sourceloop.ai/funnels](https://app.sourceloop.ai/funnels/) with "Fluent Forms submission" as the final step, then slice by source, content, or device.

![SourceLoop funnel report ending in a Fluent Forms submission conversion step](/help/screenshots/sourceloop-funnel.png)

If you spend on Google Ads, Meta, or LinkedIn, forward Fluent Forms submissions back as **offline conversions** so the platforms can optimise toward lead generation instead of clicks. The [Connect your Google Ads account](/help/connect-google-ads/) walkthrough covers the wiring.

## Frequently Asked Questions

### Does SourceLoop work with Fluent Forms Lite (the free version)?

Yes. Tracking is wired up entirely in the browser, with zero reliance on Fluent Forms' database or Pro-only modules, so Lite users are fully supported.

### I use Fluent Forms' Conversational Form layout. Does that still get attributed?

Yes. Whichever layout you ship, classic, step-based, or conversational, the final submission carries the attribution data attached to that session.

### Will my existing Fluent Forms integrations (FluentCRM, Mailchimp, ActiveCampaign, Slack) still fire?

Yes. SourceLoop doesn't replace or proxy any of your existing destinations. Fluent Forms keeps sending data to your CRM, ESP, or Slack channel as configured; SourceLoop just enriches the lead record on its side.

### Fluent Forms supports conditional fields and calculation logic. Do those interfere with tracking?

No. Conditional logic, calculations, and field-level rules all run inside Fluent Forms itself. SourceLoop only watches for the submission event, which fires once the visitor reaches the end.

### I'm running Fluent Forms on a WooCommerce checkout or login flow. Will SourceLoop attribute those too?

Yes, as long as the page hosting the form has the SourceLoop snippet loaded in its `<head>`. The form's location (homepage, contact, checkout, gated content) is irrelevant.
