How to customize the sign-up source property for a legacy form

Last updated at:

You will learn

Learn how to customize the $source property on a legacy form so you can isolate and track activity, while still funneling these subscribers to your main list. When trying to grow your email audience, it's best practice to ensure that all new sign-ups funnel into the same main list, regardless of whether they signed up on your website, via a popup, etc.

Because legacy forms use custom HTML and CSS, our support team is unable to assist with troubleshooting legacy forms. To learn more about customizing a form's source property in Klaviyo's built in sign-up forms, head to our guide on getting started with sign-up forms

The $source property (with the $ as a prefix) is a Klaviyo property used to represent "form sign-up source." Klaviyo assigns a default source property, or you can customize a unique source property. This breakdown can be viewed in the list growth report for a particular list.

Keep in mind that someone can only join a given list once. This means if you have various lead generation tools on your site and expect that people might want to sign up for more than one, you will have to create different lists for each. You can then create a "main list" using the segment builder.

Klaviyo's default $source property

Klaviyo will automatically assign all list subscribers a $source property that reflects how the person was added your list. When someone unsubscribes, we will also track how they unsubscribed.

While it is possible to customize a given form's $source value (see below), we will otherwise track and use the following default values:

Default subscribe source values

  • Unknown: Source non-identifiable
  • Modal: Added via a popup form
  • Fly Out: Added via a flyout form
  • Embedded Form: Added via an embedded form
  • Subscribe Page: Added via a subscribe page
  • Klaviyo UI: Added via Quick Add or via upload from CSV File
  • Integration: Added via opting in through an integration
  • API: Added to a list via the Klaviyo API

Default unsubscribe source values

  • Unknown: Source non-identifiable
  • Klaviyo UI: Manually cleaned/removed from the list
  • Subscribe Page: Unsubscribed via an unsubscribe page
  • Integration: Unsubscribed via opting out through an integration
  • API: Unsubscribed from a list via the Klaviyo API

Customize a form's sign up source

If you want to customize the $source property for a form, you can do this by making a small adjustment in your form's code. 

To customize the sign-up source for a popup, flyout, full page, or embedded form, create a $source property in an extra_properties dictionary.

Before you add this extra_properties dictionary, you will see this below your main form code:

<script type="text/javascript" src="//"></script>
<script type="text/javascript">
      KlaviyoSubscribe.attachToForms('#email_subscribe', {
          hide_form_on_success: true

Here is an example of where and how to add the the extra_properties dictionary to include the $source property:

<script type="text/javascript" src="//"></script>
<script type="text/javascript">
      KlaviyoSubscribe.attachToForms('#email_subscribe', {
          hide_form_on_success: true,
          extra_properties: {
            $source: 'Home Page'

When establishing the $source value, you can use anything you'd like (i.e. Contest, Home Page, Footer Form etc.).

Additional resources

Was this article helpful?
25 out of 59 found this helpful