Объект SupplyChain позволяет покупателям и посредникам видеть все стороны, принимающие участие в продаже и перепродаже рекламного инвентаря. Вместе с файлами ads.txt
, app-ads.txt
и sellers.json
он помогает обеспечить прозрачность рекламной экосистемы.
- Издатель отправляет запрос ставки.
- Покупатель получает запрос ставки и данные из объекта SupplyChain.
- Покупатель изучает сведения о каждом посреднике, который будет заниматься перепродажей инвентаря.
- Покупатель сканирует и проверяет всех поставщиков, которым разрешено продавать инвентарь.
Google автоматически создает такие объекты в рамках запроса OpenRTB или протокола Google RTB.
Как работает объект SupplyChain
Объект SupplyChain (
) является частью запроса ставки OpenRTB и состоит из узлов. Каждый узел в объекте schain
schain
представляет сторону, участвующую в запросе ставки и задействованную в прямом потоке платежных операций для инвентаря.
sid
) дочернего издателя с помощью Менеджера рекламы или API.
// Пример объекта
"schain": {
"complete": 1,
"nodes": [{
"asi":"google.com",
"sid":"pub-1234567891234567", // Тот же идентификатор seller_id для издателя, что и в файле sellers.json
"hp":1
}],
"ver":"1.0"
}
Более подробная информация приведена в документации для разработчиков по OpenRTB и в этом документе IAB.
Объект SupplyChain имеет разный вид в зависимости от того, как вы работаете с покупателями.
Издатели, продающие инвентарь напрямую через Google
Для издателей, которые продают инвентарь напрямую через Менеджер рекламы, AdMob или AdSense, объект schain
содержит только один узел для "google.com" с идентификатором seller_id
, указанным в файле sellers.json.
Издатели, использующие Open Bidding
Для издателей, которые используют функцию Open Bidding для работы со сторонними биржами, объект schain
содержит два узла: один для google.com с идентификатором seller_id
, указанным в файле sellers.json, и один для партнера по группе доходности на аукционе.
Прежде чем отправить запрос ставки, система Google создает узел для google.com. Сторонняя биржа также должна добавлять свой узел перед отправкой запроса.
Посредники, не работающие с платежами
В объект SupplyChain не включаются посредники, которые не работают с платежами, в частности предоставляющие услуги назначения ставок в заголовке на стороне клиента или без оплаты, а также совместного использования инвентаря.
Издатели, которые пользуются услугами посредников в вопросах оплаты до запроса (бета)
Бета-функции могут быть недоступны в вашей сети. Узнать о том, когда она станет общедоступной, можно в примечаниях к выпуску.
В соответствии с правилами IAB издателям, которые собирают информацию о посредниках в цепочке платежей Google Менеджера рекламы, необходимо передавать объект SupplyChain
. В объекте SupplyChain
должны быть указаны только посредники, которые непосредственно вовлечены в цепочку платежей за инвентарь. Это могут быть поставщики технологий стороннего сервера объявлений, которыми пользуется издатель. Объект SupplyChain
можно передать в запрос объявления с помощью параметра schain
.
Описание
Параметр, относящийся к цепочке поставок (schain
), принимает переменное значение, которое является сериализованным объектом SupplyChain. Если этот параметр присутствует, Google добавляет узел в каждый полученный объект schain
, прежде чем отправлять его покупателю.
В документации IAB описано, как передавать данные SupplyChain с помощью тега (а не OpenRTB).
Каким требованиям должен соответствовать объектschain
для его корректной обработки
Как указано в документации IAB, сериализация объекта SupplyChain
зависит от следующих условий:
- Свойства
{SupplyChainObject}!{SupplyChainNode array}. SupplyChainObject
иSupplyChainNode
разделяются запятой. Эти необязательные поля можно опустить. - Элементы
SupplyChainNode
отделяются восклицательным знаком (!
). - Если какие-либо символы в значениях свойств требуют кодирования (например,
,
или!
), то их нужно закодировать перед сериализацией.
Порядок сериализации
Свойства SupplyChainObject
сериализуются в таком порядке:
ver,complete
Свойства SupplyChainNode
сериализуются в таком порядке:
asi,sid,hp,rid,name,domain,ext
ext
зависит от аукциона. Google Менеджер рекламы не обрабатывает это свойство.Примеры сериализации объекта SupplyChain
Вот два примера сериализации указанного выше объекта SupplyChain
:
1.0,1!exchange1,12345,1,bid-request-1,publisher1,publisher1.com!google.com,pub-12345678910,1,,,,
1.0,1!exchange1,12345,1,bid-request-1,publisher1,publisher1.com!google.com,pub-12345678910,1
Примеры использования
schain=1.0,1!exchange1,12345,1,bid-request-1,publisher1,publisher1.com!google.com,pub-12345678910,1,,,,
Если у свойства asi
было значение exchange,1
, то результат сериализации с экранирующими символами будет таким:
1.0,1!exchange%2C1,12345,1,bid-request-1,publisher1,publisher1.com!google.com,pub-12345678910,1
Требования и рекомендации
Хотя этот параметр не является обязательным для какого-либо способа внедрения рекламы или типа транзакций, он необходим издателям, которые пользуются услугами посредников для обработки платежа после отправки запроса в Google Менеджер рекламы. В частности, это издатели, использующие сторонние серверы объявлений.
SupplyChain
, необходимо также указать в файле ads.txt или app-ads.txt издателя. В противном случае покупатели могут посчитать, что трафик привлечен запрещенными способами.Издатели, использующие Инструмент управления клиентами (MCM)
Благодаря Инструменту управления клиентами (MCM) издатели могут работать с клиентскими аккаунтами AdMob с тем же уровнем доступа и контроля, какой у них есть в аккаунте издателя.
Если родительский и дочерний издатели используют AdMob MCM, объект schain
содержит один узел с идентификатором продавца дочернего издателя и одним узлом для родительского издателя, а объект schain помечается как полный ("complete": 1). Монетизация в этом случае происходит в аккаунте дочернего издателя. Дочерний издатель считается конечным.