Участник торгов может приобрести инвентарь для нескольких покупателей, отправив один запрос. Например, платформа спроса (DSP) может использовать своё приложение для торгов для покупки инвентаря для нескольких маркетологов или агентств, являющихся покупателями. В этом руководстве объясняется, как настроить ваш организатор торгов для обработки одного запроса, отправленного от имени нескольких покупателей.
Фон
В некоторых случаях рекламная сеть или агентство, занимающееся торговлей, может выбрать работу с одной или несколькими DSP. Для покупателей, работающих через DSP, доступны два варианта:
- DSP приобретает инвентарь для маркетологов или агентств, не являющихся покупателями . В этом случае DSP получает один запрос ставки и отвечает одной ставкой. Google выставляет счет DSP напрямую.
- DSP приобретает инвентарь для маркетологов или агентств, являющихся покупателями . DSP получает один запрос на ставку, включающий несколько идентификаторов выставления счетов, связанных с подходящими покупателями, и может делать отдельные ставки для каждого покупателя, от имени которого она намерена делать ставки. В этой модели Google выставляет счет покупателю, а не DSP. Остальная часть данного руководства посвящена этому сценарию.
Настройка и предварительный таргетинг
Google отправит запрос ставки, содержащий один или несколько идентификаторов выставления счетов, связанных с покупателями, и конфигурации предварительного таргетинга, которые были использованы для показа. Их можно найти в поле BidRequest.imp.ext.billing_id .
При ответе на BidRequest , содержащий идентификаторы платёжных систем нескольких покупателей, необходимо указать BidResponse.seatbid.bid.ext.billing_id , чтобы Google знал, какой аккаунт связать с ставкой. Любой ответ, в котором это поле не задано, фильтруется. Поле остаётся необязательным для любого BidRequest , содержащего только один идентификатор платёжной системы.
Пример предварительного таргетинга
Участник торгов делает ставки от имени двух покупателей, один из которых имеет идентификатор 123, а другой — 124. Участник торгов настраивает одну конфигурацию предварительного таргетинга с идентификатором 213 для таргетинга на английский язык, а другую — с идентификатором 231 для таргетинга на персональные компьютеры. Ниже описаны идентификаторы таргетинга, которые используются в запросах ставок для различных типов показов.
| Описание впечатления | Идентификаторы счетов в запросе заявки |
|---|---|
| Контент на японском языке на персональном компьютере. | 123, 124, 231 |
| Контент на английском языке на мобильном телефоне. | 123, 124, 213 |
| Контент на английском языке на персональном компьютере. | 123, 124, 213, 231 |
Примеры BidRequests
Ниже приведены примеры BidRequest . Обратите внимание, что в этих запросах используется несколько идентификаторов выставления счетов, поскольку они применимы к нескольким аккаунтам.
OpenRTB Protobuf
id: "n9YFp0D9qE02Q5A49bo68a" imp { id: "1" banner { w: 320 h: 50 pos: ABOVE_THE_FOLD api: MRAID_1 api: MRAID_2 format { w: 320 h: 50 } } displaymanager: "GoogleMobileAds-iOS" displaymanagerver: "11.2.0" tagid: "2913643481" bidfloor: 0.04 bidfloorcur: "USD" secure: true exp: 3600 clickbrowser: true metric { type: "click_through_rate" value: 0.0003642654628492892 vendor: "EXCHANGE" } metric { type: "viewability" value: 0.98 vendor: "EXCHANGE" } [com.google.doubleclick.imp] { billing_id: 41048190734 billing_id: 87998475627 publisher_settings_list_id: 5889715199959683550 publisher_settings_list_id: 3379823455061055318 allowed_vendor_type: 566 allowed_vendor_type: 113 ampad: AMP_AD_NOT_ALLOWED skadn { sourceapp: "com.google.testapp" skadnetids: "6ZVs3vs4" versions: "2.0" versions: "2.1" fidelities: VIEW_THROUGH_ADS fidelities: STOREKIT_RENDERED_ADS } creative_enforcement_settings { policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES } auction_environment: SERVER_SIDE_AUCTION ae: SERVER_SIDE_AUCTION } } app { name: "Test App" bundle: "com.google.testapp" publisher { id: "pub-6227762759521589" [com.google.doubleclick.publisher] { country: "US" } } content { url: "https://www.google.com" livestream: false language: "en" } storeurl: "https://www.google.com" [com.google.doubleclick.app] { inventorypartnerdomain: "OMITTED" } } device { ua: "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148" ip: "192.168.1.0" geo { lat: 0.0 lon: 0.0 country: "USA" region: "TX" metro: "623" city: "Lewisville" type: IP utcoffset: -300 accuracy: 6225 } make: "Apple" model: "iPhone13,2" os: "iOS" osv: "17.4.1" connectiontype: WIFI devicetype: HIGHEND_PHONE lmt: true hwv: "iPhone13,2" w: 390 h: 844 pxratio: 3.0 sua { browsers { brand: "Mozilla" version: "5" version: "0" } browsers { brand: "AppleWebKit" version: "605" version: "1" } platform { brand: "iPhone" version: "17" version: "4" } mobile: true bitness: "64" model: "iPhone" source: USER_AGENT_STRING } [com.google.doubleclick.device] { atts: 2 } } at: FIRST_PRICE tmax: 1000 cur: "USD" bcat: "IAB18-5" bcat: "IAB23-4" bapp: "359917414" bapp: "1446254576" source { schain { complete: true nodes { asi: "testssp.com" sid: "pub-1111111111111111" hp: true } ver: "1.0" } [com.google.doubleclick.source] { omidpn: "Google" omidpv: "afma-sdk-i-v11.2.0" schain { complete: 1 nodes { asi: "testssp.com" sid: "pub-1111111111111111" hp: 1 } ver: "1.0" } } } [com.google.doubleclick.bid_request] { google_query_id: "ANy-z17251-40u3eXfXPL5j3MDPa7n6Ree92uf7354o71FP67Rk5i3G30Ez7p39Ze1722D8H" fcap_scope: FREQUENCY_CAPPING_SCOPE_APP privacy_treatments { allow_user_data_collection: true } }