Understanding data types

Last updated at:

You will learn

Learn about the different options available for storing your data in Klaviyo, and how to use each one. Klaviyo allows you to harness the data collected about your customers to power data-driven marketing choices that will grow your brand. That being said, it's important to understand the data that's being pulled into your account. 

Where data types appear in Klaviyo

When creating a segment or configuring a flow filter using Properties about someone, you will notice a dropdown menu that appears after you choose a dimension for your condition. This dropdown menu relates to the data type of the value you input.

The Klaviyo segment builder

The following data types are available to select:

  • Text
  • Number
  • Date
  • Boolean
  • List


A text input is any finite sequence of characters (i.e., letters, symbols, and punctuation marks). It is always used to represent plain text, even when it includes numbers or is formatted like a date. Use the text data type when numerals are mixed with other characters (e.g., a currency symbol).

You can think of a text input as what might appear within quotation marks in a paragraph — regardless of content in the quotation marks, whatever is inside of the quotation marks exists as a finite sequence of characters. Text inputs could be a favorite color, shopping preferences, or an email address. Below is a signup form that gathers preference information that will be translated into text properties.

A signup form collecting multiple types of data


A number is a numeric value without a decimal. When you import numeric values into Klaviyo, we will automatically recognize the value as a number (vs. text).

Number inputs could reference someone’s age, the number of emails received, or how many times a customer has purchased from you. Below is a segment that shows customer engagement by interaction with the number of emails that have been clicked on or opened in the last month.

A sample segment referencing multiple data types


A date is used for any date-time value. Unlike a number, Klaviyo will only automatically recognize a date value as a date if it is formatted a certain way (i.e., YYYY-MM-DD HH:MM:SS).

Dates could reference someone’s birthday, the day they first signed up for your newsletter, or an anniversary with a partner. Below is a signup form collecting birthday information as a date.

A signup form with a birthday field


The boolean data type can only represent two values: true or false. An example of boolean data is the property stored when someone has accepted marketing from you. Below is an example of a customer profile who consented to marketing.

A boolean value in a profile's custom properties

Accepted true values are: 

True, "1", 1, "true", "t", "yes", "y"

Accepted false values are: 

False, "0", 0, "false", "f", "no", "n", "", None

Empty fields and fields that are not set will evaluate as false in conditional logic. All string values (those surrounded by quotes) are not case-sensitive. 

If you're using a CSV to upload a boolean value to Klaviyo, use True and False.


A list is any array of values, e.g. ["Offer1","Offer2"]. In Klaviyo, lists are used when the goal is to collect an array of words or phrases, where every single item in the array can be identified individually.

One common use case for this is when different tags are being collected under a single property, such as the Shopify Tags property. When Klaviyo stores a property as a list, this allows you to use the property in a segment or filter and then include as many available tags as you'd like — you have the ability to choose from any value stored as part of the list.

Another common use case is when Klaviyo captures a Placed Order metric through an integration and the data we receive along with this placed order includes an Items property. This single Items property will need to include all items purchased in the order.

List data in an event's metadata

To achieve this, the property is always synced and stored as an array (a list) in Klaviyo. This allows us to store the Items property while including a series of values (i.e., each item purchased in the single order), where each value in the array can be identified individually.

When uploading a CSV that includes a list property, include the full list formatting within the cell. Make sure every entry in the column follows the list format, even if a particular person’s list contains only one item.

A CSV file with list data ready to upload

Additional data types for list uploads

When uploading a list of profiles into Klaviyo, two additional data types appear before the import is complete. These data types are String and Consent, as shown below.

Data type options in the list upload tool


String is the same as the Text data type. When creating a segment, you can segment based on string data using the text data type.


Consent refers to the channels a subscriber has opted in to (i.e., provided consent for). If a contact is subscribed to just one channel, a “consent” field can contain that channel’s name (e.g., “email”).

If a contact is subscribed to more than one channel, the “consent” field must contain a JSON array containing the channels they are subscribed to (e.g., ["sms","push","directmail"]).

Consent in a CSV.jpg

Valid channels are:

  • email
  • web
  • sms
  • directmail
  • mobile
  • push

For more information on consent, see Understanding consent in profiles.

Additional resources

Was this article helpful?
120 out of 214 found this helpful