Skip to main content

Use custom objects in Klaviyo

Course overview
Lesson
6 min read

Create and manage custom objects

Learn how to create and configure custom objects, explore ways to populate them with data, and verify that their records contain the right information.

Find and view objects in Klaviyo

Before creating your own custom object, navigate to Content > Objects in Klaviyo to explore any existing objects and their associated records. If you don't have any objects yet, click Create to follow along as you build your own throughout this lesson.

Keep in mind that the number of custom objects you can create depends on your Klaviyo plan. Be sure to review custom object account limits to see what’s available for your account.

Set up your data source

Klaviyo offers a few templates to help you get started, including:

  • Appointment: Used for dates, times, locations, and details pertaining to the appointment or booking
  • Pet: Used for product recommendations, coupons, and discounts based on what you know about the pet
  • Subscription: Used for tracking recurring and renewing subscriptions to membership clubs, rewards points, and loyalty programs

For example, imagine you run a dog grooming business and want to send messages based on upcoming appointments, including appointment times and booked services like baths, haircuts, nail care, ear cleaning, and teeth brushing. We'll use the Appointment template to get started.

User interface to create new objects, featuring templates for Appointment, Pet, and Subscription, each with example properties, and a "Build your own" button.

Review the object's Name and Description, updating them to reflect your dog grooming appointments. Then, select an existing data source or create a new one, such as Dog grooming appointments. If you create a new source, you can also add a description to keep things organized.

Creating a data source doesn't add any appointment information to Klaviyo just yet. Think of it as setting up an empty container that you'll fill with data later. We'll cover how to send data to Klaviyo in a later section.

Configure your custom object

Next, customize the Appointment template to track the details that matter to your dog grooming business, like the pet's name, appointment date, and services booked.

Follow the steps below to configure your object's properties.

Set your object ID
1

Choose a property that uniquely identifies each appointment, so Klaviyo can distinguish one record from another.

Enable search indexing
2

Select at least one eligible property, such as the dog's name, to make appointment records easier to find.

Review your object properties
3

Update the suggested properties to track appointment details. Click Add mapping to include additional properties.

Choose the appropriate data types
4

Use Timestamp for dates and times, Text for names and statuses, and List (Text) for multiple grooming services.

Select your required properties
5

Check Required for information every appointment must include, such as the appointment date.

Data mapping interface for "Dog grooming appointments", showing source data fields like 'pet_name' mapped to object properties like 'name', with a sample 'Pet' data record on the right.

Required properties must be included in every incoming record. If a required property is missing or has a null value, Klaviyo won't create that record, and you will receive an error message through the delivery method, whether that’s via API, SFTP, or data warehousing.

Connect your object to customer profiles

Remember Marshmallow and Herman from the last lesson? Even though they have different grooming needs, they share the same owner. Profile relationships connect each dog's grooming appointments to the right customer profile.

Give the relationship a descriptive name, such as Appointment holder, to explain how the customer is connected to the appointment. Then, choose how Klaviyo matches each appointment to a customer profile, such as by email, phone number, or external ID. We'll use Email, since customers provide their email addresses when booking appointments.

You can also connect custom objects to each other. For example, if each pet has a subscription, you can create an object-to-object relationship to personalize messaging without duplicating data.

Review, create, and populate your custom object with data

Once you've confirmed, Klaviyo creates your object and generates a sample JSON payload showing how to structure the data you'll send to Klaviyo.

UI displaying a sample JSON payload for dog grooming appointments.

You can populate your object using three supported methods:

  • API: Send appointment records directly from your booking system or another application.
  • SFTP: Transfer appointment data through files, such as scheduled exports.
  • Data warehouse: Bring in appointment records stored in a supported data warehouse.

Whichever method you use, your incoming records need to match the properties and relationships you've configured.

Verify your custom object records

Once you've sent appointment data to Klaviyo, you'll want to confirm everything came through correctly.

Follow the steps below to review your records, check customer relationships, and troubleshoot potential issues.

Find your appointment records
1

Navigate to Content > Objects, open your Dog grooming appointment object, and use search to find a specific appointment.

Review the record details
2

Confirm the dog's name, appointment date, services, and status are correct.

Check the customer relationship
3

Make sure the appointment connects to the correct customer profile.

Investigate missing or incorrect records
4

Check your object's ingestion logs for errors, such as missing required properties.

Screenshot of a data table titled "Dog grooming appointments".

If a record is missing, check that your source sent the expected data, including all required properties. Correct any issues in your source or integration before sending the record again.

Once you've verified your records and their relationships, you're ready to put your custom objects to work in Klaviyo. In the next lesson, you’ll learn how to use custom objects in segments and flows.

Create and manage custom objects