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.)