I am trying to update the AmoutMicros of Budget but I don't receive error, just not update the budget:

        CampaignBudget budget = new CampaignBudget()         {             ResourceName = ResourceNames.CampaignBudget(customerId, budgetId),             AmountMicros = (price + amount) * 100000,             Id = budgetId         };         CampaignBudgetOperation budgetOperation = new CampaignBudgetOperation()         {             Create = budget,             UpdateMask = FieldMasks.AllSetFieldsOf(budget),         };         try         {             MutateCampaignBudgetsResponse responseBudget =              budgetService.MutateCampaignBudgets(             customerId.ToString(), new CampaignBudgetOperation[] { budgetOperation            });             foreach(MutateCampaignBudgetResult result in responseBudget.Results)             {                 updateResponse.CampignId = campaignId;                 updateResponse.Updated = true;                 Console.WriteLine(result);             }             return updateResponse;         }         catch (GoogleAdsException e)         {             Console.WriteLine("Failure:");             Console.WriteLine($"Message: {e.Message}");             Console.WriteLine($"Failure: {e.Failure}");             Console.WriteLine($"Request ID: {e.RequestId}");             return updateResponse;             throw;         } 

This code don't show me a exception, apparently it was update, but, when I go at Google Ads Dashboard, the amout still the same.

I read the documentation but I didn't find an update of a budget.

Tag:google-ads-api, c#

Only one comment.

  1. DongJin Oh

    My working code is PHP but you can refer this.

    private static function updateCampaignBudget(GoogleAdsClient $googleAdsClient, int $customerId,int $campaign_budget,string $budget_resource_name){ // Creates a campaign budget. $budget = new CampaignBudget([ 'resource_name' => $budget_resource_name, //'delivery_method' => BudgetDeliveryMethod::STANDARD, 'amount_micros' => $campaign_budget //'explicitly_shared' => false ]); // Creates a campaign budget operation. $campaignBudgetOperation = new CampaignBudgetOperation(); $campaignBudgetOperation->setUpdate($budget); $campaignBudgetOperation->setUpdateMask(FieldMasks::allSetFieldsOf($budget)); // Issues a mutate request. $campaignBudgetServiceClient = $googleAdsClient->getCampaignBudgetServiceClient(); $response = $campaignBudgetServiceClient->mutateCampaignBudgets( $customerId, [$campaignBudgetOperation] ); /** @var CampaignBudget $addedBudget */ $updatedBudget = $response->getResults()[0]; //printf("Added budget named '%s'%s", $addedBudget->getResourceName(), PHP_EOL); return $updatedBudget->getResourceName(); }

    you can use ResourceNames::forCampaignBudget(customerId, budgetId) instead of $budget_resource_name

Add a new comment.