یک پیشنهاد دهنده میتواند در یک پاسخ به پیشنهاد، موجودی چندین خریدار را خریداری کند. به عنوان مثال، یک پلتفرم سمت تقاضا (DSP) ممکن است از برنامه پیشنهاد خود برای خرید موجودی چندین بازاریاب یا آژانس که خریدار هستند استفاده کند. این راهنما نحوه کدگذاری پیشنهاد دهنده شما را برای پردازش یک درخواست واحد ارسال شده از طرف چندین خریدار توضیح میدهد.
پیشینه
در برخی سناریوها، یک شبکه تبلیغاتی یا میز معاملاتی آژانس ممکن است تصمیم بگیرد که با یک یا چند DSP کار کند. دو گزینه برای خریدارانی که از طریق یک DSP کار میکنند، وجود دارد:
- DSP موجودی را برای بازاریابان یا آژانسهایی که خریدار نیستند ، خریداری میکند . در این حالت، DSP یک درخواست پیشنهاد قیمت دریافت میکند و با یک پیشنهاد قیمت پاسخ میدهد. گوگل مستقیماً برای DSP صورتحساب ارسال میکند.
- DSP موجودی را برای بازاریابان یا آژانسهایی که خریدار هستند، خریداری میکند . DSP یک درخواست پیشنهاد شامل چندین شناسه صورتحساب مرتبط با خریداران واجد شرایط دریافت میکند و میتواند برای هر خریداری که قصد دارد از طرف او پیشنهاد قیمت دهد، پیشنهادهای متمایزی ارائه دهد. در این مدل، گوگل صورتحساب را برای خریدار ارسال میکند، نه برای DSP. بقیه این راهنما بر روی این سناریو تمرکز دارد.
راهاندازی و هدفگیری اولیه
گوگل یک درخواست پیشنهاد قیمت حاوی یک یا چند شناسه صورتحساب مرتبط با خریداران و پیکربندیهای از پیش هدفگیریشده که نمایش را هدف قرار دادهاند، ارسال میکند. این موارد را میتوانید در فیلد BidRequest.imp.ext.billing_id پیدا کنید.
هنگام پاسخ به BidRequest که حاوی شناسههای صورتحساب از چندین خریدار است، BidResponse.seatbid.bid.ext.billing_id لازم است تا گوگل بداند کدام حساب را با پیشنهاد مرتبط کند. هر پاسخی که این فیلد را تنظیم نکند، فیلتر میشود. این فیلد برای هر BidRequest که فقط شامل یک شناسه صورتحساب واحد باشد، اختیاری باقی میماند.
مثال پیش هدفگیری
یک پیشنهاد دهنده از طرف دو خریدار پیشنهاد میدهد که یکی دارای شناسه صورتحساب ۱۲۳ و دیگری دارای شناسه صورتحساب ۱۲۴ است. پیشنهاد دهنده یک پیکربندی پیش هدفگیری را با شناسه صورتحساب ۲۱۳ برای هدف قرار دادن زبان انگلیسی و دیگری با شناسه صورتحساب ۲۳۱ برای هدف قرار دادن رایانههای شخصی پیکربندی میکند. در ادامه، شناسههای صورتحسابی که در درخواستهای پیشنهاد برای انواع مختلف نمایش ظاهر میشوند، شرح داده شده است.
| شرح برداشت | شناسههای صورتحساب در درخواست پیشنهاد قیمت |
|---|---|
| محتوای زبان ژاپنی در رایانه شخصی. | ۱۲۳، ۱۲۴، ۲۳۱ |
| محتوای انگلیسی زبان در تلفن همراه | ۱۲۳، ۱۲۴، ۲۱۳ |
| محتوای زبان انگلیسی در رایانه شخصی. | ۱۲۳، ۱۲۴، ۲۱۳، ۲۳۱ |
مثال درخواستهای پیشنهاد
در زیر نمونههایی از یک 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 } }