Add contacts to a list if you are pulling them from another email service provider or if you collected a list of contacts from an event, giveaway, or signup form.
Can I Upload My List?
Before uploading your list make sure to answer the following two questions:
- Does my list abide by Klaviyo's Terms of Service?
- Does my list include opted-in subscribers that subscribed by filling out a signup form or providing their email address at an event you attended?
If you're unsure or answered "No" to either of the questions above, then review our guidelines for compliant lists before uploading your list.
Create a New List
To create a new list click the Lists & Segments tab and then click the blue Create List/Segment button in the upper right corner.
Next, choose to create a new List and you're ready to add contacts.
If you have already set a series triggered by this list to live, you must first set the flow to manual. If not, everyone in the file will be queued for the first email in the series, even if they subscribed to the list months ago. After the import is complete, wait a few hours and then go into the flow, select View all Analytics for the first email, and go to Needs Review. Then, delete any subscriber from your CSV file before setting the flow to live.
Formatting Your Data
There are some important requirements for formatting your data.
First, your list of contacts should be in CSV format. If you're working in Excel or another spreadsheet program, you can save your data to CSV by clicking File > Save As and selecting "CSV" as the file format. The maximum allowed file size is 50MB.
Second, the header in the first column of you CSV file must contain the word "Email" or "Email Address.
After this, you can add other columns for Klaviyo Special Properties or custom properties, depending on what information you would like to import.
Below is the list of Klaviyo Special properties. If any of your columns have a Klaviyo Special property as their header, the data in that column is automatically mapped to the corresponding Klaviyo Special Property and the datatype is automatically selected.
- $email: email address and the unique identifier for a profile
- $id: optional unique identifier for a person (if used, this becomes the primary identifier instead of email)
- $first_name: first name
- $last_name: last name
- $phone_number: phone number
- $title: title at their business or organization
- $organization: business or organization they belong to
- $address1: address line 1
- $address2: address line 2
- $city: city they live in
- $region: region or state they live in
- $country: country they live in
- $zip: postal code where they live
- $timezone: time zone
- $latitude: latitude
- $longitude: longitude
- $source: where a contact came from
- $image: url to a photo of the person
If you want to include any extra data you can import custom properties for your contacts during your list import by adding this data into additional columns in your CSV.
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. A few other points to keep in mind:
- 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. Create an “array” of your values that looks like this: [“value1”, “value2”, “value 3”].
Once you have your data formatted and saved as a CSV you're ready to upload your data.
Upload and Map Your Data
Click into your list and select Upload Contacts.
Select your CSV file from your computer or drag and drop it into the upload box.
The import review screen allows you to map the columns in your uploaded CSV to Klaviyo fields. The Klaviyo fields represent where your data is stored on your contacts in your Klaviyo account.
Here, if you don't have GDPR consent fields already stored in your CSV, we can create them for you. To do this, click Add GDPR specific consent. Then, you will be prompted to specify the types of consent the contacts on your list have given. This information will then be stored on their profile as custom properties.
If you're uploading Klaviyo special fields, the datatype is already selected for you and you're unable to modify it.
If you're uploading custom properties, you can select the field you'd like to map them to, along with the datatype.
If you're uploading custom properties, select the field you'd like to map the properties to and select the data type. You can also add a new custom property by typing the new property name and selecting Create option.
Other Ways to Add Contacts to a List
There are two additional ways to upload contacts to a list.
- If you have an existing list and you prefer to copy/paste contacts into Klaviyo instead of uploading your file, choose Copy/Paste from Excel.
- 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.
List Import Troubleshooting
If you're having trouble uploading your list, check out our guide on list import troubleshooting.