🐛 Виправлення
·
Автоправила більше не сліпнуть: статуси кампаній синкаються повністю і чесно
Закрито діру, через яку частина активних кампаній була невидимою для pause-правил — синк статусів упирався в перші 500 кампаній кабінету, а інструменти активації не оновлювали локальний статус.
Знайдено і закрито серйозну діру в захисті автоправилами.
Що було не так. Pause-правила пропускають кампанії, які за локальною базою
стоять на паузі — щоб не смикати Meta даремно. Але сам локальний статус
оновлювався з дірами:
- Періодичний синк статусів читав лише перші 500 кампаній кабінету. У великих кабінетах старіші кампанії випадали з синка назавжди — їхній локальний статус замерзав.
- Частина інструментів активації (дотест-карусель, кнопка «Включити адсети», авто-активація торгового вікна, activate-правила) вмикала кампанії в Meta, але не оновлювала локальний статус.
У результаті кампанія могла бути реально увімкненою і витрачати бюджет, а для
pause-правил — «на паузі», тобто повністю поза захистом. Мовчки, без жодного
сліду в логах. На момент виявлення в такому стані було 66 кампаній.
Що тепер:
- Синк статусів тягне з Meta повний список активних кампаній і адсетів (з фільтром і пагінацією — ліміту 500 більше не існує) і виставляє статус чесно: кампанія вважається робочою лише коли вона увімкнена і має хоча б один увімкнений адсет.
- Усі інструменти активації одразу оновлюють локальний статус — кампанія видима правилам з першої секунди, не чекаючи наступного синка.
- Страховка в самих правилах: якщо кампанія за базою «на паузі», але має свіжі витрати за останні години — кешу не віримо і правила її оцінюють.
Статуси всіх кампаній у базі разово перезвірено з Meta.