אינטראקציה של בידינג בזמן אמת מתחילה כש-Google שולחת בקשת הצעת מחיר לאפליקציה שלכם. במדריך הזה מוסבר איך לכתוב את הקוד של האפליקציה כדי לעבד את בקשת הצעת המחיר.
ניתוח הבקשה
Google שולחת בקשת הצעת מחיר בסריאליזציה בפורמטים של OpenRTB JSON או Protobuf, שמצורפת כמטען הייעודי של בקשת HTTP POST. הפורמט שמתקבל תלוי בהגדרה של נקודת הקצה . דוגמה מופיעה בקטע דוגמה לבקשת בידינג .
צריך לנתח את הבקשה הזו כדי לקבל את BidRequest
בסריאליזציה. אם אתם משתמשים בפורמט Protobuf, עליכם להוריד את openrtb.proto
ואת openrtb-adx.proto
מהדף נתוני עזר ולהשתמש בהם כדי ליצור ספרייה שאפשר להשתמש בה כדי לנתח את ההודעה BidRequest
. לדוגמה, הקוד הבא ב-C++ מנתח בקשה עם עומס נתונים (payload) של POST במחרוזת:
string post_payload = /* the payload from the POST request */ ;
BidRequest bid_request ;
if ( bid_request . ParseFromString ( post_payload )) {
// Process the request .
}
אחרי שתקבלו את BidRequest
תוכלו לעבוד איתו כאובייקט, לחלץ את השדות הנחוצים ולפרש אותם. לדוגמה, ב-C++, איטרציה על עסקאות ב-`BidRequest` של OpenRTB עשויה להיראות כך:
for ( const BidRequest :: Imp :: Pmp :: Deal & deal : pmp . deals ()) {
DoSomething ( deal . id (), deal . wseat ());
}
מספרי לקוח לחיוב
אתם מקבלים בקשת הצעת מחיר כשמלאי שטחי הפרסום של בעל תוכן דיגיטלי מטרגט לפי אחד או יותר מ
ההגדרות של טירגוט מראש . השדה BidRequest.imp.ext.billing_id
יאוכלס במזהי החיוב של כל הקונים שעומדים בדרישות, ובהגדרות הרלוונטיות של טירגוט מראש. בנוסף, במלאי שטחי הפרסום במבצע , אפשר למצוא מזהי חיוב שמשויכים לקונה הרלוונטי באמצעות BidRequest.imp.pmp.deal.ext.billing_id
. כששולחים הצעת מחיר, אפשר לציין רק מזהי חיוב של קונים שכלולים בבקשת הצעת המחיר.
אם בקשת הצעת המחיר כוללת כמה מספרי לקוח לחיוב, צריך לציין את מספר הלקוח לחיוב של הקונה שאליו רוצים לשייך את הצעת המחיר באמצעות השדה BidResponse.seatbid.bid.ext.billing_id
.
קובצי מילון
בקשת הצעת המחיר כוללת מזהים שמוגדרים בקובצי מילון, שזמינים בדף נתוני עזר .
מאקרו של כתובת URL של בידינג
אפשר גם להוסיף חלק מהמידע מ-BidRequest
לכתובות ה-URL של נקודות הקצה לבידינג באמצעות מאקרו. אם מגדירים כתובת URL של נקודת קצה עם מאקרו אחד או יותר, הם ייפרסו אם המידע הזה נמצא בבקשת הצעת המחיר. הדבר יכול להיות שימושי, לדוגמה, אם רוצים לבצע איזון עומסים על סמך מידע ב-BidRequest
.
כדי לבקש תמיכה במאקרו חדש, פנו למנהל החשבון שלכם.
Macro תיאור
%%GOOGLE_USER_ID%%
מחליפים אותו במזהה המשתמש ב-Google שמופיע ב-BidRequest.user.id
. לדוגמה, כתובת ה-URL של המשתתף במכרז http://google.bidder.com/path?gid=%%GOOGLE_USER_ID%%
תוחלף במשהו כמו http://google.bidder.com/path?gid=dGhpyBhbiBleGFtGxl
בזמן שליחת הבקשה.
אם מזהה המשתמש ב-Google לא ידוע, המחרוזת הריקה תוחלף בתוצאה שדומה לזו:
http://google.bidder.com/path?gid=
%%HAS_MOBILE%%
הפרמטר מוחלף ב-1
כדי לציין שהבקשה להצעת מחיר הגיעה ממכשיר נייד, או ב-0
במקרים אחרים. ההגדרה הזו מבוססת על הערך של BidRequest.device.devicetype
, שבו מכשירים ניידים מסומנים ב-HIGHEND_PHONE
(4
) או ב-Tablet
(5
).
%%HAS_VIDEO%%
הערך הזה מוחלף ב-1
כדי לציין שבקשת הצעת המחיר מכילה מלאי שטחי פרסום למודעות וידאו, או ב-0
במקרים אחרים. האפשרות הזו תלויה בכך ש-BidRequest.imp.video
מאוכלס בבקשת הצעת המחיר.
%%HOSTED_MATCH_DATA%%
מוחלף בערך שמבוסס על BidRequest.user.buyeruid
.
%%MOBILE_IS_APP%%
המאפיין הזה מוחלף ב-1
כדי לציין שהבקשה להצעת מחיר היא למלאי שטחי פרסום באפליקציות לנייד, או ב-0
במקרים אחרים. האפשרות הזו תלויה בכך ש-BidRequest.app
מאוכלס.
איך למצוא את מזהה האפליקציה לנייד מכתובת ה-URL של העסקה
עסקאות באפליקציות לנייד ידווחו על כתובות URL שנראות כך:
mbappgewtimrzgyytanjyg4888888 .com
משתמשים במפענח של בסיס 32 כדי לפענח את החלק של המחרוזת שמופיע בכתב מודגש (gewtimrzgyytanjyg4888888
).
אפשר להשתמש במפענח אונליין , אבל תצטרכו להפוך את האותיות לאותיות רישיות ולהחליף את הערכים של 8
בסוף בערכי =
.
כך מפענחים את הערך הזה:
GEWTIMRZGYYTANJYG4======
התוצאה:
1 - 429610587
המחרוזת
429610587
היא מזהה האפליקציה של אפליקציית iOS
iFunny .
דוגמה נוספת: כתובת ה-URL שדווחה היא:
mbappgewtgmjug4ytmmrtgm888888 .com
פענוח הערך הזה:
GEWTGMJUG4YTMMRTGM======
התוצאה:
1 - 314716233
התוצאה
314716233
היא מזהה האפליקציה של אפליקציית iOS
TextNow .
חיפוש שם האפליקציה לנייד מכתובת ה-URL של העסקה
דוגמה לאחזור שם האפליקציה. כתובת ה-URL שדווחה היא:
mbappMFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q888 .com
פענוח הערך הזה:
MFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q===
התוצאה:
air.com.hypah.io.slither
התוצאה תואמת לאפליקציה ל-Android
slither.io .
שדות של Open Bidding
בקשות להצעות מחיר שנשלחות למשתתפים בבידינג ברשת וב-Exchange במסגרת Open Bidding דומות לבקשות של בעלי חשבון מורשים שמשתתפים בבידינג רגיל בזמן אמת. לקוחות Open Bidding יקבלו מספר קטן של שדות נוספים, ויכול להיות שיהיו שימושים חלופיים לכמה שדות קיימים. למשל:
OpenRTB
פרטים
BidRequest.imp.ext.dfp_ad_unit_code
מכיל את קוד הרשת של בעל האתר ב-Ad Manager, ואחריו את היררכיית יחידות המודעות, מופרדים בקו נטוי קדימה.
לדוגמה, הפורמט של השדה הזה יהיה דומה לזה:
/1234/cruises/mars
.
BidRequest.user.data.segment
צמדי מפתח/ערך חוזרים שנשלחים מהבעלים של אתר החדשות למשתתף במכרז בזירת המסחר.
אפשר לקבוע שהערכים הם צמדי מפתח/ערך שנשלחים על ידי בעל התוכן הדיגיטלי כשהערך של BidRequest.user.data.name
מוגדר כ-“Publisher Passed”
.
הערה: בשלב הזה השדה הזה נשלח רק למשתתפים בגרסת הבטא הסגורה.
הצהרה על ספקים מורשים
ספקי טכנולוגיה שמספקים שירותים כמו מחקר, שיווק מחדש והצגת מודעות עשויים למלא תפקיד באינטראקציה בין קונים למוכרים. רק ספקים שעברו בדיקה של Google כדי להשתתף באינטראקציות עם Authorized Buyers יכולים להשתתף.
כדי להבין את BidRequest
וליצור את BidResponse
, צריך להכיר את שתי האפשרויות השונות להצהרה על ספקי טכנולוגיה:
אין צורך להצהיר על ספקים מסוימים. הספקים האלה מפורטים בספקים חיצוניים מוסמכים ל-Ad Manager .
ספקים אחרים יכולים להשתתף רק אם הם מפורטים ב-BidRequest
:
בשדה BidRequest
, השדה BidRequest.imp.ext.allowed_vendor_type
מציין את הספקים שהמוכר מאפשר. הספקים שיישלחו ב-allowed_vendor_type
מפורטים בקובץ המילון vendors.txt
.
דוגמה לבקשת הצעת מחיר
הדוגמאות הבאות מייצגות בקשות Protobuf ו-JSON שקריאות לבני אדם.
OpenRTB Protobuf
הצגת הדוגמה
בקשה בסריאליזציה
id : "G44mF74ywRs183dKa9565D"
imp {
id : "1"
banner {
w : 320
h : 50
pos : BELOW_THE_FOLD
expdir : LEFT
expdir : RIGHT
expdir : UP
expdir : DOWN
wmax : 320
hmax : 50
wmin : 214
hmin : 33
format {
w : 320
h : 50
}
format {
w : 300
h : 50
}
[ com . google . doubleclick . banner_ext ] {
flexslot {
wmin : 214
wmax : 320
hmin : 33
hmax : 50
}
}
}
tagid : "3724651684"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
exp : 3600
metric {
type : "click_through_rate"
value : 2.80155200016452 e - 05
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.14
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 61560909063
dfp_ad_unit_code : "/2149822/google/test"
ampad : AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
buyer_generated_request_data {
data : "Test Data"
}
buyer_generated_request_data {
data : "Test Data"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
open_bidding {
is_open_bidding : true
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_OVERRIDDEN
}
auction_environment : SERVER_SIDE_AUCTION
ae : SERVER_SIDE_AUCTION
}
}
site {
page : "https://www.google.com"
publisher {
id : "pub-1111111111111111"
[ com . google . doubleclick . publisher ] {
country : "US"
}
}
content {
livestream : false
language : "es"
}
mobile : true
[ com . google . doubleclick . site ] {
amp : DIALECT_HTML
page_visibility : VISIBILITY_STATE_HIDDEN
inventorypartnerdomain : "OMITTED"
uact {
wasact : true
isact : true
}
ntype : NAVIGATION_TYPE_NAVIGATE
}
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "MEX"
region : "MX-NLE"
zip : "67050"
type : IP
utcoffset : - 360
accuracy : 3447
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9143049
}
}
make : "Motorola"
model : "razr 2024"
os : "android"
osv : "14"
devicetype : HIGHEND_PHONE
lmt : false
w : 320
h : 783
pxratio : 3.375
sua {
browsers {
brand : "Chromium"
version : "130"
version : "0"
}
browsers {
brand : "Android WebView"
version : "130"
version : "0"
}
platform {
brand : "Android"
version : "14"
version : "0"
}
mobile : true
model : "motorola razr 2024"
source : CLIENT_HINTS_HIGH_ENTROPY
}
}
user {
id : "7pWq9gH2c44W14G0diM896340U7"
buyeruid : "ob9RP0311MR4X7c983o221v0B890U239"
customdata : "77o24I2Ie6j9g1Svm1J60Nnn8zB185Bk1yBhM6i28cWp9wjb"
[ com . google . doubleclick . user ] {
eids {
source : "OMITTED"
uids {
id : "12JD92JD8078S8J29SDOAKC0EF230337"
}
}
eids {
source : "OMITTED"
uids {
id : "12JD92JD8078S8J29SDOAKC0EF230337"
}
}
idage : 1296000
}
}
at : FIRST_PRICE
tmax : 350
cur : "USD"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
schain {
complete : 1
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
ver : "1.0"
}
}
}
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zph5Vk-45u86x7963d1Se8v5W33W604M5WCTYJ4eH7jzh9702Y7A818s510l2vhC7tK4"
fcap_scope : FREQUENCY_CAPPING_SCOPE_NONE
}
OpenRTB JSON
הצגת הדוגמה
{
"id" : "G44mF74ywRs183dKa9565D" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 320 ,
"h" : 50 ,
"pos" : 3 ,
"expdir" : [
1 ,
2 ,
3 ,
4
],
"wmax" : 320 ,
"hmax" : 50 ,
"wmin" : 214 ,
"hmin" : 33 ,
"format" : [
{
"w" : 320 ,
"h" : 50
},
{
"w" : 300 ,
"h" : 50
}
],
"ext" : {
"flexslot" : {
"wmin" : 214 ,
"wmax" : 320 ,
"hmin" : 33 ,
"hmax" : 50
}
}
},
"tagid" : "3724651684" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 2.80155200016452 e - 05 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.14 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"61560909063"
],
"dfp_ad_unit_code" : "/2149822/google/test" ,
"ampad" : 3 ,
"buyer_generated_request_data" : [
{
"data" : "Test Data"
},
{
"data" : "Test Data"
}
],
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"open_bidding" : {
"is_open_bidding" : 1
},
"creative_enforcement_settings" : {
"policy_enforcement" : 1 ,
"publisher_blocks_enforcement" : 2
},
"auction_environment" : 0 ,
"ae" : 0
}
}
],
"site" : {
"page" : "https://www.google.com" ,
"publisher" : {
"id" : "pub-1111111111111111" ,
"ext" : {
"country" : "US"
}
},
"content" : {
"livestream" : 0 ,
"language" : "es"
},
"mobile" : 1 ,
"ext" : {
"amp" : 0 ,
"page_visibility" : 2 ,
"inventorypartnerdomain" : "OMITTED" ,
"uact" : {
"wasact" : 1 ,
"isact" : 1
},
"ntype" : 1
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "MEX" ,
"region" : "MX-NLE" ,
"zip" : "67050" ,
"type" : 2 ,
"utcoffset" : - 360 ,
"accuracy" : 3447 ,
"ext" : {
"geo_criteria_id" : 9143049
}
},
"make" : "Motorola" ,
"model" : "razr 2024" ,
"os" : "android" ,
"osv" : "14" ,
"devicetype" : 4 ,
"lmt" : 0 ,
"w" : 320 ,
"h" : 783 ,
"pxratio" : 3.375 ,
"sua" : {
"browsers" : [
{
"brand" : "Chromium" ,
"version" : [
"130" ,
"0"
]
},
{
"brand" : "Android WebView" ,
"version" : [
"130" ,
"0"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"14" ,
"0"
]
},
"mobile" : 1 ,
"model" : "motorola razr 2024" ,
"source" : 2
}
},
"user" : {
"id" : "7pWq9gH2c44W14G0diM896340U7" ,
"buyeruid" : "ob9RP0311MR4X7c983o221v0B890U239" ,
"customdata" : "77o24I2Ie6j9g1Svm1J60Nnn8zB185Bk1yBhM6i28cWp9wjb" ,
"ext" : {
"eids" : [
{
"source" : "OMITTED" ,
"uids" : [
{
"id" : "12JD92JD8078S8J29SDOAKC0EF230337"
}
]
},
{
"source" : "OMITTED" ,
"uids" : [
{
"id" : "12JD92JD8078S8J29SDOAKC0EF230337"
}
]
}
],
"idage" : 1296000
}
},
"at" : 1 ,
"tmax" : 350 ,
"cur" : [
"USD"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"google_query_id" : "ANy-zph5Vk-45u86x7963d1Se8v5W33W604M5WCTYJ4eH7jzh9702Y7A818s510l2vhC7tK4" ,
"fcap_scope" : 1
}
}
כדי להמיר את בקשת הצעת המחיר לפורמט בינארי, כמו שמקבלים מהמטען הייעודי (payload) של ה-POST בבקשה אמיתית, אפשר לבצע את הפעולות הבאות (ב-C++). עם זאת, חשוב לזכור שהשיטה הזו לא רלוונטית ל-JSON של OpenRTB.
string text_format_example = /* example from above */ ;
BidRequest bid_request ;
if ( TextFormat :: ParseFromString ( text_format_example , &bid_request )) {
string post_payload ;
if ( bid_request . SerializeToString ( &post_payload )) {
// post_payload is a binary serialization of the protocol buffer
}
}
משוב בזמן אמת
משוב בזמן אמת זמין ל-Authorized Buyers, וגם לבורסות ולרשתות שמשתמשות ב-Open Bidding.
משוב בזמן אמת מאכלס את השדה BidRequest.ext.bid_feedback
על סמך התוצאה של הצעת מחיר אחת או יותר שהגשת קודם. אפשר להשתמש במשוב הזה כדי למצוא פרטים כמו אם הצעת המחיר זכתה במכרז או מהי הצעת המחיר המינימלית שנדרשה כדי לזכות במכרז. כדי להפעיל את התכונה 'משוב בזמן אמת', צריך לפנות למנהל החשבון.
בנוסף לשדות ברירת המחדל שנשלחים במשוב על תגובת הצעת המחיר, אפשר גם לשלוח נתונים מותאמים אישית בתגובת הצעת המחיר באמצעות השדה BidResponse.seatbid.bid.ext.event_notification_token
. השדה event_notification_token
מכיל נתונים שרירותיים שידועים רק למגיש הצעות המחיר, ויכולים לעזור בניפוי באגים. לדוגמה: מזהה טירגוט חדש או מזהה בידינג חדש שמייצגים טקטיקה חדשה, או מטא-נתונים שמשויכים לקריאייטיב וידועים רק למגיש הצעות המחיר. פרטים נוספים זמינים בקובץ OpenRTB Extensions Protocol Buffer .
כשמערכת Authorized Buyers שולחת בקשה להצעת מחיר למגיש הצעות מחיר, המגיש משיב ב-BidResponse
. אם המגיש של הצעות המחיר הפעיל משוב בזמן אמת, בבקשת הצעת מחיר הבאה, מערכת Authorized Buyers תשלח משוב על התגובה בהודעת BidFeedback
:
message BidFeedback {
// The unique id from BidRequest . id .
optional string request_id = 1 ;
// The status code for the ad . See creative - status - codes . txt in the
// technical documentation for a list of ids .
optional int32 creative_status_code = 2 ;
// Deprecated . This field is not populated and will be removed after March ,
// 2025. If the bid won the auction , this is the price paid in your account
// currency . If the bid participated in the auction but was out - bid , this
// is the CPM that should have been exceeded in order to win . This is not
// set if the bid was filtered prior to the auction , if the publisher or
// winning bidder has opted out of price feedback or if your account has
// opted out of sharing winning prices with other bidders . For first - price
// auctions , minimum_bid_to_win is populated instead of this field .
optional double price = 3 [ deprecated = true ];
// The minimum bid value necessary to have won the auction , in your account
// currency . If your bid won the auction , this is the second highest bid
// that was not filtered ( including the floor price ) . If your bid didn 't win
// the auction , this is the winning candidate 's bid. This field will only be
// populated if your bid participated in a first - price auction , and will not
// be populated if your bid was filtered prior to the auction .
optional double minimum_bid_to_win = 6 ;
// The minimum bid value necessary to have won the server - side component of
// the overall auction given that there was also an interest group bidding
// component to the overall auction which ran using the Protected Audience
// API . The value is expressed in CPM of the buyer account currency . The
// minimum bid to win for the overall auction , including bids from the
// server - side and the on - device interest group components , is populated in
// the minimum_bid_to_win field of the same BidFeedback object .
optional double sscminbidtowin = 14 ;
// Billable event rate multiplier that was applied to this bid during
// ranking . The adjustment reflects the likelihood that your bid would
// generate a billable event ( namely , the ad renders successfully ) if it won
// the auction , relative to the probability that other bids generate a
// billable event if they won the auction . This adjustment can be larger or
// smaller than 1. This affects the final ranking in the auction only ; in
// particular , this multiplier does not affect the payment or whether the
// bid clears any floor price .
optional float billable_event_rate_bid_adjustment = 13 [ default = 1 ];
// When a publisher uses an RTB auction and waterfall - based SDK mediation on
// the same query , the winner of the real - time auction must also compete in
// a mediation waterfall ( which is ordered by price ) to win the impression .
// If the bid participated in the auction and there was no waterfall , the
// value of this field is 0. If the bid participated in the auction and
// there was a waterfall , the value of this field is a price representing a
// sample bid from the eligible mediation networks that were higher than the
// auction winner , weighted by expected fill rate . This field can be used
// in conjunction with minimum_bid_to_win to train bidding models . The CPM
// is in your account currency .
optional double sampled_mediation_cpm_ahead_of_auction_winner = 8 ;
message EventNotificationToken {
// The contents of the token .
optional string payload = 1 ;
}
// The token included in the corresponding bid .
optional EventNotificationToken event_notification_token = 4 ;
// The creative ID included in the corresponding bid .
optional string buyer_creative_id = 5 ;
// Possible types of bid response feedback objects .
enum FeedbackType {
FEEDBACK_TYPE_UNSPECIFIED = 0 ;
// Feedback for a bid that was submitted on a bid response .
BID_FEEDBACK = 1 ;
// Feedback for an interest group buyer submitted on a bid response to
// particpate in an interest group bidding component of the auction run
// using the Protected Audience API .
INTEREST_GROUP_BUYER_FEEDBACK = 2 ;
}
// The type of the BidFeedback message . Google will send separate
// BidFeedback objects for :
// a ) Each bid submitted on a bid response
// b ) Each buyer submitted on a bid response to particpate in an interest
// group bidding component of the auction run using the Protected Audience
// API .
optional FeedbackType feedbacktype = 15 ;
// Origin of an interest group buyer that was included in the bid response .
// This field is populated only for feedback where a bidder opted in an
// interest group buyer to participate in the interest group bidding
// component of the overall auction run using the Protected Audience API .
// To learn more about origins , see https : // www . rfc - editor . org / rfc / rfc6454 .
// To learn more about interest group bidding and the Protected Audience
// API , see
// https : // developers . google . com / authorized - buyers / rtb / fledge - origin - trial .
optional string buyerorigin = 16 ;
// The status code for the submitted interest group buyer . This field is
// only populated in the feedback for an interest group buyer that a bidder
// requested to enter into the interest group auction through the bid
// response . Individual creative status codes of bids submitted by the buyer
// in the on - device interest group auction are not available . See
// https : // storage . googleapis . com / adx - rtb - dictionaries / interest - group - buyer - status - codes . txt
// for a list of interest group buyer status codes .
optional int32 igbuyerstatus = 17 ;
}
בשדה הראשון בהודעה הזו, bid_feedback.creative_status_code
, אפשר למצוא את משמעות הקוד בקובץ
creative-status-codes.txt . שימו לב: אם תזכו במכרז, תוכלו לבטל את ההסכמה למשוב על המחירים. מידע נוסף זמין במאמר איך לבטל את ההסכמה .
המשוב בזמן אמת כולל את מזהה בקשת הצעת המחיר ואחת מהאפשרויות הבאות:
תוצאת המכרז
משוב בזמן אמת
הקונה לא שלח הצעת מחיר.
שום דבר.
הקונה שלח הצעת מחיר שסוננה לפני שהיא הגיעה למכרז.
קוד הסטטוס של הקריאייטיב (creative-status-codes.txt ).
הקונה שלח הצעת מחיר אבל הפסיד במכרז.
קוד הסטטוס של הקריאייטיב 79
(הצעת מחיר גבוהה יותר במכרז).
הקונה שלח הצעת מחיר שזכתה במכרז.
מחיר הסליקה וקוד סטטוס הקריאייטיב 1
.
אם מדובר בחשיפת אפליקציה עם קוד סטטוס קריאייטיב 83
, יכול להיות שבעל האפליקציה השתמש במפל מודעות לבחירת רשת (Mediation Waterfall), ולכן הצעת המחיר הזוכה התחרה בביקוש אחר בשרשרת המפל של ה-passback של בעל האפליקציה. איך משתמשים ב-sampled_mediation_cpm_ahead_of_auction_winner
כשמגישים הצעות מחיר
דוגמה
לפניכם דוגמה למשוב בזמן אמת כפי שהוא מופיע בפרוטוקולים נתמכים:
OpenRTB Protobuf
הצגת הדוגמה
בקשה בסריאליזציה
id : "01WjN3uc042XYP8Yw509Q7"
imp {
id : "1"
banner {
w : 344
h : 650
pos : AD_POSITION_FULLSCREEN
api : MRAID_1
api : MRAID_2
format {
w : 344
h : 650
}
format {
w : 300
h : 600
}
}
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "22.6.0"
instl : true
tagid : "7282514850"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
exp : 14400
clickbrowser : true
metric {
type : "viewability"
value : 0.77
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 75441834964
publisher_settings_list_id : 9268043626392948934
publisher_settings_list_id : 2867966915706729060
allowed_vendor_type : 113
allowed_vendor_type : 41423
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
allowed_restricted_category : 32
allowed_restricted_category : 33
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
is_app_open_ad : true
ae : SERVER_SIDE_AUCTION
}
}
app {
name : "Test App"
ver : "6.46.0"
bundle : "com.google.testapp"
publisher {
id : "pub-7120195540802809"
[ com . google . doubleclick . publisher ] {
country : "US"
}
}
content {
url : "https://www.google.com"
userrating : "4.6"
livestream : false
language : "en"
}
storeurl : "https://www.google.com"
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED"
}
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "GHA"
type : IP
utcoffset : 0
accuracy : 8865
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9067654
}
}
make : "Itel"
model : "itel W6502"
os : "android"
osv : "10"
connectiontype : CELL_4G
devicetype : HIGHEND_PHONE
lmt : true
w : 360
h : 722
pxratio : 2.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "10"
}
mobile : true
model : "itel W6502"
source : USER_AGENT_STRING
}
}
user {
[ com . google . doubleclick . user ] {
session {
duration : 660
}
}
}
at : FIRST_PRICE
tmax : 300
cur : "USD"
bcat : "IAB19-22"
bcat : "IAB23-1"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
schain {
complete : 1
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
ver : "1.0"
}
}
}
[ com . google . doubleclick . bid_request ] {
bid_feedback {
request_id : "4004C52Z6Z7Fa39Lf6F2AQ"
creative_status_code : 79
buyer_creative_id : "test_creative_id_129669"
minimum_bid_to_win : 0.1
feedbacktype : BID_FEEDBACK
}
google_query_id : "ANy-zbp8Gw-Mv43u3ni49Ena0i57E0789881P6YVa8jXDHq36B3fNk8me8F20GS6114onx7A"
fcap_scope : FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection : true
}
}
OpenRTB JSON
הצגת הדוגמה
{
"id" : "01WjN3uc042XYP8Yw509Q7" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 344 ,
"h" : 650 ,
"pos" : 7 ,
"api" : [
3 ,
5
],
"format" : [
{
"w" : 344 ,
"h" : 650
},
{
"w" : 300 ,
"h" : 600
}
]
},
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "22.6.0" ,
"instl" : 1 ,
"tagid" : "7282514850" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 14400 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "viewability" ,
"value" : 0.77 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"75441834964"
],
"publisher_settings_list_id" : [
"9268043626392948934" ,
"2867966915706729060"
],
"allowed_vendor_type" : [
113 ,
41423
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"allowed_restricted_category" : [
32 ,
33
],
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"is_app_open_ad" : 1 ,
"ae" : 0
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "6.46.0" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-7120195540802809" ,
"ext" : {
"country" : "US"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.6" ,
"livestream" : 0 ,
"language" : "en"
},
"storeurl" : "https://www.google.com" ,
"ext" : {
"inventorypartnerdomain" : "OMITTED"
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "GHA" ,
"type" : 2 ,
"utcoffset" : 0 ,
"accuracy" : 8865 ,
"ext" : {
"geo_criteria_id" : 9067654
}
},
"make" : "Itel" ,
"model" : "itel W6502" ,
"os" : "android" ,
"osv" : "10" ,
"connectiontype" : 6 ,
"devicetype" : 4 ,
"lmt" : 1 ,
"w" : 360 ,
"h" : 722 ,
"pxratio" : 2.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"10"
]
},
"mobile" : 1 ,
"model" : "itel W6502" ,
"source" : 3
}
},
"user" : {
"ext" : {
"session" : {
"duration" : 660
}
}
},
"at" : 1 ,
"tmax" : 300 ,
"cur" : [
"USD"
],
"bcat" : [
"IAB19-22" ,
"IAB23-1"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"bid_feedback" : [
{
"request_id" : "4004C52Z6Z7Fa39Lf6F2AQ" ,
"creative_status_code" : 79 ,
"buyer_creative_id" : "test_creative_id_129669" ,
"minimum_bid_to_win" : 0.1 ,
"feedbacktype" : 1
}
],
"google_query_id" : "ANy-zbp8Gw-Mv43u3ni49Ena0i57E0789881P6YVa8jXDHq36B3fNk8me8F20GS6114onx7A" ,
"fcap_scope" : 4 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
יצירת מודל בידינג למכרזים עם מחיר ראשון
אחרי שליחת הצעת מחיר במכרז במודל 'מחיר ראשון', תקבלו משוב בזמן אמת, כולל השדות minimum_bid_to_win
ו-sampled_mediation_cpm_ahead_of_auction_winner
, אם הצעת המחיר לא סוננה מהמכרז. אפשר להשתמש באותות האלה כדי לעדכן את הלוגיקה של הבידינג לגבי מידת העלייה או הירידה שאפשר היה לבצע בהצעת המחיר כדי לזכות בחשיפה.
minimum_bid_to_win
: הצעת המחיר המינימלית שאפשר היה להגיש כדי לזכות במכרז הבידינג בזמן אמת. אם זכיתם במכרז, זו תהיה הצעת המחיר הנמוכה ביותר שיכולתם להגיש ועדיין לזכות. אם הפסדתם את המכרז, זו תהיה הצעת המחיר הזוכה.
sampled_mediation_cpm_ahead_of_auction_winner
: אם יש רשתות אחרות בשרשרת בחירת הרשת , הערך בשדה הזה הוא מחיר שמייצג הצעת מחיר לדוגמה מאחד מהרשתות שעומדות בדרישות בתהליך בחירת הרשת שהיו גבוהות יותר מהזוכה במכרז, תוך שקלול לפי שיעור המילוי הצפוי. הערך הזה יוגדר כ-0 אם אף אחת מהרשתות בשרשרת בחירת הרשת לא צפויה למלא את הבקשה, או אם בעל התוכן הדיגיטלי לא משתמש בתהליך בחירת הרשת של SDK.
איך זה עובד
כדי לתאר את החישובים שמשמשים לקביעת הערכים האפשריים של minimum_bid_to_win
ו-sampled_mediation_cpm_ahead_of_auction_winner
, קודם צריך להגדיר את הדברים הבאים:
העלות לאלף חשיפות בשרשרת תהליך בחירת הרשת (Mediation) מוצגת בהמשך בסדר יורד:
\[C_1, C_2, …, C_n\]
בטבלה הבאה מוצגים שיעורי המילוי התואמים של העלות לאלף חשיפות בשרשרת בחירת הרשת:
\[f_1, f_2, …, f_n\]
זוהי פונקציה שמשמשת לקביעת העלות הצפויה לאלף חשיפות והסבירות שלה מרכיב שרשרת בחירת הרשת \(i\), על סמך שיעור המילוי שצוין:
\(X_i = \{C_i\) with probability \(f_i\); \(0\) with probability \(1 - f_i\}\)
שרשרת בחירת הרשת הזוכה הסופית תהיה:
\[\{C_1, C_2, …, C_K, W\}\]
כאשר \(W\) היא הצעת המחיר הזוכה, ו- \(C_K > W >= C_{K+1}\)
המחיר המינימלי, או המחיר המינימלי המובטח, מסומן כ- \(F\).
הצעת המחיר שהגיעה למקום השני מסומנת כ- \(R\).
חישובים עבור הזוכה במכרז
שדה
החישוב
minimum_bid_to_win
\(max\{F, R, X_{K+1}, …, X_n\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
\(\{C_i\) עם הסתברות \(\prod_{j=1}^{i-1}(1-f_j) \cdot f_i \div \prod_{j=1}^{K}(1-f_j)\}\)
עבור \(1 <= i <= K\).
חישובים עבור המשתתף שהפסיד במכרז
שדה
החישוב
minimum_bid_to_win
\(max\{F, W\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
\(max\{X_1, …, X_K\}\)
נניח שבעל אפליקציה משתמש גם בבידינג בזמן אמת וגם בשרשרת בחירת רשת (Mediation) של SDK באופן הבא:
שרשרת לבחירת רשת ב-SDK
עלות צפויה לאלף חשיפות
קצב מילוי
רשת 1
\(C_1 = $3.00\)
\(f_1 = 5\%\)
רשת 2
\(C_2 = $2.00\)
\(f_2 = 45\%\)
רשת 3
\(C_3 = $0.50\)
\(f_3 = 80\%\)
רשת 4
\(C_4 = $0.10\)
\(f_4 = 85\%\)
נניח שהתוצאות הבאות הן תוצאות המכרז ב-RTB:
מכרז RTB
עלות לאלף חשיפות (CPM)
המשתתף שזכה במכרז (W)
4 ש"ח
המשתתף שהגיע למקום השני במכרז (R)
$0.05
מחיר מינימום (F)
0$
הצעת המחיר שזכתה במכרז
בהמשך מופיעה דוגמה לחישוב הערכים וההסתברויות של minimum_bid_to_win
ו-sampled_mediation_cpm_ahead_of_auction_winner
לבידינג שזכה.
minimum_bid_to_win
Probability
\(max(F, R, C_3) = $0.50\)
\(f_3 = 80\%\)
\(max(F, R, C_4) = $0.10\)
\((1-f_3) \cdot f_4 = 17\%\)
\(max(F, R, 0) = $0.05\)
\((1-f_3) \cdot (1-f_4) = 3\%\)
sampled_mediation_cpm_ ahead_of_auction_winner
Probability
\(C_1 = $3.00\)
\(f_1 \div (1-(1-f_1) \cdot (1-f_2)) =~ 10.5\%\)
\(C_2 = $2.00\)
\(((1-f_1) \cdot f_2) \div (1-(1-f_1) \cdot (1-f_2)) =~ 89.5\%\)
הערה: אם המשתתף שזכה במכרז מציג את המודעה שלו ומקבל התראה על חיוב – לדוגמה, דרך נקודת קצה שצוינה ב-BidResponse.seatbid[].bid[].burl
– הוא יכול להסיק שאף אחת מהעלויות לאלף חשיפות שנדגמו בתהליך בחירת הרשת לא הובילה להצגת מודעה, ויכול לכלול את התדירות שבה המצב הזה מתרחש במודל שלו.
הצעות מחיר שהפסידו במכרז
בהמשך מופיעה דוגמה לחישוב הערכים וההסתברויות של minimum_bid_to_win
ו-sampled_mediation_cpm_ahead_of_auction_winner
לבידינגים שלא זכו.
minimum_bid_to_win
Probability
\(max(F, W) = $1.00\)
\(100\%\)
sampled_mediation_cpm_ ahead_of_auction_winner
Probability
\(C_1 = $3.00\)
\(f_1 = 5\%\)
\(C_2 = $2.00\)
\((1-f_1) \cdot f_2 =~ 42.8\%\)
\(0\)
\((1-f_1) \cdot (1-f_2) =~ 52.2\%\)
הערה: אם הערך של sampled_mediation_cpm_ahead_of_auction_winner
הוא 0, סימן שהבידינג במכרז בזמן אמת זכה. בדוגמה שלמעלה, צפוי שזכיין המכרז לא יקבל הצעת מחיר גבוהה יותר מזו של רשת בחירת רשתות מתחרה ב-52.2% מהמקרים.
פיצול הצעת מחיר
'שיטת 'השטחת הצעות מחיר' מתארת את העיבוד של BidRequest
מורכב יחיד למספר בקשות להצעות מחיר שנשלחות לאפליקציה. כשבקשת הצעת מחיר ממושטת, אפשר לדעת אילו בקשות הצעת מחיר היו חלק מהבקשה המקורית כי הן יהיו בעלות ערך זהה בשדה BidRequest.ext.google_query_id
.
יישור הצעות המחיר מופעל כברירת מחדל, אבל אם אתם מעדיפים להשבית אותו, תוכלו לפנות למנהל החשבון שלכם.
בחלק מהזדמנויות להצגת מודעות אפשר להשתמש בכמה פורמטים. כשמשתמשים בקיפול הצעות המחיר, כל פורמט נשלח בבקשת הצעה נפרדת, שבה מאפיינים כמו מזהי חיוב שעומדים בדרישות רלוונטיים לפורמט שצוין בבקשה.
בקשות להצעת מחיר שמכילות את הפורמטים הבאים יתחלקו לבקשות נפרדות להצעת מחיר:
מודעת באנר
וידאו
אודיו
מותאם
בהמשך מוצגת דוגמה לבקשת הצעת מחיר פשוטה בפורמט JSON של OpenRTB ללא שטחת פורמט מודעה, בהשוואה לקבוצה מקבילה של בקשות שטוחות:
יישור מראש
הצגת הדוגמה
{
"id": "V5ar1wXqKP58nbsyJ6549D",
"imp": [
{
"id": "1",
"video": {
"linearity": 1,
"w": 300,
"h": 250,
"pos": 1,
"skip": 1,
"playbackmethod": [
6
],
"placement": 3,
"mimes": [
"video/mp4"
],
"protocols": [
2,
3
]
},
"banner": {
"format": [
{
"w": 300,
"h": 250
}
],
"w": 300,
"h": 250,
"pos": 1
},
"ext": {
"billing_id": [
47039494050,
52030317241
]
}
}
],
"ext": {
"google_query_id": "ANy-zdp266-244itJsom3dmXb7SvW1IPg6478g639g0867v1126w630F3M7lAp640H666744"
}
}
לאחר יישור
הצגת הדוגמה
בקשה 1
{
"id": "B3xr1yZqRL48nbsyJ6367N",
"imp": [
{
"id": "1",
"video": {
"linearity": 1,
"w": 300,
"h": 250,
"pos": 1,
"skip": 1,
"playbackmethod": [
6
],
"placement": 3,
"mimes": [
"video/mp4"
],
"protocols": [
2,
3
]
}
"ext": {
"billing_id": [
47039494050
]
}
],
"ext": {
"google_query_id": "ANy-zdp266-244itJsom3dmXb7SvW1IPg6478g639g0867v1126w630F3M7lAp640H666744"
}
}
בקשה 2
{
"id": "M1dY8qHyNK74bMsjF393Gf",
"imp": [
{
"id": "1",
"banner": {
"format": [
{
"w": 300,
"h": 250
}
],
"w": 300,
"h": 250,
"pos": 1
},
"ext": {
"billing_id": [
52030317241
]
}
}
],
"ext": {
"google_query_id": "ANy-zdp266-244itJsom3dmXb7SvW1IPg6478g639g0867v1126w630F3M7lAp640H666744"
}
}
מבצעים
הזדמנות להצגת מודעה של מציע מסוים יכולה לחול על סוגים שונים של עסקאות, בנוסף למכרז הפתוח. כשמשתמשים ב'יישור הצעות מחיר' בעסקאות, נשלחת בקשה אחת להצעת מחיר למכרז הפתוח, ובקשה אחת לכל סוג של עסקה במחיר קבוע. בפועל, אילוצים על מודעות יכולים להיות שונים בין סוגי המכרזים לבין סוגי העסקאות במחיר קבוע. לדוגמה, לגבי הזדמנות נתונה להצגת מודעות וידאו שזמינה גם במכרז הפתוח וגם בעסקה במחיר קבוע, מציע המחיר יקבל בקשות שונות להצעת מחיר לכל אחת מהן, שבהן יכולים להיות אילוצים שונים, כמו משך זמן מודעה מקסימלי והאם מותר להציג מודעות שניתן לדלג עליהן. כתוצאה מכך, כשמפעילים את התכונה 'שיטת עיבוד נתונים רגילה' על הזדמנות הפרסום, קל יותר להבחין במגבלות הפרסום במכרז הפתוח ובעסקה במחיר קבוע.
הערה: למכרזים פרטיים ולחבילות מכרזים יהיו אילוצים זהים לאילוצים של המכרז הפתוח, והם ימשיכו להיכלל בבקשות לבידינג במכרזים פתוחים.
אפשרות לדלג על הסרטון וממשך הסרטון
במפרט OpenRTB אין שדות נפרדים לציון משכי הזמן המקסימליים של מודעות וידאו שניתן לדלג עליהן ושל מודעות וידאו שלא ניתן לדלג עליהן. בהטמעה של Google נעשה שימוש בקיפול הצעות מחיר כדי להבחין בין שתי האפשרויות האלה באמצעות השדות הקיימים BidRequest.video.maxduration
ו-BidRequest.video.skip
.
הדוגמה הבאה ממחישה איך מלאי שטחי הפרסום בסרטונים מוצג כשטח שטוח כשאורך המודעה המקסימלי שלא ניתן לדלג עליה הוא 15
ואורך המודעה המקסימלי שניתנת לדלג עליה הוא 60
.
דוגמה
max_ad_duration
skip
(true OR false)
הבקשה המקורית ללא שטחתה
15
true
בקשה מפוצלת מס' 1: מודעה שלא ניתן לדלג עליה
15
false
בקשה מפוצלת מס' 2: אפשר לדלג עליה
60
true
פיצול בקשות להצעות מחיר לפי משך הזמן של מודעות וידאו שניתן לדלג עליהן יתבצע רק אם מתקיימים התנאים הבאים:
הבקשה מאפשרת פרסום סרטונים.
מותר להשתמש גם בסרטונים שניתן לדלג עליהם וגם בסרטונים שלא ניתן לדלג עליהם, והערכים של משך הזמן המקסימלי שלהם שונים.
הבקשה הזו עומדת בדרישות להשתתפות במכרז פרטי או במכרז פתוח.
כדי לבטל את ההסכמה לשימוש בסוג הזה של שטחת נתונים, תוכלו לפנות למנהל החשבונות הטכני שלכם. כשהאפשרות הזו מושבתת, ובעל התוכן הדיגיטלי מאפשר להציג גם מודעות וידאו שניתן לדלג עליהן וגם מודעות וידאו שלא ניתן לדלג עליהן, עם אורך מקסימלי שונה בהתאם לאפשרות לדלג, הערך של skip
יהיה true
והערך של maxduration
יהיה האורך הקצר יותר מבין האילוצים של מודעות שניתן לדלג עליהן ושל מודעות שלא ניתן לדלג עליהן.
רצפי סרטונים
בקשות להצעות מחיר לרצף סרטונים עם כמה הזדמנויות להצגת מודעות מוצגות בצורה רגילה, כך שכל בקשה להצעת מחיר היא עבור הזדמנות ספציפית להצגת מודעה מהרצף הזה.
כך תוכלו להגיש הצעות מחיר על כמה הזדמנויות להצגת מודעות במודעת פוד נתונה.
Open Measurement
Open Measurement מאפשר לכם לציין ספקי צד שלישי שמספקים שירותי מדידה ואימות עצמאיים של מודעות שמוצגות בסביבות של אפליקציות לנייד.
כדי לקבוע אם בעלי תוכן דיגיטלי תומכים ב-Open Measurement בבקשת הצעת המחיר, צריך לבדוק אם הזדמנות הפרסום מחריגה את המאפיין OmsdkType:
OMSDK 1.0
שמופיע במאפייני קריאייטיב שבעזרתם בעלי תוכן דיגיטלי יכולים להחריג מודעות . הוא מופיע בתווית battr
של באנר או של סרטון , בהתאם לפורמט.
מידע נוסף על פרשנות של בקשות להצעות מחיר שמכילות אותות של Open Measurement זמין במאמר במרכז העזרה בנושא Open Measurement SDK .
דוגמאות לבקשות להצעות מחיר
בקטעים הבאים מוצגות דוגמאות לבקשות בידינג לסוגים שונים של מודעות.
הערה: הדוגמאות ל-Protobuf כוללות קישורים להורדה של בקשות בידינג בסדרה דומה. אין ערובה שהן יהיו זהות.
באנר של אפליקציה
OpenRTB Protobuf
הצגת הדוגמה
בקשה בסריאליזציה
id : "8361O9Ep6E42p52Hu6v18o"
imp {
id : "1"
banner {
w : 300
h : 50
pos : ABOVE_THE_FOLD
api : MRAID_1
api : MRAID_2
wmax : 390
hmax : 61
wmin : 261
hmin : 46
format {
w : 300
h : 50
}
format {
w : 390
h : 61
}
[ com . google . doubleclick . banner_ext ] {
flexslot {
wmin : 261
wmax : 390
hmin : 46
hmax : 61
}
}
}
displaymanager : "GoogleMobileAds-iOS"
displaymanagerver : "11.2.0"
tagid : "5609900911"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.0028797138947993517
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.92
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 70614819650
publisher_settings_list_id : 3994817494897795207
publisher_settings_list_id : 8449380548613820850
allowed_vendor_type : 550
allowed_vendor_type : 79
ampad : AMP_AD_NOT_ALLOWED
skadn {
sourceapp : "com.google.testapp"
skadnetids : "Y8HK1z22"
versions : "2.0"
versions : "2.1"
fidelities : STOREKIT_RENDERED_ADS
fidelities : VIEW_THROUGH_ADS
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
billable_event_rate_bid_adjustment {
bid_adjustment : 0.9408176
creative_type : HTML_SNIPPET
}
ae : SERVER_SIDE_AUCTION
}
}
app {
name : "Test App"
ver : "4.6.3"
bundle : "com.google.testapp"
publisher {
id : "pub-2905535032168301"
[ com . google . doubleclick . publisher ] {
country : "JP"
}
}
content {
url : "https://www.google.com"
livestream : false
language : "ja"
}
storeurl : "https://www.google.com"
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED"
}
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "JPN"
region : "JP-13"
type : IP
utcoffset : 540
accuracy : 26487
[ com . google . doubleclick . geo ] {
geo_criteria_id : 20636
}
}
carrier : "70002"
make : "Apple"
model : "iPhone13,2"
os : "iOS"
osv : "16.1.1"
connectiontype : CELL_4G
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 : "16"
version : "1"
}
mobile : true
bitness : "64"
model : "iPhone"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
atts : 2
}
}
user {
[ com . google . doubleclick . user ] {
session {
duration : 61
}
}
}
at : FIRST_PRICE
tmax : 1000
cur : "USD"
bcat : "IAB14-1"
bcat : "IAB7-39"
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-z60259-oh0d8s5Z26f34EZa77T0p62zWhI2939jRL32216xlr9483rnAC6t07lL0ky4q"
fcap_scope : FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection : true
}
}
OpenRTB JSON
הצגת הדוגמה
{
"id" : "8361O9Ep6E42p52Hu6v18o" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 300 ,
"h" : 50 ,
"pos" : 1 ,
"api" : [
3 ,
5
],
"wmax" : 390 ,
"hmax" : 61 ,
"wmin" : 261 ,
"hmin" : 46 ,
"format" : [
{
"w" : 300 ,
"h" : 50
},
{
"w" : 390 ,
"h" : 61
}
],
"ext" : {
"flexslot" : {
"wmin" : 261 ,
"wmax" : 390 ,
"hmin" : 46 ,
"hmax" : 61
}
}
},
"displaymanager" : "GoogleMobileAds-iOS" ,
"displaymanagerver" : "11.2.0" ,
"tagid" : "5609900911" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0028797138947993517 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.92 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"70614819650"
],
"publisher_settings_list_id" : [
"3994817494897795207" ,
"8449380548613820850"
],
"allowed_vendor_type" : [
550 ,
79
],
"ampad" : 2 ,
"skadn" : {
"sourceapp" : "com.google.testapp" ,
"skadnetids" : [
"Y8HK1z22"
],
"versions" : [
"2.0" ,
"2.1"
],
"fidelities" : [
1 ,
0
]
},
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"billable_event_rate_bid_adjustment" : [
{
"bid_adjustment" : 0.9408176 ,
"creative_type" : 1
}
],
"ae" : 0
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "4.6.3" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-2905535032168301" ,
"ext" : {
"country" : "JP"
}
},
"content" : {
"url" : "https://www.google.com" ,
"livestream" : 0 ,
"language" : "ja"
},
"storeurl" : "https://www.google.com" ,
"ext" : {
"inventorypartnerdomain" : "OMITTED"
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "JPN" ,
"region" : "JP-13" ,
"type" : 2 ,
"utcoffset" : 540 ,
"accuracy" : 26487 ,
"ext" : {
"geo_criteria_id" : 20636
}
},
"carrier" : "70002" ,
"make" : "Apple" ,
"model" : "iPhone13,2" ,
"os" : "iOS" ,
"osv" : "16.1.1" ,
"connectiontype" : 6 ,
"devicetype" : 4 ,
"lmt" : 1 ,
"hwv" : "iPhone13,2" ,
"w" : 390 ,
"h" : 844 ,
"pxratio" : 3.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"605" ,
"1"
]
}
],
"platform" : {
"brand" : "iPhone" ,
"version" : [
"16" ,
"1"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "iPhone" ,
"source" : 3
},
"ext" : {
"atts" : 2
}
},
"user" : {
"ext" : {
"session" : {
"duration" : 61
}
}
},
"at" : 1 ,
"tmax" : 1000 ,
"cur" : [
"USD"
],
"bcat" : [
"IAB14-1" ,
"IAB7-39"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-i-v11.2.0" ,
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"google_query_id" : "ANy-z60259-oh0d8s5Z26f34EZa77T0p62zWhI2939jRL32216xlr9483rnAC6t07lL0ky4q" ,
"fcap_scope" : 4 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
מודעת מעברון באפליקציה
OpenRTB Protobuf
הצגת הדוגמה
בקשה בסריאליזציה
id : "27q8F4ja125b5Ay5Lg5I8Y"
imp {
id : "1"
banner {
w : 368
h : 740
pos : AD_POSITION_FULLSCREEN
api : MRAID_1
api : MRAID_2
format {
w : 368
h : 740
}
format {
w : 300
h : 600
}
}
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "21.5.0"
instl : true
tagid : "7072441745"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
exp : 14400
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.026930272579193115
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.82
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 14443955188
publisher_settings_list_id : 7634109184153514733
publisher_settings_list_id : 4552400977800686866
allowed_vendor_type : 4374
allowed_vendor_type : 4651
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
is_app_open_ad : true
ae : SERVER_SIDE_AUCTION
}
}
app {
name : "Test App"
ver : "9.1.6"
bundle : "com.google.testapp"
publisher {
id : "pub-8897222327395144"
[ com . google . doubleclick . publisher ] {
country : "TH"
}
}
content {
url : "https://www.google.com"
userrating : "4.7"
livestream : false
language : "en"
}
storeurl : "https://www.google.com"
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED"
}
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "IND"
region : "IN-OR"
zip : "751024"
type : IP
utcoffset : 330
accuracy : 5126
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9149991
}
}
ipv6 : "2401:4900:3da4::"
carrier : "70210"
make : "Samsung"
model : "SM-A705GM"
os : "android"
osv : "11"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
lmt : true
w : 384
h : 812
pxratio : 2.813
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "11"
}
mobile : true
model : "SM-A705GM"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
session_id : "LFcNok-qRI2ea_Z5FPgRiA"
}
}
user {
[ com . google . doubleclick . user ] {
session {
duration : 89
}
}
}
at : FIRST_PRICE
tmax : 300
cur : "USD"
bcat : "IAB23-3"
bcat : "IAB23-4"
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-a-v243220999.224400000.1"
schain {
complete : 1
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
ver : "1.0"
}
}
}
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-z7C179-E2Rj2VZOiHt5vMyI25Z3W94Lk71Tbz95m005IfNm8OP88j46C27ovLV5yV57m"
fcap_scope : FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection : true
}
}
OpenRTB JSON
הצגת הדוגמה
{
"id" : "27q8F4ja125b5Ay5Lg5I8Y" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 368 ,
"h" : 740 ,
"pos" : 7 ,
"api" : [
3 ,
5
],
"format" : [
{
"w" : 368 ,
"h" : 740
},
{
"w" : 300 ,
"h" : 600
}
]
},
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "21.5.0" ,
"instl" : 1 ,
"tagid" : "7072441745" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 14400 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.026930272579193115 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.82 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"14443955188"
],
"publisher_settings_list_id" : [
"7634109184153514733" ,
"4552400977800686866"
],
"allowed_vendor_type" : [
4374 ,
4651
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"is_app_open_ad" : 1 ,
"ae" : 0
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "9.1.6" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-8897222327395144" ,
"ext" : {
"country" : "TH"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.7" ,
"livestream" : 0 ,
"language" : "en"
},
"storeurl" : "https://www.google.com" ,
"ext" : {
"inventorypartnerdomain" : "OMITTED"
}
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "IND" ,
"region" : "IN-OR" ,
"zip" : "751024" ,
"type" : 2 ,
"utcoffset" : 330 ,
"accuracy" : 5126 ,
"ext" : {
"geo_criteria_id" : 9149991
}
},
"ipv6" : "2401:4900:3da4::" ,
"carrier" : "70210" ,
"make" : "Samsung" ,
"model" : "SM-A705GM" ,
"os" : "android" ,
"osv" : "11" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"lmt" : 1 ,
"w" : 384 ,
"h" : 812 ,
"pxratio" : 2.813 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"11"
]
},
"mobile" : 1 ,
"model" : "SM-A705GM" ,
"source" : 3
},
"ext" : {
"session_id" : "LFcNok-qRI2ea_Z5FPgRiA"
}
},
"user" : {
"ext" : {
"session" : {
"duration" : 89
}
}
},
"at" : 1 ,
"tmax" : 300 ,
"cur" : [
"USD"
],
"bcat" : [
"IAB23-3" ,
"IAB23-4"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-a-v243220999.224400000.1" ,
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"google_query_id" : "ANy-z7C179-E2Rj2VZOiHt5vMyI25Z3W94Lk71Tbz95m005IfNm8OP88j46C27ovLV5yV57m" ,
"fcap_scope" : 4 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
מודעת מעברון בסרטון באפליקציה
OpenRTB Protobuf
הצגת הדוגמה
בקשה בסריאליזציה
id : "Z75GBa308fk6hn20L15573"
imp {
id : "1"
video {
mimes : "video/mp4"
linearity : LINEAR
maxduration : 600
w : 808
h : 393
startdelay : 0
playbackmethod : AUTO_PLAY_SOUND_ON
pos : AD_POSITION_FULLSCREEN
api : MRAID_1
api : MRAID_2
protocols : VAST_2_0
protocols : VAST_3_0
skip : true
placement : FLOATING_PLACEMENT
playbackend : COMPLETION_OR_USER
maxseq : 2
poddur : 30
plcmt : PLCMT_INTERSTITIAL
[ com . google . doubleclick . video ] {
inferredplcmt : PLCMT_INTERSTITIAL
}
}
displaymanager : "GoogleMobileAds-iOS"
displaymanagerver : "11.7.0"
instl : true
tagid : "4967856214"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.1879923790693283
vendor : "EXCHANGE"
}
metric {
type : "video_completion_rate"
value : 0.5191752910614014
vendor : "EXCHANGE"
}
rwdd : true
[ com . google . doubleclick . imp ] {
billing_id : 11004606416
publisher_settings_list_id : 8773808361916105146
publisher_settings_list_id : 3073503389278955207
allowed_vendor_type : 39523
allowed_vendor_type : 237
is_rewarded_inventory : true
ampad : AMP_AD_NOT_ALLOWED
skadn {
sourceapp : "com.google.testapp"
skadnetids : "O5O88B57"
versions : "2.0"
versions : "2.1"
fidelities : VIEW_THROUGH_ADS
fidelities : STOREKIT_RENDERED_ADS
skoverlay : true
}
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"
ver : "4.90.0"
bundle : "com.google.testapp"
publisher {
id : "pub-7879459471889169"
[ com . google . doubleclick . publisher ] {
country : "TR"
}
}
content {
url : "https://www.google.com"
livestream : false
language : "ar"
}
storeurl : "https://www.google.com"
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED"
}
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "SAU"
region : "SA-02"
city : "Jiddah"
type : IP
utcoffset : 180
accuracy : 25209
[ com . google . doubleclick . geo ] {
geo_criteria_id : 1012089
}
}
ipv6 : "2001:16a4:253::"
make : "Apple"
model : "iPhone12,1"
os : "iOS"
osv : "17.4.1"
connectiontype : CELL_4G
devicetype : HIGHEND_PHONE
ifa : "cd6a5706-5a73-4ab8-a2bb-cd19244bf295"
lmt : false
hwv : "iPhone12,1"
w : 896
h : 414
pxratio : 2.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 : 3
}
}
user {
id : "19G1O820z9ay0DxfvVm89xd7Gbh"
[ com . google . doubleclick . user ] {
session {
}
idage : 2592000
}
}
at : FIRST_PRICE
tmax : 1500
cur : "USD"
bcat : "IAB7-39"
bcat : "IAB14-1"
bapp : "372513032"
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.7.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-z8zAo9-0x39o5pDG1Y19AT868LK88gvsh49Y6357Sb40978n97j8nn75XXGGp19xFp5E"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : true
}
}
OpenRTB JSON
הצגת הדוגמה
{
"id" : "Z75GBa308fk6hn20L15573" ,
"imp" : [
{
"id" : "1" ,
"video" : {
"mimes" : [
"video/mp4"
],
"linearity" : 1 ,
"maxduration" : 600 ,
"w" : 808 ,
"h" : 393 ,
"startdelay" : 0 ,
"playbackmethod" : [
1
],
"pos" : 7 ,
"api" : [
3 ,
5
],
"protocols" : [
2 ,
3
],
"skip" : 1 ,
"placement" : 5 ,
"playbackend" : 1 ,
"maxseq" : 2 ,
"poddur" : 30 ,
"plcmt" : 3 ,
"ext" : {
"inferredplcmt" : 3
}
},
"displaymanager" : "GoogleMobileAds-iOS" ,
"displaymanagerver" : "11.7.0" ,
"instl" : 1 ,
"tagid" : "4967856214" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.1879923790693283 ,
"vendor" : "EXCHANGE"
},
{
"type" : "video_completion_rate" ,
"value" : 0.5191752910614014 ,
"vendor" : "EXCHANGE"
}
],
"rwdd" : 1 ,
"ext" : {
"billing_id" : [
"11004606416"
],
"publisher_settings_list_id" : [
"8773808361916105146" ,
"3073503389278955207"
],
"allowed_vendor_type" : [
39523 ,
237
],
"is_rewarded_inventory" : 1 ,
"ampad" : 2 ,
"skadn" : {
"sourceapp" : "com.google.testapp" ,
"skadnetids" : [
"O5O88B57"
],
"versions" : [
"2.0" ,
"2.1"
],
"fidelities" : [
0 ,
1
],
"skoverlay" : 1
},
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"ae" : 0
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "4.90.0" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-7879459471889169" ,
"ext" : {
"country" : "TR"
}
},
"content" : {
"url" : "https://www.google.com" ,
"livestream" : 0 ,
"language" : "ar"
},
"storeurl" : "https://www.google.com" ,
"ext" : {
"inventorypartnerdomain" : "OMITTED"
}
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "SAU" ,
"region" : "SA-02" ,
"city" : "Jiddah" ,
"type" : 2 ,
"utcoffset" : 180 ,
"accuracy" : 25209 ,
"ext" : {
"geo_criteria_id" : 1012089
}
},
"ipv6" : "2001:16a4:253::" ,
"make" : "Apple" ,
"model" : "iPhone12,1" ,
"os" : "iOS" ,
"osv" : "17.4.1" ,
"connectiontype" : 6 ,
"devicetype" : 4 ,
"ifa" : "cd6a5706-5a73-4ab8-a2bb-cd19244bf295" ,
"lmt" : 0 ,
"hwv" : "iPhone12,1" ,
"w" : 896 ,
"h" : 414 ,
"pxratio" : 2.0 ,
"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" : "19G1O820z9ay0DxfvVm89xd7Gbh" ,
"ext" : {
"idage" : 2592000
}
},
"at" : 1 ,
"tmax" : 1500 ,
"cur" : [
"USD"
],
"bcat" : [
"IAB7-39" ,
"IAB14-1"
],
"bapp" : [
"372513032"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-i-v11.7.0" ,
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"google_query_id" : "ANy-z8zAo9-0x39o5pDG1Y19AT868LK88gvsh49Y6357Sb40978n97j8nn75XXGGp19xFp5E" ,
"fcap_scope" : 3 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
נייטיב לאפליקציה
OpenRTB Protobuf
הצגת הדוגמה
בקשה בסריאליזציה
id : "3rF2U7Feg24806GjUY2Lr5"
imp {
id : "1"
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "22.3.0"
tagid : "3320317218"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
native {
ver : "1.2"
api : MRAID_1
api : MRAID_2
request_native {
ver : "1.2"
assets {
id : 1
required : true
title {
len : 25
}
}
assets {
id : 2
required : true
data {
type : DESC
len : 90
}
}
assets {
id : 3
data {
type : CTATEXT
len : 15
}
}
assets {
id : 4
required : true
data {
type : SPONSORED
len : 25
}
}
assets {
id : 5
required : true
img {
type : MAIN
wmin : 1200
hmin : 627
}
}
assets {
id : 6
img {
type : LOGO
wmin : 100
hmin : 100
}
}
eventtrackers {
event : IMPRESSION
methods : IMG
}
privacy : true
}
}
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.10741956532001495
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.58
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 29846056590
publisher_settings_list_id : 4793646945897060511
publisher_settings_list_id : 3704654811398966070
allowed_vendor_type : 780
allowed_vendor_type : 237
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
billable_event_rate_bid_adjustment {
bid_adjustment : 1.2858465
creative_type : NATIVE
}
ae : SERVER_SIDE_AUCTION
}
}
app {
name : "Test App"
bundle : "com.google.testapp"
publisher {
id : "pub-9497839363952914"
[ com . google . doubleclick . publisher ] {
country : "HK"
}
}
content {
url : "https://www.google.com"
userrating : "4.4"
livestream : false
language : "ar"
}
storeurl : "https://www.google.com"
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED"
}
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "EGY"
region : "EG-ALX"
city : "Alexandria"
type : IP
utcoffset : 180
accuracy : 2052
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9198011
}
}
make : "Xiaomi"
model : "M2006C3MG"
os : "android"
osv : "10"
connectiontype : CELL_4G
devicetype : HIGHEND_PHONE
lmt : false
w : 360
h : 725
pxratio : 2.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "10"
}
mobile : true
model : "M2006C3MG"
source : USER_AGENT_STRING
}
}
user {
[ com . google . doubleclick . user ] {
session {
duration : 14
}
}
}
at : FIRST_PRICE
tmax : 300
cur : "USD"
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-a-v243799999.232400000.1"
schain {
complete : 1
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
ver : "1.0"
}
}
}
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-z2g135-A631Sj54M16BCG6dC277E40D9nL3r921i0k2974f1q051601623F0i9232692"
fcap_scope : FREQUENCY_CAPPING_SCOPE_BROWSER
privacy_treatments {
non_personalized_ads_reason : USER_OPT_OUT
allow_user_data_collection : false
}
}
OpenRTB JSON
הצגת הדוגמה
{
"id" : "3rF2U7Feg24806GjUY2Lr5" ,
"imp" : [
{
"id" : "1" ,
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "22.3.0" ,
"tagid" : "3320317218" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"native" : {
"ver" : "1.2" ,
"api" : [
3 ,
5
],
"request" : "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":25}},{\"id\":2,\"required\":1,\"data\":{\"type\":2,\"len\":90}},{\"id\":3,\"data\":{\"type\":12,\"len\":15}},{\"id\":4,\"required\":1,\"data\":{\"type\":1,\"len\":25}},{\"id\":5,\"required\":1,\"img\":{\"type\":3,\"wmin\":1200,\"hmin\":627}},{\"id\":6,\"img\":{\"type\":2,\"wmin\":100,\"hmin\":100}}],\"eventtrackers\":[{\"event\":1,\"methods\":[1]}],\"privacy\":1}"
},
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.10741956532001495 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.58 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"29846056590"
],
"publisher_settings_list_id" : [
"4793646945897060511" ,
"3704654811398966070"
],
"allowed_vendor_type" : [
780 ,
237
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"billable_event_rate_bid_adjustment" : [
{
"bid_adjustment" : 1.2858465 ,
"creative_type" : 3
}
],
"ae" : 0
}
}
],
"app" : {
"name" : "Test App" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-9497839363952914" ,
"ext" : {
"country" : "HK"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.4" ,
"livestream" : 0 ,
"language" : "ar"
},
"storeurl" : "https://www.google.com" ,
"ext" : {
"inventorypartnerdomain" : "OMITTED"
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "EGY" ,
"region" : "EG-ALX" ,
"city" : "Alexandria" ,
"type" : 2 ,
"utcoffset" : 180 ,
"accuracy" : 2052 ,
"ext" : {
"geo_criteria_id" : 9198011
}
},
"make" : "Xiaomi" ,
"model" : "M2006C3MG" ,
"os" : "android" ,
"osv" : "10" ,
"connectiontype" : 6 ,
"devicetype" : 4 ,
"lmt" : 0 ,
"w" : 360 ,
"h" : 725 ,
"pxratio" : 2.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"10"
]
},
"mobile" : 1 ,
"model" : "M2006C3MG" ,
"source" : 3
}
},
"user" : {
"ext" : {
"session" : {
"duration" : 14
}
}
},
"at" : 1 ,
"tmax" : 300 ,
"cur" : [
"USD"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-a-v243799999.232400000.1" ,
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"google_query_id" : "ANy-z2g135-A631Sj54M16BCG6dC277E40D9nL3r921i0k2974f1q051601623F0i9232692" ,
"fcap_scope" : 2 ,
"privacy_treatments" : {
"non_personalized_ads_reason" : [
3
],
"allow_user_data_collection" : 0
}
}
}
סרטונים באינטרנט
OpenRTB Protobuf
הצגת הדוגמה
בקשה בסריאליזציה
id : "474xe8G3edB9ZG60IaK880"
imp {
id : "1"
video {
mimes : "video/mp4"
linearity : LINEAR
w : 300
h : 250
playbackmethod : ENTER_SOUND_OFF
pos : ABOVE_THE_FOLD
api : OMID_1
protocols : VAST_2_0
protocols : VAST_3_0
skip : true
placement : IN_ARTICLE_PLACEMENT
playbackend : LEAVING_OR_USER
plcmt : PLCMT_NO_CONTENT_STANDALONE
[ com . google . doubleclick . video ] {
inferredplcmt : PLCMT_NO_CONTENT_STANDALONE
embeddedoffsite : true
}
}
displaymanager : "GOOGLE"
tagid : "8378930064"
bidfloor : 0.19
bidfloorcur : "USD"
secure : true
exp : 3600
metric {
type : "click_through_rate"
value : 0.0012572698760777712
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.62
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 47460168025
publisher_settings_list_id : 5764601004062573461
publisher_settings_list_id : 9583254202940413383
allowed_vendor_type : 3
allowed_vendor_type : 42
dfp_ad_unit_code : "/3049200/google/test"
ampad : AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
buyer_generated_request_data {
data : "Test Data"
}
buyer_generated_request_data {
data : "Test Data"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
open_bidding {
is_open_bidding : true
}
allowed_restricted_category : 33
allowed_restricted_category : 32
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
ae : SERVER_SIDE_AUCTION
}
}
site {
page : "https://www.google.com"
publisher {
id : "pub-1111111111111111"
[ com . google . doubleclick . publisher ] {
country : "US"
}
}
content {
livestream : false
producer {
}
language : "en"
}
mobile : true
[ com . google . doubleclick . site ] {
amp : DIALECT_HTML
page_visibility : VISIBILITY_STATE_VISIBLE
inventorypartnerdomain : "OMITTED"
ntype : NAVIGATION_TYPE_NAVIGATE
}
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "USA"
region : "TX"
metro : "618"
city : "Houston"
zip : "77032"
type : IP
utcoffset : - 300
accuracy : 3682
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9027607
}
}
ipv6 : "2600:100d:b045::"
carrier : "70092"
make : "Samsung"
model : "sm-a037u"
os : "android"
osv : "13"
devicetype : HIGHEND_PHONE
lmt : false
w : 412
h : 915
pxratio : 1.75
sua {
browsers {
brand : "Google Chrome"
version : "129"
version : "0"
}
browsers {
brand : "Not=A?Brand"
version : "8"
version : "0"
}
platform {
brand : "Android"
version : "13"
version : "0"
}
mobile : true
model : "SM-A037U"
source : CLIENT_HINTS_HIGH_ENTROPY
}
}
user {
buyeruid : "8cw7780874mg61q5MBecJyQ8hXIoYQPM"
customdata : "l7898Ufx682216u9F0WUQsxMFr1956dw76p8ZAdpwA3586Y2"
data {
segment {
id : "OMITTED"
}
segment {
id : "OMITTED"
}
[ com . google . doubleclick . data ] {
segtax : 601
}
}
[ com . google . doubleclick . user ] {
eids {
source : "OMITTED"
uids {
id : "12JD92JD8078S8J29SDOAKC0EF230337"
}
}
eids {
source : "OMITTED"
uids {
id : "12JD92JD8078S8J29SDOAKC0EF230337"
}
}
}
}
at : FIRST_PRICE
tmax : 350
cur : "USD"
regs {
gpp : "OMITTED"
}
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
schain {
complete : 1
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
ver : "1.0"
}
}
}
[ com . google . doubleclick . bid_request ] {
bid_feedback {
request_id : "V68ZT9H20868b1ze4z5rWa"
creative_status_code : 80
event_notification_token {
payload : "token"
}
buyer_creative_id : "test_creative_id_175726"
minimum_bid_to_win : 8.62
feedbacktype : BID_FEEDBACK
}
google_query_id : "ANy-z732H2-9Z57W2Ufp82238m3DQ5T47oEIDlSkITGYWkX1CgL2VPch1wbeQV6kb1631u7h"
fcap_scope : FREQUENCY_CAPPING_SCOPE_NONE
}
OpenRTB JSON
הצגת הדוגמה
{
"id" : "474xe8G3edB9ZG60IaK880" ,
"imp" : [
{
"id" : "1" ,
"video" : {
"mimes" : [
"video/mp4"
],
"linearity" : 1 ,
"w" : 300 ,
"h" : 250 ,
"playbackmethod" : [
6
],
"pos" : 1 ,
"api" : [
7
],
"protocols" : [
2 ,
3
],
"skip" : 1 ,
"placement" : 3 ,
"playbackend" : 2 ,
"plcmt" : 4 ,
"ext" : {
"inferredplcmt" : 4 ,
"embeddedoffsite" : 1
}
},
"displaymanager" : "GOOGLE" ,
"tagid" : "8378930064" ,
"bidfloor" : 0.19 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0012572698760777712 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.62 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"47460168025"
],
"publisher_settings_list_id" : [
"5764601004062573461" ,
"9583254202940413383"
],
"allowed_vendor_type" : [
3 ,
42
],
"dfp_ad_unit_code" : "/3049200/google/test" ,
"ampad" : 3 ,
"buyer_generated_request_data" : [
{
"data" : "Test Data"
},
{
"data" : "Test Data"
}
],
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"open_bidding" : {
"is_open_bidding" : 1
},
"allowed_restricted_category" : [
33 ,
32
],
"creative_enforcement_settings" : {
"policy_enforcement" : 1 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"ae" : 0
}
}
],
"site" : {
"page" : "https://www.google.com" ,
"publisher" : {
"id" : "pub-1111111111111111" ,
"ext" : {
"country" : "US"
}
},
"content" : {
"livestream" : 0 ,
"language" : "en"
},
"mobile" : 1 ,
"ext" : {
"amp" : 0 ,
"page_visibility" : 1 ,
"inventorypartnerdomain" : "OMITTED" ,
"ntype" : 1
}
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "USA" ,
"region" : "TX" ,
"metro" : "618" ,
"city" : "Houston" ,
"zip" : "77032" ,
"type" : 2 ,
"utcoffset" : - 300 ,
"accuracy" : 3682 ,
"ext" : {
"geo_criteria_id" : 9027607
}
},
"ipv6" : "2600:100d:b045::" ,
"carrier" : "70092" ,
"make" : "Samsung" ,
"model" : "sm-a037u" ,
"os" : "android" ,
"osv" : "13" ,
"devicetype" : 4 ,
"lmt" : 0 ,
"w" : 412 ,
"h" : 915 ,
"pxratio" : 1.75 ,
"sua" : {
"browsers" : [
{
"brand" : "Google Chrome" ,
"version" : [
"129" ,
"0"
]
},
{
"brand" : "Not=A?Brand" ,
"version" : [
"8" ,
"0"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"13" ,
"0"
]
},
"mobile" : 1 ,
"model" : "SM-A037U" ,
"source" : 2
}
},
"user" : {
"buyeruid" : "8cw7780874mg61q5MBecJyQ8hXIoYQPM" ,
"customdata" : "l7898Ufx682216u9F0WUQsxMFr1956dw76p8ZAdpwA3586Y2" ,
"data" : [
{
"segment" : [
{
"id" : "OMITTED"
},
{
"id" : "OMITTED"
}
],
"ext" : {
"segtax" : 601
}
}
],
"ext" : {
"eids" : [
{
"source" : "OMITTED" ,
"uids" : [
{
"id" : "12JD92JD8078S8J29SDOAKC0EF230337"
}
]
},
{
"source" : "OMITTED" ,
"uids" : [
{
"id" : "12JD92JD8078S8J29SDOAKC0EF230337"
}
]
}
]
}
},
"at" : 1 ,
"tmax" : 350 ,
"cur" : [
"USD"
],
"regs" : {
"gpp" : "OMITTED"
},
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
},
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
},
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"bid_feedback" : [
{
"request_id" : "V68ZT9H20868b1ze4z5rWa" ,
"creative_status_code" : 80 ,
"event_notification_token" : {
"payload" : "token"
},
"buyer_creative_id" : "test_creative_id_175726" ,
"minimum_bid_to_win" : 8.62 ,
"feedbacktype" : 1
}
],
"google_query_id" : "ANy-z732H2-9Z57W2Ufp82238m3DQ5T47oEIDlSkITGYWkX1CgL2VPch1wbeQV6kb1631u7h" ,
"fcap_scope" : 1
}
}
מודעת באנר באתר לנייד למשתמש שמגיש הצעות מחיר ב-Exchange
OpenRTB Protobuf
הצגת הדוגמה
בקשה בסריאליזציה
id : "W5rO389B0p836803G6tI3T"
imp {
id : "1"
banner {
w : 320
h : 50
pos : ABOVE_THE_FOLD
expdir : LEFT
expdir : RIGHT
expdir : UP
expdir : DOWN
api : MRAID_1
api : MRAID_2
format {
w : 320
h : 50
}
format {
w : 320
h : 100
}
}
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "23.1.0"
tagid : "3758755668"
bidfloor : 0.11
bidfloorcur : "USD"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "viewability"
value : 0.71
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 50962964480
dfp_ad_unit_code : "/5025729/google/test"
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
open_bidding {
is_open_bidding : true
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_OVERRIDDEN
}
auction_environment : SERVER_SIDE_AUCTION
ae : SERVER_SIDE_AUCTION
}
}
app {
name : "Test App"
ver : "6.8.1"
bundle : "com.google.testapp"
publisher {
id : "pub-6120362493380457"
[ com . google . doubleclick . publisher ] {
country : "PL"
}
}
content {
url : "https://www.google.com"
userrating : "4.5"
livestream : false
language : "pl"
}
storeurl : "https://www.google.com"
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED"
}
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "POL"
region : "PL-MZ"
city : "Warsaw"
zip : "04"
type : IP
utcoffset : 120
accuracy : 2263
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9061066
}
}
carrier : "70872"
make : "Samsung"
model : "SM-A346B"
os : "android"
osv : "14"
connectiontype : CELL_4G
devicetype : HIGHEND_PHONE
ifa : "1f3ed9c7-e8d8-4cec-9167-2811375e2cbe"
lmt : false
w : 384
h : 758
pxratio : 2.813
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "14"
}
mobile : true
bitness : "64"
model : "SM-A346B"
source : USER_AGENT_STRING
}
}
user {
id : "a9S5d7s7r38o1q8ifv4U80GBxKA"
[ com . google . doubleclick . user ] {
consented_providers_settings {
consented_providers : 1215
consented_providers : 2567
additional_consent : "OMITTED"
}
consent : "OMITTED"
session {
duration : 464
}
idage : 25920000
}
}
at : FIRST_PRICE
tmax : 1000
cur : "USD"
regs {
gpp : "OMITTED"
[ com . google . doubleclick . regs ] {
gdpr : true
}
}
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-a-v243799999.241199000.1"
schain {
complete : 1
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
ver : "1.0"
}
}
}
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-z4luKF-u274F3WU34uUUoQ7E82k3L42z23v2K4T1k0eA7Rw8Xb6JeXDG6K703e88p491"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
}
OpenRTB JSON
הצגת הדוגמה
{
"id" : "W5rO389B0p836803G6tI3T" ,
"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-Android" ,
"displaymanagerver" : "23.1.0" ,
"tagid" : "3758755668" ,
"bidfloor" : 0.11 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "viewability" ,
"value" : 0.71 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"50962964480"
],
"dfp_ad_unit_code" : "/5025729/google/test" ,
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"open_bidding" : {
"is_open_bidding" : 1
},
"creative_enforcement_settings" : {
"policy_enforcement" : 1 ,
"publisher_blocks_enforcement" : 2
},
"auction_environment" : 0 ,
"ae" : 0
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "6.8.1" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-6120362493380457" ,
"ext" : {
"country" : "PL"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.5" ,
"livestream" : 0 ,
"language" : "pl"
},
"storeurl" : "https://www.google.com" ,
"ext" : {
"inventorypartnerdomain" : "OMITTED"
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "POL" ,
"region" : "PL-MZ" ,
"city" : "Warsaw" ,
"zip" : "04" ,
"type" : 2 ,
"utcoffset" : 120 ,
"accuracy" : 2263 ,
"ext" : {
"geo_criteria_id" : 9061066
}
},
"carrier" : "70872" ,
"make" : "Samsung" ,
"model" : "SM-A346B" ,
"os" : "android" ,
"osv" : "14" ,
"connectiontype" : 6 ,
"devicetype" : 4 ,
"ifa" : "1f3ed9c7-e8d8-4cec-9167-2811375e2cbe" ,
"lmt" : 0 ,
"w" : 384 ,
"h" : 758 ,
"pxratio" : 2.813 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"14"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "SM-A346B" ,
"source" : 3
}
},
"user" : {
"id" : "a9S5d7s7r38o1q8ifv4U80GBxKA" ,
"ext" : {
"consented_providers_settings" : {
"consented_providers" : [
"1215" ,
"2567"
],
"additional_consent" : "OMITTED"
},
"consent" : "OMITTED" ,
"session" : {
"duration" : 464
},
"idage" : 25920000
}
},
"at" : 1 ,
"tmax" : 1000 ,
"cur" : [
"USD"
],
"regs" : {
"gpp" : "OMITTED" ,
"ext" : {
"gdpr" : 1
}
},
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-a-v243799999.241199000.1" ,
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"google_query_id" : "ANy-z4luKF-u274F3WU34uUUoQ7E82k3L42z23v2K4T1k0eA7Rw8Xb6JeXDG6K703e88p491" ,
"fcap_scope" : 3
}
}
OpenRTB Protobuf
הצגת הדוגמה
בקשה בסריאליזציה
id : "o9j8MO3eW468670y7CVv1A"
imp {
id : "1"
banner {
w : 300
h : 250
pos : ABOVE_THE_FOLD
battr : VIDEO_IN_BANNER_AUTO_PLAY
battr : VIDEO_IN_BANNER_USER_INITIATED
api : MRAID_1
api : MRAID_2
format {
w : 300
h : 250
}
format {
w : 320
h : 50
}
}
video {
mimes : "video/mp4"
linearity : LINEAR
w : 300
h : 250
battr : VIDEO_IN_BANNER_AUTO_PLAY
battr : VIDEO_IN_BANNER_USER_INITIATED
playbackmethod : ENTER_SOUND_OFF
pos : ABOVE_THE_FOLD
api : MRAID_1
api : MRAID_2
protocols : VAST_2_0
protocols : VAST_3_0
skip : true
placement : IN_FEED_PLACEMENT
playbackend : LEAVING_OR_USER
plcmt : PLCMT_NO_CONTENT_STANDALONE
[ com . google . doubleclick . video ] {
inferredplcmt : PLCMT_NO_CONTENT_STANDALONE
embeddedoffsite : true
}
}
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "22.3.0"
tagid : "6247365183"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
native {
ver : "1.2"
api : MRAID_1
api : MRAID_2
battr : VIDEO_IN_BANNER_AUTO_PLAY
battr : VIDEO_IN_BANNER_USER_INITIATED
request_native {
ver : "1.2"
assets {
id : 1
required : true
title {
len : 25
}
}
assets {
id : 2
required : true
data {
type : DESC
len : 90
}
}
assets {
id : 3
data {
type : CTATEXT
len : 15
}
}
assets {
id : 4
required : true
img {
type : MAIN
wmin : 1200
hmin : 627
}
}
assets {
id : 5
required : true
img {
type : ICON
wmin : 100
hmin : 100
}
}
assets {
id : 6
data {
type : RATING
len : 5
}
}
assets {
id : 7
data {
type : PRICE
len : 15
}
}
eventtrackers {
event : IMPRESSION
methods : IMG
}
privacy : true
}
}
exp : 3600
clickbrowser : true
metric {
type : "viewability"
value : 0.64
vendor : "EXCHANGE"
}
metric {
type : "session_depth"
value : 7.0
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 21221902373
billing_id : 53569531917
publisher_settings_list_id : 7651048085774412615
publisher_settings_list_id : 3305930710629093223
allowed_vendor_type : 3
allowed_vendor_type : 42
ampad : AMP_AD_NOT_ALLOWED
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
billable_event_rate_bid_adjustment {
bid_adjustment : 1.1452553
creative_type : HTML_SNIPPET
}
ae : SERVER_SIDE_AUCTION
}
}
app {
name : "Test App"
ver : "14.27.7"
bundle : "com.google.testapp"
publisher {
id : "pub-8822142511593237"
[ com . google . doubleclick . publisher ] {
country : "SE"
}
}
content {
url : "https://www.google.com"
userrating : "4.5"
livestream : false
producer {
}
language : "en"
}
storeurl : "https://www.google.com"
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED"
}
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "NGA"
region : "NG-LA"
city : "Lagos"
zip : "106104"
type : IP
utcoffset : 60
accuracy : 1559
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9198908
}
}
make : "Xiaomi"
model : "23129RAA4G"
os : "android"
osv : "14"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
ifa : "94b6ef8c-99d8-4997-98d2-c2377bd7abd1"
lmt : false
w : 393
h : 792
pxratio : 2.75
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "14"
}
mobile : true
bitness : "64"
model : "23129RAA4G"
source : USER_AGENT_STRING
}
}
user {
id : "04X9BE2175274aL0C296l24WI68"
[ com . google . doubleclick . user ] {
session {
duration : 439
}
idage : 7776000
}
}
at : FIRST_PRICE
tmax : 1500
cur : "USD"
cur : "EUR"
bcat : "IAB23-9"
bcat : "IAB14-1"
bapp : "com.ayoba.ayoba"
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-a-v243799999.232400000.1"
schain {
complete : 1
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
ver : "1.0"
}
}
}
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zM284h-2Q24Y9v315v54F50lLaqQ3hq549685jR3ack28k6J6Ko65F1aS73r197eM8zX"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : false
}
}
OpenRTB JSON
הצגת הדוגמה
{
"id" : "o9j8MO3eW468670y7CVv1A" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 300 ,
"h" : 250 ,
"pos" : 1 ,
"battr" : [
6 ,
7
],
"api" : [
3 ,
5
],
"format" : [
{
"w" : 300 ,
"h" : 250
},
{
"w" : 320 ,
"h" : 50
}
]
},
"video" : {
"mimes" : [
"video/mp4"
],
"linearity" : 1 ,
"w" : 300 ,
"h" : 250 ,
"battr" : [
6 ,
7
],
"playbackmethod" : [
6
],
"pos" : 1 ,
"api" : [
3 ,
5
],
"protocols" : [
2 ,
3
],
"skip" : 1 ,
"placement" : 4 ,
"playbackend" : 2 ,
"plcmt" : 4 ,
"ext" : {
"inferredplcmt" : 4 ,
"embeddedoffsite" : 1
}
},
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "22.3.0" ,
"tagid" : "6247365183" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"native" : {
"ver" : "1.2" ,
"api" : [
3 ,
5
],
"battr" : [
6 ,
7
],
"request" : "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":25}},{\"id\":2,\"required\":1,\"data\":{\"type\":2,\"len\":90}},{\"id\":3,\"data\":{\"type\":12,\"len\":15}},{\"id\":4,\"required\":1,\"img\":{\"type\":3,\"wmin\":1200,\"hmin\":627}},{\"id\":5,\"required\":1,\"img\":{\"type\":1,\"wmin\":100,\"hmin\":100}},{\"id\":6,\"data\":{\"type\":3,\"len\":5}},{\"id\":7,\"data\":{\"type\":6,\"len\":15}}],\"eventtrackers\":[{\"event\":1,\"methods\":[1]}],\"privacy\":1}"
},
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "viewability" ,
"value" : 0.64 ,
"vendor" : "EXCHANGE"
},
{
"type" : "session_depth" ,
"value" : 7.0 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"21221902373" ,
"53569531917"
],
"publisher_settings_list_id" : [
"7651048085774412615" ,
"3305930710629093223"
],
"allowed_vendor_type" : [
3 ,
42
],
"ampad" : 2 ,
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"billable_event_rate_bid_adjustment" : [
{
"bid_adjustment" : 1.1452553 ,
"creative_type" : 1
}
],
"ae" : 0
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "14.27.7" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-8822142511593237" ,
"ext" : {
"country" : "SE"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.5" ,
"livestream" : 0 ,
"language" : "en"
},
"storeurl" : "https://www.google.com" ,
"ext" : {
"inventorypartnerdomain" : "OMITTED"
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "NGA" ,
"region" : "NG-LA" ,
"city" : "Lagos" ,
"zip" : "106104" ,
"type" : 2 ,
"utcoffset" : 60 ,
"accuracy" : 1559 ,
"ext" : {
"geo_criteria_id" : 9198908
}
},
"make" : "Xiaomi" ,
"model" : "23129RAA4G" ,
"os" : "android" ,
"osv" : "14" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"ifa" : "94b6ef8c-99d8-4997-98d2-c2377bd7abd1" ,
"lmt" : 0 ,
"w" : 393 ,
"h" : 792 ,
"pxratio" : 2.75 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"14"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "23129RAA4G" ,
"source" : 3
}
},
"user" : {
"id" : "04X9BE2175274aL0C296l24WI68" ,
"ext" : {
"session" : {
"duration" : 439
},
"idage" : 7776000
}
},
"at" : 1 ,
"tmax" : 1500 ,
"cur" : [
"USD" ,
"EUR"
],
"bcat" : [
"IAB23-9" ,
"IAB14-1"
],
"bapp" : [
"com.ayoba.ayoba"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-a-v243799999.232400000.1" ,
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"google_query_id" : "ANy-zM284h-2Q24Y9v315v54F50lLaqQ3hq549685jR3ack28k6J6Ko65F1aS73r197eM8zX" ,
"fcap_scope" : 3 ,
"privacy_treatments" : {
"allow_user_data_collection" : 0
}
}
}