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.
On this page
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)
- 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.
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.
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. 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.
Attribution dashboard
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.
Funnel reports
In 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.
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 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.