出价方可通过一次出价为多个买方购买广告资源 响应。例如,需求方平台 (DSP) 可能会使用其出价解决方案, 为多个营销人员或代理机构购买广告资源, 买方。本指南介绍如何对出价工具进行编码以处理单个请求 代表多个买方发送
背景
在某些情况下,广告联盟或代理机构交易公司可能会选择 与一个或多个 DSP 相关联对于按要求从事相关工作的买方 通过需求方平台开发应用:
- DSP 为 不是买方。在这种情况下,DSP 会收到一个出价请求 并给出一个出价作为响应Google 会直接向 DSP 收费。
- DSP 为 买方。DSP 会收到一个包含多项账单的出价请求 与符合条件的买方相关联的 ID,并且可以针对每个 来代表买方出价在这种模型中, 买方而非需求方平台本指南的其余部分将重点介绍这种情况。
设置和预定位
Google 将发送一个出价请求,其中包含一个或多个关联的结算 ID
与定位到相应展示机会的买方和预定位配置相关联。
您可以通过 BidRequest.imp.ext.billing_id
字段。
响应包含结算 ID 的 BidRequest
时,
有多个买方,BidResponse.seatbid.bid.ext.billing_id
以便 Google 了解将出价与哪个账号相关联。不限
会被滤除。此字段仍为选填
任何仅包含一个结算 ID 的 BidRequest
的 ID。
预定位示例
某个出价方代表两个买方出价:其中一个的结算 ID 为 123; 另一个结算 ID 为 124。出价方配置了一项预定位配置 结算 ID 为 213 的配置定位到英语,而另一个 使用结算 ID 231 来定位个人计算机。下文介绍了 针对不同类型的展示机会发出的出价请求中显示的结算 ID。
展示描述 | 出价请求中的结算 ID |
---|---|
个人计算机上的日语内容。 | 123、124、231 |
手机上的英语内容。 | 123、124、213 |
个人计算机上的英语内容。 | 123、124、213、231 |
出价请求示例
以下是 BidRequest
的示例。您会注意到
,因为这些请求适用于多个账号。
OpenRTB 协议缓冲区
示例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 } }
OpenRTB JSON
示例{ "id": "pu96xf0D7otnT4Q317588G", "imp": [ { "id": "1", "banner": { "w": 320, "h": 50, "pos": 1, "expdir": [ 1, 2, 3, 4 ], "api": [ 3, 5 ], "format": [ { "w": 320, "h": 50 }, { "w": 320, "h": 100 } ] }, "displaymanager": "GoogleMobileAds-iOS", "displaymanagerver": "10.5.0", "tagid": "1077633402", "bidfloor": 0.01, "bidfloorcur": "USD", "secure": 1, "exp": 3600, "clickbrowser": 1, "metric": [ { "type": "viewability", "value": 0.74, "vendor": "EXCHANGE" }, { "type": "session_depth", "value": 1, "vendor": "EXCHANGE" } ], "ext": { "billing_id": [ 77621228638, 75301362736 ], "dfp_ad_unit_code": "/9041646/google/test", "ampad": 2, "buyer_generated_request_data": [ { "source_app": { "id": "com.google.ads.mediation.test.TestAdapter" }, "data": "Test Data" } ], "excluded_creatives": [ { "buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID" }, { "buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID" } ], "creative_enforcement_settings": { "policy_enforcement": 1, "publisher_blocks_enforcement": 2 }, "billable_event_rate_adjustment": 1, "auction_environment": 0, "ad_unit_mapping": [ { "keyvals": [ { "key": "OMITTED", "value": "OMITTED" }, { "key": "OMITTED", "value": "OMITTED" } ], "format": 1 } ], "ae": 0 } } ], "app": { "name": "Test App", "bundle": "com.google.testapp", "publisher": { "id": "pub-3858090347872942", "ext": { "country": "JP" } }, "content": { "url": "https://www.google.com", "livestream": 0, "language": "ja" }, "storeurl": "https://www.google.com", "ext": { "installed_sdk": [ { "id": "com.google.ads.mediation.test.TestAdapter", "sdk_version": { "major": 5, "minor": 2, "micro": 6 }, "adapter_version": { "major": 5, "minor": 2, "micro": 600 } } ], "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": "JPN", "region": "JP-11", "city": "Wako", "type": 2, "utcoffset": 540, "accuracy": 1656 }, "make": "Apple", "model": "iPhone13,2", "os": "iOS", "osv": "17.4.1", "connectiontype": 2, "devicetype": 4, "ifa": "644t6oo9K5630T4P55UhH3U6QwBvyR8434j1", "lmt": 0, "hwv": "iPhone13,2", "w": 390, "h": 844, "pxratio": 3, "sua": { "browsers": [ { "brand": "Mozilla", "version": [ "5", "0" ] }, { "brand": "AppleWebKit", "version": [ "605", "1" ] } ], "platform": { "brand": "iPhone", "version": [ "17", "4" ] }, "mobile": 1, "bitness": "64", "model": "iPhone", "source": 3 }, "ext": { "atts": 3 } }, "user": { "id": "wr62bT596f06jhZ1V77n3I1b63h", "data": [ { "id": "pub-9226299926337762", "name": "Publisher Passed", "segment": [ { "name": "TEST_NAME", "value": "TEST_VALUE" }, { "name": "TEST_NAME", "value": "TEST_VALUE" } ] } ], }, "at": 1, "tmax": 1000, "cur": [ "USD" ], "source": { "schain": { "complete": 1, "nodes": [ { "asi": "testssp.com", "sid": "pub-1111111111111111", "hp": 1 } ], "ver": "1.0" }, "ext": { "omidpn": "Google", "omidpv": "afma-sdk-i-v10.5.0", "schain": { "complete": 1, "nodes": [ { "asi": "testssp.com", "sid": "pub-1111111111111111", "hp": 1 } ], "ver": "1.0" } } }, "ext": { "google_query_id": "ANy-z3D398-yn1l2uC2D50Bl9f19AQ3nSQAI82307LmCWc646P925n10EqSpUdQ1wt1IxQj7", "fcap_scope": 1 } }
id: "\330\334\201\343\345\\jN\3313`V^\214\207\003\345\022GP\023\323\251" user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148" url: "https://www.google.com" detected_language: "it" adslot { id: 1 width: 414 width: 320 height: 50 height: 50 excluded_attribute: 15 excluded_attribute: 22 allowed_vendor_type: 489 allowed_vendor_type: 550 excluded_sensitive_category: 36 excluded_sensitive_category: 4 matching_ad_data { billing_id: 97713609660 billing_id: 60373602214 minimum_cpm_micros: 40000 } matching_ad_data { billing_id: 84882034591 billing_id: 74365219129 minimum_cpm_micros: 520000 } slot_visibility: ABOVE_THE_FOLD ad_block_key: 4252652432 publisher_settings_list_id: 8511095895255592384 excluded_creatives { buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID" } excluded_creatives { buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID" } viewability: 89 click_through_rate: 0.0027791813 allowed_ad_types: ALLOWED_AD_TYPE_BANNER is_amp_page: DIALECT_HTML amp_ad_requirement_type: AMP_AD_NOT_ALLOWED consented_providers_settings { consented_providers: 196 consented_providers: 153 additional_consent_string: "OMITTED" } regs_gdpr: true api: OMID_1 api: MRAID_1 omidpn: "Google" omidpv: "afma-sdk-i-v9.0.0" creative_enforcement_settings { policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES } auction_environment: SERVER_SIDE_AUCTION impression_expiration_seconds: 3600 supported_auction_environment: SERVER_SIDE_AUCTION display_manager: "GoogleMobileAds-iOS" display_manager_version: "9.0.0" } is_test: false timezone_offset: 120 mobile { app_id: "116395214" is_app: true app_name: "Test App" } postal_code: "10011" geo_criteria_id: 20524 publisher_settings_list_id: 9033154688577085139 publisher_type: PUBLISHER_OWNED_AND_OPERATED partner_id: 8689962800479104672 device { device_type: HIGHEND_PHONE platform: "iphone" brand: "Apple" model: "iPhone9,4" os_version { major: 15 minor: 8 micro: 2 } carrier_id: 0 screen_width: 414 screen_height: 736 screen_pixel_ratio_millis: 3000 screen_orientation: PORTRAIT hardware_version: "iPhone9,4" limit_ad_tracking: true app_tracking_authorization_status: DENIED connection_type: WIFI } publisher_country: "IT" publisher_id: "pub-1111111111111111" response_deadline_ms: 1000 google_query_id: "ANy-z17d1Q-rs050w92ve6V2Lm2820pMZ0517u12jT7m02AURu7dw0XbsQ0pK5EAd173Cm1Q" auction_type: FIRST_PRICE geo { lat: 42.85 lon: 13.7 country: "ITA" region: "IT-AP" zip: "63082" utcoffset: 120 accuracy: 19730 } user_agent_data { platform { brand: "iPhone" version: "15" version: "0" } mobile: true model: "iPhone" browsers { brand: "Mozilla" version: "5" version: "0" } browsers { brand: "AppleWebKit" version: "605" version: "1" } bitness: "64" source: USER_AGENT_STRING } supply_chain { complete: true nodes { advertising_system_identifier: "testdomain.com" seller_identifier: "pub-1111111111111111" handles_payment: true } version: "1.0" } frequency_capping_scope: FREQUENCY_CAPPING_SCOPE_NONE privacy_treatments { ip: IP_REDACTED user_agent: USER_AGENT_COARSENED non_personalized_ads_reason: PUBLISHER_DECLARED_NPA allow_user_data_collection: false device_storage_restriction_reason: INSUFFICIENT_USER_CONSENT } inventory_partner_domain: "OMITTED"