Integration Specifications

Speed of extraction

Klaviyo is an extremely slow endpoint and loading history can take a considerable amount of time if the data volume is high.

Integration Overview

The Klaviyo API has a non-standard approach to data extraction due to complexity and API limits. Multiple APIs are used to populate certain key tables for Email/SMS and thus endpoints are defined by table.

Integration Availability

This integration is available for:

  • Enterprise

  • Growth

Entity Relationship Diagram (ERD)

Click here to view the ERD for the Daasity Klaviyo integration illustrating the different tables and keys to join across tables.

The following endpoints are used in data extraction:

Metrics TABLE

API Endpoint: api/v1/metrics

Data Mapping

Business Rules

Campaigns TABLE

Bulk Campaign API Endpoint: api/v1/campaigns

Flow Campaign (i.e. single send within a flow) API Endpoint: /api/v1/metric/#{id}/timeline and generating the Flow when a flow_id is present

Data Mapping

Business Rules

Automations TABLE

API Endpoint: api/v1/flows

Data Mapping

Business Rules

​Lists TABLE

API Endpoint: api/v2/lists

Data Mapping

Business Rules

Campaign Lists TABLE

API Endpoint: api/v1/campaigns

Data Mapping.

Business Rules.

Members TABLE

API Endpoint: /api/v1/metric/#{id}/timeline

Create members by identifying any new members that do not exist when events are pulled

Data Mapping.

Business Rules.

Member Attributes TABLE

API Endpoint: /api/v1/metric/#{id}/timeline

Create members by identifying any new members that do not exist when events are pulled.

Data Mapping.

Business Rules.

Sends TABLE

API Endpoint: /api/v1/metric/#{id}/timeline where event = "Received Email"

Data Mapping.

Business Rules.

Bounces TABLE

API Endpoint: /api/v1/metric/#{id}/timeline where event = "Bounced Email"

Data Mapping.

Business Rules.

Opens TABLE

API Endpoint: /api/v1/metric/#{id}/timeline where event = "Opened Email"

Data Mapping.

Business Rules.

​Clicks TABLE

API Endpoint: /api/v1/metric/#{id}/timeline where event = "Clicked Email, Clicked SMS"

Data Mapping.

Business Rules.

Spams TABLE

API Endpoint: /api/v1/metric/#{id}/timeline where event = "Marked Email as Spam"

Data Mapping.

Business Rules.

Unsubscribes TABLE

API Endpoint: /api/v1/metric/#{id}/timeline where event = "Unsubscribed, Unsubscribed from List"

Data Mapping.

Business Rules.

Events TABLE

API Endpoint: /api/v1/metric/#{id}/timeline for all other events

Data Mapping.

Business Rules.

Member Exclusions TABLE

API Endpoint: /api/v1/people/exclusions

Data Mapping.

Business Rules.

Member Exclusions TABLE

API Endpoint: /api/v1/people/exclusions

Data Mapping.

Business Rules.

Stg Member Lists TABLE

API Endpoint 1: /api/v1/metric/#{id}/timeline

API Endpoint 2: /apiv2/list/{LIST_ID}/members

Process:

  1. Use endpoint #1 to pass {id} is for subscribe event only to determine email

  2. Use endpoint #2 to pass the email into each list and determine if the member is part of that list

Data Mapping.

Business Rules.

​Member List TABLE

Updated from stg_member_lists table

Data Mapping.

Business Rules.

Last updated