AdGroupAdService not returning any matches for ExpandedTextAd if headlinePart3 is in request filter

18 views
Skip to first unread message

Chad Norwood

unread,
Jan 17, 2019, 6:07:05 AM1/17/19
to AdWords API and Google Ads API Forum
Google API v201809 AdGroupAdService returns zero matches when headlinePart3 and/or description2 (aka ExpandedTextAdHeadlinePart3 and ExpandedTextAdDescription2) are included in the filters, but if those 2 fields are not included then it returns at least 1 match.  Those 2 fields have empty values in the ads themselves and in the filter.  More on those 2 can be found in the API here:

The weird part is that we've been running the same v201809 code since Oct 8, and just started seeing the problem Jan 8.  Our code runs the same each day - it first sees if there's an existing ad in an adgroup that matches the filters, using it if so.  If not, it creates a new ad.  So before Jan 7 the same ad would run each day, for one day.  Since Jan 8, for  there's been a new ad in each adgroup. The filters have included headlinePart1, headlinePart2, and headlinePart3 since Oct 8, and it always matched when content did not change till Jan 8.  Then it stopped matching. 

Question for AdWords API team - did something change on Jan 7 or 8?

Anybody else see this behavior?

Here's example request and response without the 2 fields resulting in 9 matches, with non-empty strings replaced with SNIP.
If request included either of those 2 fields (ExpandedTextAdHeadlinePart3 and ExpandedTextAdDescription2), totalNumEntries = 0.

<?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>Description</ns0:field>
          <ns0:operator>EQUALS</ns0:operator>
          <ns0:values>SNIP</ns0:values>
        </ns0:predicates>
        <ns0:predicates>
          <ns0:field>CreativeFinalUrls</ns0:field>
          <ns0:operator>EQUALS</ns0:operator>
          <ns0:values>https://www......SNIP</ns0:values>
        </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>00057f994c607fd40a3794c22906c4e8</requestId>
      <serviceName>AdGroupAdService</serviceName>
      <methodName>get</methodName>
      <operations>1</operations>
      <responseTime>316</responseTime>
    </ResponseHeader>
  </soap:Header>
  <soap:Body>
    <getResponse
      <rval>
        <totalNumEntries>9</totalNumEntries>
        <Page.Type>AdGroupAdPage</Page.Type>
        <entries>
          <adGroupId>53379932101</adGroupId>
          <ad
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ExpandedTextAd">
            <id>313710273249</id>
            <finalUrls>https://www....SNIP</finalUrls>
            <type>EXPANDED_TEXT_AD</type>
            <Ad.Type>ExpandedTextAd</Ad.Type>
            <headlinePart1>SNIP</headlinePart1>
            <headlinePart2>SNIP</headlinePart2>
            <description>SNIP</description>
          </ad>
          <status>PAUSED</status>
        </entries>
 ......
        <entries>
          <adGroupId>53379932101</adGroupId>
          <ad
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ExpandedTextAd">
            <id>325653255052</id>
            <finalUrls>https://www....SNIP</finalUrls>
            <type>EXPANDED_TEXT_AD</type>
            <Ad.Type>ExpandedTextAd</Ad.Type>
            <headlinePart1>SNIP</headlinePart1>
            <headlinePart2>SNIP</headlinePart2>
            <description>SNIP</description>
          </ad>
          <status>ENABLED</status>
        </entries>
      </rval>
    </getResponse>
  </soap:Body>
</soap:Envelope>

googleadsapi...@google.com

unread,
Jan 17, 2019, 3:07:41 PM1/17/19
to AdWords API and Google Ads API Forum
Hello Chad, 

I was able to make an API call with the query which includes and excludes HeadlinePart3 and Description2 as predicates and was able to pull the results. Attaching the SOAP logs for the same. Please note that depending on your predicates, it will only return the ads that match the query. If you're not including the HeadlinePart3 and Description2 as predicates, it will exclude these parameters while looking up and return the results. Could you please share the API SOAP logs without redacting the information, so I can take a look at the exact values in the predicates that you're using? You can chose to reply back via Reply privately to author option.

Thanks,
Bharani, AdWords API Team

=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
    http://googleadsdeveloper.blogspot.com/search/label/adwords_api
    https://developers.google.com/adwords/api/community/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

Was your question answered? Please rate your experience with us by taking a short survey.
If not -- reply to this email and tell us what else we can do to help.

Take Survey

Also find us on our blog and discussion group:
http://googleadsdeveloper.blogspot.com/search/label/adwords_api
https://developers.google.com/adwords/api/community/

Sample_Logs.rtf
Reply all
Reply to author
Forward
0 new messages