# Klaviyo integration

The Klaviyo integration keeps Memberply membership data in sync with Klaviyo profiles. You can use this data to create Klaviyo segments and send emails to customers in specific membership tiers.

When a customer joins a tier, moves to another tier, schedules a cancellation, or becomes inactive, Memberply updates custom properties on that customer's Klaviyo profile.

## What the integration can do

* Sync each customer's current Memberply membership status to Klaviyo.
* Sync the customer's active membership tier ID and tier name.
* Clear the active tier fields when the customer is no longer active.
* Keep the customer's most recent Memberply tier available after cancellation.
* Sync scheduled cancellation dates for memberships that cancel at the end of the billing period.
* Let you build Klaviyo segments for active members, inactive members, or members in a specific tier.

## Before you start

You need a Klaviyo private API key with `profiles:write` access.

To create a private API key in Klaviyo:

1. In Klaviyo, open Account settings.
2. Open API keys.
3. Create a private API key.
4. Give the key write access for profiles.
5. Copy the private API key.

Memberply only updates profile properties. It does not subscribe or unsubscribe customers from email marketing, and it does not change Klaviyo consent status.

## Set up Klaviyo

1. From the Memberply dashboard, click Integrations.
2. Click Klaviyo.
3. Paste your Klaviyo private API key.
4. Click Save settings.
5. Confirm the integration status changes to Integrated.

After this is saved, Memberply will start syncing membership changes to Klaviyo profiles.

## Properties synced to Klaviyo

Memberply syncs these custom properties to each Klaviyo profile:

| Property                                         | Description                                                                                                           |
| ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------- |
| `memberply_member_status`                        | The customer's membership status. This is `active` or `inactive`.                                                     |
| `memberply_membership_tier_name`                 | The customer's current active Memberply tier name. This is cleared when the customer becomes inactive.                |
| `memberply_membership_product_shopify_id`        | The Shopify product ID for the customer's active membership tier. This is cleared when the customer becomes inactive. |
| `memberply_last_membership_tier_id`              | The Shopify product ID for the customer's most recent membership tier. This stays available after cancellation.       |
| `memberply_last_membership_tier_name`            | The most recent Memberply tier name for the customer. This stays available after cancellation.                        |
| `memberply_member_since`                         | The date and time the customer joined the tier.                                                                       |
| `memberply_membership_cancellation_scheduled_at` | The scheduled cancellation date when a member cancels at the end of the billing period.                               |
| `memberply_membership_cancelled_at`              | The date and time Memberply marked the membership inactive.                                                           |
| `memberply_shopify_customer_id`                  | The customer's Shopify customer ID.                                                                                   |
| `memberply_shopify_shop_domain`                  | Your Shopify shop domain.                                                                                             |

Memberply also sends these standard Klaviyo profile fields when available:

| Field          | Description                                                                          |
| -------------- | ------------------------------------------------------------------------------------ |
| `email`        | The customer's email address.                                                        |
| `first_name`   | The customer's first name.                                                           |
| `last_name`    | The customer's last name.                                                            |
| `phone_number` | The customer's phone number.                                                         |
| `external_id`  | A stable Memberply identifier using the Shopify shop domain and Shopify customer ID. |

## Example Klaviyo segments

### Active members

Create a Klaviyo segment where:

* Properties about someone > `memberply_member_status` equals `active`

### Active members in a specific tier

Create a Klaviyo segment where:

* Properties about someone > `memberply_member_status` equals `active`
* Properties about someone > `memberply_membership_tier_name` equals your tier name

You can also use `memberply_membership_product_shopify_id` instead of the tier name if you want the segment to keep working even if the tier name changes.

### Cancelled members from a specific tier

Create a Klaviyo segment where:

* Properties about someone > `memberply_member_status` equals `inactive`
* Properties about someone > `memberply_last_membership_tier_name` equals your tier name

## Important notes

Klaviyo may only show a custom property in the segment builder after at least one profile has received that property.

If you change a customer's tier in Memberply, the active tier properties in Klaviyo are updated to the new tier.

If a customer cancels immediately, Memberply marks the customer inactive in Klaviyo and clears the active tier fields.

If a customer cancels at the end of the billing period, Memberply syncs the scheduled cancellation date while the customer remains active. When the membership becomes inactive, Memberply updates the profile again.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.memberply.com/integrations/klaviyo.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
