# How to track lead source in Paperform

Match every Paperform submission with the marketing channel that earned it, all without touching your form or signing up for a separate analytics tool.

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

---

Paperform built a reputation as the form-meets-landing-page hybrid: forms that look like content, mixing text, images, and questions in one flowing layout. Marketers love the design freedom but they still miss one thing, knowing which campaign each submission came from. SourceLoop fills in that gap.

Three steps, around five minutes of setup, and Paperform submissions afterwards arrive with the story of how that visitor found you.

## What SourceLoop captures from Paperform

Once installed, every Paperform submission carries:

- **The visitor's acquisition channel** (organic, paid, social, referral, etc.)
- **Complete UTM set** lifted from the landing URL
- **Pages browsed** in sequence before the form fill
- **Cumulative time on site** prior to the submission
- **Number of distinct sessions** before they converted
- **Email and name** captured from your Paperform questions
- **First-touch landing page** at the top of the visitor's history
- **Source of the converting session**, often different from first-touch
- **Device, location, and browser**

## Before you start

You'll need:

- A **SourceLoop workspace** ([free trial](https://app.sourceloop.ai/sign-up))
- **Edit access** to the page where you embed your Paperform form
- A **Paperform account** with at least one form published and embeddable

## Step 1: Drop SourceLoop's tracking snippet into your site's head

From SourceLoop, click **Setup -> Tracking code** in the sidebar and copy the snippet.

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

Put it in the `<head>` of the page (or whole site) where your Paperform will live. WordPress users: a header-injection plugin or `header.php`. Webflow: Project Settings -> Custom Code -> Head Code. Framer: site-level Custom Code. Static sites: your global layout. Tag manager: an All Pages tag. Whichever path, the snippet just needs to run before the Paperform form does.

## Step 2: Embed your Paperform on a tracked page

In Paperform, open your form and click **Share -> Embed**. You'll get three formats:

- **Inline embed**: drops the form straight onto the page
- **Slider**: opens from the side
- **Popup**: opens as a modal overlay

Pick whatever fits your design, copy the embed snippet, and paste it into your page where the form should appear. Make sure that page also has the SourceLoop snippet from step 1.

> **Direct paperform.co URLs aren't attributable**
> A raw `paperform.co/<your-form>` link sends visitors straight to Paperform's domain, skipping your site entirely. Those submissions won't carry a marketing source. Route campaigns to a page you control that embeds the form.

## Step 3: Submit a test entry

Open your form's host page in an **incognito tab** with `?utm_source=test&utm_medium=verify&utm_campaign=paperform-check` glued to the URL. Submit a real entry using an email address you can check.

Within a few seconds, the submission should land on the **Contacts Hub** in SourceLoop, with all three test UTM values shown on the contact.

## Where to see Paperform submissions in SourceLoop

### Contacts Hub

Every Paperform submission becomes a contact row at [app.sourceloop.ai/contacts](https://app.sourceloop.ai/contacts). Click a row to see the visitor's complete browsing history before they filled the form.

![SourceLoop Contacts Hub showing a Paperform 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 the cross-channel rollup. Paperform submissions are grouped by source, medium, and campaign so you can read which channels are converting.

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

### Funnel reports

Configure a funnel at [app.sourceloop.ai/funnels](https://app.sourceloop.ai/funnels/) with "Paperform submission" as the final step. Slice by source, content, or device to find which paths actually drive form fills.

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

If you advertise, forward Paperform submissions back to **Google Ads, Meta, and LinkedIn as offline conversions** so the platforms can optimise toward real form fills. The [Connect your Google Ads account](/help/connect-google-ads/) guide covers it.

## Frequently Asked Questions

### Paperform forms feel more like full pages than forms. Does that affect attribution?

Not at all. The "page-like" feel is just Paperform's editor model. What matters for attribution is where the form is rendered, embed it on your site (vs. linking to the paperform.co hosted URL) so SourceLoop can see the visitor first.

### I use Paperform's payment, calculation, and conditional features. Anything special?

No. All your Paperform logic, prices, calculations, conditional questions, runs on Paperform's side. SourceLoop only attaches marketing context to the final submission, no logic interference.

### Does this work with embedded forms in popup, slider, and inline modes?

Yes. Inline, slider, and popup embed types all fire submissions the same way once a visitor completes the form on your page.

### I share Paperform links on social and email. Will those submissions still get attributed?

A raw paperform.co URL won't, because the visitor never lands on your tracked site. Send campaigns to a page on your domain that embeds the form so SourceLoop can pick up the source.

### Will my Paperform integrations (Zapier, webhooks, Mailchimp, HubSpot) keep working?

Yes. Paperform continues to push submissions to all your connected integrations exactly as configured. SourceLoop runs in parallel on its own data store.
