Home > Destinations > MySQL > Facebook Ads

Connect Facebook Ads to MySQL

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

Used by the world's leading companies

Export Facebook Ads data to MySQL

Catchr handles extraction, normalization, and loading automatically.

Centralize

Centralize Facebook Ads (Meta Ads) data in MySQL

Bring all your Facebook Ads (Meta Ads) 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 Facebook Ads (Meta Ads) so every dashboard, model, and report works with fresh information.

Analysis

Unify Facebook Ads with the rest of your business data

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

Facebook Ads metrics and dimensions available in MySQL

Access 321 metrics and 214 dimensions from Facebook Ads connectors including Spend, Impressions, Clicks, CTR, CPC, CPM, CPA, ROAS, Conversions, Purchase value, Campaign, Ad set, Ad, Date, Placement, Country, Device, Objective and many more...

321

Metrics availables

214

Dimensions availables

Connect Facebook Ads to MySQL in minutes

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

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

Client A · Connected sources
5 sources ready
Facebook Ads 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 campaign delivery in SQL.

This example summarizes spend, impressions, clicks, and click-through rate by campaign.

Facebook Ads (Meta Ads).sql
BigQuery SQL
30-day window
SELECT
  campaign_name,
  SUM(spend) AS spend,
  SUM(impressions) AS impressions,
  SUM(clicks) AS clicks,
  SAFE_DIVIDE(
    SUM(clicks),
    SUM(impressions)
  ) AS ctr
FROM `your_project.marketing_raw.facebook_ads_daily`
WHERE date >= DATE_SUB(
  CURRENT_DATE(),
  INTERVAL 30 DAY
)
GROUP BY campaign_name
ORDER BY spend DESC;
Illustrative SQL — adapt it to the fields and schema selected in your export. Standard SQL

Connect more table to your Facebook Ads 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 can I connect Facebook Ads to an existing MySQL database?

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

Which Facebook Ads metrics and dimensions can be sent to MySQL?

Select concrete Facebook Ads fields such as In-App Ad Clicks, In-App Ad Impressions, Mobile App Feature Unlocks, and Normalized Week of the year. You can rename the chosen columns, preview the result, and write them to MySQL tables such as accounts, advertisers, and campaigns.

What controls the refresh window for Facebook Ads data in MySQL?

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

How can I keep recurring Facebook Ads imports from duplicating rows?

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

What can agencies build with Facebook Ads data in MySQL?

With Facebook Ads data, a MySQL query can summarize spend, impressions, clicks, and click-through rate by campaign. A query built around In-App Ad Clicks and In-App Ad Impressions 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