The reporting services of the AdWords API are designed to allow you to download large amounts of data, but it can often be useful to filter out certain rows from the start to cut down on processing and transfer time. DefinedReportJobs created using v13 ReportService supported a limited set of filtering options, primarily on IDs and statuses. Filtering on a more complex set of criteria would require post processing the report client-side.
“ReportDefinitionService introduced in v201003 supports “Predicates,” a more flexible system of filters that can be used to create very targeted reports. A predicate is composed of three parts: “field, operator, and values”. Predicates can be created for almost every field available, indicated by canFilter set to “true” in the results returned from getReportFields().
Predicates are one of many new improvements introduced in the ReportDefinitionService, and if you aren’t using the service yet, now is a great time to start looking into migrating. The service is fully supported in all client libraries, and we’re available on forum to answer any questions,” Stated Google.