The Flexible Budget Script checks if an item (keyword, ad, ad group, campaign or account) is exceeding the budget you set up for it. It pauses the entity and notifies you over email when the budget is hit. It also reenables the entity at the beginning of the next budget period.
It uses the label applied to enable campaigns and also enables you to specify your budget period by choosing a cycle date. So if your budget for the account starts on the 15th of the month and ends on the 15th of next month, enter the cycle date as 15.
Note: This script takes into consideration cost for entities, not budgets. This means that if you have 2 campaigns that share a budget, it's possible for 1 campaign to be paused and the other to keep running.
Why should you use it?
The script enables you to:
Set budgets for campaigns, ad groups, keywords, or ads.
Set budgets for monthly, weekly, daily, or custom periods (cycle date).
Monthly budgets can be set to cycle on any day of the month you want.
Pause items when their cost exceeds the maximum budget you specified.
Re-enable paused items when a new budget period starts.
Get notifications via email when changes are made or when an account exceeds the budget for the period.
Mid-Month Budget Changes
If a monthly budget is set for the script and it is changed during the month, the script will use the new budget for its next run. For example, if the monthly budget was set to $1,000 at the beginning of the month and is changed to $700 on the 15th, then when the script runs on the 16th, it will match the total cost of the account against $700 and pause items if the budget is exceeded.
Smart Campaigns and Experiments
Smart Campaigns and Campaign Experiments are currently not compatible with the Flexible Budget Script, as the Google Ads Scripts API doesn't support pausing or modifying them. If you have active smart campaigns or experiments in your account, you need to keep into consideration these two factors:
If you are running the script at a campaign level, the script won't be able to trace the spend of the smart campaigns or pause them, therefore it will not consider them. It will track the spend of experiments but it can't pause them.
If you are running the script on an account level, the script will take into consideration the smart campaign's spend and the spend of the experiment as a part of the total account spend, even though smart campaigns and experiments can't be paused. This means that the maximum budget amount set will consider the smart campaign's spend and spend from experiments, but upon reaching the limit, the script will only pause those campaigns which are not set up as smart campaigns or experiments.
Supported Campaign Types
Campaign types supported by Flexible Budget Script:
Campaign types NOT supported by Flexible Budget Script:
You can read more about tools for budget management in our blog post here.