Как я автоматизировал оптимизацию по ROI сотен кампаний в десяти крупных рекламных сетях
Крупное международное рекламное агентство вело несколько сотен кампаний в различных сетях. Качество размещений со временем ухудшалось, появлялись новые неэффективные площадки, в том числе с накрученным трафиком. Байеры тратили несколько часов в неделю на ручные проверки, но не успевали предотвращать потери. Я разработал оптимизатор, который использует данные сетей, трекера и систем аналитики агентства и применяет правила байеров гораздо чаще и быстрее, чем это возможно вручную.
- Заказчик
- Крупное международное рекламное агентство; система для собственной команды байеров
- Моя роль
- От изучения работы байеров до архитектуры, разработки, запуска и обучения пользователей
- Масштаб
- Автоматическая оптимизация нескольких сотен кампаний в различных рекламных сетях
- Статус
- Применяется в работе агентства и продолжает развиваться
Команда агентства вручную проверяла сотни кампаний в разных рекламных сетях. Неэффективные площадки и накрученный трафик успевали расходовать бюджет между проверками, хотя байеры посвящали этой работе несколько часов в неделю.
Изучил сценарии байеров и разработал оптимизатор от прототипа до системы для сотен кампаний. Интегрировал сети, трекер и системы аналитики агентства, обучил команду и помог перенести существующие кампании и настроить правила.
Рентабельность кампаний улучшилась, многие вышли в плюс. Особенно заметным оказался эффект для недавно запущенных кампаний. Автоматическое отключение неэффективных сегментов освободило время байеров, а система стала основой дальнейшей автоматизации.
Почему ручного контроля было недостаточно
Крупное международное рекламное агентство вело одновременно несколько сотен кампаний в разных рекламных сетях. В каждой кампании было множество площадок, и качество размещений менялось: одни со временем переставали окупаться, другие только появлялись и нуждались в проверке. Среди новых площадок попадались источники накрученного трафика: они расходовали бюджет, но не приводили клиентов.
Байеры находили и отключали неэффективные размещения вручную. На это уходило несколько часов в неделю, но потери сохранялись. Пока специалист разбирался с одними кампаниями, неэффективные площадки в других продолжали тратить бюджет. Оперативно проверять вручную весь объём кампаний и мест показа команда не могла.
При этом неэффективной могла быть не вся кампания, а отдельные сегменты: площадки, гео, устройства или их сочетания. Их своевременное отключение по ключевым показателям позволяло повысить рентабельность кампании и продолжить её, не закрывая целиком.
Проект предложили сами байеры. Им был нужен инструмент, который возьмёт на себя повторяющиеся проверки и поможет улучшить финансовые результаты рекламы.
Как рабочие процессы стали основой архитектуры
Первым этапом стали интервью с байерами. Я выяснял, как они оценивают кампании, по каким правилам принимают решения и когда отступают от общих условий. Одновременно составил список источников трафика агентства, чтобы определить необходимые интеграции и учесть особенности API рекламных сетей.
Опираясь на эти данные, я спроектировал систему, создал прототип, затем MVP и подготовил решение к обработке сотен кампаний. Моя работа включала изучение задачи, проектирование архитектуры, разработку, запуск, отладку и обучение команды.
Два способа настроить оптимизацию
Для подключения кампании байер может выбрать один из двух вариантов.
- Индивидуальные правила. Конструктор позволяет начать с простых условий и выстроить оптимизацию для конкретной кампании с учётом гео, устройств и других параметров.
- Готовый шаблон. Байер задаёт шаблон с нужным показателем. Новые кампании при запуске автоматически подключаются к оптимизатору, который обрабатывает их по заданным правилам.
Система принимает решения на основе данных рекламной сети, трекера и систем аналитики, используемых агентством. Если размещение или сегмент расходует бюджет без нужной отдачи, оптимизатор отключает его согласно настроенным условиям. Логика остаётся за байером, а система выполняет проверки и действия значительно чаще и быстрее, чем это возможно вручную.
Как система учитывает API и логику байеров
Работа с запаздывающей статистикой и сбоями
Рекламные сети предоставляли API разного качества: у одних статистика поступала с задержкой, у других периодически возникали ошибки в ответах. Для автоматической оптимизации это важное ограничение. Решение по устаревшим данным может отключить эффективную площадку и оставить работающей убыточную.
Я наблюдал за работой каждой интеграции, искал причины сбоев в коде и дорабатывал обработку с учётом особенностей сети. Задача не ограничивалась подключением API: нужно было учитывать фактическое поведение каждого источника данных.
Ускорение проверок в пределах лимитов
За время между проверками неэффективные размещения продолжают расходовать деньги. При сотнях кампаний скорость обработки напрямую влияет на то, насколько быстро система сможет их отключить. Я организовал параллельное выполнение задач с учётом ограничений каждой сети на число запросов.
Общая настройка для всех интеграций здесь не подходила. Для каждой сети я отдельно подбирал степень параллельности, чтобы сократить интервалы между проверками и при этом не превысить допустимую нагрузку на API.
Учёт списков, исключений и отдельных сегментов
Байеры не принимали все решения по единственному порогу эффективности. Они использовали чёрные и белые списки площадок, разные сценарии ведения кампаний, отдельные условия для гео, устройств и других параметров.
Я разобрал эти сценарии на интервью и заложил их в бизнес-логику. Система должна была последовательно выполнять правила специалистов, а не заменять их подход упрощённым алгоритмом. При этом автоматизация позволяла проверять кампании гораздо чаще, чем команда успевала вручную.
Переход к ежедневной работе и результаты
После разработки я помог команде включить инструмент в повседневную работу: обучил байеров, участвовал в переносе существующих кампаний и настройке правил. Операции переноса, доступные для программного выполнения, автоматизировал. В итоге команда смогла самостоятельно управлять сотнями кампаний через оптимизатор.
При запуске новой кампании байеру достаточно включить оптимизацию по заранее настроенным правилам или шаблону. Финансовые показатели улучшились, многие кампании вышли в плюс. Наиболее заметный эффект получили на новых кампаниях, но рентабельность повысилась и у тех, которые работали давно.
В старых кампаниях автоматические проверки тоже востребованы: там продолжают появляться новые размещения, включая источники накрученного трафика. При ручном контроле они тратили бюджет до следующей проверки. Система выявляет и отключает такие площадки по условиям, заданным байером.
Своевременное отключение неэффективных площадок, гео, устройств и других сегментов улучшало рентабельность кампаний и позволяло не закрывать их целиком. Кроме того, у байеров освободились часы, которые прежде уходили на повторяющиеся проверки.
Агентство использует и развивает систему. На её основе строится дальнейшая автоматизация управления рекламными кампаниями.
Для этого же агентства я также разработал антифрод рекламного трафика для оценки каждого перехода и конструктор лендингов, с помощью которого байеры собирают страницы без изменения кода. Выводы, которые могут быть полезны другим рекламным командам, изложены в статье об автоправилах для рекламы.
- При десятках или сотнях кампаний в разных сетях повторяющиеся ручные проверки занимают у специалистов часы каждую неделю.
- Неэффективные размещения продолжают расходовать бюджет, пока команда не успеет их проверить и отключить.
- Опыт байеров нужно превратить в правила системы, сохранив исключения, особенности гео, устройств и другие условия.
- Для обоснованных решений необходимо объединить данные рекламных кабинетов, трекера и используемых систем аналитики.
Нужно решить похожую задачу?
Пришлите описание ситуации, ТЗ и другие материалы, если они есть. Если нет, достаточно нескольких предложений. Предложу подход к задаче и объясню, с чего стоит начать.
Обсудить вашу задачу