Skip to main content
Solved

Create segment by $source from subscribe link

  • April 28, 2023
  • 4 replies
  • 1032 views

Forum|alt.badge.img+3

Ultimately, I want to place a subscribe link in my Instagram stories, and then those customers who sign up to our main list via that link are segmented by having signed up via IG. I have read through multiple community & support articles but none seem to directly address my situation. It seems that the best way to do this is to create a segment by $source. ($source would be IG Stories.) I know I can create a link to the subscribe page, which can be placed on an IG story. However, the $source associated with these signups will just be the Subscribe Page, and isn’t specifically indicating the customers came from IG. (I tested this, and the profile didn’t show that the signup came from IG.)

From another post:

Additionally, if you are using a Klaviyo sign-up form, we will track a $source value along with the form submit. You can create a segment using $source (Properties about someone > $source equals “name of Klaviyo signup form”) AND is in list X to group everyone who has signed-up through this form and joined the list connected to the form. A subscribe page will log a $source value of “Subscribe Page”

However just having “Subscribe Page” as the $source is not granular enough, since we may use that Subscribe Page/URL on other channels. I don’t want to create a separate list just to have a separate Subscribe Page. I want the customers to sign up to the Newsletter List, and then be segmented by how they signed up (ie via IG). I know I could create a new Sign Up Form/Landing Page and edit the $source associated with the Submit button ...but I am confused that there is one embed code for all Sign Up Forms created-- and in any case I need a URL that I can add to an IG story, not embed code. Perhaps I use anchor links for this? But I don’t understand how to utilize anchor links.

Is there a better way to do this?

Best answer by David To

For a full walkthrough, see: How to segment email subscribers by sign-up source in Klaviyo

Hello @effiespaper,

Klaviyo automatically tracks a $source property on profiles when someone signs up via a Klaviyo form. To segment by signup source, including distinguishing between channels like Instagram, a website popup, or a landing page, create a separate Klaviyo signup form for each source, embed it on a dedicated landing page, and use that page's URL as your channel link. Then segment using Properties about someone → $source equals [form name].

How $source works in Klaviyo

When someone submits a Klaviyo signup form, Klaviyo automatically logs the form name as the $source value on their profile. This means every form you create gets its own trackable source — as long as you use distinct forms per channel.

Note: subscribe pages (not signup forms) log a generic $source of "Subscribe Page" and cannot be customized. Use signup forms if source tracking matters.

Step-by-step: tracking signups by channel

  1. Go to Sign-up Forms → create a new form for the specific channel (e.g. "IG Stories Form")
  2. Connect it to your main list — subscribers still land in the same list
  3. Set the form to display on a dedicated landing page (or embed it on one)
  4. Use that landing page URL as the link in your Instagram story, email, or wherever
  5. To segment: Lists & Segments → Create Segment → Properties about someone → $source equals "IG Stories Form"

Why not use a subscribe page URL? Subscribe pages are simpler forms that don't support custom $source values. They all log as "Subscribe Page" regardless of where the link was shared. A Klaviyo signup form embedded on a landing page gives you the granularity you need.

Each embed code is unique - not global. A common point of confusion: the Klaviyo.js snippet is the same across your site, but each form's embed <div> code is unique. You can embed different forms on different pages, each tracking its own $source.

Helpful docs

 

And welcome to the Community!

4 replies

David To
Klaviyo Employee
Forum|alt.badge.img+60
  • Klaviyo Employee
  • Answer
  • May 1, 2023

For a full walkthrough, see: How to segment email subscribers by sign-up source in Klaviyo

Hello @effiespaper,

Klaviyo automatically tracks a $source property on profiles when someone signs up via a Klaviyo form. To segment by signup source, including distinguishing between channels like Instagram, a website popup, or a landing page, create a separate Klaviyo signup form for each source, embed it on a dedicated landing page, and use that page's URL as your channel link. Then segment using Properties about someone → $source equals [form name].

How $source works in Klaviyo

When someone submits a Klaviyo signup form, Klaviyo automatically logs the form name as the $source value on their profile. This means every form you create gets its own trackable source — as long as you use distinct forms per channel.

Note: subscribe pages (not signup forms) log a generic $source of "Subscribe Page" and cannot be customized. Use signup forms if source tracking matters.

Step-by-step: tracking signups by channel

  1. Go to Sign-up Forms → create a new form for the specific channel (e.g. "IG Stories Form")
  2. Connect it to your main list — subscribers still land in the same list
  3. Set the form to display on a dedicated landing page (or embed it on one)
  4. Use that landing page URL as the link in your Instagram story, email, or wherever
  5. To segment: Lists & Segments → Create Segment → Properties about someone → $source equals "IG Stories Form"

Why not use a subscribe page URL? Subscribe pages are simpler forms that don't support custom $source values. They all log as "Subscribe Page" regardless of where the link was shared. A Klaviyo signup form embedded on a landing page gives you the granularity you need.

Each embed code is unique - not global. A common point of confusion: the Klaviyo.js snippet is the same across your site, but each form's embed <div> code is unique. You can embed different forms on different pages, each tracking its own $source.

Helpful docs

 

And welcome to the Community!


Forum|alt.badge.img+3
  • Author
  • Contributor I
  • May 3, 2023

Thank you for helping me think through this, and for the clarification around the install snippet and the embed code. I was able to install an embedded form on a landing page of my site, and then create a segment based on the $source of that form. Thanks!


Forum|alt.badge.img+4
  • Contributor IV
  • May 12, 2023

Ok but where I can find $source value of my form? this value is the ID of the form or the name?


David To
Klaviyo Employee
Forum|alt.badge.img+60
  • Klaviyo Employee
  • May 12, 2023

Hey @DRACONES,

Looks like you’ve made a similar comment on several threads. You can see my reply in the post below:

David