Google Ads - Basic Budget Checker Script 

Set to run hourly. Customize items in YELLOW. Works for all Search campaigns.

————

function main() {
  var targetBudget = 5500;	// Change to target budget
  var MTDCost;
  var safeBudget;
  var campaignIterator;
  var campaignsPaused = false;
  // Get MTD spend & target budget
  MTDCost = getMTDCost();
  safeBudget = targetBudget - 40; // Change to amount "under" target budget since script runs hourly
  // Pause if budget exceeds safe budget
  if(MTDCost >= safeBudget) {
    campaignIterator = AdsApp.campaigns().get();
 
    while(campaignIterator.hasNext()) {
      var currentCampaign = campaignIterator.next();
      if(!currentCampaign.isPaused()) {
        currentCampaign.pause();
        campaignsPaused = true;
      }
    } 
  } // end if
  if(campaignsPaused == true) {
    MailApp.sendEmail('youremail@yourdomain.com', AdsApp.currentAccount().getName() + ' monthly budget met, all campaigns paused.', 'See subject line.');
  }
}
// -------------------------------------------------------------
function getMTDCost () {
  var campaignIterator = AdsApp.campaigns().get();
  var MTDCost = 0;
  
  while(campaignIterator.hasNext()) {
    MTDCost += campaignIterator.next().getStatsFor("THIS_MONTH").getCost();
  }
  return MTDCost;
} // end getMTDCost


————