Skip to main content

Introduction

Google Ads is Google’s paid advertising platform, spanning Search, Display, YouTube, Shopping, Discovery, Performance Max, App, Local Services, Hotel, and other campaign types. Advertisers run paid campaigns through Google Ads Manager, and the connector imports the resulting architecture and performance data via the Google Ads API (GAQL, v23). As a marketing connector, metrics, breakdowns, and currencies are standardized so widgets can aggregate across sources without additional configuration. To connect this data source, see How to connect Google Ads to Adriel.

Data refresh strategy

Architecture data

Architecture covers ad accounts, campaigns, ad sets (ad groups), ads, and keywords. It refreshes every 4 hours, on the hour (UTC). Only campaigns created within the last 3 years are imported when the data source is first connected; campaigns created before that window are not back-filled.

Reports data

Reports include daily performance for ad accounts, campaigns, ad sets, ads, and keywords. Real-time. Report data is fetched from Google on demand when a dashboard loads, so the latest values are always visible. On top of that, scheduled cache refreshes keep historical data consistent across multiple time windows. Refresh schedule. Reports refresh on three overlapping schedules:
  • 11:40 PM and 6:40 AM UTC daily — syncs the last 3 days for ad account, campaign, ad set, and ad
  • 5:00 PM UTC daily — syncs the last 30 days for ad account, campaign, ad set, and ad
  • 7:30 AM UTC on the 1st and 15th of each month — syncs the last 90 days for ad account, campaign, ad set, and ad

Architecture levels

Ad account → Campaign → Ad set (ad group) → Ad → Keyword → Search term Performance Max campaigns replace the ad set / ad tier with an asset groupasset structure.

Date range limits

Metrics

How to read the columnsData type uses Adriel’s vocabulary — Number, Currency, Percentage, Ratio, Duration, Date, Text, URL, Array, Boolean. API Key in code style like metrics.clicks is the literal Google Ads API (GAQL) field; Google returns object-scoped keys (for example campaign.name, ad_group_ad.ad.name), so no further qualification is needed. Italic marks a value Adriel computes or derives with no single underlying field. Some raw fields back several metrics — for example the UTM tracking-template fields back all five UTM metrics, and the video-quartile field set backs each video-completion metric — so the same key can appear on multiple rows; that’s the shared source field, not a duplicated entry. Currency values are reported in each ad account’s configured Google Ads currency.
Currency conversion. Each ad account’s currency comes from its Google Ads settings. When an ad account’s currency differs from the workspace currency, costs are automatically converted using the current day’s exchange rate.

Basic

Campaign Attributes

UTM values are parsed by Adriel, not returned by Google. Adriel reads the UTM query parameters from each ad’s tracking settings and landing URL and exposes them as metrics for rollup.

Campaign Structure

Computed Metric

These are calculated by Adriel from other metrics; they have no single underlying Google Ads field.

Conversion Performance

Conversions vs. All conversions. “Conversions” reflects only conversion actions flagged as primary in the Google Ads setup. “All conversions” includes every conversion action, primary or secondary. Two different numbers appearing in different widgets usually means each is using a different one of these.
Custom conversion events are imported automatically. Any conversion action configured in the Google Ads account is imported and appears in dashboards only while the underlying event is active in the account. For each imported event, Adriel also generates derived KPIs such as ROAS, CPA, and conversion rate.

Creative Attributes

Engagement

Impression Click Performance

Video Performance

Video metrics at the ad-account level. Google’s API does not allow video quartile metrics to be queried at the ad-account level. When a video metric is requested at account level, the query is automatically promoted to campaign level and results are aggregated.
These metrics exist only for Google Ads and aren’t part of any cross-connector category. Every group above is a standard category shared with other connectors.

Breakdowns

Basic

Campaign Structure

Creatives

Adriel post-processes ad creatives to generate these breakdowns.

Date

Google’s API returns daily records; all time-grouping breakdowns are Adriel-side aggregations of the same underlying daily data.

Others

These breakdowns exist only for Google Ads and aren’t part of any cross-connector category. Every group above is a standard category shared with other connectors.

Limitations

Based on the current connector, Google Ads has the following limits:
  • Campaign recency filter — only campaigns created within the last 3 years are imported when the data source is first connected; campaigns created before that window are not back-filled. Because Adriel caches data as it syncs, history accumulates from the connection date onward.
  • Ad-level PMax metrics unavailable — Performance Max campaigns do not expose metrics at the ad tier; reporting is available at the asset group and asset level (Google Ads Help — Performance Max asset reporting). Queries targeting ads that belong to PMax campaigns surface a GOOGLE_PMAX_AD_NO_METRICS warning (“Metrics are not available for Google PMax campaigns at the ads level (no metrics on assets).”). Query at asset-group or campaign level instead.
  • PMax with multiple breakdowns — mixing PMax data with more than one breakdown surfaces a GOOGLE_PMAX_DATA_NOT_AVAILABLE warning (“Google PMax campaign reports are not supported for this breakdown”). Campaign-level PMax metrics are not affected.
  • Video quartile metrics not available at account level — auto-promoted to campaign level and aggregated.
  • Search-only breakdowns — Keyword and Search term breakdowns only return data for Search campaigns.
  • Query truncation — when a query asks for more data than the connector can return in a single call, results are flagged with a dataTruncated warning on the widget. Narrow the date range, reduce the number of breakdowns, or query at a higher level (campaign instead of keyword) to resolve.
  • Google Local Services Ads is a separate connector — Local Services Ads requires its own connector setup, with a separate refresh schedule and limitations.

API references

See also