AdWords API
Feedback on this document

Zero Impression Reports

This guide looks at zero impressions and how they affect reporting. In particular--what impressions are, how a lack of them can affect reports, when they’re included and when they’re not. We’ll also look in depth at what segments, metrics and attributes are in relation to impressions.

What are zero impressions?

In your reports, you may encounter zero impression stats for entities that have not been viewed. This could be for various reasons, such as the entities are ineligible to display or they could be paused. In terms of performance reporting, they’re not adding to the totals. However, they’re still included in all reports that don’t explicitly or implicitly exclude them.

The main way to exclude zero impression data from the reports is to explicitly add criteria that filters them out. For instance, add a predicate on the Impressions field, with an operator of GREATER_THAN and a value of 0. This is the most explicit way of hiding zero impression rows as it clearly requires results to have a greater than zero impression value. The other ways of excluding them are less obvious and will be covered later.

When to exclude zero impressions?

Excluding zero impressions from reports can reduce report size and is considered good practice if the data it provides is not being used. This can be especially beneficial if there are many paused campaigns included in a given report, as they can inflate the result set unnecessarily. Although they don’t add to the performance reporting function of the API, zero impressions do have another use: providing account structure. Without the use of reporting, making AdWords API SOAP calls to find an accounts structure would require a very large number of requests to get entities - which can result in high API unit usage as well as run into rate limits. By including zero impression results, it is possible to retrieve structural information for all items considered.

For example, querying the Keyword Performance Report for the id and KeywordText and excluding zero impressions may only retrieve minimal results. However, by including zero impressions and adding fields such as CampaignId and AdGroupId it is possible to process and build a structure of the currently known keywords.

How to manipulate zero impression reports

To download reports, you can follow our AdHoc report downloads documentation. You can either pass a ReportDefinition XML or an AWQL statement.

ReportDefinitonService

In the AdHoc report downloads, zero impressions are included by default. To remove them you could explicitly set the the flag includeZeroImpressions to false. However, setting or leaving this flag set to true does not guarantee their inclusion. As previously mentioned, the most explicit way to exclude these results, and reduce the response size, is to add a predicate for the Impressions field with an operator of GREATER_THAN and a value of 0. The XML for this predicate would look as follows:

<predicates>
 <field>Impressions</field>
 <operator>GREATER_THAN</operator>
 <values>0</values>
</predicates>

AWQL

Using AWQL, we specify the same predicate, but using the AWQL syntax. The syntax to add to a query is as follows:

WHERE Impressions > 0

Implicitly excluding zero impressions

Zero impression rows are implicitly excluded when adding a segment field. Using attribute or metric fields can avoid implicitly removing those results. When requesting reports, be aware of special field behavior by checking the documentation for the report type. If zero impressions are required, all fields must be attributes or metrics.

Some examples of segment fields are: Date, AdNetworkType1, ClickType and ConversionTypeName. Including these fields splits a single row into multiple rows and therefore cannot be used with zero impressions. All report fields are documented in our Report Type which provides additional information in the notes column, including any special behaviour (such as preventing zero impressions).

Summary

In conclusion, zero impressions rows occur when a given keyword, ad, etc. has not seen any traffic. This can happen for various reasons. They are useful for structure but should be removed from general reporting. Results with zero impressions can be explicitly removed using predicates, otherwise they’ll be returned by default. If they are required in a report, no field with a segment behavior should be used. For further documentation, look up each specific report type.

Authentication required

You need to be signed in with Google+ to do that.

Signing you in...

Google Developers needs your permission to do that.