# How to track lead source in Cognito Forms

Get the missing marketing dimension on every Cognito Forms entry, which channel, campaign, and landing page produced it, paired with the visitor's full pre-submission journey.

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

---

Cognito Forms is the SaaS form builder that punches well above its price tier, calculations, signatures, payments, document templates, all on a famously generous free plan. The single thing it doesn't do is tell you which marketing channel sent each lead. SourceLoop closes that gap with no Cognito-side configuration.

Three quick steps, around five minutes, and from then on every form fill carries its acquisition story.

## What SourceLoop captures from Cognito Forms

Each submission flows into SourceLoop bundled with:

- **The marketing source** that delivered the visitor (paid, organic, social, referral, direct, etc.)
- **UTM parameters**: source, medium, campaign, term, content
- **Page sequence** the visitor stepped through before submitting
- **Session-level time on site** ahead of the conversion
- **Visit count** prior to the form fill
- **Email and name** read from the Cognito Forms fields
- **First-touch landing page** of the visitor's history
- **Source for the converting session** (often distinct from first-touch)
- **Device, country, browser**

## Before you start

You'll need:

- A **SourceLoop workspace** ([free trial](https://app.sourceloop.ai/sign-up))
- **Edit access** to the page where your Cognito Form is embedded
- A **Cognito Forms account** with a form you can embed via the script embed

## Step 1: Add SourceLoop's tracking snippet to your site

From SourceLoop, head to **Setup -> Tracking code** in the left nav and copy the snippet.

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

Paste it into the `<head>` of your site. Site-wide is best, but at minimum it needs to run on every page where you plan to embed a Cognito Form. WordPress users have header-injection plugins; static site builds have layout templates; Webflow/Framer have project-level head settings; tag managers can fire it on all pages.

## Step 2: Use the JavaScript embed on a tracked page

In Cognito Forms, open your form, click **Publish -> Embed Form**, and copy the **seamless embed** snippet (the JavaScript version, not the iframe).

Paste that snippet into the page where your form should appear. The page must also have the SourceLoop snippet from Step 1.

> **Iframe embeds and direct cognitoforms.com URLs aren't ideal**
> The iframe embed isolates the form in a separate browsing context, which makes attribution less reliable. The hosted `cognitoforms.com/...` URL skips your site entirely, so there's no SourceLoop pageview to tie the submission to. Stick with the seamless JavaScript embed on a page that loads SourceLoop.

## Step 3: Send a verification submission

Open the page hosting your form in an **incognito window**, append `?utm_source=test&utm_medium=verify&utm_campaign=cognito-check` to the URL, and submit a test entry with an email address you can check.

Within seconds, the entry should show up at the top of the **Contacts Hub** in SourceLoop with the three test UTMs attached.

## Where to see Cognito Forms submissions in SourceLoop

### Contacts Hub

Every Cognito Forms submission becomes a contact row at [app.sourceloop.ai/contacts](https://app.sourceloop.ai/contacts). Click a contact to see their complete browsing path: every page, every prior session, every touchpoint that led to the submission.

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

### Attribution dashboard

Pop open [app.sourceloop.ai/dashboards/traffic](https://app.sourceloop.ai/dashboards/traffic) for the cross-channel view. Cognito submissions get grouped by source, medium, and campaign so you can compare what's driving leads vs. what's only driving traffic.

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

### Funnel reports

In [app.sourceloop.ai/funnels](https://app.sourceloop.ai/funnels/), build a funnel that ends in "Cognito Forms submission". Slice by source, landing page, or device to surface the highest-converting routes from first visit to form fill.

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

If paid acquisition is part of your mix, mirror Cognito submissions back to **Google Ads, Meta, and LinkedIn as offline conversions** so the bidding algorithms train on actual leads. [Connect your Google Ads account](/help/connect-google-ads/) covers the wiring.

## Frequently Asked Questions

### Does this work on Cognito Forms' free plan?

Yes. Cognito Forms' generous free plan supports embedding forms on external sites, which is the only requirement on the Cognito side. SourceLoop attaches attribution regardless of your Cognito plan level.

### I embed Cognito Forms with a JavaScript snippet vs an iframe. Does it matter?

The JavaScript "seamless" embed is what we recommend. Iframes complicate cross-frame data sharing, so attribution is most reliable when the form renders inline on your page via the script embed.

### Are Cognito Forms' calculation, conditional-logic, and document-generation features safe to use?

Yes. Everything you've built inside Cognito Forms, calculations, dynamic fields, document templates, signatures, payments, runs untouched. SourceLoop only attaches marketing context to the submission itself.

### I link directly to a Cognito Forms hosted URL (cognitoforms.com/...). Will those submissions be attributed?

No. Direct links to the Cognito-hosted version of your form bypass your site entirely, so there's no SourceLoop tracking on those pageviews. Embed the form on your own page and send traffic there instead.

### Does this conflict with Cognito Forms' built-in spam protection (CAPTCHA, profanity filter)?

No. Spam protection runs entirely inside Cognito Forms. SourceLoop only attaches attribution to submissions that successfully complete, which is what you want.
