Bid Response
Bid Response (ответ на ставку) - это сообщение, которое DSP отправляет SSP или рекламной бирже в ответ на Bid Request в рамках RTB-аукциона. Оно содержит цену, по которой рекламодатель готов купить показ, а также информацию о рекламном креативе и параметрах показа.
Коротко: Это ответ рекламной платформы на запрос от площадки: "Я готов купить этот показ за такую-то цену, покажу вот такую рекламу". Всё происходит за доли секунды.
В экосистеме интернет-маркетинга и AdTech Bid Response представляет собой вторую ключевую фазу транзакции реального времени (после Bid Request). Весь цикл обмена сообщениями регламентирован стандартом OpenRTB, разработанным консорциумом IAB (Interactive Advertising Bureau).
Например, пользователь открывает новостной сайт. SSP отправляет Bid Request десяткам DSP. Одна из DSP вычисляет, что этот пользователь соответствует условиям рекламной кампании, и отправляет Bid Response с ценой 2.45 доллара за тысячу показов и HTML-кодом баннера. SSP выбирает победителя и передаёт код баннера для загрузки в браузере пользователя.
Место Bid Response в тайминге RTB-аукциона
[править]Процесс генерации и обработки Bid Response происходит за доли секунды, пока пользователь открывает страницу сайта или мобильного приложения. Весь цикл обычно занимает менее 100-150 миллисекунд. Если DSP не успевает доставить ответ в этот тайм-аут, её ставка автоматически аннулируется (Timeout Error).
Схема взаимодействия:
- Пользователь загружает страницу.
- Сайт (или SSP) отправляет Bid Request в DSP.
- DSP анализирует данные, выбирает креатив и отправляет Bid Response.
- SSP выбирает максимальную ставку и передаёт креатив для рендеринга.
Структура и ключевые поля Bid Response (по стандарту OpenRTB)
[править]Сообщение Bid Response передаётся в формате JSON. Оно имеет строгую иерархическую структуру, где верхний уровень описывает общие параметры ответа (ID аукциона, валюту), а внутренние объекты (Seatbid и Bid) содержат коммерческую и техническую информацию.
Основные объекты и параметры:
- id (string, обязательно). Уникальный идентификатор исходного Bid Request. Используется SSP для сопоставления запросов и ответов.
- cur (string). Валюта ставки. Обычно USD, но локальные DSP в РФ могут использовать RUB.
- seatbid (array, обязательно). Массив объектов, группирующий ставки от конкретного покупателя.
- bid (array, обязательно). Массив конкретных ставок.
- id (string). Уникальный ID ставки для внутреннего трекинга.
- impid (string, обязательно). Идентификатор рекламного места из Bid Request.
- price (float, обязательно). Размер ставки (обычно CPM - стоимость за 1000 показов).
- adm (string). Рекламный креатив или инструкция по его загрузке (HTML-код, VAST-ссылка для видео, JSON для нативной рекламы).
- adid (string). Идентификатор креатива в базе DSP.
- nurl (string). URL уведомления о победе (Win Notice URL).
- burl (string). URL уведомления о биллинге (Billing Notice URL).
- iurl (string). URL статичного изображения-превью креатива для модерации.
- adomain (array). Домен рекламодателя (например, ["brand.ru"]). Используется для фильтрации.
Пример упрощённого JSON-кода Bid Response:
{
"id": "80ce30c53c16e6ede735f123ef6e32361bfc7b22",
"cur": "USD",
"seatbid": [
{
"bid": [
{
"id": "1",
"impid": "ad_spot_frontend_top",
"price": 2.45,
"adid": "v_shampoo_campaign_334",
"nurl": "http://dsp-engine.com/win?price=${AUCTION_PRICE}",
"adm": "<script src='https://dsp-engine.com/creative.js'></script><a href='https://brand.ru'><img src='https://dsp-engine.com/banner.jpg' width='300' height='250'/></a>",
"adomain": ["brand.ru"]
}
]
}
]
}
Виды Bid Response и специфика по типам инвентаря
[править]В зависимости от формата закупаемой рекламы, структура поля adm (Ad Markup) меняется:
| Формат рекламы | Что содержится в поле adm | Стандарт IAB |
|---|---|---|
| Дисплейный баннер | HTML-код, iFrame или JavaScript-тег | OpenRTB Core |
| Видеореклама (In-Stream/Out-Stream) | XML-документ или ссылка на VAST-файл | VAST / VPAID / OMID |
| Нативная реклама | JSON-структура с заголовком, текстом, ссылками | OpenRTB Native |
| Аудиореклама | XML-структура со ссылкой на аудиофайл | DAAST / VAST Audio |
Алгоритм генерации Bid Response на стороне DSP
[править]Когда DSP получает Bid Request, внутри её инфраструктуры (Bidder-модуля) за миллисекунды разворачивается сложная цепочка вычислений:
- Парсинг и фильтрация. Система разбирает запрос. Если параметры пользователя или площадки не подходят ни под одну активную кампанию, DSP мгновенно отправляет пустой ответ (HTTP 204 No Content, No Bid).
- Поиск совпадений (Targeting Matching). Скоринг-движок ищет кампании, таргетинги которых соответствуют сигналам из запроса. Если найдено несколько, проводится внутренний аукцион DSP.
- Оценка ценности. Модели машинного обучения прогнозируют вероятность клика (pCTR) или конверсии (pCVR). На основе этого рассчитывается оптимальная цена.
- Коррекция ставки (включая Bid Shading). Если в DSP включён алгоритм сглаживания ставок (на аукционах первой цены), исходная цена корректируется.
- Сборка пакета. Подставляются ссылки на трекеры, макросы учета цены (например, ${AUCTION_PRICE}), формируется итоговая JSON-строка и отправляется обратно в SSP.
Возможные варианты ответа DSP
[править]| Ответ DSP | Что означает |
|---|---|
| Полноценный Bid Response | DSP участвует в аукционе |
| HTTP 204 No Content (No Bid) | DSP не заинтересована в показе |
| Ошибка (HTTP 5xx, 4xx) | Техническая ошибка, ответ не принят |
| Просроченный ответ (Timeout) | DSP не уложилась в тайм-аут, ставка отклонена |
Ошибки, аномалии и безопасность
[править]Процесс передачи Bid Response подвержен техническим сбоям и фроду, за минимизацию которых отвечают инженеры AdTech-платформ.
Основные технические проблемы:
- Тайм-ауты (Timeouts). Из-за сетевых задержек между дата-центрами ответ приходит слишком поздно. Медиабайер теряет качественный трафик.
- Ошибки макросов (Macro Parsing Error). Если SSP не смогла корректно подставить цену в макрос ${AUCTION_PRICE}, DSP не сможет правильно посчитать ROI кампании.
- Вредоносная реклама (Malvertising). Злоумышленники могут внедрить в поле adm вредоносный JavaScript-код. SSP используют специальные сканеры (The Media Trust, Confiant), чтобы блокировать такие Bid Responses.
- Несоответствие спецификациям. Например, SSP запрашивала баннер 300x250, а DSP прислала видео-креатив. В этом случае SSP отклоняет ставку.
Роль для интернет-маркетолога
[править]Хотя рядовой интернет-маркетолог или таргетолог не пишет JSON-код вручную, понимание логики Bid Response критически важно при:
- Настройке кастомных трекеров. Чтобы понимать, как передавать динамические параметры в свои аналитические системы (AppsFlyer, Adjust, Яндекс Метрика).
- Оптимизации programmatic-закупок. Оценка соотношения отправленных ответов к выигранным (Bid-to-Win Rate - отношение количества отправленных Bid Response к числу выигранных аукционов) помогает понять, насколько конкурентоспособны креативы и ставки компании на рынке.
Часто задаваемые вопросы
[править]Что такое Bid Response простыми словами?
[править]Это ответ рекламной платформы на запрос от площадки: "Я готов купить этот показ за такую-то цену, покажу вот такую рекламу". Всё происходит за доли секунды.
Чем Bid Response отличается от Bid Request?
[править]Bid Request - это запрос от площадки (SSP) к рекламным платформам (DSP) с предложением участвовать в аукционе за показ. Bid Response - это ответ DSP с ценой и рекламным креативом.
Что такое тайм-аут в RTB?
[править]Это лимит времени, за который DSP должна ответить на Bid Request. Обычно 100-150 мс. Если DSP не успевает, её ставка не участвует в аукционе.
Что означает ошибка макроса ${AUCTION_PRICE}?
[править]Это специальная метка в URL уведомления о победе, которую SSP заменяет на финальную цену, по которой был куплен показ. Если подстановка не работает, DSP не может корректно отслеживать стоимость показов.
