BigQuery Tutorial

Data Blending in Google BigQuery: How to Combine Marketing Data Sources

Santiago Cardozo
Marketing Manager at Porter

March 19, 2026

Data blending in BigQuery means combining multiple marketing data sources into one unified table. Instead of looking at Meta Ads in one report and Google Ads in another, you merge them into a single table that shows total spend, blended ROAS, cross-channel attribution, and real CPA across all platforms.

Here is how it works and how to do it.

What Data Blending Achieves

When you blend Meta Ads, Google Ads, and Google Analytics 4 into one BigQuery table, you get metrics that are impossible to see inside any single platform:

Cross-channel attribution: which combination of channels drives the most valuable customers.

Real CPA: total cost divided by total conversions across all platforms, not just one.

None of these metrics exist inside your ad platforms. They only exist when you combine the data yourself.

The Five Steps to Blend Marketing Data in BigQuery

Blending marketing data in BigQuery follows a clear process. Here are the five steps.

Step 1: Import your data sources into BigQuery. You need a separate table for each data source. One table for Meta Ads, one for Google Ads, one for GA4. You load these tables using an ETL tool like Porter Metrics, which handles the extraction and loading automatically. Or you load them manually using CSV exports, though this is slower and harder to maintain.

Step 2: Identify the source tables. Once your data is in BigQuery, open BigQuery Studio and find each table in the Explorer panel. Review the schema of each table. Understand what columns each table contains and what each column means. Meta Ads brings date, campaign name, spend, impressions, and clicks. Google Ads brings date, campaign name, cost, clicks, and conversions. GA4 brings date, session source, users, and goal completions.

Step 3: Write the JOIN. A JOIN is the SQL operation that merges two tables based on a shared column. For marketing data, the shared column is usually date and sometimes campaign name. You write a query that selects columns from both tables and joins them on the date column.

Step 4: Standardize column names. Different platforms use different names for the same concept. Meta calls it “spend,” Google Ads calls it “cost.” Your JOIN query renames these columns so they are consistent in the output table. You use SQL aliases (AS) to rename columns.

Step 5: Query the blended result. Once your JOIN produces a unified table, you query it to get your blended metrics. You group by date, by platform, or by campaign to get the aggregated view you need.

A Simple Data Blending Query

Here is what a basic blend of Meta Ads and Google Ads looks like in SQL:

SELECT

meta.date,

meta.campaign_name,

meta.spend AS meta_spend,

gads.cost AS google_spend,

meta.spend + gads.cost AS total_spend,

meta.impressions + gads.impressions AS total_impressions

FROM your_dataset.meta_ads AS meta

LEFT JOIN your_dataset.google_ads AS gads

ON meta.date = gads.date

AND meta.campaign_name = gads.campaign_name

ORDER BY meta.date DESC

This query produces one row per day per campaign with spend from both platforms and a total spend column that adds them together.

Blending With Porter Metrics: No SQL Required

If you use Porter Metrics to load your data, you skip the manual JOIN step. Porter blends your selected data sources at the connector level before the data lands in BigQuery.

You select Meta Ads, Google Ads, and GA4 as your sources. Porter normalizes the field names, handles the join logic, and loads a single blended table into BigQuery. Pre-calculated blended metrics like total spend, blended ROAS, and blended conversions are already in the table as columns.

You still have full access to write SQL queries on top of the blended table. But you do not need to write the JOIN yourself.

When to Write the JOIN Yourself vs Use a Connector

Write the JOIN yourself when:

You need a custom join logic that a connector does not support.

You are joining marketing data with non-marketing data, such as CRM pipeline data or financial data.

You want full control over how columns are defined and named.

Use Porter Metrics when:

You want blended marketing data in BigQuery as fast as possible.

You do not have a data engineer to write and maintain JOIN queries.

You want pre-calculated blended metrics without writing custom SQL.

Both approaches get you to the same result: a unified marketing data table in BigQuery that you query, visualize, and act on.

← Previous Lesson
Next Lesson →

Ready to connect your marketing data to BigQuery?

Porter Metrics makes it easy to sync all your sources — no code required.

Start Free Trial