I initialy reported this with the Google Ads PHP SDK repository <https://github.com/googleads/google-ads-php/issues/495>.
When sending updates with partial failure enabled, general failures trigger partial failures for every operation instead. For example, when calling *AdGroupCriterionService/MutateAdGroupCriteria* to update keyword bids, the request might fail, with every individual operation marked with an error *"Too many requests. Retry in 30 seconds."*. This is a change from the behavior in the former AdWords PHP SDK (where the request throws an exception when exceeding a rate limit), and also seems undocumented. The documentation on partial failures <https://developers.google.com/google-ads/api/docs/best-practices/partial-failures> and the accompanying PHP SDK example HandlePartialFailure <https://github.com/googleads/google-ads-php/blob/master/examples/ErrorHandling/HandlePartialFailure.php> indicate that a request with partial failure enabled might still throw GoogleAdsException or ApiException to be handled, which does not seem to be the case. In practice, this makes using partial failure for these requests (almost) impossible, because potentially any one of the partial failures could indicate that the entire request should be retried. *Actions taken* Send a request with partial failure enabled. *Expected result* The request succeeds, with only the operations with errors triggering a partial failure. If the request cannot or will not be handled, the service call throws an exception. *Actual result* A request that cannot/will not be handled succeeds, with every operation marked as partial failure. Here's two examples of requests with this behavior: *Request ID CxAuL1wYANmyuc5FDaFAkw* All operations failed with: *Multiple requests were attempting to modify the same resource at once. Please retry the request.* Logged the following: *Request made: Host: "googleads.googleapis.com", Method: "/google.ads.googleads.v5.services.AdGroupCriterionService/MutateAdGroupCriteria", CustomerId: <REDACTED>, RequestId: "CxAuL1wYANmyuc5FDaFAkw", IsFault: 0, FaultMessage: "None"* *Request ID `HIQegSZ_HGq8hNs_8NQkUQ`* All operations failed with: *Too many requests. Retry in 30 seconds.* Logged the following: *Request made: Host: "googleads.googleapis.com", Method: "/google.ads.googleads.v5.services.AdGroupCriterionService/MutateAdGroupCriteria", CustomerId: <REDACTED>, RequestId: "HIQegSZ_HGq8hNs_8NQkUQ", IsFault: 0, FaultMessage: "None"* Is this behavior of partial failure intended, or is this a bug? -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog: https://googleadsdeveloper.blogspot.com/ =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads API Forum" group. To post to this group, send email to adwords-api@googlegroups.com To unsubscribe from this group, send email to adwords-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en --- You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads API Forum" group. To unsubscribe from this group and stop receiving emails from it, send an email to adwords-api+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-api/f435547a-b565-4aa5-b63f-69caf796786an%40googlegroups.com.