Reporting API gives more and more BadRequest (400) responses

59 views
Skip to first unread message

Zweitze

unread,
Apr 11, 2018, 7:27:40 AM4/11/18
to AdWords API Forum
Hi there,

Since early this year, more and more reporting requests give a HTTP 400 (Bad Request) result. The very same report request has been issued thousands of times before without problems. According to the reporting documentation a HTTP 400 means an illegal report definition, but this is not the case. Maybe the intended result was HTTP 500, meaning an intermittent problem, but... we got HTTP 400.

Can someone tell what's going on? And should our software also attempt a retry on HTTP 400?!
Thanks in advance!

Sample problems this morning:

1. CustomerId 430-457-6123, Report definition:
<?xml version="1.0" encoding="utf-8"?>
<reportDefinition>
   <selector xmlns="https://adwords.google.com/api/adwords/cm/v201710">
       <fields>CampaignId</fields>
       <fields>Month</fields>
       <fields>AdNetworkType1</fields>
       <fields>AveragePosition</fields>
       <fields>Clicks</fields>
       <fields>Cost</fields>
       <fields>Impressions</fields>
       <fields>Interactions</fields>
       <fields>ContentBudgetLostImpressionShare</fields>
       <fields>ContentImpressionShare</fields>
       <fields>ContentRankLostImpressionShare</fields>
       <fields>SearchBudgetLostImpressionShare</fields>
       <fields>SearchExactMatchImpressionShare</fields>
       <fields>SearchImpressionShare</fields>
       <fields>SearchRankLostImpressionShare</fields>
       <fields>RelativeCtr</fields>
       <predicates>
           <field>CampaignStatus</field>
           <operator>IN</operator>
           <values>ENABLED</values>
           <values>PAUSED</values>
           <values>REMOVED</values>
       </predicates>
       <predicates>
           <field>AdNetworkType1</field>
           <operator>IN</operator>
           <values>SEARCH</values>
           <values>CONTENT</values>
       </predicates>
       <dateRange>
           <min>20130101</min>
           <max>20180411</max>
       </dateRange>
   </selector>
   <reportName xmlns="https://adwords.google.com/api/adwords/cm/v201710">430-457-6123 CampaignImpressionShare</reportName>
   <reportType xmlns="https://adwords.google.com/api/adwords/cm/v201710">CAMPAIGN_PERFORMANCE_REPORT</reportType>
   <dateRangeType xmlns="https://adwords.google.com/api/adwords/cm/v201710">CUSTOM_DATE</dateRangeType>
   <downloadFormat xmlns="https://adwords.google.com/api/adwords/cm/v201710">GZIPPED_XML</downloadFormat>
</reportDefinition>
Response HTTP 400, headers:
Name
Value
Content-Disposition
/bigstore/aw3-webapi-report-download/1714426f80902ee-37bc-4694-9fcc-5ba97f3f8c1e/fileId-null-uuid-f80902ee-37bc-4694-9fcc-5ba97f3f8c1e-cid-1714426.tmp.xml.gz
X-Content-Type-Options
nosniff
X-Frame-Options
SAMEORIGIN
X-XSS-Protection
1; mode=block
Alt-Svc
hq=":443"; ma=2592000; quic=51303432; quic=51303431; quic=51303339; quic=51303335,quic=":443"; ma=2592000; v="42,41,39,35"
Content-Length
0
Cache-Control
private, max-age=0
Content-Type
application/x-gzip; charset=UTF-8
Date
Wed, 11 Apr 2018 01:25:23 GMT
Expires
Wed, 11 Apr 2018 01:25:23 GMT
Server
GSE

2: 755-489-2701, Report definition:
<?xml version="1.0" encoding="utf-8"?>
<reportDefinition>
   <selector xmlns="https://adwords.google.com/api/adwords/cm/v201710">
       <fields>CampaignId</fields>
       <fields>AdGroupId</fields>
       <fields>Id</fields>
       <fields>Date</fields>
       <fields>Device</fields>
       <fields>AdNetworkType2</fields>
       <fields>AveragePosition</fields>
       <fields>Clicks</fields>
       <fields>Cost</fields>
       <fields>Impressions</fields>
       <fields>Interactions</fields>
       <predicates>
           <field>CampaignStatus</field>
           <operator>IN</operator>
           <values>ENABLED</values>
           <values>PAUSED</values>
           <values>REMOVED</values>
       </predicates>
       <predicates>
           <field>AdGroupStatus</field>
           <operator>IN</operator>
           <values>ENABLED</values>
           <values>PAUSED</values>
           <values>REMOVED</values>
       </predicates>
       <predicates>
           <field>Status</field>
           <operator>IN</operator>
           <values>ENABLED</values>
           <values>REMOVED</values>
           <values>PAUSED</values>
       </predicates>
       <predicates>
           <field>IsNegative</field>
           <operator>NOT_EQUALS</operator>
           <values>true</values>
       </predicates>
       <predicates>
           <field>Id</field>
           <operator>NOT_IN</operator>
           <values>3000000</values>
           <values>3000004</values>
           <values>3000006</values>
       </predicates>
       <dateRange>
           <min>20180326</min>
           <max>20180411</max>
       </dateRange>
   </selector>
   <reportName xmlns="https://adwords.google.com/api/adwords/cm/v201710">755-489-2701 KeywordResult 26-03-2018...11-04-2018</reportName>
   <reportType xmlns="https://adwords.google.com/api/adwords/cm/v201710">KEYWORDS_PERFORMANCE_REPORT</reportType>
   <dateRangeType xmlns="https://adwords.google.com/api/adwords/cm/v201710">CUSTOM_DATE</dateRangeType>
   <downloadFormat xmlns="https://adwords.google.com/api/adwords/cm/v201710">GZIPPED_XML</downloadFormat>
</reportDefinition>
Response HTTP 400, headers:
Name
Value
Content-Disposition
/bigstore/aw3-webapi-report-download/171442635e939c4-e1aa-4b92-8cc9-df4c3c5738bd/fileId-null-uuid-35e939c4-e1aa-4b92-8cc9-df4c3c5738bd-cid-1714426.tmp.xml.gz
X-Content-Type-Options
nosniff
X-Frame-Options
SAMEORIGIN
X-XSS-Protection
1; mode=block
Alt-Svc
hq=":443"; ma=2592000; quic=51303432; quic=51303431; quic=51303339; quic=51303335,quic=":443"; ma=2592000; v="42,41,39,35"
Content-Length
0
Cache-Control
private, max-age=0
Content-Type
application/x-gzip; charset=UTF-8
Date
Wed, 11 Apr 2018 01:54:50 GMT
Expires
Wed, 11 Apr 2018 01:54:50 GMT
Server
GSE

3. CustomerId 747-155-9982, Report definition:
<?xml version="1.0" encoding="utf-8"?>
<reportDefinition>
   <selector xmlns="https://adwords.google.com/api/adwords/cm/v201710">
       <fields>CampaignId</fields>
       <fields>AdGroupId</fields>
       <fields>Id</fields>
       <fields>Date</fields>
       <fields>AveragePosition</fields>
       <fields>Clicks</fields>
       <fields>Cost</fields>
       <fields>Impressions</fields>
       <fields>Interactions</fields>
       <predicates>
           <field>CampaignStatus</field>
           <operator>IN</operator>
           <values>ENABLED</values>
           <values>PAUSED</values>
           <values>REMOVED</values>
       </predicates>
       <predicates>
           <field>AdGroupStatus</field>
           <operator>IN</operator>
           <values>ENABLED</values>
           <values>PAUSED</values>
           <values>REMOVED</values>
       </predicates>
       <predicates>
           <field>Status</field>
           <operator>IN</operator>
           <values>ENABLED</values>
           <values>REMOVED</values>
           <values>PAUSED</values>
       </predicates>
       <dateRange>
           <min>20180326</min>
           <max>20180411</max>
       </dateRange>
   </selector>
   <reportName xmlns="https://adwords.google.com/api/adwords/cm/v201710">747-155-9982 AudienceResult 26-03-2018...11-04-2018</reportName>
   <reportType xmlns="https://adwords.google.com/api/adwords/cm/v201710">AUDIENCE_PERFORMANCE_REPORT</reportType>
   <dateRangeType xmlns="https://adwords.google.com/api/adwords/cm/v201710">CUSTOM_DATE</dateRangeType>
   <downloadFormat xmlns="https://adwords.google.com/api/adwords/cm/v201710">GZIPPED_XML</downloadFormat>
</reportDefinition>
Response HTTP 400, headers:
Name
Value
Content-Disposition
/bigstore/aw3-webapi-report-download/1714426d9e6b2ab-a83e-4d75-b35a-07bb7a5071ed/fileId-null-uuid-d9e6b2ab-a83e-4d75-b35a-07bb7a5071ed-cid-1714426.tmp.xml.gz
X-Content-Type-Options
nosniff
X-Frame-Options
SAMEORIGIN
X-XSS-Protection
1; mode=block
Alt-Svc
hq=":443"; ma=2592000; quic=51303432; quic=51303431; quic=51303339; quic=51303335,quic=":443"; ma=2592000; v="42,41,39,35"
Content-Length
0
Cache-Control
private, max-age=0
Content-Type
application/x-gzip; charset=UTF-8
Date
Wed, 11 Apr 2018 01:56:32 GMT
Expires
Wed, 11 Apr 2018 01:56:32 GMT
Server
GSE

(Oh, and please don't delete this message just because it has customer ids in. No stranger should be able to retrieve any information with just these IDs and no login. Also realize that AdWords support in both Dublin and Amsterdam send out those ids -and much more information- over non-secure email.)

Sreelakshmi Sasidharan (AdWords API Team)

unread,
Apr 11, 2018, 3:41:40 PM4/11/18
to AdWords API Forum
Hi Zweitze, 

I can confirm that the report definitions that you have shared is valid and not expected to return the HTTP 400 error code. I will let the team know about this and investigate it at our end. I will keep you posted on the updates. 

Thanks,
Sreelakshmi, AdWords API Team

Dorian Kind

unread,
Apr 12, 2018, 4:10:40 AM4/12/18
to AdWords API Forum
See also this thread. We are hit by these errors at a rate of about one in every couple of thousand requests. As far as I can see, we first encountered this end of December 2017. From our end, it doesn't seem that the frequency is increasing much, but of course the sample size isn't terribly large.

Cheers,
Dorian

Sreelakshmi Sasidharan (AdWords API Team)

unread,
Apr 12, 2018, 9:52:41 AM4/12/18
to AdWords API Forum
Hi Dorian, 

Thanks for the additional information. I have shared the details to the team and I'll let you know what I hear back from them. 
Reply all
Reply to author
Forward
0 new messages