Warehouses and Lakes
Marketing Analytics

How to load data from Facebook Marketing to BigQuery

Learn how to use Airbyte to synchronize your Facebook Marketing data into BigQuery within minutes.

TL;DR

This can be done by building a data pipeline manually, usually a Python script (you can leverage a tool as Apache Airflow for this). This process can take more than a full week of development. Or it can be done in minutes on Airbyte in three easy steps:

  1. set up Facebook Marketing as a source connector (using Auth, or usually an API key)
  2. set up BigQuery as a destination connector
  3. define which data you want to transfer and how frequently

You can choose to self-host the pipeline using Airbyte Open Source or have it managed for you with Airbyte Cloud.

This tutorial’s purpose is to show you how.

What is Facebook Marketing

Facebook Marketing is an extension of Facebook’s online social networking service. Making strategic use of its gigantic user base, Facebook has partnered with AXA Group to leverage the power of people connections (over 1.32 billion active users monthly) for extraordinarily efficient digital marketing and commercial collaboration. Through Facebook’s huge user base, Facebook Marketing is able to reach unprecedented numbers of people with personalized sales and marketing advertisements, making it a huge addition to the world of marketing.

What is BigQuery

BigQuery is an enterprise data warehouse that draws on the processing power of Google Cloud Storage to enable fast processing of SQL queries through massive datasets. BigQuery helps businesses select the most appropriate software provider to assemble their data, based on the platforms the business uses. Once a business’ data is acculumated, it is moved into BigQuery. The company controls access to the data, but BigQuery stores and processes it for greater speed and convenience.

Integrate Facebook Marketing with BigQuery in minutes

Try for free now

Prerequisites

  1. A Facebook Marketing account to transfer your customer data automatically from.
  2. A BigQuery account.
  3. An active Airbyte Cloud account, or you can also choose to use Airbyte Open Source locally. You can follow the instructions to set up Airbyte on your system using docker-compose.

Airbyte is an open-source data integration platform that consolidates and streamlines the process of extracting and loading data from multiple data sources to data warehouses. It offers pre-built connectors, including Facebook Marketing and BigQuery, for seamless data migration.

When using Airbyte to move data from Facebook Marketing to BigQuery, it extracts data from Facebook Marketing using the source connector, converts it into a format BigQuery can ingest using the provided schema, and then loads it into BigQuery via the destination connector. This allows businesses to leverage their Facebook Marketing data for advanced analytics and insights within BigQuery, simplifying the ETL process and saving significant time and resources.

Step 1: Set up Facebook Marketing as a source connector

1. Open the Airbyte platform and navigate to the "Sources" tab on the left-hand side of the screen.
2. Click on the "Facebook Marketing" source connector and select "Create new connection."
3. Enter a name for your connection and click "Next."
4. Enter your Facebook Marketing credentials, including your Facebook account ID, access token, and app secret.
5. Click "Test connection" to ensure that your credentials are correct and that Airbyte can connect to your Facebook Marketing account.
6. Once your connection is successful, select the data you want to replicate from Facebook Marketing, such as ad campaigns, ad sets, or ads.
7. Choose the frequency at which you want Airbyte to replicate your data, such as hourly, daily, or weekly.
8. Click "Create connection" to save your settings and start replicating your Facebook Marketing data to your destination of choice.

Step 2: Set up BigQuery as a destination connector

1. First, navigate to the Airbyte dashboard and select the "Destinations" tab on the left-hand side of the screen.

2. Scroll down until you find the "BigQuery" destination connector and click on it.

3. Click the "Create Destination" button to begin setting up your BigQuery destination.

4. Enter your Google Cloud Platform project ID and service account credentials in the appropriate fields.

5. Next, select the dataset you want to use for your destination and enter the table prefix you want to use.

6. Choose the schema mapping for your data, which will determine how your data is organized in BigQuery.

7. Finally, review your settings and click the "Create Destination" button to complete the setup process.

8. Once your destination is created, you can begin configuring your source connectors to start syncing data to BigQuery.

9. To do this, navigate to the "Sources" tab on the left-hand side of the screen and select the source connector you want to use.

10. Follow the prompts to enter your source credentials and configure your sync settings.

11. When you reach the "Destination" step, select your BigQuery destination from the dropdown menu and choose the dataset and table prefix you want to use.

12. Review your settings and click the "Create Connection" button to start syncing data from your source to your BigQuery destination.

Step 3: Set up a connection to sync your Facebook Marketing data to BigQuery

Once you've successfully connected Facebook Marketing as a data source and BigQuery as a destination in Airbyte, you can set up a data pipeline between them with the following steps:

  1. Create a new connection: On the Airbyte dashboard, navigate to the 'Connections' tab and click the '+ New Connection' button.
  2. Choose your source: Select Facebook Marketing from the dropdown list of your configured sources.
  3. Select your destination: Choose BigQuery from the dropdown list of your configured destinations.
  4. Configure your sync: Define the frequency of your data syncs based on your business needs. Airbyte allows both manual and automatic scheduling for your data refreshes.
  5. Select the data to sync: Choose the specific Facebook Marketing objects you want to import data from towards BigQuery. You can sync all data or select specific tables and fields.
  6. Select the sync mode for your streams: Choose between full refreshes or incremental syncs (with deduplication if you want), and this for all streams or at the stream level. Incremental is only available for streams that have a primary cursor.
  7. Test your connection: Click the 'Test Connection' button to make sure that your setup works. If the connection test is successful, save your configuration.
  8. Start the sync: If the test passes, click 'Set Up Connection'. Airbyte will start moving data from Facebook Marketing to BigQuery according to your settings.

Remember, Airbyte keeps your data in sync at the frequency you determine, ensuring your BigQuery data warehouse is always up-to-date with your Facebook Marketing data.

Use Cases to transfer your Facebook Marketing data to BigQuery

Integrating data from Facebook Marketing to BigQuery provides several benefits. Here are a few use cases:

  1. Advanced Analytics: BigQuery’s powerful data processing capabilities enable you to perform complex queries and data analysis on your Facebook Marketing data, extracting insights that wouldn't be possible within Facebook Marketing alone.
  2. Data Consolidation: If you're using multiple other sources along with Facebook Marketing, syncing to BigQuery allows you to centralize your data for a holistic view of your operations, and to set up a change data capture process so you never have any discrepancies in your data again.
  3. Historical Data Analysis: Facebook Marketing has limits on historical data. Syncing data to BigQuery allows for long-term data retention and analysis of historical trends over time.
  4. Data Security and Compliance: BigQuery provides robust data security features. Syncing Facebook Marketing data to BigQuery ensures your data is secured and allows for advanced data governance and compliance management.
  5. Scalability: BigQuery can handle large volumes of data without affecting performance, providing an ideal solution for growing businesses with expanding Facebook Marketing data.
  6. Data Science and Machine Learning: By having Facebook Marketing data in BigQuery, you can apply machine learning models to your data for predictive analytics, customer segmentation, and more.
  7. Reporting and Visualization: While Facebook Marketing provides reporting tools, data visualization tools like Tableau, PowerBI, Looker (Google Data Studio) can connect to BigQuery, providing more advanced business intelligence options. If you have a Facebook Marketing table that needs to be converted to a BigQuery table, Airbyte can do that automatically.

Wrapping Up

To summarize, this tutorial has shown you how to:

  1. Configure a Facebook Marketing account as an Airbyte data source connector.
  2. Configure BigQuery as a data destination connector.
  3. Create an Airbyte data pipeline that will automatically be moving data directly from Facebook Marketing to BigQuery after you set a schedule

With Airbyte, creating data pipelines take minutes, and the data integration possibilities are endless. Airbyte supports the largest catalog of API tools, databases, and files, among other sources. Airbyte's connectors are open-source, so you can add any custom objects to the connector, or even build a new connector from scratch without any local dev environment or any data engineer within 10 minutes with the no-code connector builder.

We look forward to seeing you make use of it! We invite you to join the conversation on our community Slack Channel, or sign up for our newsletter. You should also check out other Airbyte tutorials, and Airbyte’s content hub!

What should you do next?

Hope you enjoyed the reading. Here are the 3 ways we can help you in your data journey:

flag icon
Easily address your data movement needs with Airbyte Cloud
Take the first step towards extensible data movement infrastructure that will give a ton of time back to your data team. 
Get started with Airbyte for free
high five icon
Talk to a data infrastructure expert
Get a free consultation with an Airbyte expert to significantly improve your data movement infrastructure. 
Talk to sales
stars sparkling
Improve your data infrastructure knowledge
Subscribe to our monthly newsletter and get the community’s new enlightening content along with Airbyte’s progress in their mission to solve data integration once and for all.
Subscribe to newsletter

Facebook Ads is an advertising platform that allows businesses to place paid ads on Facebook, Instagram, Messenger and the Audience network. Facebook Ads provides basic reporting features. When marketing teams need to create customized reporting, it’s common to download Facebook ads data and move it to a cloud data warehouse, where it can be combined with other marketing data sources and analyzed using modern BI tools.

Furthermore, the day you need to combine Facebook Ads data with other marketing data sources (Analytics, Google Ads, LinkedIn Ads, …) you want to load all your marketing data to a data warehouse. Google BigQuery is a popular data warehouse that integrates easily with other Google marketing data sources like Google Analytics and Google Ads. You can use Google BigQuery to build up your marketing data warehouse.

Airbyte Cloud makes it easy to move all your marketing data, including Facebook Ads data to cloud data warehouses. Airbyte is an open-source data integration platform that you can deploy yourself, or use directly through Airbyte Cloud. This tutorial will take you through the steps to set up Airbyte Cloud and copy over your data from Facebook Ads to BigQuery.

Prerequisites

  1. A Facebook Business Manager account with Facebook ads.
  2. A Google Cloud Platform with access to Google BigQuery.
  3. An Airbyte Cloud account to do the data replication for you.

Step 1: Set up Facebook Ads as the Airbyte Source

For Airbyte Cloud to be able to extract data from Facebook Ads you will need to give Airbyte Cloud access to your Facebook account and find your Facebook ads account ID as specified in the Airbyte Facebook Ads source docs.

Go to the Facebook menu and search for Facebook Ad Manager. You will then be redirected to the Ad Manager site, where you will see all your accounts and their corresponding IDs.

Next, go to Airbyte Cloud and create a new source. Give the source a name and select Facebook Marketing as the source type.

Click on the Authenticate your account button. You will be prompted to sign in to your Facebook account in a popup. Once signed in, you will be asked to give Airbyte access.  Grant Airbyte Cloud the permissions to Facebook Ads.

Now enter the start and end dates for when Airbyte should copy the data. Also, enter the Account ID from Step 1 and click on Set up source.

Step 2: Set up BigQuery as the Airbyte destination

For Airbyte Cloud to be able to sync Facebook ads data to BigQuery you will need to create a BigQuery dataset, a service account and a service account key as specified in the Airbyte BigQuery destination docs.

Then create a new destination and select BigQuery as the destination type. Enter the project id, dataset id, and dataset location you configured while creating the dataset. Use the contents of the credentials JSON service account and click on Set up destination.

Step 3: Set up a Facebook Ads to BigQuery connection

Once the source and destination are configured, you can access your connection settings. You should be able to see the various data sources (Airbyte streams) from Facebook Ads. You can set the sync frequency to sync data from Facebook Ads to BigQuery and the sync mode for each stream. In this example, we will select the ads data.

You can also change the sync mode. In this case, we change it below to Incremental | Append sync mode for the ads steam. This mode will append only new data to the destination tables in BigQuery. You can also choose between using Raw Data or Basic normalization with normalization set by default. You can read more about these all connection settings in the Airbyte Cloud getting started guide. Once configured, click on the Set up connection button.

After creating a connection, you can start a sync by selecting Sync Now.

Once the sync is complete, go to your Cloud Console BigQuery page. You should now be able to see the tables created by Airbyte Cloud in your dataset. You will find one table with raw data (_airbyte_raw_ads) in JSON, and other tables created by Airbyte normalization. When Airbyte finds JSON data inside a field, it will normalize it and split it into multiple tables with foreign keys to the ads table.

You can select the tables to view their schema. The following image shows the schema of the ads table.

You can test out the incremental sync for your table by adding another ad to your Facebook page and running another sync.

In this example, we added one more ad. After adding another ad, you can run the following query on BigQuery to see the count.

Conclusion

This tutorial illustrates how easy it is to set up a connection between Facebook Ads and BigQuery using Airbyte Cloud. You can then use other Airbyte marketing sources to create a marketing data warehouse and plug in a BI tool like Google Data Studio, Tableau or Metabase to create custom marketing reports.

You can get started moving data to your data warehouse in minutes with the Airbyte Cloud free trial.

What should you do next?

Hope you enjoyed the reading. Here are the 3 ways we can help you in your data journey:

flag icon
Easily address your data movement needs with Airbyte Cloud
Take the first step towards extensible data movement infrastructure that will give a ton of time back to your data team. 
Get started with Airbyte for free
high five icon
Talk to a data infrastructure expert
Get a free consultation with an Airbyte expert to significantly improve your data movement infrastructure. 
Talk to sales
stars sparkling
Improve your data infrastructure knowledge
Subscribe to our monthly newsletter and get the community’s new enlightening content along with Airbyte’s progress in their mission to solve data integration once and for all.
Subscribe to newsletter

Frequently Asked Questions

What data can you extract from Facebook Marketing?

Facebook Marketing's API provides access to a wide range of data that can be used for advertising and marketing purposes. The types of data that can be accessed through the API include:  

1. Ad performance data: This includes metrics such as impressions, clicks, conversions, and cost per action.  
2. Audience data: This includes information about the demographics, interests, and behaviors of the people who engage with your ads.  
3. Campaign data: This includes information about the campaigns you have run, such as budget, targeting, and ad creative.  
4. Page data: This includes information about your Facebook Page, such as the number of likes, followers, and engagement metrics.  
5. Insights data: This includes data about how people are interacting with your content on Facebook, such as reach, engagement, and video views.  
6. Custom audience data: This includes information about the custom audiences you have created, such as their size and composition.  
7. Ad account data: This includes information about your ad account, such as billing and payment information.  

Overall, the Facebook Marketing API provides a wealth of data that can be used to optimize your advertising campaigns and improve your marketing efforts on the platform.

What data can you transfer to BigQuery?

You can transfer a wide variety of data to BigQuery. This usually includes structured, semi-structured, and unstructured data like transaction records, log files, JSON data, CSV files, and more, allowing robust, scalable data integration and analysis.

What are top ETL tools to transfer data from Facebook Marketing to BigQuery?

The most prominent ETL tools to transfer data from Facebook Marketing to BigQuery include:

  • Airbyte
  • Fivetran
  • Stitch
  • Matillion
  • Talend Data Integration

These tools help in extracting data from Facebook Marketing and various sources (APIs, databases, and more), transforming it efficiently, and loading it into BigQuery and other databases, data warehouses and data lakes, enhancing data management capabilities.