ibiza
CPM · CTR …
/

Win notice (nurl, burl, lurl): уведомления о выигрыше в OpenRTB

≈ 3 мин чтения · обновлено

Когда ставка DSP выигрывает аукцион, биржа сообщает об этом HTTP-запросом на URL из поля bid.nurl — это и есть win notice, уведомление о выигрыше. Перед вызовом в URL подставляются макросы, прежде всего цена списания ${AUCTION_PRICE}. Рядом спецификация OpenRTB описывает еще два уведомления: burl — об оплачиваемом показе и lurl — о проигрыше.

Три уведомления в OpenRTB

Поле Когда вызывается Что означает
nurl ставка выиграла аукцион выигрыш, но не обязательно показ
burl выигрыш стал оплачиваемым по правилам биржи обычно показ подтвержден — основание для списания
lurl биржа знает, что ставка проиграла проигрыш и его причина

burl и lurl появились в OpenRTB 2.5. До этого DSP приходилось считать оплату по nurl или по собственным пикселям показа.

Пример ответа DSP с уведомлениями

{
  "id": "req-81f2",
  "seatbid": [{
    "bid": [{
      "id": "b1",
      "impid": "1",
      "price": 64.0,
      "adm": "<div>…</div>",
      "nurl": "https://dsp.example/win?a=${AUCTION_ID}&i=${AUCTION_IMP_ID}&p=${AUCTION_PRICE}",
      "burl": "https://dsp.example/bill?a=${AUCTION_ID}&p=${AUCTION_PRICE}&c=${AUCTION_CURRENCY}",
      "lurl": "https://dsp.example/loss?a=${AUCTION_ID}&r=${AUCTION_LOSS}&m=${AUCTION_MIN_TO_WIN}"
    }]
  }],
  "cur": "RUB"
}

Биржа заменяет макросы значениями и вызывает URL. Например, при выигрыше по второй цене за 51,20 ₽ DSP получит:

GET /win?a=req-81f2&i=1&p=51.20 HTTP/1.1
Host: dsp.example

Цена в макросе — в CPM, как и ставка: за этот показ спишется 0,0512 ₽. Биржи часто шифруют цену; алгоритм стороны согласуют между собой, спецификация его не задает.

nurl как способ доставки креатива

Исторически nurl мог возвращать разметку креатива: DSP не передает adm в ответе, а отдает рекламу в ответ на уведомление о выигрыше. Если разметка есть и в adm, и в ответе на nurl, по спецификации приоритет у adm. Сегодня чаще передают adm сразу, а nurl используют только для учета.

Выигрыш, показ и списание — разные события

Между nurl и реальным показом много шагов: биржа отдает креатив выше по цепочке, SDK его загружает, пользователь должен увидеть экран. Часть выигрышей не превращается в показы. Поэтому:

  • деньги правильно считать по burl или подтвержденному показу, а не по nurl;
  • доля выигрышей и доля показов — разные метрики;
  • отчеты DSP, биржи и площадки расходятся, если стороны считают по разным событиям. Подробнее — в статье «Расхождения показов и биллинга».

Уведомления о выигрыше в Ibiza

Биржа Ibiza различает выигрыш и показ: для каждого источника трафика настраивается, учитывать выручку по выигрышу или только после пикселя, подтверждающего отрисовку креатива. Во втором режиме выигрыш без показа не превращается в списание. На стороне покупателя DSP Ibiza считает показ и списывает бюджет по собственному пикселю показа, а nurl и burl записывает отдельными событиями — почему эти цифры могут расходиться, разобрано в статье о расхождении показов с SSP. Какие макросы и трекеры поддерживаются в креативах — в документации о макросах и трекерах.

Ошибки при обработке уведомлений

  • Списывать бюджет по nurl. Расходы и биллинг расходятся с данными биржи на долю невыданных показов.
  • Не обрабатывать повторы. Уведомление может прийти дважды; учет должен быть идемпотентным по ${AUCTION_ID} и ${AUCTION_IMP_ID}.
  • Терять макросы при кодировании URL. Если ${AUCTION_PRICE} закодирован как %24%7BAUCTION_PRICE%7D, биржа его не заменит.
  • Путать единицы. Подставленная цена — в CPM, а не за один показ.

Полное описание объектов ответа — в статье про OpenRTB.

Частые вопросы

Чем nurl отличается от burl?

nurl вызывается, когда ставка выиграла аукцион, и не означает, что реклама показана. burl вызывается, когда выигрыш стал оплачиваемым по правилам биржи, обычно после подтвержденного показа.

Что подставляется в ${AUCTION_PRICE}?

Цена списания в той же валюте и единицах, что и ставка, то есть в CPM. На первой цене она обычно равна ставке, на второй — меньше. Биржа может передавать ее в зашифрованном виде.

Обязательно ли биржа вызывает lurl?

Нет. Уведомление о проигрыше — опциональная возможность; многие биржи его не поддерживают или поддерживают выборочно.