With the unification of reporting and queries, you no longer need to define
a report. You can directly query resources for data using a
Start your report migration planning by consulting the appropriate field mapping tables. These tables show the AdWords API field name and its equivalent in the Google Ads API.
The Ad Group Performance Report and the Campaign Performance Report are two of the most frequently used AdWords API reports. We provide for comparison the equivalent queries in the AdWords Query Language (AWQL) and the Google Ads Query Language (GAQL):
|Ad Group Performance Report|
# AWQL SELECT CampaignId, AdGroupId, Impressions, Clicks, Cost FROM ADGROUP_PERFORMANCE_REPORT DURING LAST_7_DAYS # Google Ads Query Language SELECT campaign.id, ad_group.id, metrics.impressions, metrics.clicks, metrics.cost_micros FROM ad_group WHERE segments.date DURING LAST_7_DAYS
|Campaign Performance Report|
# AWQL SELECT CampaignName, CampaignStatus, Device, Impressions, Clicks, Ctr, AverageCpc, Cost FROM CAMPAIGN_PERFORMANCE_REPORT DURING LAST_30_DAYS # Google Ads Query Language SELECT campaign.name, campaign.status, segments.device, metrics.impressions, metrics.clicks, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM campaign WHERE segments.date DURING LAST_30_DAYS
Single versus multiple attribution reports
During migration, certain criteria specific reports in the AdWords API may require special consideration such as the Keywords Performance Report or the Age Range Performance Report. There are two kinds of such reports:
Single attribution reports, such as Criteria Performance Report or Keywords Performance Report, where only one of the triggering criteria (such as placement, age, keyword, etc.) is recorded for a given impression: An impression may be triggered by multiple criteria, but on a single attribution report the impression and all of its stats are attributed only to a single criterion.
Multiple attribution reports, such as Gender Performance Report or Placement Performance Report, where up to one criterion in each dimension that triggered the impression has the impression recorded for it: Multiple attribution reports can be thought of as criteria type-specific reports. Unlike single attribution where a row can contain different criteria types, each multiple attribution report contains criteria for only one criteria type.
In the Google Ads API, there are no single attribution reports. All Google Ads API
criteria-level reports are multi-attribution in the sense that each report is
specific to one
criterion type group, and
summarizes statistics according to criteria of that type. Do not add
statistics together from different
criteria_view resources, as that would
lead to double-counting and incorrect totals.
includeZeroImpressions HTTP header
In the AdWords API, you can use the
header to control whether report rows where all specified metrics fields in the
query have zero values are to be returned.
Set the header to
true, the report output includes such rows; for
Although the name of the header mentions "Impressions", a report row must have
zero in all specified metrics fields in the
(not just impressions) in order to be excluded when the header is set to
Google Ads API
There is no such header in the Google Ads API, so you cannot map the AdWords API queries directly to queries in the Google Ads API.
As an approximation, you can specify the predicate
metrics.impressions > 0 in your query to
exclude report rows whose impressions are zero. For most cases, this produces
equivalent results as setting the AdWords API
includeZeroImpressions header to
false since when impressions are non-zero, other metrics values are often
non-zero as well.
However, be aware of cases where
metrics.impressions is zero but other metrics
values (such as the prediction-based
might not be, and so a report row could still be returned.