# Part 1
Продолжаем серию постов про внутрянку программатика. Сегодня мы рассмотрим, как работает SSP, а точнее порядок обработки запроса на ставки.
Все начинается, когда пользователь заходит на сайт с рекламным слотом. В этот момент паблишер трекает пришедшего пользователя и отправляет на Prebid Bid Request о том, что нужно проводить аукцион. В составе Bid Request паблишер также передает список партнерских SSP, которые могут биддить на слотах (или по-другому adUnits) на его сайте. Также в паблишер прикрепляет в запросе характерные для каждого SSP параметры.
bids: [{
bidder: 'appnexus',
params: {
placementId: 13144370
}
},
{
bidder: "adyoulike",
params: {
placement: "e622af275681965d3095808561a1e510"
}
}]
Далее также на браузере запрос обрабатывается кодом Prebid.js, который рассылает его по разным SSP через их соответствующие Bid Adapter'ы.
1️⃣ Placement Call
В момент, когда запрос приходит на SSP, тригерится первый внутренный ивент placementCall. SSP сервер принимает POST запрос на ставку.
Далее внутри SSP происходят различные проверки этого запроса, например
- SSP отправляет запрос на Double Verify для проверки сайта на MFA (Made For Advertising) и Brand Safety
- Запрос проверяется на наличие ошибок: adUnit not found, SDK deprecated, publisher blacklisted etc.
2️⃣ Bid Request Hydration
После то, как все проверки корректности запроса проведены, он обогащается данными о пользователе (геолокация, статы User Agent). Эти данные добываются разными способами: с помощью 1st/ 3rd party-cookie (как работают куки мы рассматривали в предыдущих постах раз, два), Google Privacy Sandbox, при запросе на третье-сторонние Data Management платформы вроде Exelate.
Также на этом этапе запускаются первые ML модели, которые предсказывают
-
P(bid | request) вероятность хотя бы одно бида в DSP аукционе при условии реквеста -
P(impression | ssp_hb_win) вероятность показа при условии победы SSP в Prebid аукционе3️⃣ DSP Bid Request
После того, как проверки и фильтры на стороне SSP пройдены запрос рассылается на DSP для ставки во внутреннем SSP аукционе. Предарительно SSP кастует запрос в стандартный формат Open RTB 2.5. Также SSP выставляет floor price, минимальную цены, ниже которой ставки не принимаются.
Здесь также запрашивается ML модель, которая предсказывает
P(bid_dsp_i != null & is_not_timeout) вероятность ставки от конкретного DSP. Это нужно, поскольку 95% RTB бид реквестов, отправляются в пустоту и не получают ответов от DSP. Таким образом экономятся ресурсы на HTTP запросы.#adtech