Проверка ответа на ставку OpenRTB
Найдите в ответе пропущенные поля, цены неверного типа и забытые макросы.
Проверка ответа на ставку работает полностью в браузере, поэтому ответы с настоящими идентификаторами сделок и ценами проверяются на вашем устройстве.
Проверить запрос ставки
Об инструменте Проверка ответа на ставку OpenRTB
Ответ на ставку — короткая половина диалога OpenRTB, и почти всё, что в нём ломается, ломается структурно, а не хитро: ставка без impid, которая ни к чему не привязана, цена, отправленная строкой, креатив, так и не назвавший домен рекламодателя, или уведомление о выигрыше, забывшее макрос цены аукциона и потому сообщающее неверную цену закрытия. Валидатор проходит по ответу так, как это сделала бы биржа, отделяя поля, требуемые спецификацией, от тех, что на практике отвергают покупатели и площадки.
Возможности
- Проверяет обязательные поля на уровне ответа, seatbid и ставки
- Ошибки, предупреждения и заметки разделены, у каждой свой путь JSON
- Проверка типов у цены, размеров, adomain и полей идентификаторов
- Учёт версии для mtype, появившегося в OpenRTB 2.6
- Отмечает уведомления о выигрыше без макроса цены и небезопасные URL
- Проверяет ответы без ставки и их коды nbr
- Находит повторяющиеся идентификаторы ставок и несколько ставок на один показ
- Справочные таблицы причин отказа и типов носителя
Как использовать Проверка ответа на ставку OpenRTB
- Вставьте JSON, который вернул ваш биддер
- Выберите версию протокола, на которой работает биржа
- Сначала устраните ошибки, затем предупреждения
- По пути JSON у каждой находки отыщите нужную ставку
Пример
Ввод
{ "id": "1", "seatbid": [{ "bid": [{ "id": "b1", "impid": "1", "price": "2.15" }] }] }
Результат
error seatbid[0].bid[0].price — price has to be a number, not a string
Цена в кавычках — самая частая причина, по которой ставку молча отбрасывают.
Частые ошибки и устранение неполадок
- Здесь ставка корректна, а биржа всё равно её отбрасывает. — Биржи добавляют собственные требования: знакомый идентификатор seat, категории из конкретной таксономии или уже одобренный креатив.
- Предупреждение об adomain для собственной рекламы. — Заполните его всё равно. Площадки блокируют по домену рекламодателя, и без него ставку часто отбрасывают раньше всего остального.
- mtype отмечается на интеграции 2.5. — Он появился в OpenRTB 2.6, и биржа на 2.5 его игнорирует. Переключите версию на ту, что реально используется.
- Пустой массив seatbid даёт лишь предупреждение. — Потому что это допустимо, но бесполезно. Чисто отказаться можно кодом HTTP 204 или ответом с кодом nbr.
Часто задаваемые вопросы
- Какие поля обязательны в ответе на ставку OpenRTB?
- В ответе нужен id, повторяющий идентификатор запроса. В каждой ставке нужны id, impid, соответствующий показу, цена и креатив в виде adm или nurl.
- Что означает поле nbr?
- Причина отказа от ставки. Это целочисленный код, поясняющий, почему ставки не было: 2 — некорректный запрос, 8 — неизвестный пользователь.
- Зачем в nurl нужен макрос AUCTION_PRICE?
- Потому что при выигрыше биржа подставляет туда цену закрытия. Без макроса уведомление уходит без цены, и в логах остаётся ставка, а не фактическая оплата.
- Чем adm отличается от nurl?
- adm несёт креатив прямо в ответе, а nurl — это адрес, по которому биржа заберёт его при выигрыше. Сегодня чаще используют встроенный вариант.
- Заменяет ли mtype что-то из 2.5?
- Он делает явным то, что раньше выводилось. В 2.5 тип носителя определялся объектом показа, что ломалось на мультиформатных показах.
Связанные инструменты
- Валидатор OpenRTB — Проверьте bid request OpenRTB 2.5 и 2.6 по правилам IAB в браузере.
- Генератор OpenRTB — Соберите корректный bid request OpenRTB 2.5 или 2.6 из простой формы.
- Enum OpenRTB — Ищите перечислимые списки OpenRTB 2.x — каждый код с его значением.
- Валидатор VAST — Проверьте VAST XML по правилам IAB прямо в браузере.
- Генератор Prebid — Соберите конфиг ad unit Prebid.js и сниппет pbjs.addAdUnits().
- Сборщик schain — Соберите и проверьте объект IAB SupplyChain для OpenRTB.
Все инструменты ArrayKit