KeywordPerformanceReportRequest Data Object - Reporting

Defines a keyword performance report request. Use this report to find out which keywords are performing well and those that are not.

You can request impressions, clicks, spend, and average cost per click for your landing pages. Once downloaded, this data can be sorted by keyword, account, campaign, and ad group.

To request a report of this type, pass this object to the SubmitGenerateReport operation.


You should not use this report to get performance data for Bing Shopping campaigns. It is only applicable for other campaign types.


<xs:complexType name="KeywordPerformanceReportRequest" xmlns:xs="">
  <xs:complexContent mixed="false">
    <xs:extension base="tns:ReportRequest">
        <xs:element name="Aggregation" type="tns:ReportAggregation" />
        <xs:element name="Columns" nillable="true" type="tns:ArrayOfKeywordPerformanceReportColumn" />
        <xs:element minOccurs="0" name="Filter" nillable="true" type="tns:KeywordPerformanceReportFilter" />
        <xs:element minOccurs="0" name="MaxRows" type="xs:int" />
        <xs:element name="Scope" nillable="true" type="tns:AccountThroughAdGroupReportScope" />
        <xs:element minOccurs="0" name="Sort" nillable="true" type="tns:ArrayOfKeywordPerformanceReportSort" />
        <xs:element name="Time" nillable="true" type="tns:ReportTime" />


Element Description Data Type
Aggregation The type of aggregation to use to aggregate the report data. For example, you can aggregate the report data by day or week, or request a summary report.

The default is Summary.

The Time element specifies the time period to use for the aggregation.
Columns The list of attributes and performance statistics to include in the report. The report will include the columns in the order that you specify them. KeywordPerformanceReportColumn array
Filter The filter information to use to filter the report data. KeywordPerformanceReportFilter
MaxRows The top number of data rows to return in the report. int
Scope The scope of the report. Use this element to limit the report to include data for a combination of accounts, ad groups, and campaigns. AccountThroughAdGroupReportScope
Sort A list of the columns to sort, and the corresponding sort order. KeywordPerformanceReportSort array
Time The time period to use for the report. You can specify a custom date range or select a predefined date range, for example, Today or ThisWeek.

For a list of the time periods that you can specify for each aggregation type, see Aggregation and Time.

The KeywordPerformanceReportRequest object has Inherited Elements.

Inherited Elements

Inherited Elements from ReportRequest

The KeywordPerformanceReportRequest object derives from the ReportRequest object, and inherits the following elements. The descriptions below are specific to KeywordPerformanceReportRequest, and might not apply to other objects that inherit the same elements from the ReportRequest object.

Element Description Data Type
ExcludeColumnHeaders Determines whether or not the downloaded report should contain header descriptions for each column. The report column header matches the requested column name e.g. Impressions and Clicks.

Set this property true if you want the report column headers excluded from the downloaded report. The default value is false.
ExcludeReportFooter Determines whether or not the downloaded report should contain footer metadata such as Microsoft copyright (@2017 Microsoft Corporation. All rights reserved.).

Set this property true if you want the report footer metadata excluded from the downloaded report. The default value is false.
ExcludeReportHeader Determines whether or not the downloaded report should contain header metadata such as report name, date range, and aggregation.

Set this property true if you want the report header metadata excluded from the downloaded report. The default value is false.
Format The format of the report data. For example, you can request the data in comma-separated values (Csv) format or tab-separated values (Tsv) format.

The default value is Csv.

All downloaded files are ZIP compressed.
Language The language to use to generate the report headers and columns.

The default is English.
ReportName The name of the report. The name is included in the report header. If you do not specify a report name, the system generates a name in the form, ReportType-ReportDateTime.

The maximum length of the report name is 200.
ReturnOnlyCompleteData Determines whether you want the service to generate the report only if all the data has been processed and is available.

If True, the request fails if the system has not finished processing all the data based on the aggregation, scope, and time period values that you specify. However, if False, the request succeeds but the report will contain only the data that the system has finished processing at the time of the request (there is no indication as to whether the data is complete). The default is False.

When a user clicks an ad, it can take from three to four hours for the system to process the click and make it available for reporting. For more information, see Determining When the Books Close.

Because you cannot retrieve complete data for today, you must set this element to False if the end date of the custom date range specified in the Time element of the derived report object is set to today, or if you specify one of the following predefined time values:
- Today
- ThisWeek
- ThisMonth
- ThisYear


Service: ReportingService.svc v11