Create a New List
If you are interested in building a new contact list in Klaviyo, you can create a new empty list in the Lists & Segments tab of your account and click the blue Create List/Segment button in the upper right-hand corner.
Next, choose to create a new List. Once you click Create List, you're ready to add contacts.
Add Existing Contacts to a New List
There are three ways you can add existing contacts to a new list:
- Upload from File
If you already have an existing list you’d like to import into Klaviyo, choose this option
- Copy and Paste from Excel
If you have an existing list and you prefer to copy/paste contacts into Klaviyo instead of uploading your file, choose this option
- Quick Add
If you want to quickly add one or two people to a list -- to create a preview list, for example -- you can use Quick Add
If you don't have any existing contacts, you can use one or more sign up forms and/or a subscribe page to grow a new list. Check out our guide on growing your lists with sign up forms.
Guidelines for Uploading an Existing List
Before uploading a list consider whether the list has engaged users, complies with our Terms of Service, and how it should be formatted.
Can I upload my list?
In order to comply with Klaviyo’s Terms of Service, you can only upload lists of people who have signed up on your website or have otherwise opted in to receive marketing emails from you. This means:
- No third-party lists
- No prospecting lists
- No purchased lists or lists that you scraped from websites
- No Chambers of Commerce lists, etc.
Klaviyo only supports permission-based sending. If you need help deciding whether or not your list complies with our Terms of Service, send us an email.
Should I upload my list?
If you are planning to import a list that is not your main newsletter list, consider the following questions:
- Did someone subscribe to this list by filling out a sign up form online, or at an event you attended?
- Is this list a subset of your main newsletter list? For example, a list of newsletter subscribers who live in Boston, or all female subscribers?
- Does this list contain customers or contacts grouped because of something they’ve done or not done? For example, a list of customers that have all purchased a specific product?
If your list contains opted-in subscribers who have signed up directly to receive marketing emails from you, this is a list you’ll want to import into Klaviyo.
If your list contains a subset of your newsletter subscribers or customers or contacts grouped because of something they’ve done or not done, you will be able to replace these lists in Klaviyo with dynamic segments, so you don't need to upload them.
Segments are defined by a set of conditions. This means they grow as new people meet the conditions and shrink as people no longer meet them; they are not static, like lists. If you create a list of contacts that represents a subset of another list, you will have to maintain this yourself as new people meet the subset's conditions. This means you will manually have to add and remove contacts. If you replace such lists with dynamic segments, Klaviyo will automatically keep the segment up-to-date based on the definition you establish.
How should my file be formatted?
Your file should be a CSV file, not an Excel file. You can save any Excel file as a commas separated (CSV) file by clicking File > Save As. The maximum allowed file size is 50MB.
The first row of your file should contain a header labeled "Email" or "Email Address." After this, you can add other columns for "First Name," "Last Name," or other custom properties, depending on what information you would like to import.
Once you upload your CSV, you will arrive at a screen that looks something like this:
If you attempt to upload your CSV and get this error: “The selected file doesn’t have an Email or Email Address column”, make sure the first row in your file contains an "Email Address" header.
Once you've reviewed the columns in your list, you can start your import. You can stay on this page to watch the import as it progresses, but we will send you an email confirmation as soon as it's complete.
If you are including datetime values in your upload, follow these guidelines.
Adding Custom Properties to an Import File
You can import custom properties for your contacts during your list import by adding this data into additional columns in your CSV.
You will need to name each column with the intended custom property name. For example, if you are importing birthdays, name the column "Birthday." Then, give each row a value -- for example, "1992-06-21." The image below shows an import that includes two custom properties: "Gender" and "Birthday."
Insert dates in the format: (YYYY-mm-dd) (HH:MM:SS). Dates must be imported in this format in order for Klaviyo to recognize the value as a date; Excel will automatically reformat these dates after you type them in, which is fine. A few other points to keep in mind are:
- Any new value/column that you include in a CSV upload that does not already exist on a contact's profile will be added as a new custom property
- Any value/column that you include in a CSV upload that already exists on a contact's profile will be overwritten in the most recent upload
- Any new value/column that you include in a CSV upload that does not already exist on a contact's profile will not affect existing custom properties
If you are interested in uploading a list of values for a single property (such as, “Sizes”), you will need to use JSON syntax. All this means is that you will create an “array” of your values that looks like this: [“value1”, “value2”, “value 3”].
Adding Special Properties to an Import File
Klaviyo also automatically records a number of "special" properties. These can be identified by a "$" prefix and include:
- $id: your unique identifier for a person
- $first_name: first name
- $last_name: last name
- $phone_number: phone number
- $title: title at business or organization
- $organization: business or organization
- $city: city
- $region: region or state
- $country: country
- $zip: postal code
- $address1: address line 1
- $address2: address line 2
- $timezone: time zone
- $email: email address
- $latitude: latitude
- $longitude: longitude
If you would like to manually input one of the above values for a list, follow the same process as adding a custom property. Create an additional column and put the name of the special property in the first row. For example, if you would like to input a value for subscribers' home city, you would title the column "$city" and then fill in the values for each subscriber.
In order to import a special property, you must put a "$" before the property name. Otherwise, the property will be recorded as a custom property instead. The only exceptions to this rule are "First Name," "Last Name," and "Email."
Having trouble importing your list? Check out our article on list import troubleshooting.