Как за один день уронить доход сайта на 45% и причём здесь минимальная цена за показ рекламы

Машинное обучение в AdTech с каждым годом используется всё чаще, им пользуемся в том числе и мы в Roxot. Однако системы с машинным обучением — это только инструмент: без постоянного управления человеком даже самая «умная» система не будет эффективно работать. А где есть человек, там есть и ошибки.

Время от времени в нашей работе, как и у всех, случаются косяки: не ошибается только тот, кто ничего не делает. Об одной из недавних ошибок я хочу рассказать здесь: во-первых, она глупая; во-вторых, эта ошибка красноречиво демонстрирует, как алгоритмы рекламных сетей могут адаптироваться под ваши настройки и к каким последствиям это может привести.

Что произошло

Чуть больше месяца назад, 23 июня, в нашей системе загорелись тревожные сигналы: на одном из сайтов eCPM упал на 32%. Название сайта здесь не важно.

Как за один день уронить доход сайта на 45% и причём здесь минимальная цена за показ рекламы

Падение eCPM на 32% довольно ощутимо, но ещё не настолько, чтобы мы сразу перешли к стадии «срочно надо что-то делать», да и цифры часто могут сильно скакать в течение дня. В тот же день наша команда провела быстрый анализ ситуации, который не выявил каких-то очевидных проблем: тогда решили дать рынку немного времени, чтобы восстановиться.

Как мы искали источник проблемы

В четверг, 24 июня, показатели к прежним не вернулись, поэтому мы начали детально искать ошибку, чтобы понять, в чём дело. Увидели, что на сайте упал только eCPM — остальные метрики оставались на привычном уровне. Подобное бывает редко, поскольку обычно eCPM коррелирует с показателями качества инвентаря: видимостью, кликабельностью и другими.

Например, если вы подключите к рекламному месту в самом верху страницы сайта слишком много рекламных сетей, то время загрузки блока увеличится. Это значит, что пользователи будут пролистывать страницу вниз до того, как наверху появится реклама: показатели видимости упадут, а алгоритмы рекламодателей могут отключить дорогие кампании. В итоге конкуренция за показы и их цена покатятся вниз. Всё логично.

Похожая схема работает и в обратную сторону: если поменять дизайн страницы и увеличить видимость рекламного объявления, цена за показ вырастет. Так, например: на другом нашем сайте 27 апреля мы изменили логику отправки запроса рекламы — стали это делать, когда пользователь начинает скролить страницу, а не сразу при загрузке контента. Видимость сразу выросла на 10%, а eCPM — на 15-25%.

<i>Как увеличились показатели рекламы после новых настроек</i>
Как увеличились показатели рекламы после новых настроек

Стало ясно, что если показатели видимости и CTR остались на прежнем уровне, а цена показа упала на треть, значит, что-то сильно поменялось: либо на рынке (могли завершиться крупные рекламные кампании), либо в наших настройках.

<i>Графики демонстрируют, что показатели видимости и CTR на сайте сильно не поменялись</i>
Графики демонстрируют, что показатели видимости и CTR на сайте сильно не поменялись

Рынок, конечно, находится в постоянной динамике, но такие падения eCPM, да ещё и в конце месяца — аномалия, поэтому от версии с отключением крупных рекламных кампаний мы отказались.

Решили проверить логи наших изменений: здесь мы обратили внимание, что во вторник вечером, 22 июня, перенастраивали систему выставления минимальных цен за показы. Когда это поняли, проверили несколько раз конфигурации: с ними мы работаем через код, поэтому падение eCPM могло быть связано с ошибкой в синтаксисе. Но и с ним всё было в порядке.

В чём в итоге была проблема

Нашли причину падения eCPM мы только в пятницу, 25 июня, — после 17 часов напряжённого анализа показателей и отчётов. Оказалось, что отправляемые системой значения минимальных цен за показы не совпадали с заданными значениями на нашем сервере, и поэтому изначально настроенная минимальная цена не применялась. То есть никакие price floor не работали.

Другими словами, без наших ограничений рекламодатели могли покупать показы по любой цене. В конкретно этом случае — на 30% дешевле.

Ниже график eCPM и Request CPM до и после нашей ошибки в настройке минимальной цены показа.

Request CPM — доход с 1 000 запросов рекламы.

Как за один день уронить доход сайта на 45% и причём здесь минимальная цена за показ рекламы

До 23 июня пороговые минимальные значения динамически выставлялись в диапазоне 15-45 рублей. Со следующего дня ограничений не было, поэтому Request CPM упал на 45% (если сравнивать показатели 21 и 23 июня). То есть, несмотря на то, что количество посетителей сайта и запросов рекламы не менялось, доход площадки за несколько суток упал практически в два раза.

Как за один день уронить доход сайта на 45% и причём здесь минимальная цена за показ рекламы

Как только мы обнаружили источник проблем, сразу вернули настройки флоров: буквально за сутки eCPM вырос на 47%, а Request CPM на 66%.

Выводы

Если вы не управляете ценовой стратегией, то отдаёте доход площадки в руки рекламных сетей, которые, в свою очередь, настроены на уменьшение цены конверсии для рекламодателей.

Чтобы этого не допустить, не забывайте про следующие шаги:

  • Формируйте индивидуальные минимальные цены за показы для разных форматов рекламы, поскольку единая настройка не будет эффективна ни для одного формата.
  • Увеличивайте или уменьшайте минимальное значение eCPM в зависимости от видимости и кликабельности блоков.
  • Ежедневно анализируйте основные показатели — Request CPM, Fill Rate, CPM — за предыдущий день и адаптируйте стратегию минимальных цен за показ рекламы под изменения рынка.
  • Тестируйте разные стратегии одновременно, разделяя трафик на равные части.
  • Сегментируйте пользователей и по-разному их оценивайте: например, пользователь с куками будет стоить дороже, а пользователю с медленным интернетом потребуется большая скорость загрузки рекламы.

Ошибками делиться не стыдно, главное — на них учиться.

20
9 комментариев