Meta (Facebook) icon Meta Ads BigQuery icon Google BigQuery Tutorial

How to Connect Meta Ads (Facebook Ads) to Google BigQuery


Juan Bello

CEO – Porter Metrics

Jan 30, 2026
15 min read

To connect Meta Ads to Google BigQuery:

  1. 1

    Log in with Google on portermetrics.com .

  2. 2

    Select Google BigQuery as destination.

  3. 3

    Select Meta Ads as data source and name your connection .

  4. 4

    Authorize your Facebook profile to access your Ad Accounts.

  5. 5

    Authenticate BigQuery via Google login or Service Account.

  6. 6

    Select Project ID , Dataset location , Dataset , and Table name (or create new).

  7. 7

    Select metrics (e.g., spend) and dimensions (e.g., campaign name).

  8. 8

    Optionally, prompt custom fields (e.g., CPA, campaign type).

  9. 9

    Set date range (e.g., this month to date).

  10. 10

    Schedule refreshes in natural language (e.g., “daily at 8am”).

  11. 11

    Set write mode (overwrite, append, or update).

  12. 12

    Send and monitor execution logs.

Four free and paid ways to connect Meta Ads to Google BigQuery

2. General ETL/ELT tools

Data integration platforms for data engineers. Examples: Fivetran, Stitch, Airbyte.

Export raw tables that mirror the source schema: one table for campaigns, one for ad sets, one for ads, one for insights. Each table contains all fields. The data engineer writes SQL JOINs to relate tables, selects fields, transforms data, and uses dbt or Python for preprocessing before visualization.

3. Google BigQuery Data Transfer Service

Free native Google integration for data engineers.

Setup requirements:

  • Create a Facebook App in the Meta for Developers portal.

  • Request permissions : ads_management, ads_read, business_management.

  • Generate access token. Expires every 60 days : manual renewal required.

  • To go Live: App Review approval + Privacy Policy URL.

  • Standard Access (default): only access ad accounts where you are admin. 600 calls/hour.

  • Advanced Access: 190,000 calls/hour. Requires App Review, Business Verification, and justification per permission. Approval takes weeks to months.

What you get:

  • 3 fixed tables: AdAccounts, AdInsights, AdInsightsActions.

  • Data partitioned by date.

  • Overwrites existing partitions on each refresh.

Limitations:

  • No breakdown by conversion type or conversion name : can’t distinguish purchase, lead, or custom conversions.

  • No field selection : transfers full raw tables. You filter fields in BigQuery after.

  • No creative data (images, videos, thumbnails, carousels).

  • No lead forms or leads.

  • No breakdown by gender or geography.

  • Overwrite only : no append or update modes.

  • Minimum refresh frequency: 24 hours.

  • Maximum refresh window: 30 days.

  • Maximum execution time: 6 hours per run.

  • Days in refresh window scheduled 45 minutes apart.

4. Manual CSV export or Google Sheets

Export from Ads Manager manually. No automation.

How it works:

Limitations:

  • No automation: repeat manually for each update.

  • Export limit: 10,000 rows per export.

  • No scheduled refreshes.

  • Manual upload to BigQuery required.

How to Connect Meta Ads to Google BigQuery for Marketers (No Code)

Porter is an AI-native connector. Configure everything with natural language, not SQL or forms. Custom fields, filters, scheduling—all prompted in plain English. No coding, no data engineering required.

  • Data preview is always live. As you select metrics, dimensions, filters, and date ranges, Porter shows your data in real-time. Verify everything before sending to BigQuery.

  • Data arrives transformed, blended, and ready to visualize. No SQL transformations needed after.

In this tutorial, we’ll show you how to send your Meta Ads data to Google BigQuery with Porter. We’ll send campaign performance data including fields like Campaign Name, Impressions, Clicks, and custom fields like CPA and campaign segmentation by funnel stage.

Set a connection

Log in to portermetrics.com with Google. Click “Create” and select ” Google BigQuery ” as destination. Name your connection (e.g., “Meta Ads Campaign Performance”). Select Meta Ads as data source.

Select data sources screen showing available data source options

  • Data blending : optionally, add Google Ads , GA4, Shopify in the same connection for cross-channel reports.

Connect your Meta Ads accounts

Connect your Facebook profile and grant access to pages and ad accounts. Select “Current and Future Business Pages and Accounts” to avoid re-authorization in the future. Select the Ad Accounts you want to connect.

Connect Meta Ads to Google BigQuery

Multi-account

Consolidate dozens or hundreds of accounts in a single report.

Required permissions

Editor, Analyst, or Admin on the Ad Account.

Tokens never expire

As Porter is a reviewed and authorized app, your tokens never expire, unless you change your Facebook password.

Connect your BigQuery destination

Authenticate with Google login or Service Account. Select Project ID, Dataset location, Dataset, and Table name.

Select your BigQuery projects interface

  • Google login (recommended) : Porter lists your projects in a dropdown. Easiest option.

  • Service Account JSON : for companies with strict permissions management on Google Workspace. Copy a JSON text from your project details to connect.

  • Dataset location : US, EU, or your preferred region.

  • Auto-update schema : if you change your query later, Porter updates the schema automatically and rewrites it in your BigQuery table, unlike other tools.

New to BigQuery? Create your first project:

Go to console.cloud.google.com . In the Navigation Menu (top left), select BigQuery → Studio. On the left panel, you’ll see your projects.

  1. Create a Project : select or create a new project (e.g., “Marketing Data”). Choose a name, type, and organization. BigQuery creates a folder for it.

  2. Create a Dataset : expand your project folder, click the ellipsis, and select “Create Dataset.” Name it (e.g., “ppc_data”) and select a location (US or EU).

  3. Create a Table : inside your dataset, you can create a table (e.g., “meta_ads”). Or let Porter create it automatically when you send your first query.

The Project ID, Dataset name, and Table name you set here are the same values you’ll enter in Porter’s BigQuery configuration.

Verify your data in BigQuery:

When you select a table, BigQuery shows the Schema view first. This is the metadata: field names, field types, and modes. To see your exported data, go to the Preview tab. Once your query executes, you’ll see the complete table with your data.

Step 24 - Meta Ads to Google BigQuery connection process

Choose metrics

In the metrics dropdown, search and select: e.g., Amount Spent, Purchases, Leads, Custom Conversions, Impressions, Link Clicks.

Step 31 - Meta Ads to Google BigQuery connection process

  • 800+ Fields Available

    Porter brings most fields and constantly updates from the Ads Manager. Expect the exact same data you see in Meta.

    See all Meta Ads fields

  • All Attribution Windows

    Compare conversions across 1-day click, 7-day click, 28-day click, 1-day view, 7-day view in one query.

  • Lead Ads Data

    Bring form fields and submitted information from users directly to your data warehouse.


Choose dimensions

To segment your data, in the dimensions dropdown, search and select: e.g., Campaign Name, Date.

Step 50 - Meta Ads to BigQuery connection process
  • Other dimensions : Ad Account, Objective, Ad Set Name, Ad Name, Creative (image URL, video URL, headline, primary text, ad preview link), Hour, Week, Month, Year.

  • Breakdowns : age, gender, device, placement, platform, region/country.

  • Instagram Ads included : use placement or platform breakdown to separate Instagram from Facebook.

  • Some combinations restricted by Meta : e.g., conversions + age + gender + placement. You can’t combine multiple breakdowns with conversions in a query. If unavailable, simplify or create separate queries.

See all Meta Ads fields

Create custom fields

For custom metrics , add a new metric, prompt your formula in natural language, and check the formula generated and a preview of the query. Choose the format of your metric (number, currency, percentage). For this example: CPC = “spend / clicks”, CPA = “spend / conversions”.

Create custom metrics interface showing how to set up custom metrics in the data integration platform

For custom dimensions , prompt your formula to segment data based on naming conventions. If your naming conventions include objective, funnel stage, or products, prompt a formula like: “If campaign name contains ‘awareness’, tag as ‘Awareness’. If contains ‘consideration’, tag as ‘Consideration’. If contains ‘conversion’, tag as ‘Conversion’. Else ‘Other’.” In the preview, see how Porter transforms conditionals into regex for custom segmentations.

Create custom dimensions interface screenshot

Create your own metrics or dimensions so no SQL or transformation is needed in BigQuery. Your data is ready to be connected to Looker Studio. Supported operations: math (sum, subtract, divide, multiply), conditionals (if/then/else), regex (pattern matching). Same capabilities as Looker Studio calculated fields.

Set date range

Select a date range from the dropdown. For this example: last 30 days.

Set a date range interface for Meta Ads to Google BigQuery connection

  • Dynamic ranges : today, yesterday, last 7/14/28/30/90 days, this week/month/quarter/year to date, last week/month/quarter/year.

  • Fixed ranges : specific start and end dates.

  • Auto-update : data refreshes automatically based on dynamic range.

Add filters

The Meta API recently started returning campaigns with no activity. When you run a query, you get campaigns with spend and campaigns with zero spend, which is noise to your tables. We’ll create a filter to exclude them.

For this example:

  • Condition : Exclude

  • Field : Amount Spent

  • Operator : equals

  • Value : 0

Create a filter interface showing filter options and settings

This excludes all campaigns without activity, so your query only returns campaigns with spend.

  • Available operators : equals, contains, not contains, greater than, less than, starts with, ends with.

  • Value detection : Porter detects if the field is a number or text automatically.

  • Combine filters : add AND/OR logic within the same condition or create multiple filters in one query.

Schedule refresh

Prompt your schedule in natural language. For this example: “every day at 8am”.

Schedule data refreshes with AI interface showing automated refresh settings

  • Examples : “Every Monday at 5am”, “Weekdays at 7pm”, “Every hour”, “Every Tuesday and Friday at 9am”.

  • Auto-convert : Porter converts prompts into cron expressions.

  • Timezone : detected automatically from your browser.

  • Minimum frequency : every minute. No extra cost for frequent refreshes.

Choose write mode

Select how Porter writes data to BigQuery. For this example: Overwrite.

Step 83 - Marketing data integration process

  • Overwrite (recommended) : deletes existing table and writes fresh data. No duplicates.

  • Append : adds new rows below existing data. Risk of duplicates if same date range runs twice.

  • Update : matches rows by dimension and updates values. For CRM data with changing values.

Send, monitor, and organize

Click “Save” to save your query and click “Send” to deliver the data to Google BigQuery. The transfer takes a few seconds depending on the volume of data. Once finished, you can refresh it or create more queries.

Manage your data interface showing data management options and controls

To create more queries: go back to the query manager inside your connection, or go to Porter Metrics → Account → Reports → Connections. In the Queries tab, you’ll see all queries running from your account with their associated connection, name, data sources, last run time, latest status, and option to run manually.

To monitor executions: click the ellipses icon and select “History.” You’ll see logs with exact date and time, execution type (manual or scheduled), and status. If an error occurs, you’ll see the specific error message.

To organize your data: manage connections and queries within them. Name connections by campaign (e.g., “Black Friday”), by client, or by data source. Within each connection, create as many queries or tables as needed and rename them. You can enable/disable queries or connections, and update any query anytime—Porter refreshes and updates the schema on BigQuery automatically.

How to Connect Your BigQuery Table to Google Looker Studio

First, verify your data in BigQuery:

Go to console.cloud.google.com/bigquery . In the left menu, under Products, find BigQuery → Studio. This is where you manage your tables.

BigQuery hierarchy:

  • Project (e.g., “Marketing Data”): your top-level container.

  • Dataset (e.g., “PPC Data”): a collection of tables within a project.

  • Table (e.g., “Meta Ads”): your actual data.

In BigQuery Studio, go to “Classic Explorer” and select your project. Click the ellipsis to create a new dataset if needed (set a name and location, e.g., US or Europe). Navigate to your dataset and table. In “Schema,” see the list of fields and their types. In “Preview,” see your actual data. To refresh data, go back to Porter and resend—Porter overwrites the table.

Connect BigQuery to Looker Studio:

Go to Looker Studio . Click “Create” and select “Report” to start a blank report. Looker Studio will prompt you to add a data source. Search for “BigQuery” and connect your Google account.

You’ll see options:

  • Recent Projects

  • My Projects

  • Shared Projects

  • Custom Query

  • Public Datasets

Select “My Projects” and navigate to your project, dataset, and table. In this example: Project “Marketing Data” → Dataset “PPC Data” → Table “Meta Ads”. Click “Add” to connect.

Once connected, Looker Studio loads the fields from your table. Create a chart, add your dimensions (e.g., date) and metrics (e.g., spend). Make sure to set a date range that matches your query in Porter.

Step 6 interface

Rename fields for readability:

BigQuery field names use underscores (e.g., “facebook_ads_spend”). To rename them, go to Resource → Manage added data sources → Actions → Edit. Double-click on each field name to change it (e.g., “facebook_ads_spend” → “Amount Spent”). This makes fields more readable for end users.

Your BigQuery data is now connected to Looker Studio.

Meta Ads Templates for BigQuery + Looker Studio

Porter has the most complete Looker Studio template gallery for marketing data.

Templates are compatible with BigQuery tables created in Porter.

Note: BigQuery field names use underscores instead of spaces (e.g., “amount_spent” instead of “Amount Spent”). You may need to map fields when connecting a template.

Available templates:

Browse all Meta Ads templates

Why Marketers Move Meta Ads Data to BigQuery

  • Connect any reporting tool: BigQuery connects to Looker Studio, Power BI, Tableau, or any BI tool. One warehouse, every destination.

  • Multi-touch attribution: Join Meta Ads with raw GA4 event data. Trace the full user path from ad click to conversion.

  • Source of truth: Define what “conversion” means for your company. Compare Meta vs. GA4 vs. HubSpot. Pick one source for CAC, ROAS, and CPA. End the “which number is right” debate.

  • Company-wide access without platform permissions: Managing permissions across platforms is a pain. With BigQuery, anyone can access marketing data without accounts or roles in each platform. One permission model, all data.

  • Make data available for AI: AI needs clean, structured data with context. Every AI tool feels siloed. Integrating sources is complicated. With BigQuery as your universal warehouse, any AI tool can access your marketing data. No custom integrations. No complicated setup.

  • Data blending: Combine Meta Ads with CRM, GA4, Shopify, Google Ads in one warehouse. Measure real profit, not platform ROAS. Calculate blended CAC across all channels.

What’s Next

Now that your Meta Ads data is in BigQuery:

  • Connect to BigQuery: learn Google BigQuery for marketers and read tutorials to connect other data sources.

  • Connect to Looker Studio: Build dashboards that load in seconds. Use Porter templates or create your own.

  • Connect to Google Sheets: Export BigQuery data to Sheets for quick analysis, sharing with clients, or custom calculations.

  • Blend data from multiple sources: Add Google Ads , GA4, Shopify , CRM to the same connection. Porter auto-maps equivalent fields. Create cross-channel reports without SQL joins.

  • Create AI workflows: Automate alerts and reports with natural language. Example: “Every Monday at 9am, get Meta Ads spend for last 7 days, analyze performance with AI, send summary to Slack.”

  • Use templates: Start with pre-built Looker Studio templates. Campaign performance, creative analysis, audience breakdowns—ready to connect.

  • Explore other destinations: Send Meta Ads data to Google Sheets, PostgreSQL, or other warehouses. Same setup process.

Browse all Meta Ads templates

15 Responses

  1. In the world of game reviews, players are always searching for better experiences, especially when they try to latest game updates from trusted sources. Many gamers explore different genres such as free shooting games download for laptop or even deep story-based instant play online games to discover new entertainment. As the demand grows, the trend of free pc games continues to shape the gaming community and attract more users every day.

  2. i enjoy reading your articles, it is simply amazing, you are doing great work, do you post often? i will be checking you out again for your next post. you can check out webdesignagenturnürnberg.de the best webdesign agency in nuremberg Germany

  3. i enjoy reading your articles, it is simply amazing, you are doing great work, do you post often? i will be checking you out again for your next post. you can check out webdesignagenturnürnberg.de the best webdesign agency in nuremberg Germany

  4. **aqua sculpt**

    aquasculpt is a premium metabolism-support supplement thoughtfully developed to help promote efficient fat utilization and steadier daily energy.

Leave a Reply

Your email address will not be published. Required fields are marked *