Home > Destinations > MySQL > Matomo

Connect Matomo to MySQL

Connect Matomo 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 Matomo API pipeline.

Used by the world's leading companies

Export Matomo data to MySQL

Catchr handles extraction, normalization, and loading automatically.

Centralize

Centralize Matomo data in MySQL

Bring all your Matomo 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 Matomo so every dashboard, model, and report works with fresh information.

Analysis

Unify Matomo with the rest of your business data

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

Matomo metrics and dimensions available in MySQL

Access 102 metrics and 79 dimensions from Matomo connectors including Users, New Users, Returning Users, Conversion Rate, Conversions, Revenue, Bounce Rate, Avg. time on page, Date, Campaign Name, Campaign Source, Campaign Medium, Source - Medium, Channel Type, Page URL, Country and many more...

102

Metrics availables

79

Dimensions availables

Connect Matomo to MySQL in minutes

Move your data from Matomo 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 Matomo account

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

Client A · Connected sources
5 sources ready
Matomo 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 Matomo traffic and conversion performance in SQL.

This example summarizes users, sessions, conversions, and conversion rate by traffic source.

Matomo.sql
BigQuery SQL
30-day window
SELECT
  traffic_source,
  SUM(active_users) AS active_users,
  SUM(sessions) AS sessions,
  SUM(conversions) AS conversions,
  SAFE_DIVIDE(
    SUM(conversions),
    SUM(sessions)
  ) AS conversion_rate
FROM `your_project.marketing_raw.matomo_events_daily`
WHERE date >= DATE_SUB(
  CURRENT_DATE(),
  INTERVAL 30 DAY
)
GROUP BY traffic_source
ORDER BY sessions DESC;
Illustrative SQL — adapt it to the fields and schema selected in your export. Standard SQL

Connect more table to your Matomo 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 route Matomo data into MySQL tables?

Connect Matomo and add MySQL as the stored destination. Create a datastream, then save a job that sends the required records to the "sessions" table.

Which Matomo fields can I store in MySQL?

Select concrete Matomo fields such as Distinct campaigns, Distinct keywords, Distinct search engines, and Date. You can rename the chosen columns, preview the result, and write them to MySQL tables such as properties, sessions, and users.

Can I backfill Matomo data before scheduling MySQL updates?

Choose how far back the first Matomo load should go and how much recent data each "sessions" run should refresh. Catchr splits large backfills into smaller intervals.

What happens if no partition field is chosen for Matomo?

For recurring Matomo loads, assign an eligible partition field to "sessions". Otherwise Catchr cannot match the refresh window and will append the returned records.

How does Matomo data in MySQL support deeper analysis?

With Matomo data, a MySQL query can summarize users, sessions, conversions, and conversion rate by traffic source. Join Distinct campaigns and Distinct keywords with shared account or date keys to build a reusable performance model in MySQL.

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