ИМХО самый простой способ сделать это было бы добавить функцию, которая проверяет даты, прежде чем сделать что-нибудь с настройками бюджета. Если вы в конце, то вызовите метод pause()
(documentation). Однако вам нужно рассмотреть одну очень важную вещь, которая является часовым поясом вашей учетной записи AdWords и часовым поясом скрипта. Как написано в this article:
(...), даже если аккаунт AdWords раз был Центральный, даты генерироваться в сценарии AdWords основаны от времени сервера, где скрипт запущен (...)
Там также простая функция, чтобы установить часовой пояс:
/**
* The time will convert to whatever server/data center the script is running on. Make sure the time is set to the AW account time
* @param {Date} date
*/
function setProperTimeZone(date) {
return new Date(Utilities.formatDate(date, AdWordsApp.currentAccount().getTimeZone(), "MMM dd,yyyy HH:mm:ss"));
}