Google Data Studio Data Blending Guide With Google Ads And Ga4

Google Data Studio Data Blending Guide (2026): Google Ads + GA4

Table of Contents

Last updated on August 27, 2026 at 4:19 PM

Google Data Studio Data Blending Guide (2026): Google Ads + Ga4

How to Use This Guide and Learning Objectives

This guide is designed for users who can already create basic charts but have not yet developed a systematic understanding of data blending. It focuses on marketing analytics and explains why data is duplicated, why joined metrics become null, and why total rows can be incorrect—not just which buttons to click.

After completing this guide, you should be able to:

  • Decide whether a reporting scenario is suitable for data blending.
  • Choose the right join fields, join operator, and data grain.
  • Combine Google Ads and GA4 in a single advertising performance table.
  • Recalculate CTR, CPC, purchase conversion rate, and ROAS from base metrics.
  • Troubleshoot null values, inflated metrics, missing records, incorrect totals, and slow loading.

1. What Is Data Blending?

A standard chart usually reads from only one data source. A blend allows a chart, table, or control to use multiple data sources at the same time and combine fields from different tables according to the join conditions you define.

Google Ads: Date + Campaign ID + Cost + Clicks
                         ↓
                  Data Studio Blend
                         ↑
GA4: Date + Campaign ID + Sessions + Purchase Revenue

1.1 Common Use Cases

Use caseData source combinationObjective
Advertising performance analysisGoogle Ads + GA4Combine spend, traffic, orders, and revenue in one table
Budget pacingGoogle Ads + Google SheetsCompare actual spend with the monthly budget and target ROAS
Cross-channel summaryGoogle Ads + Meta Ads + TikTok AdsCompare spend, clicks, and conversions across channels
SEO performance analysisSearch Console + GA4Compare search impressions, clicks, visits, and conversions
Product profitability analysisOrder data + cost tableCalculate sales revenue, purchasing cost, and gross profit
CRM lead analysisGA4 + CRMEvaluate qualified leads and sales generated by each source

1.2 Limitations of Data Blending

A blend can contain up to five tables. The blend configuration is embedded in the current report and cannot be reused directly across reports like a standard data source. When the entire report is copied, the blend is copied with it. A blend also has no independent data credentials or freshness settings; it inherits them from the underlying data sources.

2. Four Core Concepts You Must Understand

2.1 Table

A blend consists of multiple tables. Each table comes from an underlying data source and includes only the dimensions, metrics, filters, and date range that you add in the blend editor.

Table 1: Google Ads
Date | Customer ID | Campaign ID | Campaign | Impressions | Clicks | Cost
Table 2: GA4
Date | Session Google Ads customer ID | Session Google Ads campaign ID | Sessions | Purchases | Revenue

2.2 Join Condition

Join conditions determine which records in two tables belong to the same group. Field names do not need to be identical, but their values and data types must be compatible. Data Studio join conditions support equality comparisons only.

Google Ads Date = GA4 Date
Google Ads Customer ID = GA4 Session Google Ads customer ID
Google Ads Campaign ID = GA4 Session Google Ads campaign ID

Non-equality joins such as greater than, contains, or not equal are not supported. If your business logic requires fuzzy matching, range matching, or complex conditions, process the data first in Google Sheets, BigQuery, or another upstream tool.

2.3 Join Operator

The join operator determines whether unmatched records are retained. The most common option for advertising analysis is a left outer join: place Google Ads on the left, retain every advertising record that generated spend, and then append sessions, purchases, and revenue from GA4.

2.4 Data Grain

Data grain defines what one row represents. It is the deciding factor in whether a blend produces correct results.

Report typeWhat one row representsRecommended join key
Daily summaryOne row per dayDate
Daily campaign reportOne row per day, account, and campaignDate + Customer ID + Campaign ID
Daily country reportOne row per day and countryDate + Country
Daily product reportOne row per day and SKUDate + SKU
Order line-item detailOne row per order line itemOrder ID + Line item ID

3. How to Choose Among the Five Join Types

Join typeRetention ruleBest forMain risk
Left outerRetains all left-table records and adds matching right-table recordsAdvertising spend master table or order master tableMultiple right-side matches can inflate left-side metrics
Right outerRetains all right-table recordsWhen the right-side data should be primaryUsually replaced by swapping table order and using a left outer join
InnerRetains only records matched on both sidesAnalyzing fully matched records onlyUnmatched data disappears
Full outerRetains all records from both sidesCompleteness checks and missing-data diagnosticsProduces many null values and often requires IFNULL
CrossReturns every possible combinationSpecial combination calculations and testingThe row count can grow exponentially

3.1 Why Advertising Reports Usually Use a Left Outer Join

Advertising reports usually treat media spend as the audit baseline. If a campaign generated spend but GA4 has no matching session or purchase, the advertising record should still appear. Placing Google Ads on the left and using a left outer join retains those records while displaying unmatched metrics from the right table as null or 0.

3.2 Table Order Matters in Multi-Table Blends

Data Studio performs joins sequentially from the left. It first joins Table 1 and Table 2, then uses that result in the next join with Table 3. When you automatically blend multiple charts, the first chart selected becomes the leftmost table and a left outer join is used by default.

4. Two Ways to Create a Blend

4.1 Method 1: Automatically Blend Existing Charts

This method is useful for quick testing or temporarily creating ratio metrics.

  1. Create two or more charts or scorecards in the report, each using one of the target data sources.
  2. Make sure each chart contains only the fields you intend to include in the blend.
  3. Hold Ctrl—or Command on a Mac—and select the charts in the desired left-to-right order.
  4. Right-click and select “Blend data.”
  5. Review the automatically generated table order, join fields, and join operator, then adjust the chart fields as needed.

4.2 Method 2: Manually Create a Blend

For production reports, the manual method is recommended because it makes it easier to review the fields, date range, filters, and join conditions for each table.

  1. Enter report edit mode and add the underlying data sources—such as Google Ads, GA4, and Google Sheets—to the report.
  2. Open Resources → Manage blends → Add a blend. You can also select a chart and click “+ Blend data” in the data source area on the right.
Figure 1. Open The Blends Panel And Choose Add A Blend.
Figure 1. Open the Blends panel and choose Add a blend.
  1. Configure the first table: select the data source and add dimensions, metrics, a date range, and table-level filters.
Figure 2. Select The Date Field Used For The Table-Level Date Range.
Figure 2. Select the date field used for the table-level date range.
  1. Click “Join another table” and add the second table.
Figure 3. Add The Second Table And Keep The Intended Left-To-Right Order.
Figure 3. Add the second table and keep the intended left-to-right order.
  1. Click the join configuration between the two tables and select a join operator.
Figure 4. Choose One Of The Five Join Operators; Left Outer Keeps Unmatched Rows From The Left Table.
Figure 4. Choose one of the five join operators; Left outer keeps unmatched rows from the left table.
  1. Add one or more join conditions. A join field must first be included in its corresponding table.
Figure 5. Match The Tables On One Or More Common Fields, Such As Date.
Figure 5. Match the tables on one or more common fields, such as Date.
  1. Save and rename the blend. The name should identify both the data sources and the grain.
Figure 6. Save The Blend With A Clear Name So It Can Be Reused And Edited.
Figure 6. Save the blend with a clear name so it can be reused and edited.
Recommended names:
BLEND_GAds_GA4_CampaignDaily
BLEND_Ads_Budget_Monthly
BLEND_SearchConsole_GA4_LandingPage

5. Hands-On Example: Google Ads + GA4 Performance Report

This example creates a daily campaign report that displays media spend, website traffic, purchases, and revenue, and calculates CTR, CPC, website purchase conversion rate, and ROAS.

5.1 Fields Required in the Final Report

TypeField
DimensionDate, Customer ID, Campaign ID, Campaign
Google Ads metricsImpressions, Clicks, Cost
GA4 metricsSessions, Ecommerce purchases, Purchase revenue
Calculated metricsCTR, CPC, Purchase CVR, ROAS

5.2 Preparation

  • Confirm that Google Ads and GA4 are correctly linked and that the Google Ads campaign ID is available in the GA4 data. Otherwise, you will need to fall back to campaign names or UTM fields.
  • Confirm that Google Ads and GA4 use the same time zone, or explicitly accept differences around date boundaries.
  • Confirm that Cost and Purchase revenue use the same currency. In multi-currency environments, normalize exchange rates upstream first.
  • Multi-account reports must include Customer ID to prevent identical campaign IDs or names in different accounts from colliding.
  • Define the grain first: one row per day, per account, and per campaign.

5.3 Configure the Left Table: Google Ads

TypeField
Data sourceGoogle Ads
DimensionDate
DimensionCustomer ID / Account ID
DimensionCampaign ID
Display dimensionCampaign
MetricImpressions
MetricClicks
MetricCost

Name this table Google Ads Media Data. Place it on the far left so that all advertising records are retained.

5.4 Configure the Right Table: GA4

TypeField
Data sourceGoogle Analytics
DimensionDate
DimensionSession Google Ads customer ID
DimensionSession Google Ads campaign ID
Optional display dimensionSession Google Ads campaign
MetricSessions
MetricEcommerce purchases
MetricPurchase revenue

Name this table GA4 Website Data. Field labels may differ slightly between interface languages, so select fields based on the meaning of campaign ID and customer ID.

5.5 Set the Join Operator and Join Conditions

Select Left outer as the join operator. Set the join conditions to:

Google Ads Date = GA4 Date
Google Ads Customer ID = GA4 Session Google Ads customer ID
Google Ads Campaign ID = GA4 Session Google Ads campaign ID

5.6 Build a Diagnostic Table Before Creating Scorecards

After saving the blend, create a standard table first rather than immediately building only scorecards. The diagnostic table should display at least Date, Customer ID, Campaign ID, Campaign, Cost, Sessions, Ecommerce purchases, and Purchase revenue.

Review each date and campaign row for null values, duplicate rows, and abnormal inflation. Add CTR, CPC, conversion rate, and ROAS only after the base metrics are correct.

6. Calculate CTR, CPC, Conversion Rate, and ROAS

Cross-source formulas must be created as chart-specific calculated fields. The usual path is: select the chart that uses the blend → Add metric → Add field. A calculated field created inside an individual table can reference only fields from that table and cannot reference another table directly.

Figure 7. Create A Calculated Field With A Clear Name, Display Format, And Formula.
Figure 7. Create a calculated field with a clear name, display format, and formula.

6.1 CPC

CASE
  WHEN SUM(Clicks) = 0 THEN 0
  ELSE SUM(Cost) / SUM(Clicks)
END

Set the display format to Currency.

6.2 CTR

CASE
  WHEN SUM(Impressions) = 0 THEN 0
  ELSE SUM(Clicks) / SUM(Impressions)
END

Set the display format to Percent.

6.3 Website Purchase Conversion Rate

CASE
  WHEN SUM(Sessions) = 0 THEN 0
  ELSE SUM(Ecommerce purchases) / SUM(Sessions)
END

This metric is defined as GA4 ecommerce purchases divided by GA4 sessions. It is not the advertising conversion rate shown in Google Ads, and the two may use different attribution rules.

6.4 ROAS

CASE
  WHEN SUM(Cost) = 0 THEN 0
  ELSE IFNULL(SUM(Purchase revenue), 0) / SUM(Cost)
END

Set the display format to Number with two decimal places. For example, 3.25 means that every 1 unit of advertising spend generated 3.25 units of purchase revenue.

6.5 Why You Should Not Directly Average CTR or CPC

CampaignImpressionsClicksCTR
A1001010%
B10,0001001%

A direct average of the two CTR values is 5.5%, but the correct overall CTR is 110 ÷ 10,100 ≈ 1.09%. Blend base metrics such as impressions, clicks, cost, sessions, purchases, and revenue, and then recalculate the ratios.

7. Filters, Date Ranges, and Order of Operations

Date ranges and filters in a blend operate at two levels: before the join and after the join. Their position in the process differs, so they can produce completely different results.

7.1 Table-Level Settings: Applied Before the Join

A date range, filter, or table-level calculated field configured for an individual table in the blend editor is applied to that table before Data Studio performs the join.

Figure 8. Build Table-Level Filters Before Data Studio Performs The Join.
Figure 8. Build table-level filters before Data Studio performs the join.
Query Google Ads → Apply Google Ads table-level filters → Aggregate
Query GA4 → Apply GA4 table-level filters → Aggregate
                           ↓
                       Perform join

7.2 Chart-Level Settings: Applied After the Join

A filter applied to a chart that uses the blend operates on the final blended result. For example, a chart filter of Revenue > 0 may exclude campaigns that generated spend but no revenue.

7.3 Recommended Date Configuration

Google Ads table date range: Auto
GA4 table date range: Auto
Report page: Add one shared date range control

Use different fixed date ranges for individual tables only when performing period comparisons, matching against target tables, or analyzing special time windows.

8. Cleaning and Standardizing Join Fields

Fields that look identical on both sides do not necessarily match. Spaces, letter case, data types, and date formats can all cause join failures. Create standardized fields in each table and use those fields as the join keys.

PurposeExample formula
Remove leading and trailing spacesTRIM(Campaign)
Standardize to lowercaseLOWER(TRIM(Campaign))
Convert an ID to textCAST(Campaign ID AS TEXT)
Convert an ID to a numberCAST(Campaign ID AS NUMBER)
Convert text to a datePARSE_DATE(“%Y-%m-%d”, Date Text)

8.1 Prefer IDs to Names

Name fields can be edited, vary across languages, or be duplicated across accounts. Use stable identifiers such as Campaign ID, Customer ID, Order ID, and SKU for joins, and use names only for display.

8.2 Date Grain Must Be Consistent

Do not join Date directly to Date Hour, and do not treat 2026-08-26 and 2026-08-26 14:00:00 as the same grain. First standardize both sides to day, week, or month.

9. Common Problems and Troubleshooting

9.1 All GA4 Metrics Are Null

  • The data types of Date, Campaign ID, or Customer ID are inconsistent.
  • GA4 does not contain the corresponding Google Ads campaign ID.
  • Campaign name is used as the join key, but the two sides differ because of spaces, capitalization, or historical renaming.
  • Customer ID is missing from a multi-account report.
  • A table-level filter or date range excluded the data before the join.

For troubleshooting, narrow the date range to one day and the scope to one campaign, then display the join fields from both sides in the diagnostic table.

9.2 Cost or Revenue Is Inflated

The most common cause is a non-unique join key that creates one-to-many or many-to-many matches.

Google Ads: Date + Campaign ID = 1 row, Cost = 100
GA4: Date + Campaign ID + Country = 3 rows
After joining on Date + Campaign ID only, Cost may be duplicated to 300

Possible solutions include removing the Country dimension from GA4, adding Country to both sides, or aggregating both sources to the same grain in Google Sheets or BigQuery first.

9.3 Some Campaigns Disappear

First check whether an inner join is being used. An inner join retains only records matched on both sides. Advertising reports should generally use Google Ads as the left table and select Left outer. Also check whether a table-level filter removed records before the join.

9.4 Total Rows Do Not Match Row-Level Results

If the formula is Clicks / Impressions, Data Studio may calculate the ratio for each row and then sum those ratios, producing an incorrect total. Use SUM(Clicks) / SUM(Impressions) to calculate the overall ratio.

9.5 The Date Range Control Has No Effect

  • The blend does not contain a valid Date field.
  • The chart uses the wrong date range dimension.
  • The Google Sheets date is being interpreted as text.
  • The two tables use different date grains.
  • A table has a Custom date range that overrides the chart-level date range control.

9.6 A Calculated Field Cannot Reference Multiple Data Sources

A field created inside an individual table in the blend editor can reference only fields from that table. To calculate Purchase revenue / Cost, save the blend first and then create a chart-specific calculated field in a chart that uses the blend.

9.7 The Report Loads Very Slowly

  • Remove unused fields and dimensions from the blend.
  • Reduce the number of tables and avoid cross joins.
  • Reduce the default date range.
  • Avoid an unnecessarily granular blend, such as including Campaign, Country, Device, and Landing page at the same time.
  • Check whether a third-party community connector is responding slowly.
  • Pre-aggregate large or repeatedly used data models in BigQuery.

10. Data Validation Workflow

Do not publish immediately after creating the blend. Validate from a small scope to a larger one to identify join problems as quickly as possible.

  1. Create a raw Google Ads table, a raw GA4 table, and a blended diagnostic table.
  2. Limit the date range to one day.
  3. Select one campaign that has spend, sessions, and purchases.
  4. Compare Google Ads Cost with Cost in the blended table, and compare GA4 Sessions, Purchases, and Revenue with the corresponding blended metrics.
  5. Check whether Date + Customer ID + Campaign ID is unique in each table.
  6. Expand the scope to all campaigns for one day, then to 7 days and 30 days.
  7. After the base metrics are correct, validate CTR, CPC, Purchase CVR, and ROAS.

10.1 Which Metrics Should Match?

CheckExpected result
Google Ads CostShould match Google Ads under the same date, account, and campaign filters
Google Ads Clicks / ImpressionsShould match the raw Google Ads table
GA4 Sessions / Purchases / RevenueShould match the raw GA4 table under the same dimensions and filters
Google Ads conversions vs. GA4 purchasesNot expected to match because attribution models, conversion timing, and definitions may differ

11. Performance Optimization and Alternatives

11.1 When a Data Studio Blend Is Still Appropriate

  • The blend contains no more than five tables.
  • The join logic is primarily one-to-one or many-to-one.
  • The data volume is moderate and the report is primarily used for visualization.
  • The blend is needed only in the current report.
  • Field cleaning and business rules are relatively simple.

11.2 When Sheets or BigQuery Is a Better Choice

  • You need to join more than five tables.
  • The model contains complex many-to-many relationships, fuzzy matching, or range matching.
  • A unified data model must be reused across multiple reports.
  • The workflow requires extensive cleaning, deduplication, currency conversion, or attribution calculations.
  • The data volume is large, and blended charts are noticeably slow or frequently exceed quotas.
  • You need to retain transformed detail data or snapshots over the long term.
Google Ads + GA4 + CRM + Shopify
                ↓
       Google Sheets / BigQuery
 Clean · Deduplicate · Standardize · Aggregate
                ↓
           Data Studio
      Filters, charts, and presentation only

12. Reusable Configuration Template and Checklist

12.1 Google Ads + GA4 Configuration Template

Blend name: BLEND_GAds_GA4_CampaignDaily
Data grain: One row per day, account, and campaign
Left table: Google Ads
Dimensions: Date, Customer ID, Campaign ID, Campaign
Metrics: Impressions, Clicks, Cost
Right table: Google Analytics
Dimensions: Date, Session Google Ads customer ID, Session Google Ads campaign ID
Metrics: Sessions, Ecommerce purchases, Purchase revenue
Join operator: Left outer
Join conditions: Date + Customer ID + Campaign ID
Calculated metrics: CTR, CPC, Purchase CVR, ROAS
Validation scope: One day and one campaign

12.2 Pre-Publication Checklist

DoneChecklist item
□The meaning of one row has been clearly defined.
□The left and right tables use the same grain.
□Stable IDs are used as join fields instead of names whenever possible.
□Customer ID is included in multi-account reports.
□Date field types and date grains are consistent.
□Cost and Revenue use the same currency.
□The primary data table is placed on the far left.
□The join operator matches the intended data-retention behavior.
□Each join-key combination is as unique as possible within each table.
□Ratio metrics such as CTR, CPC, and ROAS are not directly averaged.
□Cross-table formulas are created in the blended chart.
□Table-level filters do not remove records needed for the join.
□A row-level reconciliation has been completed for one day and one campaign.
□Null values, duplicate rows, and total rows have been checked.
□The blend contains only the fields that are actually needed.

12.3 Key Interface Terms

ConceptEnglish interface label
Data blendingBlend data / Blend
Join another tableJoin another table
Join conditionJoin condition
Left outer joinLeft outer join
Inner joinInner join
DimensionDimension
MetricMetric
Chart-specific calculated fieldChart-specific calculated field
Date rangeDate range
FilterFilter

Conclusion

The value of Data Studio blending is that it turns data from different systems into an actionable business view within the same chart. However, it does not automatically resolve problems in data definitions, grain, or join relationships. Define the grain before choosing join keys, validate base metrics before calculating ratios, and reconcile a small scope before expanding to the full report. Following this order allows most blending errors to be detected early.

Leave a Comment

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

Scroll to Top