В этом руководстве рассматривается интеграция OpenRTB 2.5 (включая макросы) и нативной рекламы с авторизованными покупателями. Он также описывает каждое поле в прототипе расширений OpenRTB Authorized Buyers .
Дополнительные сведения о прототипах OpenRTB см. в файле прототипов OpenRTB . Расширения авторизованных покупателей см. в файле буфера протокола расширений OpenRTB.
Реализация OpenRTB для авторизованных покупателей доступна в двух похожих форматах.
- JSON
- Protobuf : файл определения
.proto
можно использовать для декодирования сообщения.
Эта страница служит справочным материалом для реализации Google OpenRTB и основана на протоколе Protobuf. Мы рекомендуем пользователям OpenRTB JSON также обратиться к официальной спецификации OpenRTB для получения дополнительной информации о том, как эти поля заполняются в протоколе JSON.
Рекомендации по интеграции
Структура этого документа
В приведенных ниже таблицах содержатся определения объектов, в том числе имя объекта, требуется ли он в запросе ставки или ответе на ставку, его эквивалент в protobuf для ставок в режиме реального времени для авторизованных покупателей , а также некоторые детали реализации.
Также обратите внимание, что:
- Поле
cid
представляет платежный идентификатор, указанный в настройках предварительного таргетинга. Это поле используется для привязки ставки кbilling_id
, отправленному в запросе ставки. Если в запросе более одногоcid
/billing_id
или у вас есть активные дочерние места, в ответе необходимо указать предполагаемыйcid
. Если в запросе указано только одно место и у вас нет активных дочерних мест, это значение будет принято в ответе. - Имена в разделах ниже соответствуют OpenRTB для простоты.
- В запросе будут заполнены все поля, если они доступны. Мы никогда не будем передавать нулевые значения или пустые строки.
- Типы и описания из OpenRTB не включены в таблицы ниже; обратитесь к прото-файлу OpenRTB .
- В запросах ставок, закодированных в формате JSON, все поля с типом int64 или fixed64 ниже будут отправлены в виде строк, чтобы предотвратить потерю точности для 64-битных целочисленных значений.
- Протокол OpenRTB JSON представляет все
bool
поля в запросе как целые числа, где0
означаетfalse
, а1
—true
. Этого требует спецификация OpenRTB.
Подсчет показов и использование макросов
Чтобы ограничить расхождения, мы рекомендуем использовать поле BidResponse.seatbid[].bid[].ext.impression_tracking_url
для всего инвентаря, включая нативный.
Покупателям следует удалить пиксели отслеживания показов из креатива (разметка объявления) и вместо этого включить поле impression_tracking_url
(массив строк) в ответ на запрос ставки. В OpenRTB 2.5 также можно использовать BidResponse.seatbid[].bid[].burl
. impression_tracking_url
срабатывает, когда показ считается оплачиваемым. Это обеспечивает большую точность, чем пиксели отслеживания, которые могут отслеживать показы, которые из-за предварительной выборки были получены приложением, но так и не были обработаны. Используйте зашифрованный макрос %%WINNING_PRICE%%
для этого поля или макрос ${AUCTION_PRICE}
.
Вот список макросов, поддерживаемых impression_tracking_url
и burl
:
-
${AUCTION_ID}
- идентификатор запроса ставки; из атрибутаBidRequest.id
. -
${AUCTION_BID_ID}
- идентификатор ставки; из атрибутаBidResponse.bidid
. -
${AUCTION_IMP_ID}
- идентификатор только что выигравшего показа; из атрибутаBidRequest.imp[].id
. -
${AUCTION_SEAT_ID}
- ID места участника торгов, на которое была сделана ставка; из атрибутаBidResponse.seatbid[].seat
. -
${AUCTION_AD_ID}
– идентификатор рекламной разметки, которую хочет показывать участник торгов; из атрибутаBidResponse.seatbid[].bid[].adid
. -
${AUCTION_PRICE}
– клиринговая цена в той же валюте и единицах, что и ставка. Обратите внимание, что в настоящее время этот макрос не поддерживается в объявлениях AMP.
Реализация Google OpenRTB шифрует AUCTION_PRICE
так же, как макрос WINNING_PRICE
протокола авторизованных покупателей. Для получения дополнительной информации о том, как расшифровать цену, обратитесь к руководству по расшифровке подтверждений цены .
Миграция на Protobuf
Кодирование Protobuf намного эффективнее с точки зрения пропускной способности и обработки, и поэтому рекомендуется. Переход на Protobuf тривиален, поскольку оба формата имеют совпадающие поля.
При переходе с JSON на Protobuf убедитесь, что поле cid
настроено как строка в ответе заявки. Мы используем это поле, чтобы связать ставку с вашим billing_id
в рамках вашего предварительного таргетинга. Если это не читабельно, мы не примем предложение.
Поддержка VAST и видео
По умолчанию мы поддерживаем URL-адреса SSL, а не полный XML для объявлений VAST. Однако участники аукциона Exchange могут вернуть полный встроенный VAST, и для всех учетных записей можно включить эту функцию, обратившись в службу поддержки вашей учетной записи.
Обратите внимание, что в OpenRTB 2.4 и более поздних версиях, если video.skip=1
, покупатели могут делать ставки с видеообъявлениями без возможности пропуска или с возможностью пропуска. Мы рекомендуем выбрать опцию « Пропустить исправление» во время настройки учетной записи, поскольку в OpenRTB не делается различий между ALLOW_SKIPPABLE
и REQUIRE_SKIPPABLE
.
Неподдерживаемые поля
Поле Nurl
в настоящее время не поддерживается, но поддерживается impression_tracking_url
, как и Bid.burl
в OpenRTB 2.5: см. комментарии выше .
Нет ставки
Если клиент не хочет участвовать в торгах, клиент должен ответить кодом 204
.
перечисления
Все перечисления можно найти в официальной документации по OpenRTB 2.5 и Native ads .
Обратите внимание, что MRAID-1 является подмножеством MRAID-2. В OpenRTB 2.1 и более ранних версиях значение 3
было MRAID
. Однако не все API-интерфейсы с поддержкой MRAID понимают функции MRAID-2, поэтому единственной безопасной интерпретацией значения 3
является MRAID-1. В OpenRTB 2.2 это было сделано явно, и MRAID-2 был добавлен как значение 5
.
Проверка версии OpenRTB
- OpenRTB/JSON
-
x-openrtb-version
присутствует и содержит версии 2.2, 2.3, 2.4 или 2.5.Content-Type
этоapplication/json
.charset
=utf-8
. - OpenRTB/Protobuf
-
x-openrtb-version
присутствует и содержит версии 2.3, 2.4 или 2.5.Content-Type
— этоapplication/octet-stream
.
Переменные запроса ставки и определения
Запрос
Объект запроса ставки верхнего уровня содержит глобально уникальный идентификатор запроса ставки или аукциона. Этот атрибут ID обязателен, как и хотя бы один объект Imp (показ). Другие атрибуты в этом объекте верхнего уровня устанавливают правила и ограничения, которые применяются ко всем предлагаемым показам.
Также есть несколько подчиненных объектов, предоставляющих подробные данные потенциальным покупателям. Среди них объекты Site
и App
, которые описывают тип опубликованных медиа, в которых появляются показы. Эти объекты настоятельно рекомендуются, но только один из них применяется к данному запросу ставки в зависимости от того, является ли медиа веб-контентом на основе браузера или небраузерным приложением соответственно.
Атрибут | Всегда проходил | Тип | Авторизованный Покупатели эквивалент | Поддерживается | Детали реализации | |
---|---|---|---|---|---|---|
в версии | от Google | |||||
id | Да | нить | BidRequest.id | 2.3 2,4 2,5 | Уникальный идентификатор запроса ставки, предоставленный биржей. OpenRTB является веб-безопасным base64 (без отступов). | |
imp | Да | Массив объектов Imp | BidRequest.AdSlot | 2.3 2,4 2,5 | Представление предлагаемых впечатлений. Требуется как минимум 1 объект | |
site | Нет | Объект Site | Запрос ставки | 2.3 2,4 2,5 | Подробности на сайте издательства. Применимо и рекомендуется только для веб-сайтов. Один раз с | |
app | Нет | Объект App | Запрос ставки BidRequest.Mobile | 2.3 2,4 2,5 | Подробная информация о приложении издателя. (не браузерные приложения). Применимо и рекомендуется только для приложений. Один раз с | |
device | Нет | Объект Device | BidRequest.Mobile, BidRequest.Device | 2.3 2,4 2,5 | Подробная информация об устройстве пользователя, на которое будет доставлен показ. | |
regs | Нет | Regs объект | 2.3 2,4 2,5 | Указывает любые отраслевые, правовые или государственные нормы, действующие для этого запроса. | ||
user | Нет | User объект | Запрос ставки | 2.3 2,4 2,5 | Подробная информация о человеке-пользователе устройства; рекламная аудитория. | |
at | Нет | Объект AuctionType | BidRequest.auction_type | 2.3 2,4 2,5 | где 1 = первая цена, 2 = вторая цена плюс. Типы аукционов для конкретных бирж можно определить, используя значения > 500. По умолчанию = SECOND_PRICE. | |
tmax | Нет | int32 | от 80 до 1000 мс | 2.3 2,4 2,5 | Максимальное время в миллисекундах для подачи заявки, чтобы избежать тайм-аута. Это значение обычно передается в автономном режиме. | |
wseat | Нет | нить | Не поддерживается | 2.3 2,4 2,5 | Белый список мест покупателей (например, рекламодателей, агентств), которым разрешено делать ставки на этот показ. Идентификаторы мест и знание клиентов покупателя, к которым они относятся, должны быть согласованы между участниками торгов и биржей априори. Пропуск означает отсутствие ограничений по количеству мест. | |
allimps | Нет | логический | Не поддерживается | 2.3 2,4 2,5 | Параметр, указывающий, может ли Exchange проверять, что предлагаемые показы представляют все показы, доступные в контексте (например, все на веб-странице, все ролики, такие как до/в середине/после ролика) для поддержки дорожной блокировки. 0 = нет или неизвестно, 1 = да, предлагаемые показы представляют собой все доступные. | |
cur | Нет | Массив строк | Не поддерживается | 2.3 2,4 2,5 | Массив разрешенных валют для ставок по этому запросу с использованием буквенных кодов ISO-4217. Рекомендуется, только если биржа принимает несколько валют. | |
bcat | Нет | Массив строк | BidRequest.AdSlot. исключенный_чувствительный _category, BidRequest.AdSlot. исключенный_продукт _категория | 2.3 2,4 2,5 | Заблокированные категории рекламодателей, использующие категории контента IAB. Обратитесь к перечислению ContentCategory. | |
badv | Нет | Массив строк | Не поддерживается | 2.3 2,4 2,5 | Черный список рекламодателей по их доменам (например, "addomain.com") | |
bapp | Нет | Массив строк | BidRequest.AdSlot.excluded_app_ids | 2,4 2,5 | Заблокированный список приложений по их идентификаторам приложений, не зависящим от платформы. В Android это должны быть имена бандлов или пакетов (например, com.foo.mygame). В iOS это числовые идентификаторы. | |
test | Нет | логический | BidRequest .is_test | 2.3 2,4 2,5 | Индикатор тестового режима, в котором аукционы не оплачиваются, где 0 = живой режим, 1 = тестовый режим. По умолчанию: 1 | |
bseat | Нет | нить | Не поддерживается | 2,5 | Черный список мест для покупателей (например, рекламодателей, агентств), которым запрещено делать ставки на этот показ. Идентификаторы мест и знание клиентов покупателя, к которым они относятся, должны быть согласованы между участниками торгов и биржей априори. В одном и том же запросе следует использовать не более одного из wseat и bseat . Отсутствие обоих означает отсутствие ограничений по количеству мест. | |
wlang | Нет | нить | Запрос ставки .AdSlot .допустимый _languages | 2,5 | Белый список языков для креативов, использующих ISO-639-1-alpha-2. Пропуск не подразумевает никаких конкретных ограничений, но покупателям рекомендуется учитывать атрибут языка в объектах «Устройство» и/или «Контент», если они доступны. | |
source | Нет | Source объект | Используется только для расширений | 2,5 | Объект Source , предоставляющий данные об источнике запасов и о том, какой объект принимает окончательное решение. | |
ext | Нет | Объект BidRequestExt | Не поддерживается | 2.3 2,4 2,5 | Для OpenRTB/Protobuf вы можете получить доступ к этому объекту с помощью ключа расширения [com.google.doubleclick.bid_request] (точный путь зависит от языка, используемого для создания библиотеки proto). Для OpenRTB/JSON вы получаете доступ к полю ext в сообщении BidRequest. |
BidRequestExt
Дополнительные сведения см. в разделе Обратная связь в реальном времени .
Атрибут | Всегда проходил | Тип | Эквивалент авторизованных покупателей | Детали реализации |
---|---|---|---|---|
bid_feedback | Нет | Массив объектов BidFeedback | BidRequest.bid_response_feedback | Отзыв о ставках, представленных в предыдущих ответах. Этот параметр устанавливается только в том случае, если для вашего участника торгов включена обратная связь в режиме реального времени. Свяжитесь с вашим менеджером по работе с клиентами, если вы хотите включить обратную связь в режиме реального времени. |
google _query_id | Нет | нить | BidRequest.google_query_id | Это уникальный идентификатор для всего запроса. В случае наличия нескольких уточнений для запроса все запросы уточнений для этого запроса будут содержать один и тот же google_query_id. |
fcap_scope | Да | Перечисление FrequencyCappingScope | BidRequest.AdSlot .FrequencyCappingScope | Экспериментальная функция; могут быть изменены. Дополнительную информацию см. в разделе Установка ограничений частоты показов ставок RTB в Google . Описывает область ограничения частоты показов, доступную для этого запроса. В поле Bid.ext.fcap можно указать ограничения частоты показов для ставки. |
privacy_treatments | Нет | Объект PrivacyTreatments | BidRequest.privacy_treatments | Процедуры конфиденциальности. Некоторые поля в запросе ставки могут быть расширены или отредактированы для защиты конфиденциальности пользователя. В этом сообщении содержится информация о мерах по обеспечению конфиденциальности, применимых к рекламным возможностям, предлагаемым в этом запросе. |
СтавкаОтзыв
Отзыв о ставках, представленных в предыдущих ответах. Этот параметр устанавливается только в том случае, если для вашего участника торгов включена обратная связь в режиме реального времени. Свяжитесь с вашим менеджером по работе с клиентами, если вы хотите включить обратную связь в режиме реального времени.
Атрибут | Всегда проходил | Тип | Эквивалент авторизованных покупателей | Детали реализации |
---|---|---|---|---|
request_id | Нет | нить | BidRequest.BidResponse Feedback.request_id. | Уникальный идентификатор из BidRequest.id. |
creative_status _code | Нет | int32 | BidRequest .BidResponseFeedback .creative_status_code | Код статуса объявления. Список идентификаторов см. в кодах статуса креатива на странице Прототипы и справочные данные . |
price | Нет | двойной | BidRequest .BidResponseFeedback .cpm_micros | Если ставка выиграла аукцион, это цена, уплаченная в валюте вашего аккаунта. Если ставка участвовала в аукционе, но была перебита, это цена за тысячу показов, которую нужно было превысить, чтобы выиграть. Этот параметр не устанавливается, если ставка была отфильтрована до аукциона, если издатель или победивший участник торгов отказался от отзыва о цене или если ваша учетная запись отказалась от предоставления информации о выигравших ценах другим участникам торгов. Для аукционов первой цены вместо этого поля заполняется минимальное_предложение_до_выигрыша. |
minimum_bid_to_win | Нет | двойной | BidRequest .BidResponseFeedback .minimum_bid_to_win | Минимальная ставка, необходимая для победы на аукционе, в валюте вашего аккаунта. Если ваша ставка выиграла аукцион, это вторая по величине ставка, которая не была отфильтрована (включая минимальную цену). Если ваша ставка не выиграла аукцион, это ставка победившего кандидата. Это поле будет заполнено, только если ваша ставка участвовала в аукционе первой цены, и не будет заполнено, если ваша ставка была отфильтрована до аукциона. |
sampled_mediation_cpm_ahead_of_auction_winner | Нет | двойной | BidRequest .BidResponseFeedback .sampled_mediation_cpm _ahead_of_auction_winner | Когда издатель использует аукцион RTB и посредничество SDK на основе водопада по одному и тому же запросу, победитель аукциона в реальном времени также должен участвовать в водопаде посредничества (который упорядочен по цене), чтобы выиграть показ. Если ставка участвовала в аукционе и не было водопада, значение этого поля равно 0. Если ставка участвовала в аукционе и был каскад, значение этого поля представляет собой цену, представляющую примерную ставку от приемлемого агрегатора. сетях, которые были выше, чем у победителя аукциона, взвешенные по ожидаемой заполняемости. Это поле можно использовать в сочетании с Minimum_bid_to_win для обучения моделей торгов. Цена за тысячу показов указана в валюте вашего аккаунта. |
event_notification_token | Нет | Объект EventNotificationToken | BidRequest .BidResponseFeedback .event_notification_token | Токен включен в соответствующую заявку. |
buyer_creative_id | Нет | нить | BidRequest .BidResponseFeedback .buyer_creative_id | Идентификатор объявления, включенный в соответствующую ставку. |
EventNotificationToken
Токен включен в соответствующую заявку.
Атрибут | Всегда проходил | Тип | Эквивалент авторизованных покупателей | Детали реализации |
---|---|---|---|---|
event_notification _token.payload | Нет | нить | BidRequest .BidResponseFeedback .event_notification_token | Содержимое токена. |
Объект PrivacyTreatments
РодительПроцедуры конфиденциальности. Некоторые поля в запросе ставки могут быть расширены или отредактированы для защиты конфиденциальности пользователя. В этом сообщении содержится информация о мерах по обеспечению конфиденциальности, применимых к рекламным возможностям, предлагаемым в этом запросе.
Атрибут | Всегда проходил | Тип | Эквивалент авторизованных покупателей | Детали реализации |
---|---|---|---|---|
non_personalized_ads_reason | Нет | Перечисление NonPersonalizedAdsReason | BidRequest.privacy_treatments .non_personalized_ads_reason | Указывает причины, по которым объявления, возвращенные в ответ на этот запрос, не должны быть персонализированы. |
allow_user_data_collection | Нет | логический | BidRequest.privacy_treatments .allow_user_data_collection | Значение true, если издатель разрешает участнику торгов использовать данные запроса ставки для создания профилей пользователей для таких целей, как реклама на основе интересов и ремаркетинг. Чтобы использовать эти данные для создания профилей пользователей, участник торгов также должен выиграть определенный показ. См . раздел Об элементах управления сбором данных . |
Источник
Этот объект описывает характер и поведение объекта, который является источником запроса ставки вверх по течению от биржи. Основная цель этого объекта — определить пост-аукционное или восходящее решение, когда биржа сама не контролирует окончательное решение. Типичным примером этого является назначение ставок по заголовку, но оно также может применяться к объектам вышестоящего сервера, таким как другая биржа RTB, платформа посредничества или рекламный сервер, объединяющий прямые кампании со спросом третьих сторон при принятии решений.
Атрибут | Всегда проходил | Тип | Авторизованный Покупатели эквивалент | Поддерживается | Детали реализации | |
---|---|---|---|---|---|---|
в версии | от Google | |||||
fd | Нет | логический | Не поддерживается | 2,5 | Организация, ответственная за окончательное решение о продаже показов, где 0 = биржа, 1 = вышестоящий источник. РЕКОМЕНДУЕТСЯ спецификацией OpenRTB. | |
tid | Нет | нить | Не поддерживается | 2,5 | Идентификатор транзакции, который должен быть общим для всех участников этого запроса ставки (например, потенциально несколько бирж). РЕКОМЕНДУЕТСЯ спецификацией OpenRTB. | |
pchain | Нет | нить | Не поддерживается | 2,5 | Строка цепочки идентификатора платежа, содержащая встроенный синтаксис, описанный в протоколе идентификатора платежа TAG версии 1.0. РЕКОМЕНДУЕТСЯ спецификацией OpenRTB. | |
ext | Нет | Объект SourceExt | Не поддерживается | 2.3 2,4 2,5 | Для OpenRTB/Protobuf вы можете получить доступ к этому объекту с помощью ключа расширения [com.google.doubleclick.source] (точный путь зависит от языка, используемого для создания библиотеки proto). Для OpenRTB/JSON вы получаете доступ к полю ext в исходном сообщении. |
SourceExt
Атрибут | Всегда проходил | Тип | Эквивалент авторизованных покупателей | Детали реализации |
---|---|---|---|---|
omidpn | Нет | нить | BidRequest.AdSlot .omidpn | Идентификатор интеграции OM SDK. Дополнительные сведения см. в рекомендациях по OpenRTB для Open Measurement SDK . |
omidpv | Нет | нить | BidRequest.AdSlot .omidpv | Версия интеграции OM SDK. Дополнительные сведения см. в рекомендациях по OpenRTB для Open Measurement SDK . |
schain | Нет | Объект SupplyChain | BidRequest.supply_chain | Объект OpenRTB SupplyChain. Дополнительные сведения см. в этой статье . |
Цепочка поставок
Объект OpenRTB SupplyChain. Дополнительные сведения см. в этой статье .
Атрибут | Всегда проходил | Тип | Эквивалент авторизованных покупателей | Детали реализации |
---|---|---|---|---|
complete | Нет | int32 | BidRequest.supply_chain.complete | Параметр, указывающий, содержит ли цепочка все узлы, участвующие в транзакции, ведущей к владельцу сайта, приложения или другого носителя инвентаря, где 0 = нет, 1 = да. |
nodes | Нет | Массив объектов SupplyChainNode | BidRequest.supply_chain.nodes | Массив объектов SupplyChainNode в порядке цепочки. В полной цепочке поставок первый узел представляет начальную рекламную систему и идентификатор продавца, участвующего в транзакции, например, владельца сайта, приложения или другого носителя. В неполной цепочке поставок он представляет собой первый известный узел. Последний узел представляет объект, отправляющий этот запрос ставки. |
ver | Нет | нить | BidRequest.supply_chain.version | Используемая версия спецификации цепочки поставок в формате "major.minor". Например, для версии 1.0 спецификации используйте строку «1.0». |
ПоставкаChainNode
Атрибут | Всегда проходил | Тип | Эквивалент авторизованных покупателей | Детали реализации |
---|---|---|---|---|
asi | Нет | нить | BidRequest.supply_chain.nodes.advertising_system_identifier | Каноническое доменное имя системы SSP, Exchange, Header Wrapper и т. д., к которой подключаются участники торгов. Это может быть операционный домен системы, если он отличается от родительского корпоративного домена, чтобы упростить поиск в WHOIS и обратном поиске по IP-адресу, чтобы установить четкое право собственности на делегированную систему. Это должно быть то же значение, которое используется для идентификации продавцов в файле ads.txt, если он существует. |
sid | Нет | нить | BidRequest.supply_chain.nodes.seller_identifier | Идентификатор, связанный с аккаунтом продавца или реселлера в рекламной системе. Это должно содержать то же значение, которое используется в транзакциях (например, запросы ставок OpenRTB) в поле, указанном SSP/биржей. Обычно в OpenRTB это publisher.id. Для OpenDirect это обычно идентификатор организации издателя. Длина должна быть ограничена 64 символами. |
rid | Нет | нить | Не поддерживается | OpenRTB RequestId запроса, выданного этим продавцом. |
name | Нет | нить | Не поддерживается | Название компании (юридического лица), которая оплачивает инвентарь, транзакцию которого осуществляет данный продавец_id. Это значение является необязательным и НЕ должно быть включено, если оно существует в файле sells.json рекламной системы. |
domain | Нет | нить | Не поддерживается | Имя бизнес-домена объекта, представленного этим узлом. Это значение является необязательным и НЕ должно быть включено, если оно существует в файле sells.json рекламной системы. |
hp | Нет | int32 | BidRequest.supply_chain.nodes.handles_payment | Указывает, будет ли данный узел задействован в потоке оплаты инвентаря. При значении 1 рекламная система в поле asi платит продавцу в поле sid, который отвечает за оплату предыдущего узла в цепочке. При значении 0 этот узел не участвует в потоке оплаты за инвентарь. Для версии 1.0 SupplyChain это свойство всегда должно быть равно 1. Его явно требуется включить, поскольку ожидается, что в будущих версиях спецификации будут введены узлы обработки неплатежей. Разработчики должны убедиться, что они поддерживают это поле и распространяют его дальше при создании объектов SupplyChain в запросах ставок, отправляемых в нижестоящую рекламную систему. |
Бес
Этот объект описывает место размещения или показ объявления, выставленные на аукцион. Один запрос ставки может включать в себя несколько объектов Imp
, примером использования которых может быть биржа, поддерживающая продажу всех рекламных позиций на данной странице. Каждый объект Imp
имеет обязательный идентификатор, чтобы ставки могли ссылаться на них по отдельности.
Наличие объектов Banner
, Video
или Native
, подчиненных объекту Imp
, указывает тип предлагаемого показа. Издатель может выбрать один такой тип, который является типичным, или смешать их по своему усмотрению. Любая заданная ставка на показ должна соответствовать одному из предложенных типов.
Атрибут | Всегда проходил | Тип | Эквивалент авторизованных покупателей | Поддерживается | Детали реализации | |
---|---|---|---|---|---|---|
в версии | от Google | |||||
id | Да | нить | Запрос ставки .id рекламного места | 2.3 2,4 2,5 | Уникальный идентификатор этого показа в контексте запроса ставки (обычно значение начинается с 1 и увеличивается до n для n показов). | |
banner | Нет | Banner объект | Запрос ставки .AdSlot | 2.3 2,4 2,5 | Объект Banner ; требуется, если этот показ предлагается в качестве возможности баннерной рекламы. | |
video | Нет | Video объект | Запрос ставки .AdSlot Запрос ставки .Видео | 2.3 2,4 2,5 | Обязательно, если этот показ предлагается как возможность видеорекламы. | |
audio | Нет | Audio объект | Запрос ставки .AdSlot Запрос ставки .Видео | 2.3 2,4 2,5 | Требуется, если этот показ предлагается в качестве аудиообъявления. | |
displaymanager | Нет | нить | Запрос ставки .AdSlot .рендерер | 2.3 2,4 2,5 | Имя партнера по посредничеству рекламы, технологии SDK или проигрывателя, отвечающего за отображение рекламы (обычно видео или мобильного). Используется некоторыми рекламными серверами для настройки рекламного кода партнером. Рекомендуется для видео и/или приложений. Примеры строк: | |
displaymanagerver | Нет | нить | Не поддерживается | 2.3 2,4 2,5 | Версия партнера по посредничеству рекламы, технология SDK или проигрыватель, ответственный за отображение рекламы (обычно видео или мобильное приложение). Используется некоторыми рекламными серверами для настройки рекламного кода партнером. Рекомендуется для видео и/или приложений. | |
instl | Нет | логический | Запрос ставки .AdSlot .Мобильный. is_interstitial _запрос | 2.3 2,4 2,5 | 1 = объявление является межстраничным или полноэкранным, 0 = не межстраничное. | |
tagid | Нет | нить | Запрос ставки .AdSlot .ad_block_key | 2.3 2,4 2,5 | Идентификатор конкретного рекламного места или рекламного тега, который использовался для запуска аукциона. Это может быть полезно для устранения каких-либо проблем или для оптимизации покупателем. | |
bidfloor | Нет | двойной | мин(BidRequest .Рекламный слот. соответствие _ad_data .minimum_cpm _микрос) * 1 000 000 | 2.3 2,4 2,5 | Минимальная ставка для этого показа, выраженная в CPM. | |
bidfloorcur | Нет | нить | Поддерживается полученный от billing_id | 2.3 2,4 2,5 | Валюта указана с использованием буквенных кодов ISO-4217. Это может отличаться от валюты предложения, возвращаемой участником торгов, если это разрешено биржей. Единая валюта, полученная из включенного | |
clickbrowser | Нет | логический | Не поддерживается | 2,4 2,5 | Указывает тип браузера, открываемого при нажатии на креатив в приложении, где 0 = встроенный, 1 = собственный. Обратите внимание, что Safari View Controller на устройствах iOS 9.x считается собственным браузером для целей этого атрибута. | |
secure | Нет | логический | Запрос ставки .ad_slot .excluded_attribute 48: РичМедиа ВозможностиБез SSL | 2.3 2,4 2,5 | Параметр, указывающий, требуются ли для показа безопасные активы URL-адреса HTTPS и разметка, где 0 = небезопасно, 1 = безопасно. Если опущено, безопасное состояние неизвестно, но можно предположить небезопасную поддержку HTTP. | |
iframebuster | Нет | Массив строк | Не поддерживается | 2.3 2,4 2,5 | Массив специфичных для биржи имен поддерживаемых устройств блокировки iframe. | |
pmp | Нет | Pmp объект | Запрос ставки .AdSlot .MatchingAdData | 2.3 2,4 2,5 | Для этого показа действует объект Pmp , содержащий любую частную торговую площадку. | |
native | Нет | Родной | Запрос ставки .AdSlot .NativeAdTemplate | 2.3 2,4 2,5 | Native объект; требуется, если этот показ предлагается как возможность нативной рекламы. | |
exp | Нет | int32 | Запрос ставки .AdSlot .impression_expiration _секунды | 2,4 2,5 | Консультация по количеству секунд, которое может пройти между аукционом и фактическим показом. | |
metric | Нет | Массив Metric объектов | Запрос ставки .AdSlot .видимость Запрос ставки .AdSlot .Пролистать _ставка Запрос ставки .AdSlot .video_completion _ставка Запрос ставки .AdSlot .сессионная_глубина. | 2,5 | Массив объектов Metric . AdX предоставляет следующие показатели для этого поля: click_through_rate , viewability , completion_rate и session_depth . Показателем viewability является доля от 0,00 до 1,00 в показателе OpenRTB, но в протоколе Ad Exchange он выражается в процентах [0–100]. Описание этих показателей см. в таблице объектов AdSlot в Руководстве по ставкам в реальном времени . Обратите внимание, session_depth представляет собой целочисленное значение. | |
ext | Нет | Объект ImpExt | Не поддерживается | 2.3 2,4 2,5 | Для OpenRTB/Protobuf вы можете получить доступ к этому объекту с помощью ключа расширения [com.google.doubleclick.imp] (точный путь зависит от языка, используемого для создания библиотеки proto). Для OpenRTB/JSON вы получаете доступ к полю ext в сообщении Imp. | |
rwdd | Нет | логический | BidRequest.AdSlot.is_rewarded | 2,6 | Указывает, получает ли пользователь вознаграждение за просмотр рекламы. Для видеорекламы типичные реализации позволяют пользователям бесплатно прочитать дополнительную новостную статью, получить дополнительную жизнь в игре или получить спонсируемый музыкальный сеанс без рекламы. Вознаграждение обычно распределяется после завершения видеообъявления. |
Импэкст
Атрибут | Всегда проходил | Тип | Эквивалент авторизованных покупателей | Детали реализации |
---|---|---|---|---|
billing_id | Да | Массив int64 | BidRequest.AdSlot. MatchingAdData.billing_id | Идентификаторы выставления счетов, соответствующие совпавшим конфигурациям предварительного таргетинга. |
publisher_settings_ list_id | Да | Массив фиксированных64 | BidRequest.publisher_ settings_list_id BidRequest.AdSlot. publisher_settings_ list_id | Идентификатор списка настроек издателя, который применяется к этой странице. Подробнее см. в руководстве по настройкам RTB Publisher . |
allowed_vendor_type | Нет | Массив int32 | BidRequest.AdSlot. разрешенный_вендор_тип | Допустимые типы поставщиков. Обратитесь к файлу vendors.txt за списком идентификаторов. |
excluded_creatives | Нет | Массив объектов ExcludedCreative | BidRequest.AdSlot. exclude_creatives | Креативы, запрещенные для показа. Подача заявки с одним из креативов в этом списке приведет к тому, что такая заявка будет отфильтрована перед аукционом. Свяжитесь с вашим менеджером по работе с клиентами, если вы хотите включить эту функцию. |
publisher_parameter | Нет | Массив строк | BidRequest.AdSlot. Биржевые торги. издатель_параметр | Строки UTF8, которые могут быть предоставлены издателем как часть соответствующей конфигурации группы доходности в интерфейсе Менеджера рекламы. Формат является произвольным и должен быть согласован издателем и участником торгов Авторизованных покупателей. |
dfp_ad_unit_code | Нет | нить | BidRequest.AdSlot. dfp_ad_unit_code | Код рекламного блока Менеджер рекламы . В настоящее время это установлено только для запросов Open Bidding. |
is_rewarded_ inventory | Нет | логический | BidRequest.AdSlot. is_rewarded | Это поле устарело в пользу BidRequest.imp.rwdd и будет удалено в июле 2023 года. Это поле указывает, получает ли пользователь вознаграждение за просмотр объявления. Для видеорекламы типичные реализации позволяют пользователям бесплатно прочитать дополнительную новостную статью, получить дополнительную жизнь в игре или получить спонсируемый музыкальный сеанс без рекламы. Вознаграждение обычно распределяется после завершения видеообъявления. |
is_app_open _ad | Нет | логический | BidRequest.Mobile. is_app_open_ad | Указывает, относится ли запрос ставки для мобильного приложения к объявлению об открытии приложения. Дополнительную информацию см. в руководстве по открытию рекламы в приложении . |
ampad | Нет | EnumAmpAdRequirementType | BidRequest.AdSlot. amp_ad_request_type | Возможные типы требований для AMP-объявлений. НЕИЗВЕСТНО_AMP_AD_REQUIREMENT_TYPE = 1; (По умолчанию) Требования к AMP-объявлению неизвестны. AMP_AD_NOT_ALLOWED = 2; AMP-объявления запрещены. AMP_AD_ALLOWED_AND_ NOT_EARLY_RENDERED = 3; Разрешены как AMP-объявления, так и не AMP-объявления, AMP-объявления не обрабатываются раньше. AMP_AD_ALLOWED_AND_EARLY_RENDERED = 4; Разрешены как AMP-объявления, так и не AMP-объявления, AMP-объявления обрабатываются раньше. AMP_AD_REQUIRED = 5; Требуются AMP-объявления. Объявления без AMP могут быть отклонены издателем. |
buyer _generated _request_data | Нет | Массив объектов BuyerGenerated RequestData | BidRequest.AdSlot. secure_signals | Безопасные сигналы, передаваемые издателем. |
billable_event_rate_adjustment | Нет | двойной | BidRequest.AdSlot. billable_event _rate_adjustment | Только для объявлений, отображаемых с помощью пользовательского SDK: множитель применяется к ставке на аукционе. Корректировка отражает вероятность того, что ваша ставка вызовет оплачиваемое событие (например, успешное отображение объявления), если оно выиграет аукцион, по сравнению с вероятностью того, что другие ставки сгенерируют оплачиваемое событие, если они выиграют аукцион. Эта корректировка может быть больше или меньше 1. Это влияет только на окончательный рейтинг на аукционе; в частности, этот множитель не влияет на выплату. По умолчанию = 1,0. |
open_bidding | Нет | Объект OpenBidding | BidRequest.AdSlot. open_bidding | Параметры, связанные с Open Bidding. |
ad_unit _mapping | Нет | Объект AdUnitMapping | BidRequest.AdSlot. ad_unit_mapping | Сопоставления рекламных блоков, соответствующие заданному рекламному месту. |
allowed_restricted_category | Нет | int32 | BidRequest.AdSlot. allow_restricted _category | Разрешенные ограниченные категории объявлений. Список идентификаторов см. в разделе ad-restricted-categories.txt . |
skadn | Нет | Объект SKAdNetworkRequest | BidRequest.Mobile. скадн | Информация SKAdNetwork издателя для поддержки атрибуции установки приложения для iOS 14 и более поздних версий. SKAdNetwork API от Apple помогает рекламодателям измерять установку приложений, управляемых рекламой, отправляя обратную передачу в рекламную сеть после успешной установки. Издателям необходимо будет настроить поддерживаемые рекламные сети в списке свойств своего приложения (Info.plist), чтобы установку можно было связать с показом рекламы. Дополнительные сведения см. в документации Apple . |
ИсключеноКреатив | ||||
buyer_creative_id | Нет | нить | BidRequest.AdSlot. ИсключеноКреатив. идентификатор_покупателя_творческого_идентификатора | Идентификатор объявления покупателя для запрещенного объявления. |
BuyerGeneratedRequestData | ||||
data | Нет | нить | BidRequest.AdSlot. SecureSignal.data | The secure signal. |
source_app | No | SourceApp | BidRequest.AdSlot. SecureSignal.source | The source of the data. |
SourceApp | ||||
id | No | string | BidRequest.AdSlot. SecureSignal.source | Identifier for the SDK that generated this data. It will match the ID in BidRequest.AppExt.InstalledSdk.id . |
OpenBidding | ||||
is_open_bidding | No | bool | BidRequest.AdSlot. OpenBidding. is_open_bidding | This field is set to true if the publisher set up a yield group or a mediation group that targets this adslot and this bidder. Visit our Help Center for information on Open Bidding and its effects on the bidding process. |
AdUnitMapping | ||||
Keyval | No | Keyval object | BidRequest.AdSlot. AdUnitMapping. keyval | Key-value pair used to specify the inventory unit in the bidder's namespace. |
FormatType | No | enum | BidRequest.AdSlot. AdUnitMapping. format_type | Possible ad unit formats that can be used for the mapping. Corresponds to the adapter that will be used on the SDK. Possible values:
|
SKAdNetworkRequest | ||||
versions | No | Array of strings | BidRequest.Mobile. skadn.versions | List of all SKAdNetwork versions supported by the request, depending on the OS version and the SDK version. |
sourceapp | No | string | BidRequest.Mobile. skadn.sourceapp | ID of publisher app in Apple's App Store. |
skadnetids | No | Array of string | BidRequest.Mobile. skadn.skadnetids | SKAdNetworkIdentifier entries in the publisher app's Info.plist. |
fidelities | No | Array of SKAdNetworkFidelityType objects | BidRequest.Mobile. skadn.supported_fidelity_types | List of fidelity types supported, depending on the SKAdNetwork API version supported by the operating system and SDK as well as ad slot properties. |
skoverlay | No | bool | BidRequest.Mobile. skadn.skoverlay | Indicates if this request supports SKOverlay for video ads. |
Keyval object
ParentMultiple key-value pairs can be specified in order to support bidders whose inventory unit space is hierarchical and has multiple identifiers. The key-value pairs for the chosen AdUnitMapping should be sent back in the bid response as BidResponse.seatbid.bid.ext.sdk_rendered_ad.sdk_params. This is passed to the bidder's SDK.
Attribute | Type | Always passed | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
key | string | No | BidRequest.AdSlot. AdUnitMapping. keyval.key | The key is the name of the bidder's inventory unit identifier for the SDK. |
value | string | No | BidRequest.AdSlot. AdUnitMapping. keyval.value | The value of the bidder's inventory unit identifier for the given format. |
Metric
This object is associated with an impression as an array of metrics. These metrics can offer insight into the impression to assist with decisioning such as average recent viewability, click-through rate, etc. Each metric is identified by its type, reports the value of the metric, and optionally identifies the source or vendor measuring the value.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
type | No | string | One of: BidRequest .AdSlot .viewability BidRequest .AdSlot .click_ through_rate BidRequest .AdSlot .video_ completion_rate BidRequest .AdSlot .session_depth. | 2.5 | Type of metric being presented using exchange curated string names which should be published to bidders a priori. REQUIRED by the OpenRTB specification. The types we support are: click_through_rate , viewability , completion_rate , and session_depth . | |
value | No | double | Value between 0 and 1. | 2.5 | Number representing the value of the metric. Probabilities must be in the range 0.00 – 1.00. REQUIRED by the OpenRTB specification. The viewability metric is a fraction from 0.00 to 1.00 in the OpenRTB metric, but it's expressed as a percentage [0-100] in the AdX protocol. | |
vendor | No | string | EXCHANGE | 2.5 | Source of the value using exchange curated string names which should be published to bidders a priori. If the exchange itself is the source versus a third party, "EXCHANGE" is recommended. RECOMMENDED by the OpenRTB specification. |
Banner
This object represents the most general type of impression. Although the term "banner" may have very specific meaning in other contexts, here it can be many things including a simple static image, an expandable ad unit, or even in-banner video (refer to the Video
object for the more generalized and full featured video ad units). An array of Banner
objects can also appear within the Video to describe optional companion ads defined in the VAST specification.
The presence of a Banner
as a subordinate of the Imp
object indicates that this impression is offered as a banner type impression. At the publisher's discretion, that same impression may also be offered as video and/or native by also including as Imp
subordinates the Video
and/or Native
objects, respectively. However, any given bid for the impression must conform to one of the offered types.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
w | No | int32 | BidRequest .AdSlot .width[0] | 2.3 2.4 2.5 | Width in device independent pixels (DIPS). If no Format objects are specified, this is an exact width requirement. Otherwise it is a preferred width. | |
h | No | int32 | BidRequest .AdSlot .height[0] | 2.3 2.4 2.5 | Height in device independent pixels (DIPS). If no Format objects are specified, this is an exact height requirement. Otherwise it is a preferred height. | |
format | No | Array of Format objects | Not supported | 2.4 2.5 | Array of Format objects representing the banner sizes permitted. If none are specified, then use of the h and w attributes is highly recommended. | |
id | No | string | BidRequest .AdSlot .id | 2.3 2.4 2.5 | Unique identifier for this Banner object. Recommended when Banner objects are used with a Video object to represent an array of companion ads. Values usually start at 1 and increase with each object; should be unique within an impression. | |
pos | No | Enum AdPosition | BidRequest .AdSlot .slot_visibility BidRequest .StickySettings | 2.3 2.4 2.5 | This OpenRTB table has values derived from the IAB Quality Assurance Guidelines (QAG). Practitioners should keep in sync with updates to the QAG values as published on IAB.net. Values "4" - "7" apply to apps per the mobile addendum to QAG version 1.5. Can be one of the following values: | |
btype | No | Array of enum BannerAdType | Not supported | 2.5 | Blocked banner ad types Examples: | |
battr | No | Array of CreativeAttribute enum | BidRequest .AdSlot .excluded _attribute | 2.3 2.4 2.5 | Blocked creative attributes. Examples: | |
mimes | No | Array of string | Only mapped for BidRequest .Video .companionad: BidRequest .Video.companionad .creative_format BidRequest .AdSlot.excluded _attribute / VPAID | 2.3 2.4 2.5 | Allowlist of content MIME types supported. Popular MIME types include, but are not limited to "image/jpg", "image/gif" and"application/x-shockwave-flash". | |
topframe | No | bool | BidRequest .AdSlot .iframing _state NO_IFRAME: false | 2.3 2.4 2.5 | Specify if the banner is delivered in the top frame (true) or in an iframe (false). | |
expdir | No | Array of ExpandableDirection enum | BidRequest .AdSlot .excluded _attribute / EXPANDING_* | 2.3 2.4 2.5 | Directions in which the banner may expand. | |
api | No | Array of APIFramework objects | BidRequest .AdSlot .excluded _attribute / MRAID_1_0 | 2.3 2.4 2.5 | List of supported API frameworks for this impression. If an API is not explicitly listed, it is assumed not to be supported. | |
vcm | No | bool | BidRequest .Video .end_cap _support | 2.5 | Relevant only for Banner objects used with a Video object in an array of companion ads. Indicates the companion banner rendering mode relative to the associated video, where 0 = concurrent, 1 = end-card. We currently only support end-cards on mApp video interstitials. | |
wmax | No | int32 | BidRequest .AdSlot .flexible_ad_slot_settings .max_width | 2.3 2.4 2.5 | Maximum width of the impression in pixels. | |
hmax | No | int32 | BidRequest .AdSlot .flexible_ad_slot_settings .max_height | 2.3 2.4 2.5 | Maximum height of the impression in pixels. | |
wmin | No | int32 | BidRequest .AdSlot .flexible_ad_slot_settings .min_width | 2.3 2.4 2.5 | Minimum width of the impression in pixels. | |
hmin | No | int32 | BidRequest .AdSlot .flexible_ad_slot_settings .min_height | 2.3 2.4 2.5 | Minimum height of the impression in pixels. |
Format
This object represents an allowed size (height and width combination) for a banner impression. These are typically used in an array for an impression where multiple sizes are permitted.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
w | No | int32 | BidRequest .AdSlot .width | 2.4 2.5 | Width in device independent pixels (DIPS). | |
h | No | int32 | BidRequest .AdSlot .height | 2.4 2.5 | Height in device independent pixels (DIPS). | |
wratio | No | int32 | Not supported | 2.5 | Relative width when expressing size as a ratio. | |
hratio | No | int32 | Not supported | 2.5 | Relative height when expressing size as a ratio. | |
wmin | No | int32 | Not supported | 2.5 | The minimum width in device independent pixels (DIPS) at which the ad will be displayed when the size is expressed as a ratio. |
Video
This object represents an in-stream video impression. Many of the fields are non-essential for minimally viable transactions, but are included to offer fine control when needed. Video in OpenRTB generally assumes compliance with the VAST standard. As such, the notion of companion ads is supported by optionally including an array of Banner
objects that define these companion ads.
The presence of a Video
as a subordinate of the Imp
object indicates that this impression is offered as a video type impression. At the publisher's discretion, that same impression may also be offered as banner and/or native by also including as Imp
subordinates the Banner
and/or Native
objects, respectively. However, any given bid for the impression must conform to one of the offered types.
Refer to the OpenRTB Video Ads guide for additional details.
Attribute | Always passed | Type | Authorized Buyers equivalent | Version | Google supported | Implementation details |
---|---|---|---|---|---|---|
mimes | Yes | Array of string | BidRequest .Video .allowed _video _formats, BidRequest .AdSlot .excluded _attribute / VPAID | 2.3 2.4 2.5 | Allowlist of content MIME types supported. Popular MIME types include but are not limited to "image/jpg", "image/gif" and "application/x-shockwave-flash". REQUIRED by the OpenRTB specification: at least 1 element. | |
linearity | No | int32 | 2.3 2.4 2.5 | Indicates if the impression must be linear, nonlinear, etc. If none specified, assume all are allowed. LINEAR = 1: Linear/In-stream | ||
minduration | No | int32 | BidRequest .Video .min_ad _duration | 2.3 2.4 2.5 | Minimum video ad duration in seconds. RECOMMENDED by the OpenRTB specification. | |
maxduration | No | int32 | BidRequest .Video .max_ad _duration | 2.3 2.4 2.5 | Maximum video ad duration in seconds. RECOMMENDED by the OpenRTB specification. | |
protocols | No | Array of Protocol objects | BidRequest .Video .protocols | 2.3 2.4 2.5 | Array of supported video bid response protocols. At least one supported protocol must be specified. Examples: | |
w | No | int32 | BidRequest .AdSlot .width[0] | 2.3 2.4 2.5 | Width of the video player in device independent pixels (DIPS). RECOMMENDED by the OpenRTB specification. | |
h | No | int32 | BidRequest .AdSlot .height[0] | 2.3 2.4 2.5 | Height of the video player in device independent pixels (DIPS). RECOMMENDED by the OpenRTB specification. | |
startdelay | No | int32 | BidRequest .Video .videoad _start_delay >0: start delay in seconds Other values: | 2.3 2.4 2.5 | Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements. Refer to enum StartDelay for generic values.RECOMMENDED by the OpenRTB specification. | |
skip | No | bool | BidRequest .Video .video_ad _skippable | 2.4 2.5 | Indicates if the player will allow the video to be skipped / where 0 = no, 1 = yes. If a bidder sends markup/creative that is itself skippable, the Bid object should include the attr array with an element of 16 indicating skippable video. | |
skipmin | No | int32 | Not supported | 2.4 2.5 | Videos of total duration greater than this number of seconds can be skippable; only applicable if the ad is skippable. | |
skipafter | No | int32 | Not supported | 2.4 2.5 | Number of seconds a video must play before skipping is enabled; only applicable if the ad is skippable. | |
sequence | No | int32 | Not supported | 2.3 2.4 2.5 | If multiple ad impressions are offered in the same bid request, the sequence number will allow for the coordinated delivery of multiple creatives.[default = 1]; | |
battr | No | Array of Creative Attribute | BidRequest .AdSlot .excluded _attribute | 2.3 2.4 2.5 | Blocked creative attributes. | |
maxextended | No | int32 | Not supported | 2.3 2.4 2.5 | Maximum extended video ad duration, if extension is allowed. If blank or 0, extension is not allowed. If -1, extension is allowed, and there is no time limit imposed. If greater than 0, then the value represents the number of seconds of extended play supported beyond the maxduration value. | |
minbitrate | No | int32 | Not supported | 2.3 2.4 2.5 | Minimum bit rate in Kbps. | |
maxbitrate | No | int32 | Not supported | 2.3 2.4 2.5 | Maximum bit rate in Kbps. | |
boxingallowed | No | bool | Not supported | 2.3 2.4 2.5 | Indicates if letter-boxing of 4:3 content into a 16:9 window is allowed, where 0 = no, 1 = yes. default = true | |
playbackmethod | No | Array of Playback Method | BidRequest .Video .playback _method AdX: | 2.3 2.4 2.5 | Playback methods that may be in use. If none are specified, any method may be used. Only one method is typically used in practice. As a result, this array may be converted to an integer in a future version of the specification. It is strongly advised to use only the first element of this array in preparation for this change. | |
delivery | No | Array ofContent Delivery | Not supported | 2.3 2.4 2.5 | Supported delivery methods (for example, streaming, progressive). If none specified, assume all are supported. STREAMING = 1; PROGRESSIVE = 2; | |
pos | No | AdPosition | BidRequest .AdSlot .slot _visibility | 2.3 2.4 2.5 | Ad position on screen. | |
companionad | No | Array of Banner objects | BidRequest .Video .companion_slot | 2.3 2.4 2.5 | Array of Banner objects if companion ads are available. | |
api | No | Array of APIFramework objects | BidRequest .AdSlot .excluded _attribute / MRAID_1_0 | 2.3 2.4 2.5 | List of supported API frameworks for this impression. If an API is not explicitly listed, it is assumed not to be supported. | |
companiontype | No | Array of CompanionType objects | BidRequest .Video .companion _slot .creative_format | 2.3 2.4 2.5 | Supported VAST companion ad types. Recommended if companion Banner objects are included through the companionad array. | |
placement | No | Video Placement Type | BidRequest .Video .Placement | 2.5 | Placement type for the impression. | |
playbackend | No | Playback Cessation Mode | Not supported | 2.5 | The event that causes playback to end. |
Audio
This object represents an audio type impression. Many of the fields are non-essential for minimally viable transactions, but are included to offer fine control when needed. Audio in OpenRTB generally assumes compliance with the DAAST standard. As such, the notion of companion ads is supported by optionally including an array of Banner
objects that define these companion ads. The presence of an Audio
object as a subordinate of the Imp
object indicates that this impression is offered as an audio type impression. At the publisher's discretion, that same impression may also be offered as banner, video, and/or native by also including as Imp
subordinates objects of those types. However, any given bid for the impression must conform to one of the offered types.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
mimes | No | Array of string | BidRequest .Video .allowed _video _formats, BidRequest .AdSlot .excluded _attribute / VPAID | 2.4 2.5 | Content MIME types supported (for example, "audio/mp4") REQUIRED by the OpenRTB specification: at least 1 element. | |
minduration | No | int32 | BidRequest .Video .min_ad _duration | 2.4 2.5 | Minimum video ad duration in seconds. RECOMMENDED by the OpenRTB specification. | |
maxduration | No | int32 | BidRequest .Video .max_ad _duration | 2.4 2.5 | Maximum video ad duration in seconds. RECOMMENDED by the OpenRTB specification. | |
protocols | No | Array of Protocol objects | BidRequest .Video .protocols | 2.4 2.5 | Array of supported video bid response protocols. At least one supported protocol must be specified. Examples: | |
startdelay | No | int32 | BidRequest .Video .videoad _start_delay >0: start delay in seconds Other values: | 2.4 2.5 | Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements. Refer to enum StartDelay for generic values.RECOMMENDED by the OpenRTB specification. | |
sequence | No | int32 | Not supported | 2.4 2.5 | If multiple ad impressions are offered in the same bid request, the sequence number will allow for the coordinated delivery of multiple creatives.[default = 1]; | |
battr | No | Array of CreativeAttribute objects | BidRequest .AdSlot .excluded _attribute | 2.4 2.5 | Blocked creative attributes. | |
maxextended | No | int32 | Not supported | 2.4 2.5 | Maximum extended video ad duration, if extension is allowed. If blank or 0, extension is not allowed. If -1, extension is allowed, and there is no time limit imposed. If greater than 0, the value represents the number of seconds of extended play supported beyond the maxduration value. | |
minbitrate | No | int32 | Not supported | 2.4 2.5 | Minimum bit rate in Kbps. | |
maxbitrate | No | int32 | Not supported | 2.4 2.5 | Maximum bit rate in Kbps. | |
delivery | No | Array of ContentDeliveryMethod objects | Not supported | 2.4 2.5 | Supported delivery methods (for example, streaming, progressive). If none specified, assume all are supported. STREAMING = 1; | |
companionad | No | Array of Banner objects | BidRequest .Video .companion _slot | 2.4 2.5 | Array of Banner objects if companion ads are available. | |
api | No | Array of APIFramework objects | BidRequest .AdSlot .excluded _attribute / MRAID_1_0 | 2.4 2.5 | List of supported API frameworks for this impression. If an API is not explicitly listed, it is assumed not to be supported. | |
companiontype | No | Array of CompanionType objects | BidRequest .Video .companion _slot .creative _format | 2.4 2.5 | Supported DAAST companion ad types. | |
maxseq | No | int32 | Not supported | 2.4 2.5 | The maximum number of ads that can be played in an ad pod. | |
feed | No | FeedType | Not supported | 2.4 2.5 | Type of audio feed. | |
stitched | No | bool | Not supported | 2.4 2.5 | Indicates if the ad is stitched with audio content or delivered independently, where 0 = no, 1 = yes. | |
nvol | No | VolumeNormalizationMode | Not supported | 2.4 2.5 | Volume normalization mode. |
Native
This object represents a native type impression. Native ad units are intended to blend seamlessly into the surrounding content (for example, a sponsored Twitter or Facebook post). As such, the response must be well-structured to afford the publisher fine-grained control over rendering.
Note that Native 1.1 is supported in OpenRTB 2.4 and OpenRTB 2.5.
The Native Subcommittee developed a companion specification to OpenRTB called the Native Ad Specification . It defines the request parameters and response markup structure of native ad units.
This object provides the means of transporting request parameters as an opaque string so that the specific parameters can evolve separately under the auspices of the Native Ad Specification. Similarly, the ad markup served will be structured according to that specification. The presence of a Native
as a subordinate of the Imp
object indicates that this impression is offered as a native type impression. At the publisher's discretion, that same impression may also be offered as banner and/or video by also including as Imp
subordinates the Banner
and/or Video
objects, respectively. However, any given bid for the impression must conform to one of the offered types.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
request | No | string | BidRequest .AdSlot .NativeAd Template | 2.3 2.4 2.5 | Request payload complying with the Native Ad Specification. Exactly one of | |
request_native | No | NativeRequest | BidRequest .AdSlot .NativeAd Template | 2.3 2.4 2.5 | Request payload complying with the Native Ad Specification. Exactly one of {request, request_native} should be used; this is an alternate field preferred for Protobuf serialization. | |
ver | No | string | RECOMMENDED by the OpenRTB specification. | 2.3 2.4 2.5 | Version of the Native Ad Specification to which request complies. RECOMMENDED by the OpenRTB specification. | |
api | Array of APIFramework objects | BidRequest .AdSlot .excluded _attribute / MRAID_1_0 | 2.3 2.4 2.5 | List of supported API frameworks for this impression. If an API is not explicitly listed, it is assumed not to be supported. | ||
battr | Array of CreativeAttribute objects | BidRequest .AdSlot .excluded _attribute | 2.3 2.4 2.5 | Blocked creative attributes. |
Pmp
This object is the private marketplace container for direct deals between buyers and sellers that may pertain to this impression. The actual deals are represented as a collection of Deal
objects.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
private_auction | No | bool | BidRequest .AdSlot .only_deal_bids_accepted | 2.3 2.4 2.5 | Indicator of auction eligibility to seats named in the Direct Deals object, where 0 = all bids are accepted, 1 = bids are restricted to the deals specified and the terms thereof. | |
deals | No | Array of Deal objects | BidRequest .AdSlot .Matching AdData .DirectDeal | 2.3 2.4 2.5 | Array of Deal objects that convey the specific deals applicable to this impression. |
Deal
This object constitutes a specific deal that was struck a priori between a buyer and a seller. Its presence with the Pmp collection indicates that this impression is available under the terms of that deal.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
id | Yes | string | BidRequest .AdSlot .Matching AdData .DirectDeal .direct _deal_id | 2.3 2.4 2.5 | A unique identifier for the direct deal. REQUIRED by the OpenRTB specification. | |
bidfloor | No | double | BidRequest .AdSlot .Matching AdData .DirectDeal .fixed_cpm _micros *1,000,000 | 2.3 2.4 2.5 | Minimum bid for this impression expressed in CPM. | |
bidfloorcur | No | string | single currency, obtained from the included billing_id | 2.3 2.4 2.5 | Currency specified using ISO-4217 alpha codes. This may be different from bid currency returned by bidder if this is allowed by the exchange.default = "USD" | |
wseat | No | Array of string | Not supported | 2.3 2.4 2.5 | Allowlist of buyer seats (for example, advertisers, agencies) allowed to bid on this deal. IDs of seats and knowledge of the buyer's customers to which they refer must be coordinated between bidders and the exchange a priori. Omission implies no seat restrictions. | |
wadomain | No | Array of string | Not supported | 2.3 2.4 2.5 | Array of advertiser domains (for example, advertiser.com) allowed to bid on this deal. Omission implies no advertiser restrictions. | |
at | No | AuctionType | BidRequest.auction_type | 2.3 2.4 2.5 | Optional override of the overall auction type of the bid request, where 1 = First Price, 2 = Second Price Plus, 3 = the value passed in bidfloor is the agreed upon deal price. Additional auction types can be defined by the exchange. | |
ext | No | DealExt object | Not supported | 2.3 2.4 2.5 | For OpenRTB/Protobuf, you can access this object with the [com.google.doubleclick.deal] extension key (exact path varies based on language used to generate proto library). For OpenRTB/JSON, you access with the ext field in the Deal message. |
DealExt
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
deal_type | No | Enum DealType | BidRequest.AdSlot. MatchingAdData. DirectDeal.deal_type | The type of the deal. Note that Authorized Buyers policy overrides apply to all Programmatic Guaranteed and Preferred Deal bids, and do not apply to bids for other deal types. UNKNOWN_DEAL_TYPE = 0; Default. PREFERRED_DEAL = 1; Bids are fixed-price and evaluated before the Open Auction. Bidders are not required to bid with Preferred Deals when they are present on the bid request. See this article for more information. PRIVATE_AUCTION = 2; Bids participate in a Private Auction against a select list of buyers with specific floors. See this article for more information. PROGRAMMATIC_GUARANTEED = 3; Bids are fixed-price and evaluated before the Open Auction. Bidders are expected to bid with Programmatic Guaranteed deals whenever they are present on a bid request and the must_bid field is true in order to ensure that the number of impressions agreed upon for a given deal are served. See this article for more information. AUCTION_PACKAGE = 4; The deal ID is an identifier for a collection of Open Auction inventory matching a given set of targeting criteria. See this article for more information. MARKETPLACE_PACKAGE = 5; The deal ID for publisher curated inventory packages. These deal IDs are automatically sent to any eligible buyer for the package. See this article for more information. |
must_bid | No | bool | BidRequest.AdSlot. MatchingAdData. DirectDeal.must_bid | This field is only applicable to Programmatic Guaranteed deals. The buyer is allowed to skip bidding on the impression if this field is false. When it is true, the buyer is required to bid on this deal for this impression opportunity. This field will always be filled explicitly for the JSON wire format. Default = true. |
publisher_blocks_overridden | No | bool | BidRequest.AdSlot. MatchingAdData. DirectDeal. publisher_blocks_overridden | Whether the publisher has exempted this deal from configured blocks. This setting does not override Authorized Buyers policies or Ad Review Center decisions. See this article for more information. |
creative_source | No | Enum CreativeSourceType | BidRequest.AdSlot. MatchingAdData. DirectDeal.creative_source | Experimental field; subject to change. An enum declaring the host of the creative, which will only be populated for Programmatic Guaranteed deals. Currently, this field should only ever be set to CREATIVE_SOURCE_ADVERTISER. CREATIVE_SOURCE_UNKNOWN = 0; CREATIVE_SOURCE_ADVERTISER = 1; (Default) The creative is hosted by the advertiser, which means the bidder is required to provide a creative in the bid response. CREATIVE_SOURCE_PUBLISHER = 2; The creative is hosted by the publisher, which means the bidder does not need to include a creative in the bid response. For more information on publisher-hosted creatives, see https://support.google.com/admanager/answer/9243220 . This feature isn't currently supported for RTB bidders. |
Site
This object should be included if the ad supported content is a website as opposed to a non-browser application. A bid request must not contain both a Site
and an App
object. At a minimum, it is useful to provide a site ID or page URL, but this is not strictly required.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
id | No | string | Not supported | 2.3 2.4 2.5 | Site ID on the exchange. RECOMMENDED by the OpenRTB specification. | |
name | No | string | Not supported | 2.3 2.4 2.5 | Site name (may be masked at publisher's request) | |
domain | No | string | Not supported | 2.3 2.4 2.5 | Domain of the site, used for advertiser side blocking. For example, "foo.com". | |
cat | No | Array of string | Not supported | 2.3 2.4 2.5 | Array of IAB content categories of the site. Refer to enum ContentCategory . | |
sectioncat | No | Array of string | Not supported | 2.3 2.4 2.5 | Array of IAB content categories that describe the current section of the site. Refer to enum ContentCategory . | |
pagecat | No | Array of string | Not supported | 2.3 2.4 2.5 | Array of IAB content categories that describe the current page or view of the site. Refer to enum ContentCategory . | |
page | No | string | BidRequest .url | 2.3 2.4 2.5 | URL of the page where the impression will be shown | |
privacypolicy | No | bool | Not supported | 2.3 2.4 2.5 | Indicates if the site has a privacy policy, where 0 = no, 1 = yes. | |
ref | No | string | Not supported | 2.3 2.4 2.5 | Referrer URL that caused navigation to the current page. | |
search | No | string | Not supported | 2.3 2.4 2.5 | Search string that caused navigation to the current page. | |
publisher | No | Publisher object | BidRequest | 2.3 2.4 2.5 | Details about the Publisher object of the site. | |
content | No | Content object | BidRequest | 2.3 2.4 2.5 | Details about the Content within the site. | |
keywords | No | string | Not supported | 2.3 2.4 2.5 | Comma-separated list of keywords about this site. Note: OpenRTB 2.2 allowed an array of strings as alternate implementation but this was fixed in 2.3+ where it's definitely a single string with CSV content again. Compatibility with some OpenRTB 2.2 exchanges that adopted the alternate representation may require custom handling of the JSON. | |
mobile | No | bool | BidRequest .Mobile .is_mobile _web_optimized | 2.3 2.4 2.5 | Indicates if the site has been programmed to optimize layout when viewed on mobile devices, where 0 = no, 1 = yes. | |
ext | No | SiteExt object | Not supported | 2.3 2.4 2.5 | For OpenRTB/Protobuf, you can access this object with the [com.google.doubleclick.site] extension key (exact path varies based on language used to generate proto library). For OpenRTB/JSON, you access with the ext field in the Site message. |
SiteExt
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
amp | No | Enum AmpPage | BidRequest.AdSlot .is_amp_page | Whether this is an AMP page or not. Omitted if unknown. DIALECT_HTML = 0; This is not an AMP page. DIALECT_HTML_AMP = 1; This is an AMP page. |
page_visibility | No | Enum VisibilityState | BidRequest .page_visibility | The visibility state of the web page containing the ad slot. See www.w3.org/TR/page-visibility/ . VISIBILITY_STATE_UNKNOWN = 0 VISIBILITY_STATE_VISIBLE = 1; The page is at least partially visible. For example, in the foreground tab of a non-minimized window. VISIBILITY_STATE_HIDDEN = 2; The page is not visible at all to users. For example, when the page is on a background browser tab, or in a minimized window. |
is_semi_transparent_request | No | bool | BidRequest .is_semi_transparent _request | Indicates that the request is using semi-transparent branding, which means only a truncated version of the request URL will be provided. This decision is made by the publisher, see support.google.com/admanager/answer/4584891 . |
App
This object should be included if the ad supported content is a non-browser application (typically in mobile) as opposed to a website. A bid request must not contain both an App
and a Site
object. At a minimum, it is useful to provide an App ID or bundle, but this is not strictly required.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
id | No | string | Not supported | 2.3 2.4 2.5 | Application ID on the exchange. RECOMMENDED by the OpenRTB specification. | |
name | No | string | BidRequest .Mobile .app_name | 2.3 2.4 2.5 | Application name (may be aliased at publisher's request) | |
domain | No | string | Not supported | 2.3 2.4 2.5 | Domain of the application, used for advertiser side blocking. For example, "mygame.foo.com". | |
cat | No | Array of string | BidRequest .Mobile .app_category _ids | 2.3 2.4 2.5 | Note: Values for this field are now redacted. Array of IAB content categories of the app. Refer to enum ContentCategory . | |
sectioncat | No | Array of string | Not supported | 2.3 2.4 2.5 | Array of IAB content categories that describe the current section of the app. Refer to enum ContentCategory . | |
pagecat | No | Array of string | Not supported | 2.3 2.4 2.5 | Array of IAB content categories that describe the current page or view of the app. Refer to enum ContentCategory . | |
ver | No | string | Not supported | 2.3 2.4 2.5 | Application version. | |
bundle | No | string | BidRequest .Mobile .app_id | 2.3 2.4 2.5 | A platform-specific application identifier intended to be unique to the app and independent of the exchange. On Android, this should be a bundle or package name (for example, com.foo.mygame). On iOS, it is a numeric ID. | |
privacypolicy | No | bool | Not supported | 2.3 2.4 2.5 | Indicates if the site has a privacy policy, where 0 = no, 1 = yes. | |
paid | No | bool | Not supported | 2.3 2.4 2.5 | 0 = app is free, 1 = the app is a paid version. | |
publisher | No | Publisher object | BidRequest | 2.3 2.4 2.5 | Details about the Publisher object of the app. | |
content | No | Content object | BidRequest | 2.3 2.4 2.5 | Details about the Content within the app. | |
keywords | No | string | Not supported | 2.3 2.4 2.5 | Comma-separated list of keywords about this app. Note: OpenRTB 2.2 allowed an array of strings as alternate implementation but this was fixed in 2.3+ where it's definitely a single string with CSV content again. Compatibility with some OpenRTB 2.2 exchanges that adopted the alternate representation may require custom handling of the JSON. | |
storeurl | No | string | BidRequest .url | 2.3 2.4 2.5 | App store URL for an installed app. | |
ext | No | AppExt object | Not supported | 2.3 2.4 2.5 | For OpenRTB/Protobuf, you can access this object with the [com.google.doubleclick.app] extension key (exact path varies based on language used to generate proto library). For OpenRTB/JSON, you access with the ext field in the App message. |
AppExt
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
installed_sdk | No | InstalledSdk | BidRequest.Mobile.installed_sdk | Identification of and information about an SDK installed in the publisher's app that the bidder has access to, often because it's the bidder's SDK. |
InstalledSdk | ||||
id | Yes | string | BidRequest.Mobile. InstalledSdk.id | Identifier for the installed SDK. |
sdk_version | Yes | Version | BidRequest.Mobile. InstalledSdk.sdk_version | The version of the installed SDK. |
adapter_version | Yes | Version | BidRequest.Mobile. InstalledSdk.adapter_version | The version of the adapter that communicates with the installed SDK. |
Version | ||||
major | No | int32 | Not supported | Default = -1. |
minor | No | int32 | Not supported | Default = -1. |
micro | No | int32 | Not supported | Default = -1. |
Publisher
This object describes the publisher of the media in which the ad will be displayed. The publisher is typically the seller in an OpenRTB transaction.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
id | No | string | BidRequest .publisher_id | 2.3 2.4 2.5 | Exchange-specific publisher ID as defined by the publisher code suffix of the web property code. For example, pub-123 is the publisher code of the web property code ca-pub-123 . | |
name | No | string | Not supported | 2.3 2.4 2.5 | Publisher name (may be aliased at publisher's request) | |
cat | No | Array of string | Not supported | 2.3 2.4 2.5 | Array of IAB content categories of the app. Refer to enum ContentCategory . | |
domain | No | string | Not supported | 2.3 2.4 2.5 | Highest level domain of the publisher (for example, "publisher.com") | |
ext | No | PublisherExt object | Not supported | 2.3 2.4 2.5 | For OpenRTB/Protobuf, you can access this object with the [com.google.doubleclick.publisher] extension key (exact path varies based on language used to generate proto library). For OpenRTB/JSON, you access with the ext field in the Publisher message. |
PublisherExt
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
country | No | string | BidRequest .publisher_country | The billing address country of the publisher. This may be different from the detected country of the user in geo_criteria_id or the hosting country of the website. Also refer to the complete list of country codes . |
host_publisher_id | No | string | BidRequest .host_publisher_id | The ID of the host publisher. When populated, indicates that the host publisher participated in revenue sharing, and the ID can be used to authorize ads.txt. |
Content
This object describes the content in which the impression will appear, which may be syndicated or non-syndicated content. This object may be useful when syndicated content contains impressions and does not necessarily match the publisher's general content. The exchange might or might not have knowledge of the page where the content is running, as a result of the syndication method. An example might be a video impression embedded in an iframe on an unknown web property or device.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
id | No | string | Not supported | 2.3 2.4 2.5 | ID uniquely identifying the content. | |
episode | No | int32 | Not supported | 2.3 2.4 2.5 | Content episode number (typically applies to video content). | |
title | No | string | Not supported | 2.3 2.4 2.5 | Content title. Video examples: "Search Committee" (television), "A New Hope" (movie),or "Endgame" (made for web). Non-Video example: "Why an Antarctic Glacier Is Melting So Quickly" (Time magazine article). | |
series | No | string | Not supported | 2.3 2.4 2.5 | Content series. Video examples: "The Office" (television), "Star Wars" (movie) or "Arby 'N' The Chief" (made for web). Non-Video example: "Ecocentric" (Time Magazine blog) | |
season | No | string | Not supported | 2.3 2.4 2.5 | Content season; typically for video content (for example, "Season 3"). | |
artist | No | string | Not supported | 2.3 2.4 2.5 | Artist credited with the content | |
genre | No | string | Not supported | 2.3 2.4 2.5 | Genre that best describes the content (for example, rock, pop, etc.). | |
album | No | string | Not supported | 2.3 2.4 2.5 | Album to which the content belongs; typically for audio. | |
isrc | No | string | Not supported | 2.3 2.4 2.5 | International Standard Recording Code conforming to ISO-3901. | |
url | No | string | (Only App.content) BidRequest .url | 2.3 2.4 2.5 | URL of the content, for buy-side contextualization or review. | |
cat | No | Array of string | Not supported | 2.3 2.4 2.5 | Array of IAB content categories that describe the content. Refer to enum ContentCategory . | |
prodq | No | ProductionQuality | Not supported | 2.4 2.5 | Production quality. | |
keywords | No | Not supported | 2.3 2.4 2.5 | Comma separated list of keywords describing the content. Note: OpenRTB 2.2 allowed an array of strings as alternate implementation but this was fixed in 2.3+ where it's definitely a single string with CSV content again. Compatibility with some OpenRTB 2.2 exchanges that adopted the alternate representation may require custom handling of the JSON. | ||
contentrating | No | string | BidRequest .detected _content _label 39: "DV_G", 40: "DV_PG", 41: "DV_T", 42: "DV_MA", 43: "DV_UNRATED" | 2.3 2.4 2.5 | Note: Values for this field are now redacted. Content rating (for example, MPAA). | |
userrating | No | string | (Only App.content) BidRequest .Mobile .app_rating | 2.3 2.4 2.5 | User rating of the content (for example, number of stars, likes, etc.). | |
context | No | ContentContext | Not supported | 2.3 2.4 2.5 | Type of content (game, video, text, etc.). | |
context_22 | No | string | Not supported | 2.3 2.4 2.5 | OpenRTB <= 2.2 compatibility; use context for 2.3+. | |
livestream | No | bool | BidRequest.Video.is_livestream | 2.3 2.4 2.5 | 0 = not live, 1 = content is live (for example, stream, live blog). | |
sourcerelationship | No | bool | Not supported | 2.3 2.4 2.5 | 0 = indirect, 1 = direct. | |
producer | No | string | BidRequest .Video | 2.3 2.4 2.5 | Details about the content Producer. | |
len | No | int32 | BidRequest .Video .Content Attributes .duration _seconds | 2.3 2.4 2.5 | Length of content in seconds; appropriate for video or audio. | |
qagmediarating | No | QAGMediaRating | Not supported | 2.3 2.4 2.5 | Media rating per QAG guidelines. | |
embeddable | No | bool | Not supported | 2.3 2.4 2.5 | Indicator of whether or not the content is embeddable (for example, an embeddable video player), where 0 = no, 1 = yes. | |
language | No | string | BidRequest .detected _language | 2.3 2.4 2.5 | Content language using ISO-639-1-alpha-2. |
Producer
This object defines the producer of the content in which the ad will be shown. This is particularly useful when the content is syndicated and may be distributed through different publishers and thus when the producer and publisher are not necessarily the same entity.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
id | No | string | Not supported | 2.3 2.4 2.5 | Content producer or originator ID. Useful if content is syndicated, and may be posted on a site using embed tags. | |
name | No | string | Not supported | 2.3 2.4 2.5 | Content producer or originator name (for example, "Warner Bros"). | |
cat | No | Array of string | Not supported | 2.3 2.4 2.5 | Array of IAB content categories that describe the content producer. Refer to enum ContentCategory . | |
domain | No | string | BidRequest .Video .description _url | 2.3 2.4 2.5 | Highest level domain of the content producer (for example, "producer.com"). |
Device
This object provides information pertaining to the device through which the user is interacting. Device information includes its hardware, platform, location, and carrier data. The device can refer to a mobile handset, a desktop computer, set-top box, or other digital device.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
dnt | No | bool | Unsupported; Refer to Cookie Guide , google_error=1: | 2.3 2.4 2.5 | Standard "Do Not Track" option as set in the header by the browser, where 0 = tracking is unrestricted, 1 = do not track. RECOMMENDED by the OpenRTB specification. | |
ua | No | string | BidRequest .user_agent | 2.3 2.4 2.5 | Browser user agent string. RECOMMENDED by the OpenRTB specification. | |
ip | No | string | BidRequest .ip (AdX truncates to first 3 octets; OpenRTB is "XXX0") | 2.3 2.4 2.5 | IPv4 address closest to device. RECOMMENDED by the OpenRTB specification | |
geo | No | Geo object | BidRequest | 2.3 2.4 2.5 | Location of the device assumed to be the user's current location defined by a Geo object.RECOMMENDED by the OpenRTB specification. | |
didsha1 | No | string | Not supported | 2.3 2.4 2.5 | Hardware device ID (for example, IMEI); hashed through SHA1. | |
didmd5 | No | string | Not supported | 2.3 2.4 2.5 | Hardware device ID (for example, IMEI); hashed through MD5. | |
dpidsha1 | No | string | Not supported | 2.3 2.4 2.5 | Platform device ID (for example, Android ID); hashed through SHA1 | |
dpidmd5 | No | string | BidRequest .Mobile .hashed_idfa - AdX is binary, OpenRTB is base16 (lowercase hex) This is the hashed version of ifa. Either dpidmd5 or ifa is available depending on the mobile SDK version. | 2.3 2.4 2.5 | Platform device ID (for example, Android ID); hashed through MD5. | |
ipv6 | No | string | BidRequest .ip - AdX truncates to first 6 octets; OpenRTB is "X:X:X:::::" | 2.3 2.4 2.5 | IPv6 address closest to device. | |
carrier | No | string | BidRequest .Device .carrier_id IDs will be the same Criterion IDs as in the Authorized Buyers protocol, refer to the mobile carriers list. | 2.3 2.4 2.5 | Carrier or ISP (for example, "VERIZON"), using exchange curated string names which should be published to bidders a priori. | |
language | No | string | Not supported | 2.3 2.4 2.5 | Browser language using ISO-639-1-alpha-2. | |
make | No | string | BidRequest .Device .brand | 2.3 2.4 2.5 | Device make (for example, "Apple"). | |
model | No | string | BidRequest .Device .model | 2.3 2.4 2.5 | Device model (for example, "iPhone") | |
os | No | string | BidRequest .Device .platform | 2.3 2.4 2.5 | Device operating system (for example, "iOS") | |
osv | No | string | BidRequest .Device .os_version | 2.3 2.4 2.5 | Device operating system version | |
hwv | No | string | BidRequest .Device .hardware _version | 2.3 2.4 2.5 | Hardware version of the device (for example, "5S" for iPhone 5S) | |
w | No | int32 | BidRequest .Device .screen_width | 2.3 2.4 2.5 | Physical width of the screen in pixels. | |
h | No | int32 | BidRequest .Device .screen_height | 2.3 2.4 2.5 | Physical height of the screen in pixels. | |
ppi | No | int32 | Not supported | 2.3 2.4 2.5 | Screen size as pixels per linear inch. | |
pxratio | No | double | BidRequest .Device .screen _pixel _ratio_millis / 1,000 | 2.3 2.4 2.5 | The ratio of physical pixels to device independent pixels. | |
js | No | bool | Not supported | 2.3 2.4 2.5 | Support for JavaScript, where 0 = no, 1 = yes. | |
geofetch | No | bool | Not supported | 2.4 2.5 | Indicates if the geolocation API will be available to JavaScript code running in the banner, where 0 = no, 1 = yes. | |
connectiontype | No | ConnectionType | Not supported | 2.3 2.4 2.5 | Network connection type | |
devicetype | No | DeviceType | BidRequest .Device .device _type | 2.3 2.4 2.5 | The general type of device. | |
flashver | No | string | Not supported | 2.3 2.4 2.5 | Version of Flash supported by the browser. | |
ifa | No | string | BidRequest .Mobile .advertising _id - AdX is binary, OpenRTB is 36-char UUID (Android ID: all lowercase, IDFA: all uppercase). ifa is either Android ID or Apple's IDFA, and either dpidmd5 or ifa is available depending on the mobile SDK version. | 2.3 2.4 2.5 | ID sanctioned for advertiser use in the clear (for example, not hashed). | |
macsha1 | No | string | Not supported | 2.3 2.4 2.5 | MAC address of the device; hashed through SHA1. | |
macmd5 | No | string | Not supported | 2.3 2.4 2.5 | MAC address of the device; hashed through MD5 | |
lmt | No | bool | BidRequest .Device .limit_ad _tracking | 2.3 2.4 2.5 | "Limit Ad Tracking" is a commercially endorsed signal based on the operating system or device settings, where false indicates that tracking is unrestricted and true indicates that tracking must be limited per commercial guidelines.This signal reflects user decisions on surfaces including iOS App Tracking Transparency . See also lmt and App Tracking Transparency guidance and Android advertising ID . | |
mccmnc | No | string | Not supported | 2.5 | Mobile carrier as the concatenated MCC-MNC code (for example, "310-005" identifies Verizon Wireless CDMA in the USA). Refer to https://en.wikipedia.org/wiki/Mobile_country_code for further examples. Note that the dash between the MCC and MNC parts is required to remove parsing ambiguity. | |
ext | No | DeviceExt object | Not supported | 2.3 2.4 2.5 | For OpenRTB/Protobuf, you can access this object with the [com.google.doubleclick.device] extension key (exact path varies based on language used to generate proto library). For OpenRTB/JSON, you access with the ext field in the Device message. |
DeviceExt
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
session_id | No | string | BidRequest.session_id | Represents a short-lived user session on CTV/OTT devices, with a maximum session duration of 6 hours. The use of session_id is never allowed for ads personalization. session_id may only be used for frequency capping, competitive exclusions or related purposes. This field is populated with web-safe base64 alphabet. |
atts | No | int32 | BidRequest .Device .app _tracking _authorization _status | (iOS Only) An integer passed to represent the app's app tracking authorization status, where 0 = not determined 1 = restricted 2 = denied 3 = authorized. This value is retrieved from ATTrackingManager and provided as is. For more information about iOS's app tracking authorization status, see this article . |
user_agent_data | No | UserAgent object | BidRequest.user_agent_data | User Agent information. |
UserAgent
User Agent information. This will be populated with information about the user agent, extracted from the User-Agent header or from Sec-CH-UA headers .
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
browser | No | BrandVersion object | BidRequest.user_agent_data.browser | Identifies the browser. |
platform | No | BrandVersion object | BidRequest.user_agent_data.platform | Identifies the platform. |
mobile | No | bool | BidRequest.user_agent_data.mobile | True if the agent prefers "mobile-optimized" content. Refer to the BidRequest.device field for specific information about the device, which may or may not be consistent with this field (for example, a mobile phone's browser can be requesting "Desktop site"). |
architecture | No | string | BidRequest.user_agent_data.architecture | Device architecture, for example, "x86" or "arm". |
bitness | No | string | BidRequest.user_agent_data.bitness | Device's bitness, for example, "64" for 64-bit architecture. |
model | No | string | BidRequest.user_agent_data.model | Device model. |
BrandVersion object
A tuple of (brand, version) for the browser or platform.
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
brand | No | string | BidRequest.user_agent_data.brand | Brand identifier, for example, "Chrome" or "Windows". |
version | No | string | BidRequest.user_agent_data.version | Version, split in components if needed, for example, {"85", "1"} = v85.1. |
Geo
This object encapsulates various methods for specifying a geographic location. When subordinate to a Device
object, it indicates the location of the device which can also be interpreted as the user's current location. When subordinate to a User
object, it indicates the location of the user's home base (for example, not necessarily their current location). The lat
/ lon
attributes should only be passed if they conform to the accuracy depicted in the type attribute. For example, the centroid of a geographic region such as postal code should not be passed.
In Google's implementation of OpenRTB, coarse geolocation information is approximated based on the IP address of the device the ad request originated from. This information will typically–but not always–be included in the bid request with lat
/ lon
representing the center point of a circle, where accuracy
is its radius. To learn more about geolocation, see the Geotargeting guide .
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
lat | No | double | BidRequest.[encrypted_]hyperlocal_set. center_point.latitude | 2.3 2.4 2.5 | Latitude from -90.0 to +90.0, where negative is south. | |
lon | No | double | BidRequest .[encrypted_] hyperlocal _set .center_point .longitude | 2.3 2.4 2.5 | Longitude from -180.0 to +180.0, where negative is west. | |
country | No | string | BidRequest .geo_criteria _id through geo-table.csv | 2.3 2.4 2.5 | Country using ISO-3166-1 Alpha-3. | |
region | No | string | BidRequest .geo_criteria _id through geo-table.csv | 2.3 2.4 2.5 | Region code using ISO-3166-2; 2-letter state code if USA. | |
regionfips104 | No | string | 2.3 2.4 2.5 | Region of a country using FIPS 10-4 notation. While OpenRTB supports this attribute, it has been withdrawn by NIST in 2008. | ||
metro | No | string | BidRequest .geo_criteria _id through geo-table.csv, cities-dma-regions.csv | 2.3 2.4 2.5 | Google metro code; similar to but not exactly Nielsen DMAs. Refer to the Geographical Targeting page for a link to the codes. | |
city | No | string | BidRequest .geo_criteria _id through geo-table.csv | 2.3 2.4 2.5 | City using United Nations Code for Trade & Transport Locations in the format "city": "San Antonio" .Refer to Appendix A for a link to the codes. | |
zip | No | string | BidRequest .postal_code BidRequest .postal_code _prefix | 2.3 2.4 2.5 | Zip/postal code. | |
type | No | LocationType | 2.3 2.4 2.5 | Source of location data; recommended when passing lat/lon. | ||
accuracy | No | int32 | Not supported | 2.4 2.5 | Estimated location accuracy in meters; recommended when lat/lon are specified and derived from a device's location services (for example, type = 1). Note that this is the accuracy as reported from the device. Consult OS specific documentation (for example, Android, iOS) for exact interpretation. Google: The radius in meters of a circle approximating the location of a device, where the center point is defined by lat/lon. This field is populated based on coarse IP-based geolocation. | |
lastfix | No | int32 | Not supported | 2.4 2.5 | Number of seconds since this geolocation fix was established. Note that devices may cache location data across multiple fetches. Ideally, this value should be from the time the actual fix was taken. | |
ipservice | No | LocationService | Not supported | 2.4 2.5 | Service or provider used to determine geolocation from IP address if applicable (for example, type = 2). | |
utcoffset | No | int32 | BidRequest .timezone _offset | 2.3 2.4 2.5 | Local time as the number +/- of minutes from UTC. |
User
This object contains information known or derived about the human user of the device (for example, the audience for advertising).The user ID is an exchange artifact and may be subject to rotation or other privacy policies. However, this user ID must be stable long enough to serve reasonably as the basis for frequency capping and retargeting.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
id | No | string | BidRequest .[constrained _usage_] google_user _id | 2.3 2.4 2.5 | Exchange-specific ID for the user. At least one of id or buyerid is recommended | |
buyeruid | No | string | BidRequest .[constrained_usage_] hosted_match _data - AdX is binary, OpenRTB is websafe base64 (no padding) | 2.3 2.4 2.5 | Buyer-specific ID for the user as mapped by the exchange for the buyer. At least one of buyerid or id is recommended. | |
gender | No | string | Not supported | 2.3 2.4 2.5 | Gender as "M" male, "F" female, "O" Other. (Null indicates unknown) | |
keywords | No | string | Not supported | 2.3 2.4 2.5 | Comma-separated list of keywords, interests, or intent. Note: OpenRTB 2.2 allowed an array of strings as alternate implementation but this was fixed in 2.3+ where it's definitely a single string with CSV content again. Compatibility with some OpenRTB 2.2 exchanges that adopted the alternate representation may require custom handling of the JSON. | |
customdata | No | string | BidRequest .[constrained_usage_] hosted_match _data - AdX is binary, OpenRTB is websafe base64 (no padding) | 2.3 2.4 2.5 | Optional feature to pass bidder data set in the exchange's cookie. The string must be in base85 cookie safe characters and be in any format. Proper JSON encoding must be used to include "escaped" quotation marks. | |
geo | No | Geo object | Not supported | 2.3 2.4 2.5 | Location of the user's home base defined by a Geo object. This is not necessarily their current location. | |
data | No | Array of Data objects | BidRequest .detected _vertical | 2.3 2.4 2.5 | Note: Values for this field are now redacted. Additional contextual data. Each Data object represents a different data source. | |
ext | No | UserExt object | Not supported | 2.3 2.4 2.5 | For OpenRTB/Protobuf, you can access this object with the [com.google.doubleclick.user] extension key (exact path varies based on language used to generate proto library). For OpenRTB/JSON, you access with the ext field in the User message. |
UserExt
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
consented_providers_ settings | No | ConsentedProvidersSettings object | BidRequest.AdSlot. consented_providers_settings | Information about the ad tech providers for whom the publisher has specified to Google that its EEA user has consented to the use of their personal data for ads personalization in accordance with Google's EU User Consent Policy. This field will only be populated when RegsExt.gdpr is true. |
consent | No | string | BidRequest.AdSlot. ConsentedProvidersSettings. tcf_consent_string | The web-safe base64-encoded IAB Transparency and Consent Framework (TCF) v2 consent string fetched from the publisher's IAB Consent Management Platform (CMP). The structure of the string is defined by the IAB TCF v2. This field will be populated if the publisher has integrated with a CMP for TCF v2 and that CMP indicates that GDPR applies to this ad request and provides a valid consent string. See this article for additional information about the Google TCF v2 integration. See the IAB Global Vendor List at vendor-list.consensu.org/v2/vendor-list.json for details about the vendors listed in the consent string. |
eids | No | Array of ExtendedId objects | BidRequest.AdSlot.secure_signals | Standard extension that is used for passing secure signals chosen by the publisher. |
ConsentedProviderSettings
Information about the ad tech providers for whom the publisher has specified to Google that its EEA user has consented to the use of their personal data for ads personalization in accordance with Google's EU User Consent Policy. This field will only be populated when RegsExt.gdpr is true.
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
consented_providers | No | Array of int64 | BidRequest.AdSlot. consented_providers | Set of IDs corresponding to ad tech providers (ATPs) for whom the publisher has specified to Google that its EEA users have given legally valid consent to: 1) the use of cookies or other local storage where legally required; and 2) the collection, sharing, and use of personal data for personalization of ads by an ATP in accordance with Google's EU User Consent Policy. If a publisher is using the IAB Transparency and Consent Framework (TCF) v2 to manage user consent, this is the set of ATPs consented through the Additional Consent string (see this article for details about Google's Additional Consent mode). ATPs consented through the TCF v2 consent string are represented in the UserExt.consent field. A mapping of ATP ID to ATP name is posted at providers.csv. |
ExtendedId
Secure signals passed by the publisher.
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
source | No | string | BidRequest.AdSlot.SecureSignal.source | The source (provider) of the signal. |
uids | No | Array with one ExtendedIdUid object | None | The secure signal. |
ExtendedIdUid
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
id | No | string | BidRequest.AdSlot.SecureSignal.data | The secure signal. |
Data
The data
and segment
objects together allow additional contextual data to be specified. This data may be from multiple sources whether from the exchange itself or third party providers as specified by the id
field. A bid request can mix data objects from multiple providers. The specific data providers in use should be published by the exchange a priori to its bidders.
This is used to send detected verticals to the buyer. For Open Bidding, this is also used to send key value pairs from the publisher to the buyer.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
id | No | string | Supported | 2.3 2.4 2.5 | Exchange-specific ID for the data provider. | |
name | No | string | Supported | 2.3 2.4 2.5 | Exchange-specific name for the data provider. | |
segment | Array of Segment objects | Supported | 2.3 2.4 2.5 | Array of Segment objects that contain the actual data values. |
Segment
The data
and segment
objects together allow additional contextual data to be specified. This data may be from multiple sources whether from the exchange itself or third party providers as specified by the id
field. A bid request can mix Data
objects from multiple providers. The specific data providers in use should be published by the exchange a priori to its bidders.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
id | No | string | Supported | 2.3 2.4 2.5 | ID of the data segment specific to the data provider. | |
name | No | string | Supported | 2.3 2.4 2.5 | Name of the data segment specific to the data provider. | |
value | string | Supported | 2.3 2.4 2.5 | String representation of the data segment value. |
Regs
This object contains any legal, governmental, or industry regulations that apply to the request. The coppa
option signals whether or not the request falls under the United States Federal Trade Commission's regulations for the United States Children's Online Privacy Protection Act ("COPPA"). Refer to Section 7.1 for more information.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
coppa | No | string | BidRequest .user_data _treatment / TAG_FOR_CHILD_DIRECTED_TREATMENT | 2.3 2.4 2.5 | Option indicating if this request is subject to the COPPA regulations established by the USA FTC, where 0 = no, 1 = yes. | |
ext | No | RegsExt object | Not supported | 2.3 2.4 2.5 | For OpenRTB/Protobuf, you can access this object with the [com.google.doubleclick.regs] extension key (exact path varies based on language used to generate proto library). For OpenRTB/JSON, you access with the ext field in the Regs message. |
RegsExt
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
gdpr | No | bool | BidRequest.AdSlot. regs_gdpr | This field will be set to true in either of the two following cases:
|
lgpd | No | bool | BidRequest.AdSlot. regs_lgpd | This field will be set to true when, based on information available to Google, this impression will serve to a user in Brazil. See https://storage.googleapis.com/adx-rtb-dictionaries/lgpd-providers.csv for the list of ad tech providers that are allowed to serve on LGPD-enforced requests. See this article for more information on LGPD. |
Bid response variables and definitions
This section describes the bid response variables and definitions.
BidResponse
This object is the top-level bid response object (for example, the unnamed outer JSON object). The id
attribute is a reflection of the bid request ID for logging purposes. Similarly, bidid
is an optional response tracking ID for bidders. If specified, it can be included in the subsequent win notice call if the bidder wins. At least one seatbid
object is required, which contains at least one bid for an impression. Other attributes are optional. To express a "no-bid", return an empty response with HTTP 204. Alternately, if the bidder wants to convey to the exchange a reason for not bidding, just a BidResponse
object is returned with a reason code in the nbr
attribute.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
id | Yes | string | Not mapped to any field, but validated against the BidRequest.id . | 2.3 2.4 2.5 | ID of the bid request to which this is a response. REQUIRED by the OpenRTB specification. | |
seatbid | No | Array of Seatbid objects | BidResponse .Ad | 2.3 2.4 2.5 | Array of Seatbid objects; 1+ required if a bid is to be made. | |
bidid | No | string | BidResponse .debug_string | 2.3 2.4 2.5 | Bidder generated response ID to assist with logging/tracking. | |
cur | No | string | BidResponse.Ad.AdSlot.currency | 2.3 2.4 2.5 | Bid currency using ISO-4217 alpha codes. If this field is populated, the specified currency will be used to interpret the bid. Otherwise, the default bidding currency will be used, which is determined in the following priority:
The currency of a buyer account is set on account creation and can be checked by contacting a Technical Account Manager. | |
customdata | No | string | Not supported | 2.3 2.4 2.5 | Optional feature to allow a bidder to set data in the exchange's cookie. The string must be in base85 cookie safe characters and be in any format. Proper JSON encoding must be used to include "escaped" quotation marks. | |
nbr | No | NoBidReason | Not supported | 2.3 2.4 2.5 | Reason for not bidding. | |
ext | No | BidResponseExt object | Not supported | 2.3 2.4 2.5 | For OpenRTB/Protobuf, you can access this object with the [com.google.doubleclick.bid_response] extension key (exact path varies based on language used to generate proto library). For OpenRTB/JSON, you access with the ext field in the BidResponse message. |
BidResponseExt
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
processing_time_ms | No | int32 | BidResponse .processing_time_ms | Set this to the processing time in milliseconds from when you received the request to when you returned the response. |
Seatbid
A bid response can contain multiple SeatBid
objects, each on behalf of a different bidder seat and each containing one or more individual bids. If multiple impressions are presented in the request, the group attribute can be used to specify if a seat is willing to accept any impressions that it can win (default) or if it is only interested in winning any if it can win them all as a group.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
bid | No | Array of Bid objects | BidResponse .Ad | 2.3 2.4 2.5 | Array of 1+ Bid objects each related to an impression. Multiple bids can relate to the same impression. | |
seat | No | string | BidResponse.Ad. AdSlot.buyer_reporting_id | 2.3 2.4 2.5 | ID of the buyer seat (for example, advertiser, agency) on whose behalf this bid is made. | |
group | No | bool | Not supported | 2.3 2.4 2.5 | 0 = impressions can be won individually; 1 = impressions must be won or lost as a group. Default = false |
Bid
A SeatBid
object contains one or more Bid
objects, each of which relates to a specific impression in the bid request through the impid
attribute and constitutes an offer to buy that impression for a given price.
Attribute | Always passed | Type | Authorized Buyers equivalent | Supported | Implementation details | |
---|---|---|---|---|---|---|
in version | by Google | |||||
id | Yes | string | Not mapped to any field, but validated against the BidRequest.id . | 2.3 2.4 2.5 | ID of the bid request to which this is a response. REQUIRED by the OpenRTB specification. | |
impid | Yes | string | BidResponse .Ad.AdSlot .id | 2.3 2.4 2.5 | ID of the Imp object in the related bid request. REQUIRED by the OpenRTB specification. | |
price | Yes | double | BidResponse .Ad.AdSlot .max_cpm _micros * 1,000,000 | 2.3 2.4 2.5 | Bid price expressed as CPM although the actual transaction is for a unit impression only. Note that while the type indicates float, integer math is highly recommended when handling currencies (for example, BigDecimal in Java). REQUIRED by the OpenRTB specification. | |
adid | No | string | Not supported | 2.3 2.4 2.5 | ID of a preloaded ad to be served if the bid wins. | |
nurl | No | string | Not supported | 2.3 2.4 2.5 | Win notice URL called by the exchange if the bid wins; optional means of serving ad markup. DoubleClick doesn't support win notices ; use %%WINNING_PRICE%% in snippet's impression URL, or ${AUCTION_PRICE}. | |
adm | No | string | BidResponse .Ad.html_snippet, BidResponse .Ad.video_url, BidResponse .Ad.video_vast_xml, or BidResponse .Ad.native_ad | 2.3 2.4 2.5 | Optional means of conveying ad markup in case the bid wins; supersedes the win notice if markup is included in both. For native ad bids, exactly one of {adm, adm_native} should be used; this is the OpenRTB-compliant field for JSON serialization. | |
adm_native | No | NativeResponse | BidResponse .Ad.native_ad | 2.3 2.4 2.5 | Native ad response. For native ad bids, exactly one of {adm, adm_native} should be used; this is the field used for Protobuf serialization. | |
adomain | No | Array of string | BidResponse .Ad.click _through_url | 2.3 2.4 2.5 | Advertiser domain for block list checking (for example, "addomain.com"). This can be an array for the case of rotating creatives. Exchanges can mandate that only one domain is allowed. The OpenRTB spec only allows domain names in adomain ; Authorized Buyers support full URLs too. Note this must be a crawlable domain or URL. For native ads, we recommend using BidResponse.seatbid[].bid[].adm_native.link.url instead of adomain . | |
bundle | No | string | BidResponse .Ad.advertised_app_id | 2.3 2.4 2.5 | The store ID of the app in an app store such as Apple App Store, Google Play. See OTT/CTV Store Assigned App Identification Guidelines for more details about expected strings for CTV app stores. For mobile apps in Google Play Store, these should be bundle or package names, such as com.foo.mygame. For apps in Apple App Store, these should be a numeric ID. Google: In addition to this field, set bid.ext.app_promotion_type field to take advantage of features specific to app promotion types. | |
iurl | No | string | Not supported | 2.3 2.4 2.5 | URL without cache-busting to an image that is representative of the content of the campaign for ad quality/safety checking. | |
cid | No | string | BidResponse .Ad.AdSlot .billing_id | 2.3 2.4 2.5 | Campaign ID to assist with ad quality checking; the collection of creatives for which iurl should be representative. Matches the billing ID in the pretargeting. If not set to one of the buyer's When submitting creatives, a | |
crid | No | string | BidResponse .Ad.buyer _creative_id | 2.3 2.4 2.5 | Creative ID to assist with ad quality checking. | |
cat | No | Array of string | BidResponse.Ad.category | 2.3 2.4 2.5 | IAB content categories of the creative. | |
attr | No | Array of CreativeAttribute objects | BidResponse .Ad.attribute | 2.3 2.4 2.5 | Set of attributes describing the creative. Can be declared in OpenRTB as bid.attr (OpenRTB), or bid.ext.attribute (AdX). | |
api | No | APIFramework | Bid.api supports declaring attributes 1, 2, 3, and 5 which correspond to VPAID and MRAID versions | 2.3 2.4 2.5 | API required by the markup if applicable. | |
protocol | No | Protocol | Not supported | 2.3 2.4 2.5 | Video response protocol of the markup if applicable. | |
qagmediarating | No | QAGMediaRating | Not supported | 2.3 2.4 2.5 | Creative media rating per QAG guidelines. | |
dealid | No | string | BidResponse .Ad.AdSlot .deal_id (or BidResponse.Ad.AdSlot .exchange_deal_id if bidder is a third-party exchange) | 2.3 2.4 2.5 | Reference to the deal.id from the bid request if this bid pertains to a private marketplace direct deal. | |
w | No | int32 | BidResponse .Ad.width - only required if the impression is multisize | 2.3 2.4 2.5 | Width of the creative in device independent pixels (DIPS). | |
h | No | int32 | BidResponse .Ad.height - only required if the impression is multisize | 2.3 2.4 2.5 | Height of the creative in device independent pixels (DIPS). | |
exp | No | int32 | Not supported | 2.4 2.5 | Advisory as to the number of seconds the bidder is willing to wait between the auction and the actual impression. | |
burl | No | string | impression _tracking_url | 2.5 | Billing notice URL called by the exchange when a winning bid becomes billable based on exchange-specific business policy (for example, typically delivered, viewed, etc.). Substitution macros can be used. Note that BidExt.impression_tracking_url accepts a repeated list of billing notice URLs. If your use case requires more than one billing URL, use that extension instead of burl . | |
lurl | No | string | Not supported | 2.5 | Loss notice URL called by the exchange when a bid is known to have been lost. Substitution macros can be used. Exchange-specific policy may preclude support for loss notices or the disclosure of winning clearing prices resulting in ${AUCTION_PRICE} macros being removed (for example, replaced with a zero-length string). | |
tactic | No | string | Not supported | 2.5 | Tactic ID to enable buyers to label bids for reporting to the exchange the tactic through which their bid was submitted. The specific usage and meaning of the tactic ID should be communicated between buyer and exchanges a priori. | |
language | No | string | Not supported | 2.5 | Language of the creative using ISO-639-1-alpha-2. The nonstandard code "xx" may also be used if the creative has no linguistic content (for example, a banner with just a company logo). | |
wratio | No | int32 | Not supported | 2.5 | Relative width of the creative when expressing size as a ratio. Required for Flex Ads. | |
hratio | No | int32 | Not supported | 2.5 | Relative height of the creative when expressing size as a ratio. Required for Flex Ads. | |
ext | No | BidExt object | Not supported | 2.3 2.4 2.5 | For OpenRTB/Protobuf, you can access this object with the [com.google.doubleclick.bid] extension key (exact path varies based on language used to generate proto library). For OpenRTB/JSON, you access with the ext field in the Bid message. |
BidExt
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
impression_tracking_url | No | Array of string | BidResponse.Ad. impression_tracking_url | The URLs to call when the impression is rendered. This is supported for all inventory types and all formats. In OpenRTB 2.5, Bid.burl is the analogous standard field. |
ad_choices_destination_ url | No | string | BidResponse.Ad. ad_choices_destination_ url | Link to an ad preferences or opt-out page. If present, a standard AdChoices icon is added to the native creative and linked to this URL. This is supported for native ads but is not part of the native message in the bid response. |
click_tracking_ url | No | string | BidResponse.Ad. click_tracking_ url | The URLs to call when the user clicks on the ad. Currently supported only for native ads and Programmatic Guaranteed deals with publisher-managed creatives. In the publisher managed case, these click trackers will be sent to the bidder server to server. In all other cases, these will be sent from the user's device. For more information on publisher-managed creatives, see Publisher-managed creatives . |
bidder_name | No | string | BidResponse.Ad. bidder_name | For Authorized Buyers bidders (third-party exchanges doing real-time bidding on Ad Manager), the name of the bidder that the exchange called to provide the ad. This is arbitrary UTF8 text but should be sufficient to identify the bidder and should be set consistently to the same value for the same bidder. |
exchange_deal_type | No | Enum ExchangeDealType | BidResponse.Ad.AdSlot. exchange_deal_type | OPEN_AUCTION = 0; PRIVATE_AUCTION = 1; PREFERRED_DEAL = 2; EXCHANGE_AUCTION_PACKAGE = 3; default = OPEN_AUCTION |
attribute | No | Array of int32 | BidResponse.Ad. attribute | Refer to buyer-declarable-creative-attributes.txt for a list of IDs. Note that not all declarable attributes come through in the BidRequest in the various battr fields. Many bidders declare the attribute for "fluid" (also known as "responsive" or "sizeless") interstitials that dynamically resize to take up the entire screen width and height. Refer to the description in the Interstitial Ads guide for more information. |
amp_ad_url | No | string | BidResponse.Ad. amp_ad_url | The URL to fetch an AMPHTML ad. Only one of the following should be set: html_snippet, video_url, amp_ad_url, native_ad. |
sdk_rendered_ad | No | SdkRenderedAd object | BidResponse.Ad. sdk_rendered_ad | An ad that will be rendered by an SDK known to the buyer. This can only be used when the BidRequest included an AppExt.InstalledSdk submessage. |
event_notification_token | No | EventNotificationToken object | BidResponse.Ad. event_notification_token | A token set by bidders for troubleshooting which will be included in the real-time feedback for the Bid it is sent in. The contents of the token will not be logged. |
restricted_category | No | Array of int32 | BidResponse.Ad. restricted_category | All restricted categories for the ads that may be shown from this snippet. See ad-restricted-categories.txt for a list of ids. |
billing_id | No | int64 | BidResponse.Ad.AdSlot. billing_id | The billing ID to attribute this impression to. The value must be in the repeated BidRequest.Imp.ImpExt.billing_id field sent for this impression. If the length of BidRequest.Imp.ImpExt.billing_id is exactly 1 and the bidder does not have active child seats, this field is not required and its contents will be ignored. |
third_party_ buyer_token | No | string | BidResponse.Ad.Adslot. third_party_ buyer_token | Token used to identify end third party buyer information if the exchange as an Open Bidder is an intermediary. This is obtained from the third-party buyer and must be passed to Google unaltered in the bid response. |
buyer_ reporting_id | No | string | BidResponse.Ad.Adslot. buyer_reporting_id | Buyer declared ID which will be used to break down spend and invalid traffic metrics in IVT transparency reporting in Query Tool. Note that IDs with fewer than 1000 impressions will not be used to break down metrics. IDs longer than 64 bytes will be ignored. |
skadn | No | SKAdNetworkResponse object | BidResponse.Ad. skadn | Advertiser's SKAdNetwork information to support app installation attribution for iOS 14 and later. Apple's SKAdNetwork API helps advertisers measure ad-driven app installation by sending a postback to the ad network after a successful install. Ad networks will need to send their network ID and signed advertiser information to allow an install to be attributed to the ad impression. For more info, see this article . |
app_promotion_type | No | enum | BidResponse.Ad. app_promotion_type | Type of the app promotion corresponding to the advertised app specified in the seatbid.bid.bundle field. If the advertised app is not specified, this field will be ignored. Starting May 2023, setting seatbid.bid.bundle field without this field will be treated as if this field were set to OTHER. Until then, the default value will be INSTALLS. |
SdkRenderedAd | ||||
id | No | string | BidResponse.ad[].sdk_rendered_ad.id | The identifier for the SDK that will render the ad. Must match a BidRequest.app.ext.installed_sdk.id sent in the corresponding bid request. |
rendering_data | No | string | BidResponse.ad[].sdk_rendered_ad.rendering_data | Data to pass to the SDK in order to render the ad. This data is opaque to the publisher and to Google. |
declared_ad | No | DelcaredAd | BidResponse.ad[].sdk_rendered_ad.declared_ad | Declared ad assets to support creative scanning, classification, and enforcement of ad policy and publisher blocks for ads rendered with a custom SDK. Set only one of html_snippet , video_url , video_vast_xml , or native_response . |
EventNotificationToken | ||||
payload | No | string | BidResponse.ad[].event_notification_token | The contents of the token, which will be ignored if longer than 128 bytes. |
SKAdNetworkResponse | ||||
version | No | string | BidResponse.ad[].skadn.version | Version of SKAdNetwork supported by the advertiser. Also used to specify how the signature was generated by the advertiser. This should match one of the versions from BidRequest.imp.ext.skad.versions. |
network | No | string | BidResponse.ad[].skadn.network | Ad network identifier used in signature. This should match one of the items in BidRequest.imp.ext.skad.skadnetids. |
campaign | No | string | BidResponse.ad[].skadn.campaign | Campaign ID compatible with Apple's spec. Used in SKAdNetwork 3.0 and below. Replaced by the BidResponse.imp.ext.skad.sourceidentifier field in SKAdNetwork 4.0 and above. |
sourceidentifier | No | string | BidResponse.ad[].skadn.source_identifier | A four-digit integer that ad networks define to represent the ad campaign. Used in SKAdNetwork 4.0+ and replaces the BidResponse.imp.ext.skad.campaign field. |
itunesitem | No | string | BidResponse.ad[].skadn.itunesitem | ID of advertiser's app in Apple's app store. |
productpageid | No | string | BidResponse.ad[].skadn.product_page_id | ID of custom product page to display (for iOS 15 or later). If not specified, default product page will be displayed. See this article for more details about custom product pages. |
fidelities | No | Array of Fidelity objects | BidResponse.ad[].skadn.fidelities | SKAdNetwork API starting from version 2.2 supports multiple ad presentation options specified by the fidelity-type parameter of the SKAdNetwork signature. This holds parameters used to generate the signature that would be different for each fidelity type supported. For more info, see this article . |
nonce | No | string | BidResponse.ad[].skadn.nonce | A unique all-lowercase UUID generated by the advertiser to use for generating the signature. Note: This field will be deprecated in favor of the BidResponse.bid.ext.skadn.fidelities.nonce field to support multiple fidelity types. |
sourceapp | No | string | BidResponse.ad[].skadn.sourceapp | ID of publisher's app in Apple's app store. This should match the ID from BidRequest.imp.ext.skad.sourceapp. |
timestamp | No | string | BidResponse.ad[].skadn.timestamp | Unix time in millis used at the time of signature generation. Note: This field will be deprecated in favor of the BidResponse.bid.ext.skadn.fidelities.timestamp field to support multiple fidelity types. |
signature | No | string | BidResponse.ad[].skadn.signature | SKAdNetwork signature as specified by Apple. Note: This field will be deprecated in favor of the BidResponse.bid.ext.skadn.fidelities.signature field to support multiple fidelity types. |
skoverlay | No | SKOverlay object | BidResponse.ad[].skadn.skoverlay | These options indicate how to present SKOverlay recommending the advertised app. Supported by iOS 14 and later. |
DeclaredAd object
Declared ad assets to support creative scanning, classification, and enforcement of ad policy and publisher blocks for ads rendered with a custom SDK.
Set only one of html_snippet
, video_url
, video_vast_xml
, or native_response
.
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
html_snippet | No | string | BidResponse.ad[].sdk_rendered_ad.declared_ad.html_snippet | The HTML snippet representative of the SDK-rendered ad. |
video_url | No | string | BidResponse.ad[].sdk_rendered_ad.declared_ad.video_url | The URL to the VAST asset used in the SDK-rendered ad. |
video_vast_xml | No | string | BidResponse.ad[].sdk_rendered_ad.declared_ad.video_vast_xml | The VAST document used to render custom SDK-rendered ad. This document should conform to the VAST 2.0 or 3.0 standard. |
native_response | No | NativeResponse | BidResponse.ad[].sdk_rendered_ad.declared_ad.native_response | The content of a native ad. Native ads consist of multiple building blocks, which are rendered by the buyer SDK. Must match the OpenRTB Native 1.2 standard NativeResponse definition. NativeResponse.assets.img.type is required. |
click_through_url | No | string | BidResponse.ad[].sdk_rendered_ad.declared_ad.click_through_url | The final landing pages of the SDK-rendered ad. |
Fidelity
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
fidelity | No | enum SKAdNetworkFidelityType | BidResponse.ad[].skadn.fidelity_type | The fidelity type of the attribution to track. Default = STOREKIT_RENDERED_ADS. VIEW_THROUGH_ADS = 0; Attribution for app installs within 24 hours of viewing an ad for at least 3 seconds. Supported for SKAdnetwork version 2.2 and up. For more info, see this article . STOREKIT_RENDERED_ADS = 1; Attribution for app installs initiated from the StoreKit-rendered App Store product page driven by ad clicks. Supported for all SKAdNetwork versions. For more info, see this article . |
nonce | No | string | BidResponse.ad[].skadn.nonce | A unique all-lowercase UUID generated by the advertiser to use for generating the signature. |
timestamp | No | string | BidResponse.ad[].skadn.timestamp | Unix time in millis used at the time of signature generation. |
signature | No | string | BidResponse.ad[].skadn.signature | SKAdNetwork signature as specified by Apple. |
SKOverlay
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
delay | No | int32 | BidResponse.ad[].skadn.skoverlay.delay_seconds | Delay in seconds after the ad begins before presenting the overlay. If this field is set to 0, the overlay will be shown immediately after the ad begins. If this field is unset, the overlay will not be shown for the ad. |
endcarddelay | No | int32 | BidResponse.ad[].skadn.skoverlay.endcard_delay_seconds | Delay in seconds after the endcard shows before presenting the overlay. (This field only applies to rewarded or interstitial video creatives.) If this field is set to 0, the overlay will be shown immediately after the endcard shows. If this field is unset, the overlay will not be shown for the endcard. If both delay and endcarddelay are set, the overlay will be automatically dismissed when the ad ends, and shown again after the endcard shows. |
dismissible | No | bool | BidResponse.ad[].skadn.skoverlay.dismissible | Whether this overlay can be dismissed by the user. Default to be true. |
Native bid variables, definitions, and extensions
NativeRequest
The Native
object defines the native advertising opportunity available for bid through this bid request. It must be included directly in the impression object if the impression offered for auction is a native ad format.
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
ver | Yes | string | "1.2" for OpenRTB 2.5. | Number of the Native Markup version in use. |
layout | No | LayoutId | Not supported | The Layout ID of the native ad unit. RECOMMENDED by OpenRTB Native 1.0; optional in 1.1, to be deprecated. |
adunit | No | AdUnitId | Not supported | The Ad unit ID of the native ad unit. This corresponds to one of IAB Core-6 native ad units. RECOMMENDED by OpenRTB Native 1.0; optional in 1.1, to be deprecated. |
context | No | ContextType | Not supported | The context in which the ad appears. |
contextsubtype | No | ContextSubtype | Not supported | A more detailed context in which the ad appears. |
plcmttype | No | PlacementType | NativeAdTemplate.native_placement_type | The design/format/layout of the ad unit being offered. |
plcmtcnt | No | int32 | Not supported | The number of identical placements in this Layout. |
seq | No | int32 | Not supported | 0 for the first ad, 1 for the second ad, and so on. Note this would generally NOT be used in combination with plcmtcnt - either you are auctioning multiple identical placements (in which case plcmtcnt>1, seq=0 ) or you are holding separate auctions for distinct items in the feed (in which case plcmtcnt=1, seq>=1 ). |
assets | No | Array of Asset objects | Supported in NativeAdTemplate object. The OpenRTB assets field maps to the AdX proto Google AdX proto conveys the same message through the The information in the | Any bid must comply with the array of elements expressed by the Exchange. REQUIRED by the OpenRTB Native specification: at least 1 element. |
aurlsupport | No | bool | Supported. | Whether the supply source / impression supports returning an assetsurl instead of an asset object. 0 or the absence of the field indicates no such support. Implemented in 1.2 |
durlsupport | No | bool | Supported. | Whether the supply source / impression supports returning a DCO URL instead of an asset object. 0 or the absence of the field indicates no such support. Implemented in 1.2. Beta feature. |
eventtrackers | No | EventTrackers | OpenRTB version 1.2 supports IMPRESSION and IMG tracking. If OMSDK is enabled for Native, then JS is supported | Specifies what type of event tracking is supported. Implemented in 1.2 |
privacy | No | bool | Not supported | Set to 1 when the native ad supports buyer-specific privacy notice. Set to 0 (or field absent) when the native ad doesn't support custom privacy links or if support is unknown. RECOMMENDED and implemented in 1.2. All native requests that we send support a privacy url, so this is implicitly always "1" for native requests. |
ext | No | NativeRequestExt object | Supported | For OpenRTB/Protobuf, you can access this object with the [com.google.doubleclick.native_ext] extension key (exact path varies based on language used to generate proto library). For OpenRTB/JSON, you access with the ext field in the NativeRequest message. |
NativeRequestExt
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
style_id | No | int32 | BidRequest.AdSlot. native_ad_template[0].style_id | Globally distinct ID for the specific style, HTML, and CSS with which the native ad is rendered. |
style_height | No | int32 | BidRequest.AdSlot. native_ad_template[0] .style_height | If the style_layout_type is Pixel , this is the height of the entire native ad after rendering. |
style_width | No | int32 | BidRequest.AdSlot. native_ad_template[0] .style_width | If the style_layout_type is Pixel , this is the width of the entire native ad after rendering. |
style_layout_type | No | enum LayoutType | BidRequest.AdSlot. native_ad_template[0] .style_layout_type | Enum LayoutType: PIXEL = 0; (Default) FLUID = 1; |
Asset
The main container object for each asset requested or supported by Exchange on behalf of the rendering client. Any object that is required is to be flagged as such. Only one of the {title,img,video,data}
objects should be present in each object. All others should be null/absent. The id
is to be unique within the Asset
array so that the response can be aligned.
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
id | Yes | int32 | 1..N for N assets in unspecified order, corresponding to recommended or required fields in the first NativeAdTemplate . | Unique asset ID, assigned by exchange. Typically a counter for the array. REQUIRED by the OpenRTB Native specification. |
required | No | bool | BidRequest.AdSlot.native_ad_template[0]. required_fields | Set to true if asset is required. |
title | No | RequestTitle | BidRequest.AdSlot.native_ad_template[0] of type HEADLINE | Title object for title assets. RECOMMENDED by the OpenRTB Native specification. One of |
img | No | RequestImage | BidRequest.AdSlot.native_ad_template[0] of types MAIN/IMAGE, ICON/APP_ICON, LOGO/LOGO | Image object for image assets. RECOMMENDED by the OpenRTB Native specification. One of |
video | No | Video | BidRequest.AdSlot.NativeAdTemplate.required_fields | Video object for video assets. Note that in-stream video ads are not part of Native. Native ads may contain a video as the ad creative itself. Bid requests can indicate that video is required in the NativeResponse by setting NativeRequest.assets[].required to true and specifying a NativeRequest.assets[].video . RECOMMENDED by the OpenRTB Native specification. One of Title , Image , Data , Video . |
data | No | Data | BidRequest.AdSlot.native_ad_template[0] of types CTATEXT/CALL_TO_ACTION, DESC/BODY, SPONSORED/ADVERTISER, PRICE/PRICE, RATING/STAR_RATING | Data object for ratings, prices etc. RECOMMENDED by the OpenRTB Native specification. One of |
Title
The Title
object is to be used for title element of the Native ad.
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
len | No | int32 | BidRequest.AdSlot.native_ad_template[0].headline_max_safe_length | Maximum length of the text in the title element. RECOMMENDED that the value be either of: 25, 90, 140. REQUIRED by the OpenRTB Native specification. |
Image
The Image
object is to be used for image elements of the Native ad.
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
type | No | ImageAssetType | BidRequest.AdSlot.native_ad_template[0] field type | Type ID of the image element supported by the publisher. The publisher can display this information in an appropriate format. |
w | No | int32 | Not supported | Width of the image in pixels. |
h | No | int32 | Not supported | Height of the image in pixels. |
wmin | No | int32 | BidRequest.AdSlot.native_ad_template[0] of type: MAIN/IMAGE:image_width LOGO/LOGO: logo_width ICON/APP_ICON: app_icon_width | The minimum requested width of the image in pixels. This option should be used for any rescaling of images by the client. Either w or wmin should be transmitted. If only w is included, it should be considered an exact requirement. RECOMMENDED by the OpenRTB Native specification. |
hmin | No | int32 | BidRequest.AdSlot.native_ad_template[0] of type: MAIN/IMAGE:image_height LOGO/LOGO: logo_height ICON/APP_ICON: app_icon_height | The minimum requested height of the image in pixels. This option should be used for any rescaling of images by the client. Either h or hmin should be transmitted. If only h is included, it should be considered an exact requirement. RECOMMENDED by the OpenRTB Native specification. |
mimes | No | string | Not supportedAllowlist of content MIME types supported. Popular MIME types include, but are not limited to "image/jpg" and "image/gif". Each implementing Exchange should have its own list of supported types in the integration docs. See Wikipedia's MIME page for more information and links to all IETF RFCs. If blank, assume all types are allowed. |
Video
The Video
object is to be used for video elements of the Native ad.
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
mimes | Yes | Array of string | BidRequest .Video .allowed _video _formats | Content MIME types supported. Popular MIME types include but are not limited to "video/x-mswmv" for Windows Media, and "video/x-flv" for Flash Video, or "video/mp4". Note that native frequently does not support flash. REQUIRED by the OpenRTB Native specification: at least 1 element. |
minduration | Yes | int32 | BidRequest .Video .min_ad _duration | Minimum video ad duration in seconds. REQUIRED by the OpenRTB Native specification. |
maxduration | Yes | int32 | BidRequest .Video .max_ad _duration | Maximum video ad duration in seconds. REQUIRED by the OpenRTB Native specification. |
protocols | Yes | Array of Protocol enum | BidRequest .Video .protocols | An array of video protocols the publisher can accept in the bid response. REQUIRED by the OpenRTB Native specification: at least 1 element. Examples: |
Data
The Data
object is to be used for all non-core elements of the native unit such as Ratings, Review Count, Stars, Download count, descriptions etc. It is also generic for future of Native elements not contemplated at the time of the writing of this document.
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
type | Yes | DataAssetType | BidRequest.AdSlot.native_ad_template[0] field type | Type ID of the element supported by the publisher. The publisher can display this information in an appropriate format. REQUIRED by the OpenRTB Native specification. |
len | No | int32 | BidRequest.AdSlot.native_ad_template[0] of type: DESC/BODY: body_max_safe_length CTATEXT/CALL_TO_ACTION: call_to_action_max_safe_length SPONSORED/ADVERTISER: advertiser_max_safe_length PRICE/PRICE: price_max_safe_length | Maximum length of the text in the element's response. Note: not used for RATING/STAR_RATING, AdX needs a double 0..5 |
EventTrackers
The EventTrackers object specifies the type of events the bidder can request to be tracked in the bid response, and which types of tracking are available for each event type, and is included as an array in the request.Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
event | Yes | EventType | Not supported | Type of event available for tracking. REQUIRED by the OpenRTB Native specification. |
methods | Yes | EventTrackingMethod | Not supported | Array of types of tracking available for the given event. REQUIRED by the OpenRTB Native specification. |
NativeResponse
The native response object is the top-level JSON object that identifies a native response.
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
ver | No | string | "1.0" for OpenRTB 2.3; "1.1" for OpenRTB 2.4 | Version of the Native Markup version in use. |
assets | No | Array of assets | BidResponse.Ad.native_ad[0]. All assets are mapped to fields of a single NativeAd. | List of native ad's assets. |
link | Yes | Link | BidResponse.Ad.native_ad[0] | Destination Link.REQUIRED by the OpenRTB Native specification. |
imptrackers | No | Array of string | BidResponse.Ad.impression_tracking_url | Array of impression tracking URLs, expected to return a 1x1 image or 204 response - typically only passed when using 3rd party trackers. Use %%WINNING_PRICE%% macro or ${AUCTION_PRICE}. |
jstracker | No | string | Not supported | Optional JavaScript impression tracker. Contains script tags to be executed at impression time where it can be supported. |
eventtrackers | No | Array of EventTracker objects | BidResponse.Ad.impression_tracking_url and BidResponse.Ad.impression_tracking_resource | Array of response event trackers to run with the ad, in response to the declared supported methods in the NativeRequest. Replaces imptrackers and jstrackers. Implemented in 1.2. |
EventTracker
The event trackers response is an array of objects and specifies the types of events the bidder wants to track and the URLs/information to track them. Bidder must only respond with methods indicated as available in the request. Note that most JavaScript trackers expect to be loaded at impression time, so it's not generally recommended that the buyer respond with JavaScript trackers on other events, but the appropriateness of this is up to each buyer.
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
event | Yes | integer | Not supported | Type of event to track. |
method | Yes | integer | Not supported | Type of tracking requested. |
url | No | text | BidResponse.Ad. impression_tracking_url and BidResponse.Ad. ImpressionTrackingResource. script_url | The URL of the image or js. Required for image or js, optional for custom. |
customdata | No | Object containing key:value pairs. | Not supported | To be agreed individually with the exchange, an array of key:value objects for custom tracking; for example, the account number of the DSP with a tracking company; for example, {"accountnumber":"123"}. |
ext | No | EventTrackerExt object | Not supported | For OpenRTB/Protobuf, you can access this object with the [com.google.doubleclick.eventtrackers] extension key (exact path varies based on language used to generate proto library). For OpenRTB/JSON, you access with the ext field in the EventTracker message. |
EventTrackerExt
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
context | No | Array of enum Context | BidResponse.Ad. ImpressionTrackingResource. context | Additional context provided for rendering. UNKNOWN = 0; OMID = 1; Currently not supported. |
verification_parameters | No | string | BidResponse.Ad. ImpressionTrackingResource. verification_parameters | Parameters associated with the resource that will be passed to the resource when it is loaded. The format of the parameters is dependent on the script vendor. |
vendor_key | No | string | BidResponse.Ad. ImpressionTrackingResource. vendor_key | Used to uniquely identify the verification script provider. |
Link
Used for "call to action" assets, or other links from the Native ad. This object should be associated with its peer object in the parent Asset
object. When that peer object is activated (clicked) the action should take the user to the location of the link.
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
url | No | string | BidResponse.ad[].native_ad.click_link_url | Landing URL of the clickable link. |
clicktrackers | No | Array of string | (NativeResponse.link) BidResponse.Ad.NativeAd.click_tracking_url[0] | Third-party tracker URLs to be fired on click of the URL. Google click trackers redirect HTTP 30x to the bidder's tracker. Multiple clicktrackers are allowed. |
fallback | No | string | Not supported | Fallback URL for deeplink. To be used if the URL given in url is not supported by the device. |
Asset
Corresponds to the Asset
object in the request. The main container object for each asset requested or supported by Exchange on behalf of the rendering client. Any object that is required is to be flagged as such. Only one of the {title,img,video,data}
objects should be present in each object. All others should be null/absent. The ID should be unique within the Asset array so that the response can be aligned.
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
id | Yes | int32 | Not supported | Unique asset ID, assigned by exchange, must match one of the asset IDs in request REQUIRED by the OpenRTB Native specification. |
required | No | bool | Not supported | Set to 1 if asset is required. (bidder requires it to be displayed) |
title | No | Title | AdX: BidResponse.Ad.native_ad[0] / HEADLINE | One of Title , Image , Data , Video Title object for title assets. |
img | No | Image | BidResponse.Ad.native_ad[0] / IMAGE| LOGO|APP_ICON | One of Title , Image , Data , Video |
video | No | Video | BidResponse.Ad.NativeAd.video_url or BidResponse.Ad.NativeAd.video_vast_xml | Can be either a string containing VAST XML or a URL to a VAST document through the |
data | No | Data | BidResponse.Ad.native_ad[0] / BODY|CALL_TO_ACTION| ADVERTISER|STAR_RATING_PRICE_STORE | One of Title , Image , Data , Video . |
link | No | Link | BidResponse.Ad.native_ad[0] | Link object for call to actions. This link is to associated to the other populated field within the object. |
Title
Corresponds to the Title
object in the request, with the value filled in.
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
text | Yes | string | BidResponse.Ad.native_ad[0].headline | The text associated with the text element. REQUIRED by the OpenRTB Native specification. |
Image
Corresponds to the Image
object in the request. The Image
object to be used for all image elements of the Native ad such as Icons, Main Image, etc.
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
url | Yes | string | BidResponse.Ad.native_ad[0] for request asset type: MAIN/IMAGE: image.url ICON/APP_ICON: app_icon.url LOGO/LOGO: logo.url | URL of the image asset. REQUIRED by the OpenRTB Native specification. |
w | No | int32 | BidResponse.Ad.native_ad[0] for request asset type: MAIN/IMAGE: image.url ICON/APP_ICON: app_icon.url LOGO/LOGO: logo.url | Width of the image in pixels. RECOMMENDED by the OpenRTB Native specification. |
h | No | int32 | BidResponse.Ad.native_ad[0] for request asset type: MAIN/IMAGE: image.url ICON/APP_ICON: app_icon.url LOGO/LOGO: logo.url | Height of the image in pixels. |
Video
Corresponds to the Video
object in the request, yet containing a value of a conforming VAST tag as a value.
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
vasttag | Yes | string | Not supported | VAST xml. REQUIRED by the OpenRTB Native specification. |
Data
Corresponds to the Data
object in the request, with the value filled in. The Data
object is to be used for all miscellaneous elements of the native unit such as Ratings, Review Count, Stars, Downloads, Price count etc. It is also generic for future Native elements not contemplated at the time of the writing of this document.
Attribute | Always passed | Type | Authorized Buyers equivalent | Implementation details |
---|---|---|---|---|
label | No | string | Not supported | The optional formatted string name of the data type to be displayed. |
value | Yes | string | BidResponse.Ad.native_ad[0] for request asset type OpenRTB/AdX: CTATEXT/CALL_TO_ACTION: call_to_action DESC/BODY: body SPONSORED/ADVERTISER: advertiser PRICE/PRICE: price RATING/STAR_RATING: star_rating (AdX requires a double 0..5) | The formatted string of data to be displayed. Can contain a formatted value such as "5 stars" or "$10" or "3.4 stars out of 5". REQUIRED by the OpenRTB Native specification. |