> For the complete documentation index, see [llms.txt](https://help.daasity.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.daasity.com/core-concepts/data-integrations/setup-guides/digital-integrations/klaviyo-summary-statistics/integration-specifications.md).

# Integration Specifications

The Klaviyo Summary Statistics integration pulls aggregated reporting data from Klaviyo for:

* Campaigns & Flows: Contains performance data such as Sends, Opens, Clicks, Conversions, and Conversion values segmented by Campaign and Flow
* Lists & Segments: Contains profile counts by day for lists & segments

{% hint style="danger" %}
**List & Segment growth history is not available**

We capture List & Segment profile counts by snapshotting each list & segment's profile count at the time of extraction. Since we cannot go back in time using these APIs, we only load list & segment profile count data starting with the date of the first run of your integration.

This means if you set up the integration on February 14, you will only have data from February 14 onward.
{% endhint %}

## Refresh Cadence

By default the Klaviyo Summary Statistics integration loads data once per day.

## Availability

This integration is available for:

* Enterprise
* Growth

## API Endpoints

This extractor use [the Klaviyo Developer API](https://developers.klaviyo.com/en/reference/api_overview). The following endpoints are used to replicate data into Daasity:

* [Query Flow Series](https://developers.klaviyo.com/en/reference/query_flow_series)
* [Query Campaign Values](https://developers.klaviyo.com/en/reference/query_campaign_values)
* [Get Campaigns](https://developers.klaviyo.com/en/reference/get_campaigns)
* [Get Flows](https://developers.klaviyo.com/en/reference/get_flows)
* [Get List](https://developers.klaviyo.com/en/reference/get_list)
* [Get Segment](https://developers.klaviyo.com/en/reference/get_segment)

## KLAVIYO\_V2 Schema

The Klaviyo Summary Statistics extractor creates these tables using the endpoints and replication methods listed. The data is mapped from source API endpoint to the table based on the mapping logic outlined in each table.

* Statistics Campaign Values
* Statistics Campaigns
* Statistics Flow Values
* Statistics Flows
* Statistics List Profile Count
* Statistics Lists
* Statistics Segment Profile Count
* Statistics Segments

### Statistics Campaign Values

* Endpoint: [Query Campaign Values](https://developers.klaviyo.com/en/reference/query_campaign_values)
* Update Method: UPSERT
* Table Name: `klaviyo_v2.statistics_campaign_values`

<table data-full-width="true"><thead><tr><th>JSON Element</th><th>Database Column</th></tr></thead><tbody><tr><td></td><td>report_id</td></tr><tr><td>UTC date when the data was extracted</td><td>extraction_date</td></tr><tr><td>data.attributes.results[].groupings.send_channel</td><td>send_channel</td></tr><tr><td>data.attributes.results[].groupings.campaign_id</td><td>campaign_id</td></tr><tr><td>data.attributes.results[].statistics.opens</td><td>opens</td></tr><tr><td>data.attributes.results[].statistics.bounced</td><td>bounced</td></tr><tr><td>data.attributes.results[].statistics.delivered</td><td>delivered</td></tr><tr><td>data.attributes.results[].statistics.clicks</td><td>clicks</td></tr><tr><td>data.attributes.results[].statistics.opens_unique</td><td>opens_unique</td></tr><tr><td>data.attributes.results[].statistics.conversion_uniques</td><td>conversion_uniques</td></tr><tr><td>data.attributes.results[].statistics.conversion_value</td><td>conversion_value</td></tr><tr><td>data.attributes.results[].statistics.conversions</td><td>conversions</td></tr><tr><td>data.attributes.results[].statistics.bounced_or_failed</td><td>bounced_or_failed</td></tr><tr><td>data.attributes.results[].statistics.clicks_unique</td><td>clicks_unique</td></tr><tr><td>data.attributes.results[].statistics.failed</td><td>failed</td></tr><tr><td>data.attributes.results[].statistics.recipients</td><td>recipients</td></tr><tr><td>data.attributes.results[].statistics.spam_complaints</td><td>spam_complaints</td></tr><tr><td>data.attributes.results[].statistics.unsubscribes</td><td>unsubscribes</td></tr><tr><td>data.attributes.results[].statistics.unsubscribes_uniques</td><td>unsubscribes_uniques</td></tr><tr><td>Klaviyo API key used for extraction</td><td>__source_id</td></tr><tr><td></td><td>__sync_key</td></tr><tr><td>Merchant account id from the Daasity app</td><td>_account_id</td></tr><tr><td>UTC timestamp when the data was extracted</td><td>__synced_at</td></tr></tbody></table>

### Statistics Campaigns

* Endpoint: [Get Campaigns](https://developers.klaviyo.com/en/reference/get_campaigns)
* Update Method: UPSERT
* Table Name: `klaviyo_v2.statistics_campaigns`

<table data-full-width="true"><thead><tr><th>JSON Element</th><th>Database Column</th></tr></thead><tbody><tr><td></td><td>id</td></tr><tr><td>UTC date when the data was extracted</td><td>extraction_date</td></tr><tr><td>data[].attributes.name</td><td>name</td></tr><tr><td>data[].attributes.status</td><td>status</td></tr><tr><td>data[].attributes.archived</td><td>archived</td></tr><tr><td>data[].attributes.created_at</td><td>created_at</td></tr><tr><td>data[].attributes.scheduled_at</td><td>scheduled_at</td></tr><tr><td>data[].attributes.updated_at</td><td>updated_at</td></tr><tr><td>data[].attributes.send_time</td><td>send_time</td></tr><tr><td>Klaviyo API key used for extraction</td><td>__source_id</td></tr><tr><td></td><td>__sync_key</td></tr><tr><td>Merchant account id from the Daasity app</td><td>_account_id</td></tr><tr><td>UTC timestamp when the data was extracted</td><td>__synced_at</td></tr></tbody></table>

### Statistics Flow Values

* Endpoint: [Query Flow Series](https://developers.klaviyo.com/en/reference/query_flow_series)
* Update Method: UPSERT
* Table Name: `klaviyo_v2.statistics_flow_values`

<table data-full-width="true"><thead><tr><th>JSON Element</th><th>Database Column</th></tr></thead><tbody><tr><td></td><td>report_id</td></tr><tr><td>UTC date when the data was extracted</td><td>extraction_date</td></tr><tr><td>data.attributes.results[].groupings.send_channel</td><td>send_channel</td></tr><tr><td>data.attributes.results[].groupings.flow_id</td><td>flow_id</td></tr><tr><td>data.attributes.results[].groupings.flow_message_id</td><td>flow_message_id</td></tr><tr><td>data.attributes.results[].statistics.opens</td><td>opens</td></tr><tr><td>data.attributes.results[].statistics.bounced</td><td>bounced</td></tr><tr><td>data.attributes.results[].statistics.delivered</td><td>delivered</td></tr><tr><td>data.attributes.results[].statistics.clicks</td><td>clicks</td></tr><tr><td>data.attributes.results[].statistics.opens_unique</td><td>opens_unique</td></tr><tr><td>data.attributes.results[].statistics.conversion_uniques</td><td>conversion_uniques</td></tr><tr><td>data.attributes.results[].statistics.conversion_value</td><td>conversion_value</td></tr><tr><td>data.attributes.results[].statistics.conversions</td><td>conversions</td></tr><tr><td>data.attributes.results[].statistics.bounced_or_failed</td><td>bounced_or_failed</td></tr><tr><td>data.attributes.results[].statistics.clicks_unique</td><td>clicks_unique</td></tr><tr><td>data.attributes.results[].statistics.failed</td><td>failed</td></tr><tr><td>data.attributes.results[].statistics.recipients</td><td>recipients</td></tr><tr><td>data.attributes.results[].statistics.spam_complaints</td><td>spam_complaints</td></tr><tr><td>data.attributes.results[].statistics.unsubscribes</td><td>unsubscribes</td></tr><tr><td>data.attributes.results[].statistics.unsubscribes_uniques</td><td>unsubscribes_uniques</td></tr><tr><td>Klaviyo API key used for extraction</td><td>__source_id</td></tr><tr><td></td><td>__sync_key</td></tr><tr><td>Merchant account id from the Daasity app</td><td>_account_id</td></tr><tr><td>UTC timestamp when the data was extracted</td><td>__synced_at</td></tr></tbody></table>

### Statistics Flows

* Endpoint: [Get Flows](https://developers.klaviyo.com/en/reference/get_flows)
* Update Method: UPSERT
* Table Name: `klaviyo_v2.statistics_flows`

<table data-full-width="true"><thead><tr><th>JSON Element</th><th>Database Column</th></tr></thead><tbody><tr><td></td><td>id</td></tr><tr><td>UTC date when the data was extracted</td><td>extraction_date</td></tr><tr><td>data[].attributes.name</td><td>name</td></tr><tr><td>data[].attributes.status</td><td>status</td></tr><tr><td>data[].attributes.archived</td><td>archived</td></tr><tr><td>data[].attributes.created</td><td>created_at</td></tr><tr><td>data[].attributes.updated</td><td>updated_at</td></tr><tr><td>data[].attributes.trigger_type</td><td>trigger_type</td></tr><tr><td>Klaviyo API key used for extraction</td><td>__source_id</td></tr><tr><td></td><td>__sync_key</td></tr><tr><td>Merchant account id from the Daasity app</td><td>_account_id</td></tr><tr><td>UTC timestamp when the data was extracted</td><td>__synced_at</td></tr></tbody></table>

### Statistics List Profile Count

* Endpoint: [Get List](https://developers.klaviyo.com/en/reference/get_list)
* Update Method: UPSERT
* Table Name: `klaviyo_v2.statistics_list_profile_count`

<table data-full-width="true"><thead><tr><th>JSON Element</th><th>Database Column</th></tr></thead><tbody><tr><td>data[].id</td><td>list_id</td></tr><tr><td>UTC date when the data was extracted</td><td>extraction_date</td></tr><tr><td>data[].attributes.profile_count</td><td>profile_count</td></tr><tr><td>Klaviyo API key used for extraction</td><td>__source_id</td></tr><tr><td></td><td>__sync_key</td></tr><tr><td>Merchant account id from the Daasity app</td><td>_account_id</td></tr><tr><td>UTC timestamp when the data was extracted</td><td>__synced_at</td></tr></tbody></table>

### Statistics Lists

* Endpoint: [Get List](https://developers.klaviyo.com/en/reference/get_list)
* Update Method: UPSERT
* Table Name: `klaviyo_v2.statistics_lists`

<table data-full-width="true"><thead><tr><th>JSON Element</th><th>Database Column</th></tr></thead><tbody><tr><td>data[].id</td><td>list_id</td></tr><tr><td>data[].attributes.name</td><td>name</td></tr><tr><td>data[].attributes.created</td><td>created</td></tr><tr><td>data[].attributes.updated</td><td>updated</td></tr><tr><td>data[].attributes.opt_in_process</td><td>opt_in_process</td></tr><tr><td>Klaviyo API key used for extraction</td><td>__source_id</td></tr><tr><td></td><td>__sync_key</td></tr><tr><td>Merchant account id from the Daasity app</td><td>_account_id</td></tr><tr><td>UTC timestamp when the data was extracted</td><td>__synced_at</td></tr></tbody></table>

### Statistics Segment Profile Count

* Endpoint: [Get Segment](https://developers.klaviyo.com/en/reference/get_segment)
* Update Method: UPSERT
* Table Name: `klaviyo_v2.statistics_segment_profile_count`

<table data-full-width="true"><thead><tr><th>JSON Element</th><th>Database Column</th></tr></thead><tbody><tr><td>data[].id</td><td>segment_id</td></tr><tr><td>UTC date when the data was extracted</td><td>extraction_date</td></tr><tr><td>data[].attributes.profile_count</td><td>profile_count</td></tr><tr><td>Klaviyo API key used for extraction</td><td>__source_id</td></tr><tr><td></td><td>__sync_key</td></tr><tr><td>Merchant account id from the Daasity app</td><td>_account_id</td></tr><tr><td>UTC timestamp when the data was extracted</td><td>__synced_at</td></tr></tbody></table>

### Statistics Segments

* Endpoint: [Get Segment](https://developers.klaviyo.com/en/reference/get_segment)
* Update Method: UPSERT
* Table Name: `klaviyo_v2.statistics_segments`

<table data-full-width="true"><thead><tr><th>JSON Element</th><th>Database Column</th></tr></thead><tbody><tr><td>data[].id</td><td>segment_id</td></tr><tr><td>data[].attributes.name</td><td>name</td></tr><tr><td>data[].attributes.created</td><td>created</td></tr><tr><td>data[].attributes.updated</td><td>updated</td></tr><tr><td>data[].attributes.is_active</td><td>is_active</td></tr><tr><td>data[].attributes.is_processing</td><td>is_processing</td></tr><tr><td>data[].attributes.is_starred</td><td>is_starred</td></tr><tr><td>Klaviyo API key used for extraction</td><td>__source_id</td></tr><tr><td></td><td>__sync_key</td></tr><tr><td>Merchant account id from the Daasity app</td><td>_account_id</td></tr><tr><td>UTC timestamp when the data was extracted</td><td>__synced_at</td></tr></tbody></table>
