Un enchérisseur peut acheter un inventaire pour plusieurs acheteurs avec une seule enchère. de réponse. Par exemple, une plate-forme côté demande (DSP) peut utiliser son système d'enchères une application d'achat d'inventaire pour plusieurs responsables marketing ou agences auprès des acheteurs. Ce guide vous explique comment coder votre système d'enchères afin de traiter une seule demande. envoyé au nom de plusieurs acheteurs.
Contexte
Dans certains cas, un réseau publicitaire ou une plate-forme d'échange d'annonces peut choisir de travailler avec une ou plusieurs DSP. Deux options s'offrent aux acheteurs via une DSP:
- La DSP achète un inventaire pour le compte des responsables marketing ou agences et non aux acheteurs. Dans ce cas, la DSP reçoit une demande d'enchère. et répond avec une seule enchère. Google facture directement la DSP.
- La DSP achète un inventaire pour le compte des responsables marketing ou agences auprès des acheteurs. La DSP reçoit une demande d'enchère comprenant plusieurs factures les identifiants associés aux acheteurs éligibles, et vous pouvez définir des enchères distinctes pour chaque auprès de l'acheteur pour lequel elles ont l'intention d'enchérir. Dans ce modèle, Google facture le et non à la DSP. Le reste de ce guide est consacré à ce scénario.
Configuration et préciblage
Google enverra une demande d'enchère contenant un ou plusieurs n° compte facturation associés
avec les acheteurs et les configurations de préciblage qui ciblaient l'impression.
Pour trouver ces éléments, utilisez l'BidRequest.imp.ext.billing_id
.
Lorsque vous répondez à une BidRequest
contenant des n° compte facturation
plusieurs acheteurs, BidResponse.seatbid.bid.ext.billing_id
est
nécessaire pour que Google sache
quel compte associer à l'enchère. N'importe quelle valeur
la réponse qui ne définit pas le champ est filtrée. Le champ reste facultatif
pour tous les BidRequest
qui ne comprennent qu'un seul ID de compte de facturation.
Exemple de préciblage
Un enchérisseur définit une enchère au nom de deux acheteurs, l'un ayant le n° compte facturation 123 et l'autre avec le n° compte facturation 124. L'enchérisseur configure un préciblage avec le numéro de compte de facturation 213 pour cibler l'anglais et une autre avec le n° compte facturation 231 pour cibler les ordinateurs personnels. Vous trouverez ci-dessous les numéros de compte de facturation qui apparaissent dans les demandes d'enchères pour différents types d'impressions.
Description de l'impression | N° compte facturation dans la demande d'enchère |
---|---|
du contenu en japonais sur un ordinateur personnel ; | 123 124 231 |
Contenu en anglais sur un téléphone mobile. | 123 124 213 |
Contenu en anglais sur un ordinateur personnel | 123 124 213 231 |
Exemples de demandes d'enchères
Vous trouverez ci-dessous des exemples de BidRequest
. Notez qu'il existe plusieurs n° compte facturation.
dans ces demandes, car elles s'appliquent à plusieurs comptes.
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 } }
{ "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"