Dear Google Ads Support Team,
I am using mutateAccountBudgetProposal to update account budgets. For some accounts, the update works successfully, but for others I receive the following error:
CANNOT_UPDATE_OLD_BUDGET – “The budget has been expired for some time and cannot be edited.”
Could you please help explain the reason for this issue? Below is the code I am using for the request:

Thank you for your assistance.
Best regards,
![]() |
Google Ads API Team |
[2025-11-18 07:01:59Z GMT] This message is in relation to case "ref:!00D1U01174p.!500Ht01vTk7n:ref" (ADR-00339591)
First of all, thank you for your technical support. However, the budget for this account is shown as active in the Google Ads interface, and the end date is set to no fixed end date.
Is there any configuration I need to modify in the Google Ads interface in order to make the budget editable again via the API?
Hi,
Please note that there is no configuration required to be done in Google Ads interface to make this budget editable. I observed that you had mentioned earlier that you were able to successfully update the account budgets for some accounts. As the account budget is active and the end date is not specified, you should be able to update the account budget in the same way.
If you are still facing any issues or getting any error, please get back to us with the updated complete API logs (request and response with request-id and request header) generated at your end without redacting any information. If you are using a client library and haven't enabled the logging yet, I would request you to enable logging for the specific client library that you are using. You can refer to the guides Java, .Net, PHP, Python, Ruby or Perl to enable logging at your end. For REST interface requests, you can enable logging via the curl command by using the -i flag.
![]() |
Google Ads API Team |
[2025-11-19 05:48:46Z GMT] This message is in relation to case "ref:!00D1U01174p.!500Ht01vTk7n:ref" (ADR-00339591)