Skip to content

Klaviyo integration

The Klaviyo integration reads your account through the Klaviyo API with a read-only scoped key and lands the result in your own data warehouse. A key that can write is a key that can send email to your list, so this integration never asks for one.

What the Klaviyo integration pulls

ObjectWhat landsRefresh
EventsEvent id, timestamp, metric, profile reference, value and currency, item count, items, collections, discount codes, product id, URL, name, price, categories, brandIncremental
MetricsThe metric id to name mapping, so an event is readable rather than a GUIDFull refresh, every run
ProfilesProfile id, hashed contact identifiers, external id, last update, marketing consent stateIncremental
ListsList id and nameFull refresh
SegmentsSegment id, name and definitionFull refresh
FlowsFlow id, name and statusFull refresh
CampaignsCampaign id, name, send time, channelFull refresh
Campaign attributionUTM source, medium, campaign, content and term as they were set on the eventIncremental
Machine open flagWhether an open was a mail client prefetch rather than a humanIncremental

Event payloads from Klaviyo can carry an entire raw shop order inside them, including customer name, postal address and phone. That payload is not landed. A field allowlist keeps the analytical fields and discards the rest before anything is written.

What the Klaviyo integration can be used for

Klaviyo can be used for revenue attribution per campaign and per flow. Once Klaviyo events sit next to shop orders on the same identity graph, an abandoned cart flow gets a euro figure instead of a click-through rate.

Klaviyo can be used for honest open-rate reporting. Machine opens are flagged, so a report can separate a human opening an email from a mail client prefetching it.

Klaviyo can be used for segment quality analysis. Segment membership joined to purchase history shows which segments actually convert and which are large and inert.

Klaviyo can be used for consent-aware audience reporting, because the marketing consent state lands with the profile and can be respected in every downstream query.

Klaviyo can be used for send-time and frequency analysis across a longer history than the platform's own reporting window keeps.

Klaviyo can be used for content feedback. The subjects, products and categories that earn clicks feed the topic ideas the content pipeline writes next.

Klaviyo can be used as a signal into the company brain, so an assistant knows which offers are running and which segments they target.

Klaviyo combined with other integrations

CombinationWhat it gives you
Klaviyo + ShopifyCampaign and flow revenue, refund-aware, on your own numbers
Klaviyo + Google AdsPaid acquisition cost against email lifetime value for the same person
Klaviyo + first-party trackerWhat an email recipient did on site after the click, including the visits that never converted
Klaviyo + Search ConsoleWhether the topics that win organic search are the topics the list responds to
Klaviyo + content pipelineNewsletter drafts written from the articles that already performed, not from a blank page
Klaviyo + company brainAn assistant that can answer which campaign a customer received before they wrote in

What you need to connect Klaviyo

  • A private API key with read scopes only
  • Nothing else. There is no OAuth dance and no app install

The connector pins an API revision deliberately rather than tracking the latest. Klaviyo does not error on a retired revision, it falls forward to the next one and answers with a different response shape, so an unpinned integration keeps working while its data quietly changes underneath it.

Frequently asked

Can I connect Klaviyo to my own data warehouse? Yes, and in the direction that matters here: Klaviyo out, into a warehouse you own in the EU.

Does this replace Klaviyo's own reporting? No. It answers the questions Klaviyo cannot, because Klaviyo does not know about refunds, marketplace orders or ad spend.

How far back does the first sync go? As far as your Klaviyo retention allows. Events are pulled incrementally after the initial backfill.

Is personal data landed? Contact identifiers are hashed one way before they land. Free-form event payloads are filtered against an allowlist. See data governance.