Closed Sayil8 closed 1 year ago
Could you also attach the link to the page that you sought help from the Google Ads API support team?
All the communication was via email, we send our issues to this address: googleadsapi-support@google.com I could provide the email conversation but basically all the information is contained in this issue. I attached the most helpful response to the issue, which suggested we should reach out to you guys.
Do you happen to know the case number (usually shown in the title of the email)? I'd like to get all info that is communicated to you. Thanks.
Sure, there wasn’t any reference in the subject line of the email. But at the bottom of them there was this:
ref:_00D1U1174p._5004Q25Znev:ref
. I don’t know if this is what you mean but this is the only reference that we have.
Thanks for the info. I think I found the relevant case where you communicated with our team. Let me take a look and get back to you in 1-2 days.
@Sayil8 , would it be possible for you to reproduce this again? From all the request IDs you provided to use previously and the one you provided here happened in the beginning of October. We cannot fetch full logs of those dates anymore, as they're too old. So, I cannot investigate further if it's because of the library or because of the server itself.
Sure, this is an issue we have every time we run bidding.
-------
Method Name: /google.ads.googleads.v6.services.AdGroupBidModifierService/MutateAdGroupBidModifiers
Host: googleads.googleapis.com
Headers: {
"x-goog-api-client": "gl-php\/7.3.10 gapic\/ gax\/1.6.0 grpc\/1.29.1",
"x-goog-request-params": "customer_id=1529099895",
"developer-token": "REDACTED",
"login-customer-id": "2340460323"
}
Request:
{"customerId":"1529099895","operations":[{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"1","maxDays":"2"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"3","maxDays":"4"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"5","maxDays":"6"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"7","maxDays":"8"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"8","maxDays":"9"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"10","maxDays":"11"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"12","maxDays":"13"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"14","maxDays":"15"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"16","maxDays":"17"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"18","maxDays":"19"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"20","maxDays":"21"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"22","maxDays":"23"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"24","maxDays":"25"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"26","maxDays":"27"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"28","maxDays":"29"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"30","maxDays":"31"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"32","maxDays":"33"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"34","maxDays":"35"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"36","maxDays":"37"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"38","maxDays":"39"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"40","maxDays":"41"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"42","maxDays":"43"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"44","maxDays":"45"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"46","maxDays":"47"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"48","maxDays":"49"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"50","maxDays":"51"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"52","maxDays":"53"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"54","maxDays":"55"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"56","maxDays":"57"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"58","maxDays":"59"}}},{"create":{"adGroup":"customers\/1529099895\/adGroups\/116045426808","bidModifier":2,"bidModifierSource":"AD_GROUP","hotelAdvanceBookingWindow":{"minDays":"60","maxDays":"61"}}}],"partialFailure":true}
Response
-------
Headers: {
"content-disposition": "attachment",
"request-id": "OJF4B8iNlcC_g53uknWloA",
"date": "Tue, 24 Nov 2020 18:00:57 GMT",
"alt-svc": "h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\""
}
Response:
{"partialFailureError":{"code":3,"message":"Multiple errors in ‘details’. First error: This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails., at operations[1].create.hotel_advance_booking_window","details":[{"@type":"type.googleapis.com/google.ads.googleads.v6.errors.GoogleAdsFailure","errors":[{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":1},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":2},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":3},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":4},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":5},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":6},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":7},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":8},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":9},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":10},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":11},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":12},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":13},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":14},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":15},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":16},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":17},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":18},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":19},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":20},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":21},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":22},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":23},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":24},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":25},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":26},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":27},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":28},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":29},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}},{"errorCode":{"resourceCountLimitExceededError":"RESOURCE_LIMIT"},"message":"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails.","location":{"fieldPathElements":[{"fieldName":"operations","index":30},{"fieldName":"create"},{"fieldName":"hotel_advance_booking_window"}]}}]}]},"results":[{"resourceName":"customers\/1529099895\/adGroupBidModifiers\/116045426808~524797065063"},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]}
As you can see I just ran this request 5 minutes ago. Also, I used v6.0.0 of the library.
Thanks for the info. Now I can confirm all information that I want.
Looking into this, I think the error message itself is confusing. When you turn on the partial failure mode, it will not throw GoogleAdsError
, hence you cannot get any ErrorDetails
from that object.
Instead, it will just return a MutateAdGroupBidModifiersResponse
, containing partial_failure_error
.
Let me confirm this with our expert on this matter, and will get back to you.
But as we see in the image that I posted where we see the debug window of phpstorm, we get back a GoogleAdsError
which contains a message
, errorCode
, details
and so on. The only field which is empty is details
although the message
is saying that there will be something there...
Internally, I didn't see any errors returned for the request ID OJF4B8iNlcC_g53uknWloA
.
The log that you shared also doesn't contain that. If it contains that part, could you please share as well?
I'd like to identify if it's an issue of the server side or the deserialization or logging features of the client library.
I think you are right, the log I shared is the response I got. We get back a partialFailureError
and we try to manipulate this in the code, as you see in the description of the issue, to get the errorDetails
which are mentioned in the message.
$response->getResults()[0]->getPartialFailureError()->getMessage() This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails. $response->getResults()[0]->getPartialFailureError()->getDetails()
NULL
I was just pointing out what we see in the debug mode of phpstorm but I think it is better if we look directly at the logs.
OK. Then, at least we see the same thing now. :-) I'm following up with this information and will get back to this issue, when I have more information.
Hi there
I was wondering if there was any update on this?
We are getting a similar problem where we get the error resource_count_limit_exceeded_error: This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails
when we try to block IPs in the IP Exclusion List after unblocking IPs in the IP Exclusion list.
For example, there might be 500 IPs in the IP Exclusion List, so we unblock 200 and then block 200. We've tried adding a delay between the unblocking and blocking (up to 30 minutes) but it makes no difference. The only thing which works is if we run the blocking code twice (doesn't need any delay!) So we unblock, block (fails), and then block again (success).
My concern is we're receiving an incorrect error message, as we know for certain there are enough resources, so no limit is being exceeded. For example, even if we unblock 400 IPs and then try to block 100 IPs (so we are well below the 500 limit), we still get this error.
Here is a request ID if it's useful: JDsQtS4CBm77NOXNG5VRwQ
In the above request you'll see we waited 30 minutes after unblocking before we tried to block. I could see in the Google Ads UI the IPs were successfully unblocked, so I'm concerned there is an issue with the error message.
I apologise if I should have created a separate issue for this.
Thanks for your help.
Here's our blocking code so you can see what we're doing. We have the same issue in V8 and V9.
foreach($campaigns as $campaign){
$CampaignCriterionOperation = [];
foreach($ips as $ip) {
$campaignResourceName = ResourceNames::forCampaign($customerId, $campaign['id']);
$campaignCriterion = new CampaignCriterion([
'ip_block' => new IpBlockInfo([
'ip_address' => $ip['ip']
]),
'negative' => true,
'campaign' => $campaignResourceName
]);
$CampaignCriterionOperation[] = new CampaignCriterionOperation(['create' => $campaignCriterion]);
}
}
$operations = $CampaignCriterionOperation;
$campaignCriterionServiceClient = $googleAdsClient->getCampaignCriterionServiceClient();
try {
$response = $campaignCriterionServiceClient->mutateCampaignCriteria($customerId, $operations);
// throws an exception the first time it's run... but works fine the second time it's run
Sorry that I missed the update of this thread. Is any of you still needs help on this matter? We've released many versions so far and up to v8 is already sunset, so the issue would have been already gone. Please let me know if that still happens.
If it looks like an issue on the Google Ads API servers, contacting the team on the Google Ads API forum is recommended.
sdk version : "googleads/google-ads-php": "v6.0.0" and "v4.0.0" php version: 7.3
Good morning,
We are investigating an error that we got back from the Google Ads API v4 and now that we updated to v6 it’s still occurring. It has been a long time that this error is occurring and we still don’t know what to do. We contacted google ads support via email and they suggested that the library might be the problem. I will explain the issue in most detail and at the end I will add the google ads support response.
During publishing bid modifiers for hotel ads we got some partial failure errors RESOURCE_LIMIT The message of these errors mentioned that there would be more details in the ErrorDetails. When we checked out these ErrorDetails however, they were empty. We reproduced this locally by performing a mutate request containing 31 length of stay bid modifiers (HotelAdvanceBookingWindow). We chose 31 here because 30 is allowed as we can see here https://support.google.com/google-ads/answer/9244121?hl=en. We get a partial failure error for each of them but none of them include ErrorDetails. Example code:
See attached image which shows to further understand where this happens and the response we get back.
We also increased the log level of the PHP Google Ads library to explicitly see what was going on but still we where not getting the ErrorDetails. See next lines.
Google support response:
Could you advise where we can programmatically get the ErrorDetails mentioned in the error message? If there's anything unclear please let me know.