Google Ads & SA360

Google Ads and Search Ads 360 data, warehoused properly

Google gives you generous API access and a reporting model that punishes naive use. We build Google Ads and SA360 ingestion that handles MCC hierarchies, segmentation traps, and GA4 joins so your warehouse numbers hold up against the UI.

MCC-wide ingestionSA360GA4 + BigQuery
Quick answer

Google Ads API and Search Ads 360 data engineering: MCC-wide ingestion, GA4 and BigQuery joins, and reporting that reconciles with the Google Ads UI.

Correct queries, wrong totals

Google Ads reporting is easy to query and easy to get subtly wrong. Segment a report and metrics silently duplicate across rows, so summing spend overstates it. Conversions can be counted at click time or conversion time, and the two never match. GA4 and Google Ads disagree by design because they attribute differently. At MCC scale you are also managing hundreds of customer IDs, each with its own currency and timezone, which quietly corrupts any naive daily rollup.

What we build on Google

  • Google Ads API ingestion across the full MCC tree, including newly added accounts without manual setup
  • Search Ads 360 ingestion for teams managing search across multiple engines
  • Currency and timezone normalization so cross-account daily totals are actually comparable
  • GA4 BigQuery export modeling joined to ad data, with attribution differences documented rather than hidden
  • Performance Max and asset-group reporting handled within what the API actually exposes
  • Reconciliation checks against the Google Ads UI to a documented tolerance

How we work

  1. Map the MCC hierarchy and settle currency and timezone rules before ingesting anything

  2. Ingest core campaign and conversion data, then reconcile against the UI account by account

  3. Add GA4 and cross-channel joins once Google-native numbers are trusted

  4. Automate reporting and add freshness monitoring per account

Typical stack

Google Ads APISearch Ads 360 APIGA4 BigQuery exportBigQuerydbtAirflow

Frequently asked questions

They are measuring different things. Google Ads credits conversions to the ad click within its own lookback and can count them at click time; GA4 uses its own attribution model across all traffic sources at conversion time. Both can be right. We surface both and document the difference rather than quietly picking one and presenting it as truth.

Yes. The pipeline walks the MCC hierarchy and discovers accounts, so a newly linked client is picked up automatically. Manual per-account configuration is exactly what stops working past a few dozen accounts.

To the extent the API exposes it, which is genuinely less than teams expect. Asset group and some channel-level data is available; full placement and search term detail is not. We build what the API supports and are explicit about the limits instead of implying full transparency.

If you care about analysis beyond the GA4 UI, yes, and it should be enabled today. The export is event-level and unsampled, and it only captures data from the day it is turned on. There is no backfill, so every day it stays off is history you cannot get back.

Go deeper

Get Google data into your warehouse

Tell us how your MCC is structured and what reporting you owe, and we will scope the ingestion and modeling.

Start a project

Proof from our work

Related solutions