Connector

Collect Facebook Ads data in Google BigQuery

Load Facebook and Instagram ad performance into your own BigQuery tables with OWOX Data Marts: ads, creatives and insights, each in its own table, refreshed on a schedule. Join it with web analytics and CRM to see which ads bring customers and deals.

Facebook Ads Connector to Google BigQuery in OWOX Data Marts

Get Started Free

Endpoints

Facebook Ads Endpoints

Documentation

15 Facebook Ads endpoints you can import. Each lands in its own table in your data warehouse.

S00 · Why

Why join Facebook Ads with your web analytics and CRM

Ads Manager reports what Facebook and Instagram say they delivered, counted by Meta's own attribution. To see which ads brought customers and revenue, spend has to sit next to website touch points and CRM deals in one data warehouse.

  • Put Facebook next to Google, TikTok and Microsoft spend in one table
  • Connect ad clicks and sign-ups to the orders and deals they became
  • Keep spend, reach and ROAS in your own tables, not inside an ad account
Facebook AdsAd spend, reach
Web analyticsVisits, sign-ups
CRMDeals
Your data warehouseBigQueryAdTouch pointDealJoined by idAd seen or clickedDeal months laterOne query links the ad to the deal.

S01 · Step 1

Step 1: Connect Facebook Ads and pick the fields

Create a Data Mart, choose Facebook Ads as the data source, sign in with Facebook or add an access token, list your ad account ids and tick only the fields you need.

  • 15 endpoints and 1172 fields to choose from
  • Ad Insights alone has 100 fields: spend, reach, clicks, conversions, ROAS
  • One Data Mart per endpoint, so each breakdown stays its own table
New Data MartChoose a sourceGoogle AdsFacebook AdsTikTok AdsAuthorizeConnectedEndpointAd InsightsAdAd AccountAd Account User
Ad Insights100 fieldsdate_startspendimpressionsclicksreachpurchase_roas

S02 · Step 2

Step 2: Load Facebook Ads into a BigQuery table

The dataset and table in your data storage are pre-filled, and you can change them. Run it and the first load, from the start of the previous month through today, lands in your own BigQuery project.

  • Insights go to a table such as facebook_ads_ad_account_insights
  • Every run is logged in Run History
DestinationBigQueryDatasetfacebook_adsTablead_account_insightsRun
Run HistoryPendingRunningSuccessIncremental load
Tablefacebook_ads.ad_account_insig…

S03 · Step 3

Step 3: Get a business-friendly output schema

After the first run you get the output schema: every field with a readable description, not an API identifier. Your data quality checks can read it too.

  • Results such as actions and action_values are fields of their own, with descriptions
  • Anyone on the team can read the table
facebook_ads.ad_account_insightsOutput schemaFieldDescriptiondate_startThe start date for your data…spendThe estimated total amount of…impressionsThe number of times your ads…clicksThe number of clicks on your ads.reachThe number of people who saw…purchase_roasThe total return on ad spend…

S04 · Step 4

Step 4: Keep the Facebook Ads tables linked

Ad accounts, ads, creatives and insights stay separate tables, joined by ids. Together they become one Facebook Ads data model.

  • ad_id in Ad Insights is the id of the ad, and creative_id on the ad points to its creative
  • Campaign and ad set ids ride on every row, so spend rolls up to either level
Ad Accountnameaccount_id
Ad Creativesidname
Adsidaccount_idcreative_id
Ad Insightsad_idspend

S05 · Step 5

Step 5: Schedule the refresh and backfill history

Set it once. A daily scheduled refresh keeps the tables current, and a manual backfill loads any past period.

  • Run it daily, weekly, monthly or on an interval
  • Backfills longer than a month are split into segments of up to 31 days for you
ScheduleRun on a scheduleDaily 09:00
BackfillRun backfill
Run HistoryDaily scheduleManual backfillDaily schedule

S06 · Step 6

Step 6: Reuse the same table everywhere

One table feeds your data model, spreadsheets, dashboards, AI assistants like Claude and ChatGPT, and scheduled AI insights in Slack or email.

  • Blend Facebook with Google and TikTok spend once
  • Every report reads the same table
Facebook AdsData MartPublished
Blended ad spend
Google Sheets
Data Studio dashboards
Claude, ChatGPT
Slack, email

Recent updates

Why OWOX

Why OWOX for Facebook Ads in BigQuery

Hand-built Marketing API scripts, a generic ETL tool or manual exports each get Facebook data out. OWOX also keeps it yours, readable and ready to model.

  • You own the data. It lands in your own BigQuery project, in tables you control, not inside an ad account.
  • One table per breakdown. Country, region, age and gender, device, placement and product breakdowns each load into their own table, so you take the cuts you need and leave the rest.
  • Ready for a data model. Separate tables joined by ad, ad set and campaign ids, built to connect to web analytics and CRM.
  • Maintained for you. No scripts to fix when Meta updates the Marketing API.
  • Free to self-host. The open-source OWOX Data Marts runs in your own infrastructure.

Book a callGet Started Free

Trust

The Data Partner You Can Trust

users

176K Source: Internal OWOX data as of 2026-10-02

Executives and data analysts across 20+ industries

G2 rating

4.9★2

“A trusted data analytics partner” — verified review

npm installs

165K3

In Open Source We Trust

Customers