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:
Use endpoint #1 to pass {id} is for subscribe event only to determine email
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