Here is the original report definition
<tns:reportDefinition+xmlns:tns="
https://adwords.google.com/api/adwords/cm/v201809">
<tns:selector>
<tns:fields>ConversionRate
</tns:fields>
<tns:fields>Conversions
</tns:fields>
<tns:fields>CostPerConversion
</tns:fields>
<tns:fields>Date
</tns:fields>
<tns:fields>Device
</tns:fields>
<tns:fields>ExternalConversionSource
</tns:fields>
<tns:fields>Year
</tns:fields>
<tns:dateRange>
<tns:min>20200228
</tns:min>
<tns:max>20200228
</tns:max>
</tns:dateRange>
</tns:selector>
<tns:reportName>Seems+this+is+required
</tns:reportName>
<tns:reportType>ADGROUP_PERFORMANCE_REPORT
</tns:reportType>
<tns:dateRangeType>CUSTOM_DATE
</tns:dateRangeType>
<tns:downloadFormat>CSV
</tns:downloadFormat>
</tns:reportDefinition>
That resulted in this error
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reportDownloadError>
<ApiError>
<type>SelectorError.INVALID_FIELD_SELECTION
</type>
<trigger>ExternalConversionSource
</trigger>
<fieldPath>BiddableConversionRate
</fieldPath>
</ApiError>
</reportDownloadError>
So I removed ConversionRate from the report definition, and the new error was
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reportDownloadError>
<ApiError>
<type> SelectorError.INVALID_FIELD_SELECTION
</type>
<trigger> ExternalConversionSource
</trigger>
<fieldPath> CostPerBiddableConversion
</fieldPath>
</ApiError>
</reportDownloadError>
So I removed CostPerConversion and the report was able to download.
Is this a regression in the API? Is this a failure to update docs?
For context, all of these requests were made using the
Python client.