# How to track lead source in Klaviyo Forms

Find out which channel drove every Klaviyo signup, whether it came from a popup, flyout, or embedded form, with the visitor's pre-signup journey attached.

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

---

Klaviyo is the email and SMS engine behind most modern ecommerce stores, the default choice for Shopify, BigCommerce, and Magento brands. Klaviyo tells you who subscribed and what they bought, but the marketing channel that originally drove each signup is usually a black box. This guide makes it visible.

Three-step setup, about five minutes, no API tokens required.

## What SourceLoop captures from Klaviyo

Each Klaviyo signup arrives in SourceLoop with:

- **Acquisition source** plus the full UTM parameter set from the visitor's first session
- **Pre-signup browsing path**, including product pages viewed
- **Time on site** before the signup
- **Visit count** leading to the conversion
- **Email and/or phone** captured by the Klaviyo form
- **Original landing page** and the URL that referred them
- **Source of the closing session**, often distinct from the first-touch source
- **Device, country, and browser**

## Before you start

You'll need:

- A **SourceLoop workspace** ([free trial](https://app.sourceloop.ai/sign-up))
- **Edit access** to your site's `<head>` (Shopify theme, WordPress header, etc.)
- A **Klaviyo account** with at least one signup form built under **Audience -> Sign-up forms**
- Klaviyo's **onsite snippet** loaded on your site (Klaviyo installs this automatically on Shopify; otherwise paste their JS into `<head>`)

## Step 1: Install the SourceLoop tracking script

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

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

Add the snippet to the `<head>` of your site. On Shopify, paste it into your theme's `theme.liquid` file just before `</head>`. On WordPress, use a header-injection plugin or your theme's `header.php`.

The SourceLoop script and Klaviyo's onsite snippet can both live in the same `<head>` without conflict.

## Step 2: Configure your Klaviyo signup form

In Klaviyo, navigate to **Audience -> Sign-up forms** and either pick an existing form or create a new one.

A few requirements for attribution to work:

- Form includes an **Email** field (Klaviyo's default), or a **SMS/Phone** field, or both
- Form is **published** so it loads on your live site
- Klaviyo's **onsite snippet is active** on your site (check Klaviyo's setup page if you're not sure)

Once published, the form is ready, no additional configuration on the SourceLoop side is needed.

> **Optional name and custom fields are forwarded too**
> You can keep using whatever extra fields your Klaviyo form collects (name, birthday, store preference). SourceLoop forwards whatever the visitor submits alongside the required email or phone.

## Step 3: Verify it's working

Open your site in an **incognito window**. Scroll until the popup appears (or trigger your embedded form), enter a name and email, and submit.

Within seconds, the conversion should appear on the **Contacts Hub** in SourceLoop with the submitted email and the visitor's attribution data populated.

## Where to see Klaviyo signups in SourceLoop

### Contacts Hub

Each Klaviyo signup is a contact row at [app.sourceloop.ai/contacts](https://app.sourceloop.ai/contacts). Expand a row to see the full pre-signup journey: which product pages the visitor browsed, what brought them to the site, and how many sessions they took before subscribing.

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

### Attribution dashboard

[app.sourceloop.ai/dashboards/traffic](https://app.sourceloop.ai/dashboards/traffic) groups Klaviyo signups by source, medium, and campaign. Particularly useful for ecommerce, see exactly which channel drives list growth vs. just product page traffic.

![SourceLoop attribution dashboard with Klaviyo signups 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 ending in "Klaviyo signup". Slice by source or landing page to find which acquisition paths actually grow your list.

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

For paid ecommerce campaigns, push Klaviyo signups to **Google Ads, Meta, and TikTok as offline conversions** so the bidding algorithms can train on the visitors who actually become subscribers, not just clickers. [Connect your Google Ads account](/help/connect-google-ads/) covers that setup.

## Frequently Asked Questions

### Does this work with every Klaviyo signup form type (popup, flyout, embed)?

Yes. SourceLoop captures submissions from any Klaviyo signup form rendered on a tracked page, whether it's a popup triggered by exit intent, a flyout, an inline embed, or a multi-step form.

### My Klaviyo form captures SMS / phone instead of email. Does SourceLoop still track it?

Yes. SourceLoop creates a lead as long as either email or SMS/phone is captured. If your form collects only name or another custom field with no contact identifier, there's nothing to follow up with and no lead is created.

### Will this work for ecommerce sites running Klaviyo on Shopify?

Yes. The setup is identical, the SourceLoop tracking script goes in the Shopify theme's `<head>`, and Klaviyo's onsite snippet stays where it normally is. Both run side by side without conflict.

### Does SourceLoop change anything about how Klaviyo handles the signup?

No. Klaviyo continues to add the subscriber to its lists, fire flows, apply tags, and trigger automations exactly as configured. SourceLoop only adds attribution data on its own side.

### I share a direct link to a Klaviyo form. Will those submissions be captured?

Klaviyo forms only render on pages where the Klaviyo onsite snippet is loaded, which is your own site. Submissions on your site's pages are captured; there's no separate "direct link" scenario for Klaviyo forms the way other tools have.
