AI-generated Key Takeaways
-
Learn how to set the budget for a specific campaign by name.
-
Discover how to retrieve the budget object associated with a campaign.
-
Understand how to log detailed information about a campaign's budget, including its amount, delivery method, shared status, and associated campaigns if it's a shared budget.
Set a campaign budget
function setCampaignBudget(name, amount) { const campaignIterator = AdsApp.campaigns() .withCondition(`campaign.name = '${name}'`) .get(); if (!campaignIterator.hasNext()) { throw new Error(`No campaign with name '${name}' found.`); } const campaign = campaignIterator.next(); campaign.getBudget().setAmount(amount); }
Get campaign budget
function getBudgetForCampaign(campaignName) { const campaignIterator = AdsApp.campaigns() .withCondition(`campaign.name = '${name}'`) .get(); if (!campaignIterator.hasNext()) { throw new Error(`No campaign with name '${name}' found.`); } const campaign = campaignIterator.next(); return campaign.getBudget(); }
Log campaign budget details
function logBudgetDetails(campaignName) { const campaignIterator = AdsApp.campaigns() .withCondition(`campaign.name = '${campaignName}'`) .get(); if (!campaignIterator.hasNext()) { throw new Error(`No campaign with name '${campaignName}' found.`); } const campaign = campaignIterator.next(); const budget = campaign.getBudget(); console.log(`Budget amount: ${budget.getAmount()}`); console.log(`Delivery method: ${budget.getDeliveryMethod()}`); console.log(`Explicitly shared: ${budget.isExplicitlyShared()}`); // If this is a shared budget, log all the associated campaigns. // If this is not a shared budget, don't bother since the only associated // campaign is the one specified by 'campaignName'. if (budget.isExplicitlyShared()) { const budgetCampaignIterator = budget.campaigns().get(); console.log(`=======`); console.log(`Associated campaigns (${budgetCampaignIterator.totalNumEntities()}):`); for (const associatedCampaign of budgetCampaignIterator) { console.log(associatedCampaign.getName()); } } }