> ## Documentation Index
> Fetch the complete documentation index at: https://www.integrate.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ELT/CDC: Sources - Klaviyo

> Configure Klaviyo as a data source in Integrate.io ELT & CDC. Sync email marketing campaigns and subscriber data to your data warehouse.

|                           |                                                                                                                                                       |
| :------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Description**           | Klaviyo, an ecommerce marketing automation platform for email marketing and sms syncs your tech stack with your website store to scale your business. |
| **Supported Replication** | Initial Sync  Continuous Sync                                                                                                                         |
| **Authentication Type**   | API token                                                                                                                                             |

## Collections

| **Collection Name**                                                                                                                                                    | **Full/Initial Sync** | **Incremental/Continuous Sync** | **Supports Update**                                                                        | **Supports Delete** | **Notes**                      |
| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------- | :------------------------------ | :----------------------------------------------------------------------------------------- | :------------------ | :----------------------------- |
| metrics      [https://developers.klaviyo.com/en/reference/get-metrics](https://developers.klaviyo.com/en/reference/get_metrics)                                        | ✔                     | ✖                               | ✔                                                                                          | ✖                   | •                              |
| events      [https://developers.klaviyo.com/en/reference/metric-timeline](https://developers.klaviyo.com/en/reference/get_events)                                      | ✔                     | ✔                               | ✖                                                                                          | ✖                   |                                |
| profiles      [https://developers.klaviyo.com/en/reference/get-global-exclusions](https://developers.klaviyo.com/en/reference/get_profiles)                            | ✔                     | ✔                               | ✔                                                                                          | ✖                   |                                |
| lists      [https://developers.klaviyo.com/en/reference/get-lists](https://developers.klaviyo.com/en/reference/get_lists)                                              | ✔                     | ✔                               | ⚠️ (API doesn’t send the updated records correctly when updating through `Edit List Name`) | ✖                   |                                |
| list\_tags      [https://developers.klaviyo.com/en/reference/get-list-info](https://developers.klaviyo.com/en/reference/get_list_tags)                                 | ✔                     | ✖                               | ✖                                                                                          | ✖                   | Dependent on `lists`           |
| list\_members      [https://developers.klaviyo.com/en/reference/get-members](https://developers.klaviyo.com/en/reference/get_list_profiles)                            | ✔                     | ✔                               | ✖                                                                                          | ✖                   | Dependent on `lists`           |
| email\_campaigns      [https://developers.klaviyo.com/en/reference/get-campaigns](https://developers.klaviyo.com/en/reference/get_campaigns)                           | ✔                     | ✔                               | ⚠️ (API doesn’t send the updated records correctly)                                        | ✖                   |                                |
| email\_campaign\_messages      [https://developers.klaviyo.com/en/reference/get-campaigns](https://developers.klaviyo.com/en/reference/get_campaign_campaign_messages) | ✔                     | ✖                               | ✖                                                                                          | ✖                   | Dependent on `email_campaigns` |
| email\_campaign\_tags      [https://developers.klaviyo.com/en/reference/get\_campaign\_tags](https://developers.klaviyo.com/en/reference/get_campaign_tags)            | ✔                     | ✖                               | ✖                                                                                          | ✖                   | Dependent on `email_campaigns` |
| sms\_campaigns      [https://developers.klaviyo.com/en/reference/get-campaigns](https://developers.klaviyo.com/en/reference/get_campaigns)                             | ✔                     | ✔                               | ⚠️ (API doesn’t send the updated records correctly)                                        | ✖                   |                                |
| sms\_campaign\_messages      [https://developers.klaviyo.com/en/reference/get-campaigns](https://developers.klaviyo.com/en/reference/get_campaign_campaign_messages)   | ✔                     | ✖                               | ✖                                                                                          | ✖                   | Dependent on `sms_campaigns`   |
| sms\_campaign\_tags      [https://developers.klaviyo.com/en/reference/get\_campaign\_tags](https://developers.klaviyo.com/en/reference/get_campaign_tags)              | ✔                     | ✖                               | ✖                                                                                          | ✖                   | Dependent on `sms_campaigns`   |
| templates      [https://developers.klaviyo.com/en/reference/get-templates](https://developers.klaviyo.com/en/reference/get-templates)                                  | ✔                     | ✔                               | ✔                                                                                          | ✖                   |                                |

### Setting up Klaviyo for ELT & CDC

ELT & CDC uses the Metric API provided by Klaviyo to sync the data. [Klaviyo API reference](https://developers.klaviyo.com/en/reference/api-overview#authentication)

### Requirements

* You need permissions to create Private API Keys.

### Create API Token

Follow these steps to create a private API key.

<Steps>
  <Step>
    Go to [https://www.klaviyo.com/settings/account/api-keys](https://www.klaviyo.com/settings/account/api-keys)
  </Step>

  <Step>
    Click the `Create Private API Key` button

    <Frame>
      <img src="https://mintcdn.com/integrateio/SIDFEDRgXpxG0yrn/images/cdc/sources/image-61.png?fit=max&auto=format&n=SIDFEDRgXpxG0yrn&q=85&s=e0768fc307dde345f0fecade94c83163" alt="Klaviyo Create Private API Key button on API keys page" width="1510" height="308" data-path="images/cdc/sources/image-61.png" />
    </Frame>
  </Step>

  <Step>
    Set a name for the API Key and select the"Read-Only Key" option. Click the "Create" button.

    <Frame>
      <img src="https://mintcdn.com/integrateio/SIDFEDRgXpxG0yrn/images/cdc/sources/image-62.png?fit=max&auto=format&n=SIDFEDRgXpxG0yrn&q=85&s=c27421d46257cd9762ba673124f82a19" alt="Klaviyo API key name and Read-Only Key scope selection" width="2566" height="1450" data-path="images/cdc/sources/image-62.png" />
    </Frame>
  </Step>

  <Step>
    On the Private API Key Confirmation page, copy the API key and paste it into the input field below.

    <Frame>
      <img src="https://mintcdn.com/integrateio/SIDFEDRgXpxG0yrn/images/cdc/sources/image-63.png?fit=max&auto=format&n=SIDFEDRgXpxG0yrn&q=85&s=0794f97a851e50bf3fa2d58eac6a38e4" alt="Klaviyo Private API Key confirmation page with key to copy" width="2131" height="1041" data-path="images/cdc/sources/image-63.png" />
    </Frame>

    <br />

    <Frame>
      <img src="https://mintcdn.com/integrateio/SIDFEDRgXpxG0yrn/images/cdc/sources/image-64.png?fit=max&auto=format&n=SIDFEDRgXpxG0yrn&q=85&s=d4f818f06de3c6f8d2a886c2a52640ec" alt="Integrate.io dashboard field for pasting the Klaviyo API key" width="1184" height="414" data-path="images/cdc/sources/image-64.png" />
    </Frame>
  </Step>
</Steps>
