Question regarding mutateAccountBudgetProposal returning CANNOT_UPDATE_OLD_BUDGET

10 views
Skip to first unread message

static bin

unread,
Nov 17, 2025, 7:03:02 PM (8 hours ago) Nov 17
to (Deprecated) Google Ads API and AdWords API Forum

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:

$proposal = new AccountBudgetProposal([
    'proposal_type'    => AccountBudgetProposalType::UPDATE,
    'account_budget'   => $resourceName,
    'proposed_name'    => $accountBudget->getName(),
    'proposed_spending_limit_micros' => $newBudget,
]);
$operation = new AccountBudgetProposalOperation();
$operation->setCreate($proposal);

$operation->setUpdateMask(
    FieldMasks::allSetFieldsOf($proposal)
);
$request = new MutateAccountBudgetProposalRequest([
    'customer_id' => $customerId,
    'operation' => $operation,
]);
$response = $accountBudgetProposalServiceClient->mutateAccountBudgetProposal($request);

googlea15e07.png

Thank you for your assistance.
Best regards,

Google Ads API Forum Advisor

unread,
2:02 AM (1 hour ago) 2:02 AM
to stati...@gmail.com, adwor...@googlegroups.com
Hi,

Thank you for reaching out to the Google Ads API support team.

Based on the provided information, I understand that you are encountering an “AccountBudgetProposalError.CANNOT_UPDATE_OLD_BUDGET” error. The CANNOT_UPDATE_OLD_BUDGET error indicates that expired budgets cannot be edited after a sufficient amount of time has passed.

Upon checking the account budget for the ID 6742730389, I observed that it had ended on "2022-06-24 10:58:04".

You can use the following query to retrieve the account_budget.approved_end_date_time:

SELECT account_budget.id, account_budget.approved_start_date_time, account_budget.proposed_start_date_time, account_budget.approved_end_date_time, account_budget.approved_end_time_type, account_budget.pending_proposal.creation_date_time, account_budget.pending_proposal.end_date_time, account_budget.pending_proposal.end_time_type, account_budget.proposed_end_date_time, account_budget.proposed_end_time_type FROM account_budget

I hope it helps!

Thanks,
 
Google Logo Google Ads API Team

Feedback
How was our support today?

rating1    rating2    rating3    rating4    rating5
[2025-11-18 07:01:59Z GMT] This message is in relation to case "ref:!00D1U01174p.!500Ht01vTk7n:ref" (ADR-00339591)



Reply all
Reply to author
Forward
0 new messages