
Klaviyo Integrations: Sync Your Marketing Data to Any Destination in Real Time
Learn how to set up a real-time Klaviyo integration with Estuary. Capture campaigns, events, and profiles, then sync them to BigQuery, Snowflake, Databricks, and more for unified analytics and personalization.

If you're running Klaviyo for an ecommerce brand, you already know what it does well: email flows, SMS campaigns, profile segmentation, and behavioral triggers. What it doesn't do is make that data easy to work with outside its own ecosystem.
The moment you want to join a Klaviyo email open against an actual purchase in Shopify, or feed a flow trigger into a real-time personalization model, or just answer "which campaigns drove revenue last quarter" without a manual export, you hit a wall. Klaviyo's built-in reporting covers campaign-level metrics. It does not give you a queryable table of events sitting next to your order data in BigQuery or Snowflake.
That's the problem this guide addresses. We'll cover what Klaviyo integration actually involves, where common approaches like CSV exports, Fivetran, and Airbyte fall short for specific use cases, and how to set up a real-time Klaviyo pipeline into BigQuery using Estuary's native connector, including what to watch out for during setup that the standard documentation doesn't tell you.
This guide is most useful if you are a data engineer, analytics engineer, or marketing ops person who needs Klaviyo data in a warehouse or downstream system on a reliable, ongoing basis, not just a one-time export.
What is Klaviyo Integration?
At its core, Klaviyo integration means connecting the marketing data you collect in Klaviyo with other systems in your data ecosystem. Instead of treating Klaviyo as a standalone platform, integration ensures that campaigns, events, and customer profiles flow into the tools where your business already runs analytics, reporting, and personalization.
So what does this look like in practice? Imagine sending Klaviyo events like email opens or coupon redemptions directly into BigQuery, where you can join them with ecommerce sales from Shopify or Magento. Or streaming Klaviyo profile updates into Snowflake to enrich customer segmentation models. For many companies, this level of integration is the key to building a true Customer 360.
Klaviyo integration supports use cases such as:
- Marketing performance analytics: See campaign outcomes side by side with actual purchase data.
- Personalization at scale: Feed real-time events into AI models that power recommendations.
- Cross-channel reporting: Track how email, SMS, and paid ads influence customer journeys.
- Data governance and storage: Archive Klaviyo interactions in cloud storage systems like S3 or GCS for compliance or historical analysis.
Without integration, teams are often stuck with exports, manual workflows, or delayed reports. That makes it difficult to act quickly on new customer signals. The real value comes when Klaviyo is part of a continuous data pipeline that updates in real time. For time-sensitive personalization and campaign optimization, delayed Klaviyo events can lead to stale segments, late triggers, and incomplete reporting.
Challenges with Traditional Klaviyo Connectors
Integrating Klaviyo data isn't always simple. Before choosing an approach, it's worth understanding what each option actually handles well and where each falls short.
Klaviyo's native CSV export is the simplest starting point. You can manually export campaigns, lists, or profiles from the Klaviyo dashboard and load them into a spreadsheet or data warehouse. For small teams running occasional reports, this is completely reasonable. The problems appear when you need it regularly: exports are manual, they don't cover every resource type, and there's no built-in way to automate incremental updates without scripting on top of them.
Fivetran has a Klaviyo connector that works well for teams already using Fivetran for other sources. It handles scheduled syncs reliably and covers the core resources. The limitation is that it runs on a batch schedule. The Campaigns table is re-synced once per day regardless of the sync frequency you configure, and the default sync frequency for the connector is 1,440 minutes (24 hours). Fivetran emphasizes scheduled sync behavior and daily re-imports for some tables rather than real-time event capture, so teams with late-arriving event concerns should validate coverage and freshness against their own Klaviyo event volume. For daily reporting use cases, Fivetran is a practical and cost-effective choice. For use cases where you need events in your warehouse within minutes, the batch architecture is a hard constraint.
Airbyte offers a Klaviyo connector with incremental sync support and a configurable lookback window that re-fetches recent data to catch late-arriving records. It also supports concurrent partition processing for faster syncs. The main tradeoff is operational: self-hosting Airbyte means your team owns the infrastructure, monitoring, and upgrades. Airbyte Cloud removes some of that burden but adds to your cost. For teams already invested in the Airbyte ecosystem, it's a reasonable option for Klaviyo; the gaps are primarily around real-time latency and the operational overhead of self-managed deployments.
The core architectural problem shared by batch-based approaches is that Klaviyo's API uses an eventual consistency model. An email open or flow trigger may be recorded in Klaviyo's system seconds or minutes after it occurs. A batch sync that runs at a fixed interval may complete before all events from that window have finalized, producing gaps in downstream systems. A lookback window reduces but does not eliminate this risk; it only helps if the window is sized appropriately for your event volume and sync frequency.
For teams where hourly or daily data is sufficient, batch tools are a reasonable and cost-effective choice. The tradeoff becomes significant when you're feeding Klaviyo events into real-time personalization, alerting, or AI models where even a short lag produces stale outputs.
Estuary’s Native Klaviyo Connector: What’s New
To solve the limitations of older connectors, Estuary built a new native Klaviyo connector from the ground up. This connector was designed with both performance and reliability in mind, so teams no longer have to choose between real-time speed and complete historical coverage.
Some of the key improvements include:
- More than a dozen supported data resources: Campaigns, Events, Profiles, Segments, Metrics, Forms, Flows, Lists, Coupons, Templates, and more are automatically mapped into Estuary collections for easy downstream use.
- Dual-stream ingestion: Each data resource receives data from: a real-time stream that captures events as they happen as well as a delayed lookback stream that ensures eventual consistency by filling in any missing records.
- Faster backfills: Parallel processing enables fast backfills, so teams can catch up on historical data without long waits.
- Scalable streaming: Since all data resources can be processed in parallel, pipelines stay responsive even as event volumes grow.
- Enterprise flexibility: Configure start dates and window sizes to match your specific operational or compliance needs.
This new connector reflects Estuary’s focus on building integrations that can handle enterprise-scale workloads. By combining real-time updates, reliable backfills, and schema-aware pipelines, it offers a foundation for businesses to trust their Klaviyo data across every downstream system.
How Estuary Works for Klaviyo Integration
Estuary is designed to make real-time data movement both simple and reliable. At a high level, it follows a capture → collections → materialization model. Understanding this flow helps explain how Klaviyo data moves seamlessly from source to destination.
- Capture: The Klaviyo connector acts as a capture, continuously pulling data from Klaviyo’s API. Each selected resource, such as campaigns, profiles, or events, is ingested into Estuary.
- Collections: Once captured, the data is written into collections. A collection is like a real-time data lake backed by cloud storage, validated against schemas, and ready for transformation or analysis. Every Klaviyo resource maps cleanly to its own collection, so you know exactly where your data lives.
- Materialization: From there, you can materialize the collections into any supported destination. That could be a warehouse like Snowflake or BigQuery, a database like PostgreSQL or MongoDB, or even an analytics engine like Elasticsearch or Pinecone.
The advantage of Estuary’s design is that you don’t need separate pipelines for real-time streaming and historical backfills. Both are handled within the same pipeline, ensuring accuracy and consistency. Plus, with declarative configuration and schema enforcement, you reduce the risk of mismatches or incomplete syncs.
In practice, this means your Klaviyo data can move from campaign events to dashboards, personalization engines, or AI applications in just minutes — without manual exports or fragile scripts.
Step by Step: Klaviyo to BigQuery with Estuary
In this example, we’ll show you how to connect Klaviyo to BigQuery using Estuary. The same process applies if you want to send data to Snowflake, Redshift, Databricks, or another supported destination — just select a different connector in the final step.
Prerequisites
- Klaviyo account with Admin or Owner permissions
- Klaviyo Private API Key
- Google Cloud project with a BigQuery dataset created
- Google Cloud Storage bucket in the same region as your dataset
- Google service account JSON key with roles:
roles/bigquery.dataEditorroles/bigquery.jobUserroles/bigquery.readSessionUserroles/storage.objectAdmin
Step 1: Configure Klaviyo as the Source
- Log in to Estuary and go to the Sources tab.
- Click + NEW CAPTURE. Search for Klaviyo and select the Klaviyo (real-time, first-party) connector.
- On the Klaviyo connector page, fill in:
- Name: Example
klaviyo_capture - Data Plane: Select your data plane
- Start Date: Choose a UTC date-time (default = 30 days back if blank)
- Authentication: Select API Key and paste your Klaviyo Private API Key
- Window Size (optional): Set the backfill window, e.g.
P30DorPT6H
- Name: Example
- Choose which Klaviyo resources to capture (Campaigns, Events, Profiles, Segments, etc.).
- Click NEXT > SAVE AND PUBLISH. Your Klaviyo data now streams into Estuary collections.
Practical notes on connector configuration:
- On Start Date: If you leave this blank, the connector defaults to 30 days before the present. For most new setups, that's a reasonable starting point. If you're migrating from another tool and need a longer history, set an explicit date in
YYYY-MM-DDT00:00:00Zformat. Keep in mind that the further back you go, the more data the Events stream needs to process during backfill. - On Window Size: This setting applies specifically to the Events backfill, not to all resources. The default is
PT1H(1 hour). If you have a high-volume Klaviyo account with years of event data, smaller window sizes likePT2HorPT6Hlet the connector checkpoint its progress more often, reducing the risk of timeouts. Larger windows likeP30Dspeed up the backfill but increase the chance of hitting API rate limits mid-window on large accounts. For most teams,PT2His a stable starting point. - On choosing resources: Supported resources are enabled by default, and you can deselect any you do not need. If you don't use certain features in Klaviyo, such as Push Tokens, Images, or Tag Groups, you can deselect them to keep your collections lean. Campaigns, Events, Profiles, Lists, and Segments cover the majority of analytics and personalization use cases.
Step 2: Configure BigQuery as the Destination
- After publishing the capture, click MATERIALIZE COLLECTIONS in the pop-up. You can also open the Destinations tab and click + NEW MATERIALIZATION.
- Search for BigQuery and select the connector.
- On the BigQuery connector page, fill in:
- Name: Example
bq_marketing - Data Plane: Select your data plane
- Project ID: Your GCP project ID
- Service Account JSON: Paste the JSON key
- Region: Must match your GCS bucket region
- Dataset: Your BigQuery dataset name
- Bucket: The staging GCS bucket name
- Bucket Path: Optional folder within the bucket
- Billing Project ID: Defaults to Project ID if not specified
- Name: Example
- Click NEXT to continue.
Step 3: Link Collections and Publish
- In the Source Collections section, link your Klaviyo capture.
- Map each collection (e.g.
klaviyo/events,klaviyo/campaigns) to a table in your BigQuery dataset. - Confirm the configuration, then click SAVE AND PUBLISH.
Once published, the materialization syncs on a 5-minute interval by default. In a healthy pipeline, new Klaviyo records usually appear in BigQuery shortly after the next materialization cycle, though actual freshness depends on Klaviyo API behavior, event volume, connector configuration, and destination performance.
Step 4: Verify Your Pipeline is Working
After publishing, take 5 minutes to confirm data is actually flowing before handing the pipeline off to your analytics team.
In the Estuary dashboard:
- Go to the Captures tab and find your
klaviyo_capture. The status should show Running. If it shows Failed, click into the capture and open the Logs tab. The most common early failure is an invalid or expired API key; double-check that you used a Private API key, not a Public key. - Open the Collections tab and select
klaviyo/eventsorklaviyo/profiles. You should see a live data preview populating with records. If a collection is empty after 10 minutes, check that the Start Date isn't set to a future date. - Go to the Materializations tab, open your
bq_marketingmaterialization, and confirm the Last Checkpointtimestamp is recent and the status shows Running.
In BigQuery:
Once the pipeline has been running for a few minutes, run a quick row count on one of the synced tables:
sqlSELECT COUNT(*)
FROM `your_project.your_dataset.klaviyo_events`
If rows are returned, your pipeline is working. If the table doesn't exist yet, wait another 2-3 minutes. Estuary creates the destination tables automatically on first sync; there's a brief initialization window.
Common first-sync issues:
- Region mismatch error in materialization logs: Your GCS staging bucket and BigQuery dataset must be in the same region. If you created the bucket in
us-east1but the dataset is inus-central1, delete the bucket and recreate it in the correct region. - Permission denied on BigQuery: Verify your service account has all four roles from the prerequisites. The one most commonly missed is
roles/bigquery.readSessionUser. - Events collection is empty but Campaigns and Profiles have data: This is expected behavior during initial backfill. Events are the highest-volume resource and are processed in hourly windows (the default
PT1Hwindow size). Campaigns and Profiles populate first; Events catch up progressively. Check back after 15-30 minutes depending on your account's event volume.
👉 Get started with Estuary today: Create your free account or talk to our team if you’d like help setting up your Klaviyo pipeline.
Popular Destinations for Klaviyo Data Integration
One of the biggest advantages of using Estuary is flexibility. Once your Klaviyo data is captured into Estuary collections, you can send it to almost any downstream system without rebuilding pipelines. This makes it easy to join marketing data with ecommerce transactions, customer support records, or product analytics, wherever these resources reside.
Here are some of the most common destinations for Klaviyo data:
Data Warehouses
- Google BigQuery, Snowflake, Amazon Redshift, Databricks: These platforms are ideal for centralizing data across your business. By pushing Klaviyo events and profiles into a warehouse, you can:
- Build marketing performance dashboards that show opens, clicks, and conversions side by side.
- Join Klaviyo engagement with actual order or revenue data from your ecommerce platform.
- Run advanced analytics or feed data into AI models.
Databases
- PostgreSQL, MySQL, MongoDB, SQL Server: Traditional databases are a great choice when you need operational access to Klaviyo data. For example, you might enrich CRM records with Klaviyo profiles or store campaign events for use in internal applications.
Real-Time Analytics and AI Systems
- Elasticsearch, Rockset, Pinecone, Tinybird: These tools are designed for fast queries and AI-driven workloads. Imagine streaming Klaviyo events into Pinecone to power real-time product recommendations, or indexing data in Elasticsearch to analyze campaign performance instantly.
Cloud Storage
- Amazon S3, Google Cloud Storage, Azure Blob: Storing Klaviyo data in object storage is useful for compliance, auditing, or low-cost long-term archiving. You can export data as CSV or Parquet files, making it accessible for downstream processing or ad hoc analysis.
Ecommerce Pairings
- Because Estuary also supports connectors for platforms like Shopify, you can capture Klaviyo message clicks alongside ecommerce orders. This pairing gives a complete view of how marketing campaigns directly influence revenue.
The question is, which destination makes the most sense for your business? Many teams start by streaming Klaviyo events into a warehouse for analytics, then expand to real-time systems or storage as new use cases arise.
For a real-world example, Glossier uses Estuary to power real-time marketing analytics and supply chain visibility across its ecommerce operations, cutting data movement costs by 50%. For more examples, see Estuary's customer success stories.
Advanced Features for Klaviyo Integration
Integrating Klaviyo data isn’t just about moving records from one system to another. The real power comes from advanced features that ensure accuracy, scalability, and flexibility as your business grows. Estuary’s native Klaviyo connector includes several capabilities that set it apart.
Backfill Support
Need to bring in months of past campaign data? The connector supports full historical backfills alongside real-time streaming. Rather than processing events sequentially window by window, the connector runs multiple backfill windows in parallel. In practice this means a backfill that would take hours when processed one window at a time completes significantly faster, since the connector is not waiting for each window to finish before starting the next. The larger your Klaviyo event history, the more meaningful this difference becomes.
Lookback Window for Eventual Consistency
Some events from Klaviyo’s API can be “eventually consistent” or delayed. Instead of risking missed data, Estuary uses a lookback window to re-check past intervals. This ensures late-arriving events are still captured. This matters because late-arriving events can otherwise create gaps in attribution, segmentation, and downstream reporting.
Schema Evolution
Marketing platforms evolve, and Klaviyo is no exception. When new fields or changes are introduced in the API, Estuary supports schema evolution so your collections remain valid. This helps downstream systems like BigQuery or Snowflake stay in sync without manual rework.
Transformations with Derivations
Sometimes raw data isn’t enough. With Estuary derivations, you can transform Klaviyo events before sending them downstream. For example, you might filter out test campaigns, enrich profile data with ecommerce fields, or aggregate events by time window.
Secure and Scalable by Design
Finally, integration doesn’t have to mean compromising security. Estuary supports enterprise deployment options including Bring Your Own Cloud (BYOC) and Private deployment, so data stays under your control while scaling to high event volumes.
With these features, Klaviyo integration goes beyond basic data sync. You get pipelines that are fast, reliable, and built for growth.
Klaviyo Integration Best Practices
Once your Klaviyo pipeline is live, there are a few proven practices that help you get the most out of it. These aren’t just technical tips — they’re habits that make your data more reliable and your analysis more impactful.
Pair Klaviyo with Ecommerce Data
On its own, Klaviyo tells you how customers interact with your campaigns. But what about the sales that follow? Connecting Klaviyo with ecommerce platforms like Shopify lets you measure the true impact of marketing. Did that email click lead to an order? Did a coupon code boost conversions? Linking the two gives you real business answers.
Optimize Window Size for Large Event Volumes
Klaviyo can generate millions of events, especially for brands with large customer bases. When backfilling, smaller window sizes help the connector checkpoint progress more often. This reduces the risk of timeouts and keeps the pipeline moving smoothly.
Keep an Eye on Schema Changes
Klaviyo’s API evolves over time, and new fields may appear. Monitor your collections to ensure downstream systems like BigQuery or Snowflake can handle these changes. With Estuary, schema evolution is supported, but it’s still smart to verify how updates affect your analytics.
Monitor Pipelines with Built-in Observability
Don’t wait until someone notices missing data. Estuary exposes metrics and logs so you can track throughput, latency, and errors in real time. Make monitoring part of your integration workflow — is your data arriving as expected, and at the right speed?
Use Derivations for Smarter Data
Raw Klaviyo events are valuable, but they can also be noisy. Consider using Estuary derivations to filter out test campaigns, enrich customer profiles, or pre-aggregate metrics before they land in your warehouse. Clean data in means better insights out.
By following these practices, you’ll avoid common pitfalls and make sure your Klaviyo integration delivers reliable, actionable data for the teams that need it most.
Is Real-Time Klaviyo Integration Right for Your Use Case?
Not every team needs a streaming pipeline for their Klaviyo data. Before setting one up, it's worth being honest about whether the added complexity is justified for your situation.
Estuary's Klaviyo connector is a strong fit if:
- You need Klaviyo events in your warehouse within minutes, not hours. If your personalization engine, alerting system, or AI model consumes Klaviyo data and stale data produces wrong outputs, real-time sync matters.
- You are syncing Klaviyo alongside other sources, for example Shopify orders, Stripe payments, or Segment events, and need everything in one place with consistent latency.
- You have a high-volume Klaviyo account (large lists, frequent flow triggers, active SMS) where batch tools produce incomplete data during backfills or miss late-arriving events.
- Your team needs the data in multiple destinations simultaneously, for example Snowflake for analytics and PostgreSQL for an operational application, without rebuilding pipelines for each.
- You have data residency or compliance requirements that need a private or BYOC deployment.
It is probably not the right fit if:
- Your reporting cycle is weekly or monthly and a daily data refresh is sufficient. A simpler batch tool or even Klaviyo's native CSV export will serve that use case at lower cost and complexity.
- You are a small team with limited engineering bandwidth and no existing data warehouse. Setting up BigQuery or Snowflake as a destination requires GCP or AWS familiarity; if that infrastructure doesn't exist yet, the pipeline itself is not the first problem to solve.
- Your primary need is Klaviyo's own campaign analytics, open rates, click rates, and revenue attribution within Klaviyo's dashboard. Klaviyo's built-in reporting covers these without any external integration.
- You only need a one-time historical export. Estuary is designed for ongoing pipelines; for a single backfill into a spreadsheet or data warehouse, a manual export or a one-time script against Klaviyo's API is simpler.
If you are on the fence, the free tier covers up to 10 GB per month with no time limit, which is enough to run a real pipeline against your actual Klaviyo account and evaluate whether the latency and reliability improvements justify the setup. Create a free account and connect your first source in around 15 minutes.
Conclusion
Klaviyo generates valuable marketing data that helps ecommerce businesses understand customer behavior, optimize campaigns, and drive growth. But its full value comes when that data is connected with the rest of your business systems. By integrating Klaviyo with destinations like BigQuery, Snowflake, or Databricks, you can combine engagement metrics with sales data, build unified customer profiles, and support advanced analytics and personalization.
Estuary’s native Klaviyo connector makes this integration straightforward. IIt captures more than a dozen data resources in real time, provides fast and reliable backfills, and ensures delayed events are not missed. With support for schema evolution, many destinations, and enterprise-grade deployment options, Estuary allows businesses to move Klaviyo data at scale while maintaining accuracy.
Getting started is simple: configure Klaviyo as a source, choose your destination, and publish the pipeline. From there, your data continues to flow automatically, powering analytics and applications with fresh insights.
👉 Start integrating Klaviyo with Estuary to bring your marketing and business data together in real time. Sign up free or contact us to see how we can help.
FAQs
Do I need to know how to code to set up a Klaviyo integration with Estuary?
What Klaviyo API permissions does my Private API key need?

About the author
Emily is an engineer and technical content creator with an interest in developer education. At Estuary, she works with data pipelines for both streaming and batch data and finds satisfaction in transforming a mess of information into usable data. Previous roles familiarized her with FinTech data and working closely with REST APIs.










