Расписание, защиты и приоритеты
Эта статья о том, когда правило проверяет объекты, что не даёт ему действовать слишком часто или поверх ручной работы байера и кто побеждает, если на один объект претендуют несколько правил. Настройки находятся на шагах «Расписание» и «Защиты и уведомления» конструктора, приоритет — на шаге «Название и кабинеты».
Расписание: как часто правило проверяет объекты
Периодичность | Как работает | Для чего подходит |
|---|---|---|
Каждые N минут: 15, 30, 60 (каждый час), 180 (каждые 3 часа), 360 (каждые 6 часов), 1440 (раз в сутки) | Правило запускается по кабинету, если с прошлого запуска по этому кабинету прошло не меньше N минут | Стоп-лоссы — 15–30 минут; бюджеты — раз в час; уведомления о трендах — раз в 3 часа |
Ежедневно | Запуск в заданные времена суток (до 24 времён), по часам кабинета | Ежедневная проверка в фиксированное время, например в 10:00 |
В заданные часы | То же, что «Ежедневно», только выбирается список часов, например 09:00, 13:00, 17:00 | Несколько проверок в рабочие часы |
Что важно знать:
Новое правило создаётся с периодичностью «Каждый час» и без окон активности.
Планировщик проверяет правила раз в 5 минут, поэтому фактический запуск может быть на несколько минут позже расписания. При большой очереди кабинетов (за один проход обрабатывается до 50 кабинетов) — ещё позже.
«Раз в сутки» (1440 минут) не привязан ко времени: следующий запуск — через 24 часа после предыдущего. Нужен запуск в конкретное время — выбирайте «Ежедневно».
Пропущенное время не отыгрывается. Если система не работала три часа, почасовое правило запустится один раз, а не три. Решение всё равно принимается по свежим данным, и серия запусков подряд ничего бы не добавила.
Расписание считается отдельно для каждого кабинета правила.
Окна активности
Окна активности ограничивают, в какие дни и часы правило вообще может запускаться. Окон нет — правило работает круглосуточно («Окон нет: правило работает круглосуточно»).
Окно — это дни недели (Пн–Вс) и отрезок суток «с — по». Конец окна не включается: окно 06:00–18:00 закрывается ровно в 18:00. «24:00» — конец суток.
Окно не может переходить через полночь. Ночной интервал задаётся двумя окнами: например, «22:00–24:00» и «00:00–06:00».
Окна одного дня не должны пересекаться — иначе «Окна активности пересекаются».
Окно не может быть пустым («с» должно быть раньше «по») — иначе «Окно активности пустое».
У «Ежедневно» и «В заданные часы» каждое время запуска должно попадать в окно — иначе «Время запуска вне окон активности».
Всего окон — до 28. Новое окно в конструкторе создаётся как «будни, 06:00–24:00».
Как окна сочетаются с периодичностью:
Каждые N минут: вне окна правило не запускается, внутри — запускается с заданным интервалом. Когда окно открывается, первый запуск происходит на ближайшей проверке планировщика.
Ежедневно / в заданные часы: время вне окна своего дня не срабатывает вовсе. Например, при окне Пн–Пт время 09:00 в воскресенье не сработает и в понедельник не «догонится». Время у самого конца окна (например, 17:57 при окне до 18:00) выполнится, даже если планировщик дошёл до правила через пару минут после закрытия окна.
Пример: скейл только с 00:00 до 18:00, стоп-лосс круглосуточно
Задача: скейлить прибыльные адсеты только в первой половине дня по времени кабинета, чтобы Facebook успел открутить новый бюджет, а стоп-лосс держать включённым всегда.
Правило | Периодичность | Окна активности | Действие |
|---|---|---|---|
«Скейл адсетов» | Каждый час | Пн–Вс, 00:00–18:00 | Дневной бюджет +20 %, не выше 300 |
«Стоп-лосс» | Каждые 30 минут | Нет (круглосуточно) | Пауза до конца дня |
В 10:00 работают оба правила. Если оба сработали на одном адсете, побеждает пауза — она всегда сильнее повышения бюджета.
В 19:00 скейл не запускается, стоп-лосс продолжает следить за расходом.
В 00:00 окно скейла снова открывается, и правило запускается на ближайшей проверке.
Совет. Если скейл смотрит на «вчера» или «N полных дней» по когорте, начинайте окно не с 00:00, а с 06:00: в первые часы суток депозиты по вчерашним вечерним кликам ещё доезжают, и ROI за вчера занижен. Так сделано в шаблонах «Масштабирование прибыльных» и «Урезание убыточных» — у них окно 06:00–24:00.
Пример: только ночью
Уведомление о скачке CPM нужно только ночью, когда никто не смотрит кабинет. Окна: «Пн–Вс, 22:00–24:00» и «Пн–Вс, 00:00–06:00», периодичность «Каждый час».
Пример: только в будни в рабочее время
Окно «Пн–Пт, 09:00–21:00», периодичность «Ежедневно» в 10:00 и 16:00. В выходные правило не запускается.
Часовой пояс — у каждого кабинета свой
У правила нет своего часового пояса. Расписание, окна активности, «сегодня» и «вчера» в условиях, сутки для лимита действий и включение в 00:00 считаются по часовому поясу каждого кабинета отдельно. Конструктор показывает пояса выбранных кабинетов на шаге «Расписание».
Пример. Правило с окном 00:00–18:00 на двух кабинетах: Europe/Kyiv и America/New_York. В киевском кабинете окно откроется в полночь по Киеву, в нью-йоркском — в полночь по Нью-Йорку, то есть на несколько часов позже. Каждый кабинет живёт по своим часам.
Защиты
Защиты считаются для пары «правило — объект»: действия других правил не тратят лимиты этого правила.
Защита | По умолчанию | Диапазон | Что делает | Что в журнале |
|---|---|---|---|---|
Перерыв после действия (cooldown) | 24 ч | 0–720 ч | После любого действия правила по объекту (включая уведомление) правило не трогает этот объект указанное время | «Пропущено: пауза между действиями» — «Пауза после прошлого действия» |
Действий на объект в сутки | 2 | 1–48 | Не больше N действий правила по одному объекту за сутки кабинета; уведомления тоже считаются | «Пропущено: дневной лимит» — «Исчерпан дневной лимит действий» |
Пауза после ручного изменения | 24 ч | 0–720 ч | После ручной смены статуса правило не меняет статус объекта, после ручной смены бюджета — бюджет | «Пропущено: недавняя ручная правка» — «Недавняя ручная смена статуса» или «…бюджета» |
Допустимое отставание данных | 90 мин | 15–1440 мин | Если данные расходов или конверсий старше — прогон по кабинету пропускается целиком | Прогон «Пропущен: устаревшие данные» с причиной |
Лимит бюджета кабинета | Выключен (при включении — 1000) | Больше 0, в валюте кабинета | Сумма дневных бюджетов активных CBO-кампаний и ABO-адсетов кабинета после действия не превысит лимит | «Пропущено: лимит бюджета кабинета» |
Перерыв после действия
Отсчитывается в обычных часах от момента действия и идёт через полночь: перерыв 12 часов после действия в 20:00 закончится в 08:00.
Действует на все действия правила по объекту, в том числе на уведомления — иначе сообщение приходило бы каждый прогон, пока условие держится.
Исключение — правило с паузой до конца дня: его перерыв заканчивается не позже включения в 00:00, чтобы утром правило снова следило за объектом. Само включение в 00:00 перерыв не запускает.
Если результат прошлого действия ещё не подтвердил Facebook, правило не повторяет действие по тем же данным: «Пропущено: пауза между действиями» с причиной «Прошлое действие ещё не подтверждено».
Пример. Скейл «+20 % при ROI вчера больше 50 %» запускается каждый час, перерыв 24 часа. Бюджет подняли в понедельник в 07:00 — следующее повышение по этому адсету возможно не раньше вторника 07:00. Без перерыва правило поднимало бы бюджет каждый час, пока ROI за вчера не изменится.
Действий на объект в сутки
Сутки — по часовому поясу кабинета, счётчик обнуляется в 00:00 по времени кабинета.
Уведомления считаются, системное включение в 00:00 — нет.
Работает вместе с перерывом: перерыв задаёт паузу между действиями, лимит — потолок на сутки.
Пример. Правило «Уведомить, если CPI за 24 часа выше $3» с перерывом 4 часа и лимитом 2: даже если CPI высокий весь день, по одному адсету придёт не больше двух уведомлений в сутки.
Пауза после ручного изменения
Ручным считается изменение в Facebook или Ads Manager, изменение пользователем в Adset.pro и откат действия правила в журнале. Изменения, которые сделали автоправила, ручными не считаются.
Защита разделена по полям: после ручной смены статуса правило не трогает статус, но может менять бюджет; после ручной смены бюджета — наоборот.
Уведомления этой защите не подчиняются.
Значение 0 — не ждать. Но даже с 0 правило никогда не включит объект, который выключил человек (см. ниже).
Пример. Стоп-лосс поставил адсет на паузу до конца дня в 14:00. Байер видит, что депозиты просто задерживаются, и в 15:00 включает адсет в Ads Manager. У стоп-лосса перерыв 0, и без этой защиты он выключил бы адсет на следующем прогоне в 15:30. С паузой после ручного изменения 24 часа правило не тронет статус адсета до 15:00 следующего дня.
Допустимое отставание данных
Перед каждым прогоном правило проверяет, насколько свежие данные расходов Facebook и конверсий трекера по кабинету. Если они старше порога, прогон пропускается целиком — лучше не действовать, чем действовать по устаревшему расходу.
Причины пропуска, которые видны в журнале: «Ни один профиль не синхронизирует кабинет», «Синхронизация Facebook упала на всех профилях», «Расходы Facebook ещё не синхронизировались», «Синхронизация расходов Facebook отстаёт», «Свежесть конверсий трекера неизвестна», «Конверсии трекера отстают».
Чтобы узнавать о таких пропусках сразу, включите событие «Устаревшие данные» в «Уведомлять о событиях» (по умолчанию включены только «Действия» и «Ошибки»).
Совет. Для стоп-лосса держите порог 60–90 минут: решение «слил без депозитов» по расходу трёхчасовой давности опаснее пропуска. Для правил с окнами «вчера» и «N полных дней» порог можно поднять.
Лимит бюджета кабинета
Потолок суммы дневных бюджетов всех активных CBO-кампаний и ABO-адсетов кабинета. Проверяется при повышении дневного бюджета и при включении объекта правилом, у которого задан лимит. Если места меньше, чем просит действие, повышение урезается до остатка; места нет — действие пропускается. Подробный пример — в статье «Действия».
Важно. Лимит задаётся в правиле и действует только на его действия. Ручные повышения и правила без лимита он не сдерживает. Если несколько скейл-правил работают на одном кабинете, задайте лимит в каждом.
Приоритеты и конфликты правил
Приоритет задаётся на шаге «Название и кабинеты»: число от 1 до 100, по умолчанию 50. Подсказка в конструкторе: «при конфликте правил одного кабинета побеждает больший приоритет; пауза всегда сильнее повышения бюджета».
Правила одного кабинета, которым пора запускаться, обрабатываются вместе, и конфликты между ними решаются так:
Пауза сильнее всего. Пауза побеждает включение и повышение бюджета независимо от приоритета.
Постоянная пауза сильнее паузы до конца дня — даже если у правила с паузой до конца дня приоритет выше. Иначе объект включился бы в 00:00 вопреки правилу, которое хотело выключить его насовсем.
Дальше — по приоритету. Статус объекта меняет одно правило — с большим приоритетом. Бюджет объекта (каждый вид бюджета) тоже меняет одно правило — с большим приоритетом.
Кто занял статус, тот занял объект. Если правило с большим приоритетом ставит объект на паузу или включает его, бюджетные действия правил с меньшим приоритетом по этому объекту пропускаются.
При равном приоритете побеждает правило, созданное раньше.
Пропущенное не мешает. Действие, отклонённое защитой или лимитом, объект не занимает: например, пауза, которая ждёт окончания перерыва, не блокирует чужое повышение бюджета.
Уведомления не конфликтуют ни с чем.
Тестовые правила не мешают боевым. Правило в режиме Dry-run ничего не занимает. Его симуляция считается вместе со всеми боевыми правилами кабинета, поэтому журнал теста показывает, что было бы с учётом боевых правил. Тестовые правила друг с другом не конфликтуют.
В журнале проигравшее действие помечается «Пропущено: конфликт с другим правилом» с причиной и ссылкой «Победило правило …».
Сценарии: правило А (приоритет 80) и правило Б (приоритет 30) на одном адсете
Правило А (80) | Правило Б (30) | Что произойдёт | Причина у проигравшего |
|---|---|---|---|
Бюджет +20 % | Пауза | Пауза Б | А: «Пауза важнее этого действия» |
Пауза до конца дня | Пауза (постоянная) | Постоянная пауза Б, включения в 00:00 не будет | А: «Другое правило ставит объект на паузу насовсем» |
Пауза | Пауза | Пауза А | Б: «Статус меняет правило с более высоким приоритетом» |
Дневной бюджет +20 % | Дневной бюджет −30 % | Повышение А | Б: «Бюджет меняет правило с более высоким приоритетом» |
Дневной бюджет −30 % | Пауза | Оба: пауза и снижение бюджета | — |
Пауза | Дневной бюджет −30 % | Только пауза А | Б: «Объект ставит на паузу или включает правило с более высоким приоритетом» |
Включить | Бюджет +20 % | Только включение А | Б: «Объект ставит на паузу или включает правило с более высоким приоритетом» |
Включить | Пауза | Пауза Б | А: «Пауза важнее этого действия» |
Пауза, но по объекту ещё идёт перерыв после действия | Бюджет +20 % | Повышение Б | А: «Пропущено: пауза между действиями» |
Уведомить | Пауза | Оба: пауза и уведомление | — |
Пауза, режим Dry-run | Бюджет +20 %, режим Live | Повышение Б выполняется в Facebook; у А в журнале «Симуляция (dry-run)» — в бою пауза победила бы | — |
Бюджет +20 %, приоритет 50, создано раньше | Бюджет −30 %, приоритет 50 | Повышение А | Б: «Бюджет меняет правило с более высоким приоритетом» |
Важно. Конфликты решаются между правилами, которые запускаются по кабинету в одном прогоне. Если у правил разное расписание, каждое действует в свой прогон: скейл поднимет бюджет в 10:00, а стоп-лосс в 10:30 всё равно поставит адсет на паузу. От «пинг-понга» между правилами защищают перерыв после действия и лимит действий в сутки.
Совет. Задайте приоритеты осознанно: стоп-лоссам и kill-правилам — высокий (80–100), скейлу — средний (50), уведомлениям — любой. Тогда при любом совпадении расписаний защитные правила будут главнее.
Ручные изменения в Ads Manager: как правило их уважает
Байер всегда главнее правила. Вот что правило делает, чтобы не перетирать ручную работу:
Не включает выключенное человеком. Действие «Активен» включает объект, только если последнюю смену статуса сделало автоправило. Если объект выключили в Ads Manager, в Adset.pro или откатом — «Пропущено: недавняя ручная правка» с причиной «Статус изменили вручную». Ждать здесь бесполезно: правило не включит такой объект никогда, пока его снова не выключит какое-нибудь правило.
Ждёт после ручной правки. Пауза после ручного изменения (по умолчанию 24 часа) — отдельно для статуса и бюджета.
Сверяется с Facebook перед изменением. Если статус или бюджет поменялись между решением правила и отправкой изменения, действие пропускается: «Пропущено: объект изменился» («Статус изменился после решения» или «Бюджет изменился после решения»).
Не включает в 00:00 тронутое человеком. Если объект, поставленный на паузу до конца дня, вручную меняли или редактировали в Facebook после паузы, включение в 00:00 отменяется, а владелец правила получает уведомление.
Не откатывает поверх чужих изменений. Откат действия в журнале отклоняется, если после действия объект меняли человек или другое правило.
Учитывает ручные повышения в лимите роста. Лимит роста за сутки считается от бюджета на начало суток: если байер уже поднял бюджет вручную выше потолка, правило повышать не будет.
Правило узнаёт о ручных изменениях из синхронизации кабинета. Изменение, сделанное в Ads Manager между синхронизацией и действием правила, ловит сверка с Facebook перед отправкой.
Совет. Если вы часто правите бюджеты руками в первой половине дня, а правило скейлит по утрам, увеличьте паузу после ручного изменения или сдвиньте окно активности правила, чтобы не мешать друг другу.
