Around Jan 7 we noticed a change - Google API v201809 AdGroupAdService returns zero matches when headlinePart3 and description2 (aka ExpandedTextAdHeadlinePart3 and ExpandedTextAdDescription2) are included in the filters, whereas before it used to always return 1 (matched on many other fields). We just noticed this problem today and identified those 2 fields as the source of the problem, since if those 2 are not included it returns at least 1 match. The values for those 2 fields is empty string and should not matter, but its hard to know what google thinks the value is since the value is not returned (we assume that means the value is empty). Note we only see this with ExpandedTextAd, we don't see this problem with CallOnlyAd .
My question to AdWords API team - Did something change behind the scene with how AdGroupAdService fitlers with ExpandedTextAdHeadlinePart3 and ExpandedTextAdDescription2?
Here's an example API call request and response, with some strings in request replaced with SNIP
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
<SOAP-ENV:Header>
<tns:RequestHeader>
<tns:clientCustomerId>1272584368</tns:clientCustomerId>
<tns:developerToken>REDACTED</tns:developerToken>
<tns:userAgent>Balihoo_Fulfillment (AwApi-Python, googleads/14.1.0, Python/3.6.1, suds)</tns:userAgent>
<tns:validateOnly>false</tns:validateOnly>
<tns:partialFailure>false</tns:partialFailure>
</tns:RequestHeader>
</SOAP-ENV:Header>
<ns1:Body>
<ns0:get>
<ns0:serviceSelector>
<ns0:fields>Id</ns0:fields>
<ns0:fields>Status</ns0:fields>
<ns0:fields>HeadlinePart1</ns0:fields>
<ns0:fields>HeadlinePart2</ns0:fields>
<ns0:fields>ExpandedTextAdHeadlinePart3</ns0:fields>
<ns0:fields>Description</ns0:fields>
<ns0:fields>ExpandedTextAdDescription2</ns0:fields>
<ns0:fields>Path1</ns0:fields>
<ns0:fields>Path2</ns0:fields>
<ns0:fields>CreativeFinalUrls</ns0:fields>
<ns0:fields>CreativeFinalMobileUrls</ns0:fields>
<ns0:fields>CreativeTrackingUrlTemplate</ns0:fields>
<ns0:predicates>
<ns0:field>AdGroupId</ns0:field>
<ns0:operator>EQUALS</ns0:operator>
<ns0:values>53379932101</ns0:values>
</ns0:predicates>
<ns0:predicates>
<ns0:field>HeadlinePart1</ns0:field>
<ns0:operator>EQUALS</ns0:operator>
<ns0:values> SNIP </ns0:values>
</ns0:predicates>
<ns0:predicates>
<ns0:field>HeadlinePart2</ns0:field>
<ns0:operator>EQUALS</ns0:operator>
<ns0:values> SNIP </ns0:values>
</ns0:predicates>
<ns0:predicates>
<ns0:field>ExpandedTextAdHeadlinePart3</ns0:field>
<ns0:operator>EQUALS</ns0:operator>
<ns0:values/>
</ns0:predicates>
<ns0:predicates>
<ns0:field>Description</ns0:field>
<ns0:operator>EQUALS</ns0:operator>
<ns0:values>Modern Design Ideas.. SNIP</ns0:values>
</ns0:predicates>
<ns0:predicates>
<ns0:field>ExpandedTextAdDescription2</ns0:field>
<ns0:operator>EQUALS</ns0:operator>
<ns0:values/>
</ns0:predicates>
<ns0:predicates>
<ns0:field>CreativeFinalUrls</ns0:field>
<ns0:operator>EQUALS</ns0:operator>
</ns0:predicates>
<ns0:predicates>
<ns0:field>Status</ns0:field>
<ns0:operator>NOT_EQUALS</ns0:operator>
<ns0:values>DISABLED</ns0:values>
</ns0:predicates>
<ns0:paging>
<ns0:startIndex>0</ns0:startIndex>
<ns0:numberResults>100</ns0:numberResults>
</ns0:paging>
</ns0:serviceSelector>
</ns0:get>
</ns1:Body>
</SOAP-ENV:Envelope>
<soap:Envelope
<soap:Header>
<ResponseHeader
<requestId>00057f97f0d246980ae9dd47890f79f9</requestId>
<serviceName>AdGroupAdService</serviceName>
<methodName>get</methodName>
<operations>1</operations>
<responseTime>457</responseTime>
</ResponseHeader>
</soap:Header>
<soap:Body>
<getResponse
<rval>
<totalNumEntries>0</totalNumEntries>
<Page.Type>AdGroupAdPage</Page.Type>
</rval>
</getResponse>
</soap:Body>
</soap:Envelope>