Klaviyo

Klaviyo is a marketing automation platform that helps businesses build and manage smarter digital relationships with their customers by connecting through personalized email and enhancing customer loyalty.

omniload supports Klaviyo as a source.

URI format

The URI format for Klaviyo is as follows:

klaviyo://?api_key=<api-key>

URI parameters:

  • api_key: The API key used for authentication with the Klaviyo API.

The URI is used to connect to the Klaviyo API for extracting data.

omniload ingest --source-table 'events' --source-uri 'klaviyo://?api_key=pk_test' --dest-uri duckdb:///klaviyo.duckdb --interval-start 2022-01-01 --dest-table 'dest.events' --extract-parallelism 20

This command fetches all the events that are created/updated since 2022-01-01 and writes them to dest.events table on DuckDB, using 20 parallel threads to improve performance and efficiently handle large data .

Tables

Klaviyo source allows ingesting the following sources into separate tables:

Tables

Klaviyo source allows ingesting the following sources into separate tables:

Table

PK

Inc Key

Inc Strategy

Details

events

id

datetime

merge

Retrieves all events in an account where each event represents an action taken by a profile such as a password reset or a product order.

profiles

id

updated

merge

Retrieves all profiles in an account where each profile includes details like organization, job title, email and other attributes.

campaigns

id

updated_at

merge

Retrieves all campaigns in an account where each campaign is a targeted message sent to a specific audience.

metrics

id

updated

merge

Retrieves all metrics in an account where each metric represents a category of events or actions a person can take.

tags

id

replace

Retrieves all tags in an account.

coupons

id

replace

Retrieves all coupons in an account.

catalog-variants:

id

updated

merge

Retrieves all variants in an account.

catalog-categories

id

updated

merge

Retrieves all catalog categories in an account.

catalog-items

id

updated

merge

Retrieves all catalog items in an account.

flows

id

updated

merge

Retrieves all flows in an account where flow is a sequence of automated actions that is triggered when a person performs a specific action.

lists

id

updated

merge

Retrieves all lists in an account.

images

id

updated_at

merge

Retrieves all images in an account.

segments

id

updated

merge

Retrieves all segments in an account where segment is a dynamic list that contains profiles meeting a certain set of conditions.

forms

id

updated_at

merge

Retrieves all forms in an account.

templates

id

updated

merge

Retrieves all templates in an account.

Use these as --source-table parameter in the omniload ingest command.

[!WARNING] Klaviyo does not support incremental loading for many endpoints in its APIs, which means omniload will load endpoints incrementally if they support it, and do a full-refresh if not.