Home > Destinations > MySQL > Klaviyo

Connect Klaviyo to MySQL

Connect Klaviyo to MySQL and export selected accounts, metrics, and dimensions to your MySQL project.

Configure the historical window, destination table, and recurring schedule without maintaining a Klaviyo API pipeline.

Used by the world's leading companies

Export Klaviyo data to MySQL

Catchr handles extraction, normalization, and loading automatically.

Centralize

Centralize Klaviyo data in MySQL

Bring all your Klaviyo data into your warehouse and make it available for analytics, machine learning, and internal applications.

Data freshness

Keep your MySQL tables up to date

Automatically sync new data from Klaviyo so every dashboard, model, and report works with fresh information.

Analysis

Unify Klaviyo with the rest of your business data

Join marketing, finance, CRM, and product data inside the same warehouse.

Klaviyo metrics and dimensions available in MySQL

Access 71 metrics and 57 dimensions from Klaviyo connectors including Emails Open Rate, Emails Clicked Rate, Shopify - Placed Order Value, Submitted Form, Subscribed to List, Campaign Name, Campaign Channel, Flow Name, List Name, Date and many more...

71

Metrics availables

57

Dimensions availables

Connect Klaviyo to MySQL in minutes

Move your data from Klaviyo to MySQL with a simple setup. Once connected, Catchr handles the ingestion automatically so your warehouse stays up to date without manual work.

Step one

Connect your Klaviyo account

Authenticate your Klaviyo account securely in Catchr. No custom scripts, API maintenance, or engineering work required.

Client A · Connected sources
5 sources ready
Klaviyo 3 advertising accounts Connected
Google Ads 2 advertising accounts Connected
Google Analytics 4 1 web property Connected
HubSpot 1 CRM portal Connected
Step two

Choose the MySQL destination

Connect your existing MySQL database with its host, port, username, password, and database name. Then create the datastream that defines where the selected source data should go.

Destination / MySQL Required fields
Host Required
analytics-db.internal
Username Required
catchr_writer
Password Required
••••••••••••
Database Required
marketing_reporting
Step three

Keep your MySQL tables updated

Choose the fields, initial history, partition field, and recurring schedule for the job. Catchr refreshes the configured import window in your MySQL table.

Export job / MySQL Example
Database Destination
marketing_reporting
Table Per job
google_ads_campaigns
Recurring schedule Choose a cadence
Every 6 hours
Daily · 06:00
Weekly · Mon
Export readySelected fields · configured history
Every 6 hours

Review 30-day Klaviyo email campaign performance in SQL.

This example summarizes delivery, opens, clicks, and engagement rates by email campaign.

Klaviyo.sql
BigQuery SQL
30-day window
SELECT
  campaign_name,
  SUM(sent) AS sent,
  SUM(delivered) AS delivered,
  SUM(opens) AS opens,
  SUM(clicks) AS clicks,
  SAFE_DIVIDE(
    SUM(opens),
    SUM(delivered)
  ) AS open_rate,
  SAFE_DIVIDE(
    SUM(clicks),
    SUM(delivered)
  ) AS click_rate
FROM `your_project.marketing_raw.klaviyo_campaign_daily`
WHERE date >= DATE_SUB(
  CURRENT_DATE(),
  INTERVAL 30 DAY
)
GROUP BY campaign_name
ORDER BY delivered DESC;
Illustrative SQL — adapt it to the fields and schema selected in your export. Standard SQL

Connect more table to your Klaviyo data

Open the dedicated route for each platform. Its field catalog, reporting grain, historical constraints, and warehouse use cases should be specific to that source.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Before you schedule the job.

Answers about MySQL setup, available source data, schedules, table updates, and SQL use cases.

How do I start a scheduled Klaviyo import into MySQL?

Start with a connected Klaviyo source and an existing MySQL database. Create a datastream between them, then configure the accounts, fields, schedule, and "segments" table.

Which Klaviyo entities can become MySQL tables?

Select concrete Klaviyo fields such as API - Active On Site, API - Added To Card, API - Placed Order, and Day of the month. You can rename the chosen columns, preview the result, and write them to MySQL tables such as accounts, campaigns, and contacts.

Does Catchr support an initial fetch for Klaviyo data in MySQL?

Set an initial fetch period for Klaviyo, then choose the frequency and lookback window for the job writing to "segments". Catchr rewrites that selected period on each run.

Which partition setting keeps Klaviyo MySQL rows updated?

The partition field tells Catchr which Klaviyo rows in "segments" belong to the period being refreshed. If you omit it, every run appends records rather than updating them.

What is a practical SQL use case for Klaviyo data?

With Klaviyo data, a MySQL query can summarize delivery, opens, clicks, and engagement rates by email campaign. A query built around API - Active On Site and API - Added To Card can support trend reviews, account comparisons, and operational reporting.

Does my MySQL database need to exist before I connect it?

Yes. Connect an existing MySQL database first. The Catchr job creates and populates the destination table you configure inside that database.

Can I load several marketing sources into the same MySQL database?

Yes. Create a separate datastream and job for each source, write each export to its own table, then combine the data downstream with SQL, views, or your BI tool.

Still have a question ? 

Our teams is always here to responds to any question you could have about our data connector. 

Your next MySQL reporting table should not start with five exports.

Connect your accounts, choose the fields, then schedule the data your team needs in MySQL.

14 days free-trial
No credit-card required
100+ sources