How to update budget name , amount and biddingStrategyType of Campaign budget in Google AdWords API?
I already have a campaign budget which i want to update using google AdWords API.
BudgetServiceInterface budgetService = adWordsServices.get(session, BudgetServiceInterface.class); // Create a budget, which can be shared by multiple campaigns. Budget sharedBudget = new Budget(); sharedBudget.setName("Interplanetary Cruise #" + System.currentTimeMillis()); Money budgetAmount = new Money(); budgetAmount.setMicroAmount(50_000_000L); sharedBudget.setAmount(budgetAmount); sharedBudget.setDeliveryMethod(BudgetBudgetDeliveryMethod.STANDARD); BudgetOperation budgetOperation = new BudgetOperation(); budgetOperation.setOperand(sharedBudget); budgetOperation.setOperator(Operator.ADD); // Add the budget Long budgetId = budgetService.mutate(new BudgetOperation[] {budgetOperation}).getValue(0).getBudgetId(); // Get the CampaignService. CampaignServiceInterface campaignService = adWordsServices.get(session, CampaignServiceInterface.class);
Assiging budgetId to campaign
Budget budget = new Budget(); budget.setBudgetId(budgetId); campaign.setBudget(budget);
This will unassign existing campaign budget and assign new campaign budget to the campaign ( campaign budget is not removed and it still exist in google ads) but I want to update the budget name and budget amount of existing campaign budget rather than assigning new campaign budget.
Use BudgetService to do it. you can find more details in the documentation
$budget = new Budget(); $budget->setBudgetId(BUDGET_ID); $budget->setStatus(BudgetBudgetStatus::REMOVED); $operation = new BudgetOperation(); $operation->setOperand($budget); $operation->setOperator(Operator::SET); $operations[] = $operation;