Share your feedback about the Google Ads (AdWords) API. Take the 2021 AdWords API and Google Ads API Annual Survey.

Zero Impressions

Zero impressions in search results

When you execute a query, you may encounter impression metrics for entities that have not been viewed. This could be because:

  • The entities are ineligible for display.
  • They could have been paused within the report's date range.

With query results, you often want to obtain information about how your campaigns are performing. In this context, zero impression metrics may not be desirable. To produce a more useful report, you can explicitly exclude zero impressions.

Exclude zero impressions with a predicate

A predicate is an expression that evaluates to TRUE, FALSE, or UNKNOWN. They are used in the search condition of the WHERE clauses in Google Ads Query Language.

The following query demonstrates how to explicitly remove zero impressions with a predicate:

SELECT
  campaign.id,
  metrics.impressions
FROM campaign
WHERE metrics.impressions > 0

Exclude zero impressions by segmenting

Zero impressions are always excluded when segmenting a report, provided all selected metrics are zero (see below).

Segmenting a report is done by including any segments field in the search query. For example, if you segment a report by segments.date, metrics will be broken down with one row for each date. Any date that has no impressions will not returned in such a report.

For the following query, the report will not include zero impression rows:

SELECT
  campaign.name,
  metrics.impressions,
  segments.date
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

Returned rows with zero metrics

Rows where all selected metrics are zero are not returned.

Take this example:

SELECT
  ad_group_criterion.criterion_id,
  metrics.impressions,
  metrics.clicks,
  metrics.conversions,
  segments.date
FROM keyword_view
WHERE segments.date BETWEEN <date1> AND <date2>

The resulting report will not contain any rows where all three selected metrics are zero.