Data reference · Google Ads
Every Google Ads metric and dimension you can ask for.
Upbuild speaks GAQL to the Google Ads API, so campaigns, ad groups, keywords and search terms are all one question away. These are the fields people actually use, under their real API names: the same ones the gads_campaign_performance and gads_search tools send when your assistant asks on your behalf.
Source: Google Ads API, GAQL search · Updated August 2026
Core performance metrics
22 fieldsThe numbers every report starts with. Money fields arrive in micros: one millionth of the account currency; the assistant converts for you.
Try it in Claude, ChatGPT or Copilot Studio
| Field | Type | What it is |
|---|---|---|
metrics.impressions | Metric | Times your ads were shown. “impressions by campaign this month” |
metrics.clicks | Metric | Clicks on your ads. |
metrics.ctr | Metric | Clicks divided by impressions. |
metrics.cost_micros | Metric | Spend in millionths of the account currency: divide by 1,000,000. “spend by campaign last 30 days” |
metrics.average_cpc | Metric | Average cost per click, in micros. |
metrics.average_cpm | Metric | Average cost per thousand impressions, in micros. |
metrics.interactions | Metric | Clicks, swipes, video engagements: the main action for the format. |
metrics.interaction_rate | Metric | Interactions divided by impressions. |
metrics.engagements | Metric | Expandable-ad and lightbox engagements. |
metrics.invalid_clicks | Metric | Clicks Google filtered as invalid and did not charge. |
metrics.search_impression_share | Metric | Share of eligible Search impressions you actually received. “search impression share by campaign” |
metrics.search_top_impression_share | Metric | Share of eligible top-of-page impressions received. |
metrics.search_absolute_top_impression_share | Metric | Share shown in the very first position. |
metrics.search_budget_lost_impression_share | Metric | Impression share lost to budget. |
metrics.search_rank_lost_impression_share | Metric | Impression share lost to Ad Rank. |
metrics.top_impression_percentage | Metric | Percent of your impressions above the organic results. |
metrics.absolute_top_impression_percentage | Metric | Percent of impressions in the first slot. |
metrics.video_views | Metric | Video ad views. |
metrics.video_view_rate | Metric | Views divided by impressions for video. |
metrics.average_cpv | Metric | Average cost per video view, in micros. |
metrics.active_view_impressions | Metric | Impressions measured viewable by Active View. |
metrics.active_view_viewability | Metric | Viewable share of measurable impressions. |
Conversions and value
10 fieldsConversion metrics respect the account's counting and attribution settings; ask by conversion_action to split them.
Try it in Claude, ChatGPT or Copilot Studio
| Field | Type | What it is |
|---|---|---|
metrics.conversions | Metric | Conversions from actions set to be included in Conversions. “conversions by campaign this month” |
metrics.conversions_value | Metric | Total value of those conversions. |
metrics.cost_per_conversion | Metric | Spend divided by conversions, in micros. |
metrics.conversions_from_interactions_rate | Metric | Conversions divided by eligible interactions. |
metrics.all_conversions | Metric | Every conversion action, included in bidding or not. |
metrics.all_conversions_value | Metric | Value across all conversion actions. |
metrics.view_through_conversions | Metric | Conversions after an impression with no click. |
metrics.conversions_by_conversion_date | Metric | Conversions attributed to the day they happened, not the click day. “conversions by conversion date last week” |
metrics.conversions_value_by_conversion_date | Metric | Value on the conversion-date timeline. |
metrics.value_per_conversion | Metric | Average value per conversion. |
Entity attributes
18 fieldsThe who-and-what fields you select alongside metrics in any GAQL query.
Try it in Claude, ChatGPT or Copilot Studio
| Field | Type | What it is |
|---|---|---|
campaign.id | Dimension | Campaign ID. |
campaign.name | Dimension | Campaign name. “spend by campaign.name” |
campaign.status | Dimension | ENABLED, PAUSED or REMOVED. |
campaign.advertising_channel_type | Dimension | SEARCH, DISPLAY, SHOPPING, VIDEO, PERFORMANCE_MAX and more. “spend by channel type” |
campaign.bidding_strategy_type | Dimension | TARGET_CPA, TARGET_ROAS, MAXIMIZE_CONVERSIONS and friends. |
campaign_budget.amount_micros | Dimension | Daily budget setting, in micros. |
ad_group.id | Dimension | Ad group ID. |
ad_group.name | Dimension | Ad group name. |
ad_group.status | Dimension | Ad group status. |
ad_group_ad.ad.id | Dimension | Ad ID. |
ad_group_ad.ad.type | Dimension | RESPONSIVE_SEARCH_AD, RESPONSIVE_DISPLAY_AD, VIDEO_AD and more. |
ad_group_ad.ad.final_urls | Dimension | Landing page URLs on the ad. |
ad_group_ad.policy_summary.approval_status | Dimension | Ad policy approval state. “ads not approved right now” |
customer.id | Dimension | The Google Ads account ID. |
customer.descriptive_name | Dimension | Account display name. |
customer.currency_code | Dimension | Account currency for all money fields. |
customer.time_zone | Dimension | Reporting time zone. |
asset_group.name | Dimension | Performance Max asset group name. “PMax results by asset_group” |
Time and network segments
10 fieldsSegments split metric rows. Date segments define your reporting window.
Try it in Claude, ChatGPT or Copilot Studio
| Field | Type | What it is |
|---|---|---|
segments.date | Dimension | One row per day. “daily spend last 14 days” |
segments.week | Dimension | One row per week, Monday start. |
segments.month | Dimension | One row per month. |
segments.quarter | Dimension | One row per quarter. |
segments.year | Dimension | One row per year. |
segments.day_of_week | Dimension | MONDAY through SUNDAY. “performance by day of week” |
segments.hour | Dimension | Hour of day, 0 to 23. |
segments.ad_network_type | Dimension | SEARCH, SEARCH_PARTNERS, CONTENT, YOUTUBE and more. |
segments.click_type | Dimension | Headline click, sitelink, call and other click types. |
segments.slot | Dimension | Where the ad showed: top vs other. |
Device and audience segments
7 fieldsSlice any metric by who and where.
Try it in Claude, ChatGPT or Copilot Studio
| Field | Type | What it is |
|---|---|---|
segments.device | Breakdown | MOBILE, DESKTOP, TABLET, CONNECTED_TV. “spend by device this month” |
segments.conversion_action | Breakdown | Which conversion action a conversions row belongs to. |
segments.conversion_action_name | Breakdown | Human name of the conversion action. “conversions split by action name” |
segments.external_conversion_source | Breakdown | Where the conversion was measured: website, app, import. |
segments.geo_target_country | Breakdown | Country criterion of the impression. |
segments.keyword.info.text | Breakdown | The keyword that triggered the ad, on keyword views. |
segments.search_term_match_type | Breakdown | How the search term matched: exact, phrase, broad. |
Keywords and search terms
10 fieldsQuery the keyword_view and search_term_view resources for these.
Try it in Claude, ChatGPT or Copilot Studio
| Field | Type | What it is |
|---|---|---|
ad_group_criterion.keyword.text | Dimension | The keyword itself. “top keywords by conversions” |
ad_group_criterion.keyword.match_type | Dimension | EXACT, PHRASE or BROAD. |
ad_group_criterion.status | Dimension | Keyword status. |
ad_group_criterion.quality_info.quality_score | Dimension | Quality Score, 1 to 10. “keywords with quality score under 5” |
ad_group_criterion.quality_info.creative_quality_score | Dimension | Ad relevance component. |
ad_group_criterion.quality_info.post_click_quality_score | Dimension | Landing page experience component. |
ad_group_criterion.quality_info.search_predicted_ctr | Dimension | Expected CTR component. |
search_term_view.search_term | Dimension | The actual query people typed. “search terms with spend and no conversions” |
search_term_view.status | Dimension | Whether the term is added, excluded or none. |
ad_group_criterion.negative | Dimension | Whether the criterion is a negative. |
Budgets and bidding
7 fieldsSettings you can read next to performance to explain it.
Try it in Claude, ChatGPT or Copilot Studio
| Field | Type | What it is |
|---|---|---|
campaign.target_cpa.target_cpa_micros | Dimension | Target CPA setting, in micros. |
campaign.target_roas.target_roas | Dimension | Target ROAS setting, as a decimal. |
campaign.maximize_conversion_value.target_roas | Dimension | tROAS inside Max Conversion Value. |
campaign_budget.explicitly_shared | Dimension | Whether the budget is shared across campaigns. |
campaign.bidding_strategy | Dimension | Resource name of a portfolio strategy, when used. |
metrics.average_target_cpa_micros | Metric | Average tCPA that was actually in force. |
metrics.search_click_share | Metric | Share of eligible Search clicks you received. |
Good to know
Google Ads questions.
Can I query fields that are not on this list?
Yes. The gads_search tool accepts any valid GAQL, so every resource, segment and metric the Google Ads API exposes is available by name. This page lists the ones people reach for daily.
Why is spend shown in strange huge numbers?
The API returns money in micros: millionths of the account currency. cost_micros of 12,340,000 is 12.34. The assistant does this conversion for you and shows normal currency.
Why do my conversion numbers differ from the UI?
Timing. By default conversions are attributed to the click date and keep updating as lag closes. Ask for conversions_by_conversion_date to see them on the day they happened, which usually matches finance exports better.
Does this cover Performance Max?
Yes. PMax campaigns report through the same metrics, with asset_group fields for structure. Some placement detail stays limited because Google does not expose it to anyone.
Next