אינטראקציה של בידינג בזמן אמת מתחילה כש-Google שולחת בקשה להצעת מחיר לאפליקציה שלכם. במדריך הזה מוסבר איך לכתוב קוד לאפליקציה כדי לעבד את בקשת הצעת המחיר.
בקשת ניתוח
Google שולחת בקשה להצעת מחיר שעברה סריאליזציה בפורמט OpenRTB JSON או Protobuf, שמצורפת כמטען ייעודי (payload) של בקשת 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++, איטרציה על עסקאות ב-OpenRTB `BidRequest` יכולה להיראות כך:
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 את מספר הלקוח לחיוב של הקונה שאליו רוצים לשייך את הצעת המחיר.
imp {
ext {
// The billing IDs of all of your matching pretargeting configs and eligible child seats are
// stored in a flat list here.
billing_id: 123
billing_id: 456
billing_id: 789
}
pmp {
// All eligible deals are stored in a single flat list.
deal {
id: 1000
ext {
// The specific billing IDs eligible to bid on this deal are indicated here.
billing_id: 789
}
...
}
deal {
id: 2000
ext {
billing_id: 123
billing_id: 456
}
...
}
}
...
}
...
איך קובעים קטגוריות חסומות
כשמגישים הצעת מחיר, הקריאייטיב שכלול בה לא יכול לכלול קטגוריות שזוהו ונחסמו על ידי בעל האפליקציה. אחרת, הצעת המחיר מסוננת מהמכרז.
כדי לראות אילו קטגוריות נחסמו בהצגת חשיפה, בודקים את השדה BidRequest.bcat, שמאוכלס בקטגוריות מטקסונומיה שהוגדרה בחשבון.
בדוגמה הבאה מוצגות קטגוריות חסומות על סמך טקסונומיה מוגדרת של קטגוריות מודעות:
טקסונומיית התוכן של IAB בגרסה 1.0
// Bid request
{
// Indicates the blocked categories using IAB Content 1.0 Taxonomy.
"bcat" : [
"IAB9-9" , // Cigars
"IAB8-18" // Wine
]
"imp" : {
...
}
}
טקסונומיית קטגוריות המודעות של Google
// Bid request
{
// Indicates the blocked categories using Google Ad Category Taxonomy.
"bcat" : [
"10138" , // Cigar and tobacco collecting
"10080" , // Tobacco
"11649" , // Wine
"10674" , // Wine collecting
"13008" // Wine clubs
]
"imp" : {
...
}
}
חשוב: כדי לזהות את הקטגוריות שזוהו בנכסי הקריאייטיב, צריך להשתמש במשאב creatives ב-Real-time Bidding API. פרטים על הקטגוריות שזוהו זמינים במאמר משאב REST: bidders.creatives .
קביעת קטגוריות לפי הקשר
בקשות להצעות מחיר יכולות לכלול שדות של קטגוריות הקשריות שמתארים את האתר או האפליקציה שבהם מתרחשת חשיפה. השדות האלה משתמשים גם בטקסונומיות של קטגוריות מודעות, אבל הם מייצגים את ההקשר של החשיפה, ולא הגבלות על הקריאייטיב. יכול להיות שהשדות האלה לא משתמשים באותה טקסונומיה כמו השדה BidRequest.bcat. Google או בעל התוכן הדיגיטלי יכולים לספק את הקטגוריות ההקשריות האלה. שימוש בקטגוריות לפי הקשר יכול לשפר את הערכת החשיפות, את הטירגוט לפי הקשר ואת ההגנה על המותג.
קטגוריות הקשריות שזוהו על ידי Google
Google מאכלסת את השדות הבאים בקטגוריות התוכן של IAB שזוהו באתר, באפליקציה או בדף:
שדה
תיאור
BidRequest.site.cat
מערך של מזהי קטגוריות תוכן שמתארים את האתר.
BidRequest.site.pagecat
מערך של מזהי קטגוריות תוכן שמתארים את הדף או התצוגה הנוכחיים של האתר.
BidRequest.app.cat
מערך של מזהי קטגוריות תוכן שמתארים את האפליקציה.
BidRequest.app.pagecat
מערך של מזהי קטגוריות תוכן שמתארים את הדף או התצוגה הנוכחיים של האפליקציה.
אפשר למצוא את הטקסונומיה המדויקת שמשמשת בשדות האלה לבקשה נתונה להצעת מחיר בשדות BidRequest.site.cattax או BidRequest.app.cattax. יכול להיות שלא תמיד יאוכלסו שדות של קטגוריות הקשריות בגלל העדפות של בעלי האתרים או חששות רגולטוריים.
מידע נוסף זמין במאמר קטגוריות הקשר לפי תקן OpenRTB ב-Google Ad Manager .
אותות שמספקים בעלי תוכן דיגיטלי
בנוסף לקטגוריות הקשריות שזוהו על ידי Google, בקשות להצעות מחיר עשויות להכיל גם אותות שסופקו על ידי בעל התוכן הדיגיטלי, שמתארים גם את ההקשר של חשיפה. בניגוד לקטגוריות לפי הקשר ש-Google מזהה, האותות האלה מאוכלסים רק אם בעל האפליקציה מספק אותם. האותות האלה נשלחים באובייקטים BidRequest.site.content ו-BidRequest.app.content, כמו content.data.segment ו-content.genre. הטקסונומיה שמשמשת לרשומות content.data.segment מדווחת ב-content.data.ext.segtax. מידע נוסף זמין במאמר בנושא אותות שמספקים בעלי תוכן דיגיטלי (PPS) לבידינג בזמן אמת (RTB) .
קובצי מילון
הבקשה להצעת מחיר משתמשת במזהים שמוגדרים בקובצי מילון, שזמינים בדף נתוני העזר .
פקודות מאקרו של כתובות 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 בבקשה להצעת מחיר.
%%IS_CTV%%
הוחלף ב-1 כדי לציין שהבקשה להצעת מחיר מגיעה ממכשיר CTV, או ב-0 אם לא. החישוב מבוסס על הערך של BidRequest.device.devicetype. ב-Protobuf, מכשירי CTV הם CONNECTED_TV, CONNECTED_DEVICE או SET_TOP_BOX, שתואמים לערכי המספרים השלמים 3, 6 או 7 ב-JSON.
%%HOSTED_MATCH_DATA%%
הוחלף בערך שמבוסס על BidRequest.user.buyeruid.
%%MOBILE_IS_APP%%
הוחלף ב-1 כדי לציין שהבקשה להצעת מחיר מיועדת למלאי שטחי פרסום באפליקציה לנייד, או ב-0 אחרת. ההחלטה אם להציג את הנתון הזה מתבססת על כך שהשדה BidRequest.app מאוכלס.
איך מוצאים את מזהה האפליקציה לנייד מכתובת ה-URL של העסקה
עסקאות באפליקציות לנייד ידווחו על כתובות URL שנראות כך:
mbappgewtimrzgyytanjyg4888888 .com
משתמשים במפענח base-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
בקשות להצעות מחיר שנשלחות למגישי הצעות מחיר בבורסות ובמערכות פרסום שמשתתפים ב-Open Bidding דומות לבקשות שנשלחות ל-Authorized Buyers שמשתתפים בבידינג בזמן אמת רגיל. לקוחות Open Bidding יקבלו מספר קטן של שדות נוספים, ויכול להיות שחלק מהשדות הקיימים ישמשו למטרות אחרות. למשל:
OpenRTB
פרטים
BidRequest.imp.ext.dfp_ad_unit_code
מכיל את קוד הרשת של רשת Ad Manager, ואחריו את ההיררכיה של יחידות המודעות, כשהם מופרדים בלוכסנים.
לדוגמה, הפורמט של הכתובת ייראה כך:
/1234/cruises/mars.
BidRequest.user.data.segment
צמדים חוזרים של מפתח/ערך שנשלחים מבעל האפליקציה למגיש הצעת המחיר ב-Exchange.
אפשר לקבוע שהערכים הם צמדי מפתח/ערך שנשלחים על ידי בעל האפליקציה כשהערך של BidRequest.user.data.name מוגדר כ-“Publisher Passed”.
הערה: השדה הזה נשלח כרגע רק למשתתפים בגרסת הבטא הסגורה.
הצהרה על ספקים מורשים
ספקי טכנולוגיה שמספקים שירותים כמו מחקר, רימרקטינג והצגת מודעות עשויים למלא תפקיד באינטראקציה בין קונים למוכרים. מותרים רק ספקים ש-Google בדקה את ההתאמה שלהם להשתתפות באינטראקציות של Authorized Buyers.
כדי להבין את BidRequest וליצור את BidResponse, חשוב להכיר את שתי האפשרויות השונות להצהרה על ספקי טכנולוגיה:
יש ספקים שלא צריך להצהיר עליהם. הספקים האלה מפורטים בספקים חיצוניים מוסמכים ל-Ad Manager .
ספקים אחרים יכולים להשתתף רק אם הם מוצהרים בתג BidRequest:
בשדה BidRequest.imp.ext.allowed_vendor_type בקובץ BidRequest מצוין אילו ספקים מורשים על ידי אתר המכירה. הספקים שיישלחו ב-allowed_vendor_type מפורטים בקובץ המילון vendors.txt .
דוגמה לבקשה להצעת מחיר
בדוגמאות הבאות מוצגות בקשות בפורמט Protobuf ובפורמט JSON, שקל לקרוא אותן.
OpenRTB Protobuf
אני רוצה לראות את הדוגמה
בקשה שסודרה בסדר מסוים
id : "REeB4ju54C6FZq9Q3Vtd5u"
imp {
id : "1"
banner {
w : 395
h : 62
pos : ABOVE_THE_FOLD
api : MRAID_1
api : MRAID_2
wmax : 395
hmax : 62
wmin : 265
hmin : 47
format {
w : 395
h : 62
}
format {
w : 375
h : 50
}
[ com . google . doubleclick . banner_ext ] {
flexslot {
wmin : 265
wmax : 395
hmin : 47
hmax : 62
}
}
}
displaymanager : "GoogleMobileAds-iOS"
displaymanagerver : "12.6.0"
tagid : "5317800401"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.000626864901278168
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.99
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 40355106859
publisher_settings_list_id : 8109573582699753738
publisher_settings_list_id : 8638559414314918844
allowed_vendor_type : 0
allowed_vendor_type : 704
ampad : AMP_AD_NOT_ALLOWED
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
}
jsver : "test-sdk_123456789"
}
}
app {
name : "Test App"
ver : "1.28.0"
bundle : "com.google.testapp"
publisher {
id : "pub-8346480615367211"
[ com . google . doubleclick . publisher ] {
country : "CY"
}
}
content {
url : "https://www.google.com"
language : "en"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "MEX"
region : "MX-DF"
city : "Mexico City"
type : IP
utcoffset : - 360
accuracy : 3850
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9047093
}
}
language : "en"
make : "Apple"
model : "iPhone18,3"
os : "iOS"
osv : "26.1.0"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
ifa : "151ca1fc-db4d-43e2-965f-fa852009b289"
hwv : "iPhone18,3"
w : 402
h : 874
pxratio : 3.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "605"
version : "1"
}
platform {
brand : "iPhone"
version : "26"
version : "1"
}
mobile : true
bitness : "64"
model : "iPhone"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
atts : 3
audioout : AUDIO_SILENT
ifa_type : "idfa"
}
}
user {
id : "wj7Z37qUTc46fR30FQ6u68sM7jT"
[ com . google . doubleclick . user ] {
session {
duration : 900
depth : 874
requestssinceappopen : 874
priorclicks : 0
}
idage : 12960000
}
}
at : FIRST_PRICE
tmax : 1300
cur : "USD"
bcat : "3"
bcat : "4"
regs {
gpp : "OMITTED"
gpp_sid : USPV1
}
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-v12.6.0"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-z07Q3Z-pyK06g4JZGaM8H6Yqs353k2c94sC55T84KSH6J59gNR3e1XDHBrk51P6H2B9g"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : true
}
}
OpenRTB JSON
אני רוצה לראות את הדוגמה
{
"id" : "REeB4ju54C6FZq9Q3Vtd5u" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 395 ,
"h" : 62 ,
"pos" : 1 ,
"api" : [
3 ,
5
],
"wmax" : 395 ,
"hmax" : 62 ,
"wmin" : 265 ,
"hmin" : 47 ,
"format" : [
{
"w" : 395 ,
"h" : 62
},
{
"w" : 375 ,
"h" : 50
}
],
"ext" : {
"flexslot" : {
"wmin" : 265 ,
"wmax" : 395 ,
"hmin" : 47 ,
"hmax" : 62
}
}
},
"displaymanager" : "GoogleMobileAds-iOS" ,
"displaymanagerver" : "12.6.0" ,
"tagid" : "5317800401" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.000626864901278168 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.99 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"40355106859"
],
"publisher_settings_list_id" : [
"8109573582699753738" ,
"8638559414314918844"
],
"allowed_vendor_type" : [
0 ,
704
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "1.28.0" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-8346480615367211" ,
"ext" : {
"country" : "CY"
}
},
"content" : {
"url" : "https://www.google.com" ,
"language" : "en"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "MEX" ,
"region" : "MX-DF" ,
"city" : "Mexico City" ,
"type" : 2 ,
"utcoffset" : - 360 ,
"accuracy" : 3850 ,
"ext" : {
"geo_criteria_id" : 9047093
}
},
"language" : "en" ,
"make" : "Apple" ,
"model" : "iPhone18,3" ,
"os" : "iOS" ,
"osv" : "26.1.0" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"ifa" : "151ca1fc-db4d-43e2-965f-fa852009b289" ,
"hwv" : "iPhone18,3" ,
"w" : 402 ,
"h" : 874 ,
"pxratio" : 3.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"605" ,
"1"
]
}
],
"platform" : {
"brand" : "iPhone" ,
"version" : [
"26" ,
"1"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "iPhone" ,
"source" : 3
},
"ext" : {
"atts" : 3 ,
"audioout" : 3 ,
"ifa_type" : "idfa"
}
},
"user" : {
"id" : "wj7Z37qUTc46fR30FQ6u68sM7jT" ,
"ext" : {
"session" : {
"duration" : 900 ,
"depth" : 874 ,
"requestssinceappopen" : 874 ,
"priorclicks" : 0
},
"idage" : 12960000
}
},
"at" : 1 ,
"tmax" : 1300 ,
"cur" : [
"USD"
],
"bcat" : [
"3" ,
"4"
],
"regs" : {
"gpp" : "OMITTED" ,
"gpp_sid" : [
6
]
},
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-i-v12.6.0"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-z07Q3Z-pyK06g4JZGaM8H6Yqs353k2c94sC55T84KSH6J59gNR3e1XDHBrk51P6H2B9g" ,
"fcap_scope" : 3 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
כדי להמיר את בקשת הצעת המחיר לצורה בינארית, כמו זו שתקבלו מהמטען הייעודי (payload) של POST בבקשה אמיתית, אתם יכולים לבצע את הפעולות הבאות (ב-C++). עם זאת, שימו לב שזה לא רלוונטי ל-OpenRTB JSON.
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 .
כשמערכת 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 ;
// 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 ;
}
השדה הראשון שצריך לבדוק בהודעה הזו הוא bid_feedback.creative_status_code. אפשר למצוא את משמעות הקוד בקובץ
creative-status-codes.txt . שימו לב שאם הצעת המחיר שלכם תזכה, תוכלו לבטל את ההסכמה לקבלת משוב על המחיר. איך מבטלים את ההסכמה?
המשוב בזמן אמת כולל את מזהה הבקשה להצעת מחיר ואחד מהבאים:
תוצאת המכרז
משוב בזמן אמת
הקונה לא הגיש הצעת מחיר.
שום דבר.
הקונה הגיש הצעת מחיר שסוננה לפני שהגיעה למכרז.
קוד הסטטוס של הקריאייטיב (creative-status-codes.txt ).
הקונה הגיש הצעת מחיר אבל הפסיד במכרז.
קוד סטטוס הקריאייטיב 79 (הצעת מחיר נמוכה יותר במכרז).
הקונה שלח הצעת מחיר שזכתה במכרז.
מחיר הסגירה וקוד הסטטוס של הקריאייטיב 1.
אם מדובר בחשיפה של אפליקציה וקוד הסטטוס של הקריאייטיב הוא 83, יכול להיות שבעל האפליקציה השתמש ברשימת רשתות בתהליך בחירת רשת, ולכן הצעת המחיר הזוכה התחרתה בביקוש אחר בשרשרת של רשימת הרשתות בתהליך בחירת הרשת של בעל האפליקציה. איך משתמשים ב-sampled_mediation_cpm_ahead_of_auction_winner בבידינג
דוגמה
לפניכם דוגמה למשוב בזמן אמת כפי שהוא מוצג בפרוטוקולים נתמכים:
OpenRTB Protobuf
אני רוצה לראות את הדוגמה
בקשה שעברה סריאליזציה
id : "5wvJU9203l9r567n7Ka9TS"
imp {
id : "1"
banner {
w : 1176
h : 431
pos : AD_POSITION_FULLSCREEN
battr : VIDEO_IN_BANNER_AUTO_PLAY
battr : VIDEO_IN_BANNER_USER_INITIATED
format {
w : 1176
h : 431
}
format {
w : 750
h : 200
}
}
video {
mimes : "video/mp4"
linearity : LINEAR
w : 1176
h : 431
battr : VIDEO_IN_BANNER_AUTO_PLAY
battr : VIDEO_IN_BANNER_USER_INITIATED
playbackmethod : ENTER_SOUND_ON
pos : AD_POSITION_FULLSCREEN
companionad {
w : 1176
h : 431
mimes : "image/png"
mimes : "image/gif"
format {
w : 1176
h : 431
}
vcm : true
}
api : OMID_1
companiontype : STATIC
protocols : VAST_2_0
protocols : VAST_3_0
skip : true
placement : FLOATING_PLACEMENT
playbackend : COMPLETION_OR_USER
plcmt : PLCMT_INTERSTITIAL
[ com . google . doubleclick . video ] {
inferredplcmt : PLCMT_INTERSTITIAL
}
}
displaymanager : "GOOGLE"
instl : true
tagid : "9725345911"
bidfloor : 9.0
bidfloorcur : "JPY"
pmp {
deals {
id : "65061755"
bidfloor : 8.553933
bidfloorcur : "JPY"
[ com . google . doubleclick . deal ] {
deal_type : AUCTION_PACKAGE
billing_id : 68470360571
billing_id : 43516115440
}
}
}
secure : true
exp : 3600
metric {
type : "click_through_rate"
value : 0.010739230550825596
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.92
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 99565241899
billing_id : 62840772940
publisher_settings_list_id : 8326391344801492893
publisher_settings_list_id : 1949843853073948330
allowed_vendor_type : 0
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"
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
gpid : "/4653013/example.com/homepage/image_top"
}
}
site {
page : "https://www.google.com"
publisher {
id : "pub-1111111111111111"
[ com . google . doubleclick . publisher ] {
country : "US"
}
}
content {
language : "en"
}
[ com . google . doubleclick . site ] {
amp : DIALECT_HTML
page_visibility : VISIBILITY_STATE_VISIBLE
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 : "MYS"
region : "MY-14"
city : "Kuala Lumpur"
type : IP
utcoffset : 480
accuracy : 8784
[ com . google . doubleclick . geo ] {
geo_criteria_id : 1010274
}
}
language : "en"
os : "Windows"
devicetype : PERSONAL_COMPUTER
w : 1536
h : 864
pxratio : 1.25
sua {
browsers {
brand : "Microsoft Edge"
version : "149"
version : "0"
}
browsers {
brand : "Chromium"
version : "149"
version : "0"
}
platform {
brand : "Windows"
version : "19"
version : "0"
}
mobile : false
architecture : "x86"
bitness : "64"
source : CLIENT_HINTS_HIGH_ENTROPY
}
}
user {
id : "W23o8H9037R25u2cZk295JT6p8w"
[ com . google . doubleclick . user ] {
eids {
source : "OMITTED_SOURCE"
uids {
id : "OMITTED_ID"
}
}
eids {
source : "OMITTED_SOURCE"
uids {
id : "OMITTED_ID"
}
}
idage : 7776000
}
}
at : FIRST_PRICE
tmax : 500
cur : "BRL"
cur : "AUD"
bcat : "4"
bcat : "5"
regs {
gpp : "OMITTED"
}
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
bid_feedback {
request_id : "9hh992h0221aej3WZL7ON2"
creative_status_code : 80
event_notification_token {
payload : "token"
}
buyer_creative_id : "test_creative_id_646075"
minimum_bid_to_win : 29.67
}
bid_feedback {
request_id : "WdKk81t60Z5I20Lxz0nTvZ"
creative_status_code : 80
event_notification_token {
payload : "token"
}
buyer_creative_id : "test_creative_id_646075"
minimum_bid_to_win : 4.75
billable_event_rate_bid_adjustment : 0.6922306
}
google_query_id : "ANy-zh1Vmb-h06yN54Z58J7U4aq4og9HDAYG45zMF0B05ZCs59tu4GOsfw5Rd2W7OlaV7I7C"
fcap_scope : FREQUENCY_CAPPING_SCOPE_NONE
privacy_treatments {
ip : IP_FULL
allow_user_data_collection : true
}
}
OpenRTB JSON
אני רוצה לראות את הדוגמה
{
"id" : "5wvJU9203l9r567n7Ka9TS" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 1176 ,
"h" : 431 ,
"pos" : 7 ,
"battr" : [
6 ,
7
],
"format" : [
{
"w" : 1176 ,
"h" : 431
},
{
"w" : 750 ,
"h" : 200
}
]
},
"video" : {
"mimes" : [
"video/mp4"
],
"linearity" : 1 ,
"w" : 1176 ,
"h" : 431 ,
"battr" : [
6 ,
7
],
"playbackmethod" : [
5
],
"pos" : 7 ,
"companionad" : [
{
"w" : 1176 ,
"h" : 431 ,
"mimes" : [
"image/png" ,
"image/gif"
],
"format" : [
{
"w" : 1176 ,
"h" : 431
}
],
"vcm" : 1
}
],
"api" : [
7
],
"companiontype" : [
1
],
"protocols" : [
2 ,
3
],
"skip" : 1 ,
"placement" : 5 ,
"playbackend" : 1 ,
"plcmt" : 3 ,
"ext" : {
"inferredplcmt" : 3
}
},
"displaymanager" : "GOOGLE" ,
"instl" : 1 ,
"tagid" : "9725345911" ,
"bidfloor" : 9.0 ,
"bidfloorcur" : "JPY" ,
"pmp" : {
"deals" : [
{
"id" : "65061755" ,
"bidfloor" : 8.553933 ,
"bidfloorcur" : "JPY" ,
"ext" : {
"deal_type" : 4 ,
"billing_id" : [
"68470360571" ,
"43516115440"
]
}
}
]
},
"secure" : 1 ,
"exp" : 3600 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.010739230550825596 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.92 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"99565241899" ,
"62840772940"
],
"publisher_settings_list_id" : [
"8326391344801492893" ,
"1949843853073948330"
],
"allowed_vendor_type" : [
0
],
"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"
}
],
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"gpid" : "/4653013/example.com/homepage/image_top"
}
}
],
"site" : {
"page" : "https://www.google.com" ,
"publisher" : {
"id" : "pub-1111111111111111" ,
"ext" : {
"country" : "US"
}
},
"content" : {
"language" : "en"
},
"ext" : {
"amp" : 0 ,
"page_visibility" : 1 ,
"uact" : {
"wasact" : 1 ,
"isact" : 1
},
"ntype" : 1
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "MYS" ,
"region" : "MY-14" ,
"city" : "Kuala Lumpur" ,
"type" : 2 ,
"utcoffset" : 480 ,
"accuracy" : 8784 ,
"ext" : {
"geo_criteria_id" : 1010274
}
},
"language" : "en" ,
"os" : "Windows" ,
"devicetype" : 2 ,
"w" : 1536 ,
"h" : 864 ,
"pxratio" : 1.25 ,
"sua" : {
"browsers" : [
{
"brand" : "Microsoft Edge" ,
"version" : [
"149" ,
"0"
]
},
{
"brand" : "Chromium" ,
"version" : [
"149" ,
"0"
]
}
],
"platform" : {
"brand" : "Windows" ,
"version" : [
"19" ,
"0"
]
},
"mobile" : 0 ,
"architecture" : "x86" ,
"bitness" : "64" ,
"source" : 2
}
},
"user" : {
"id" : "W23o8H9037R25u2cZk295JT6p8w" ,
"ext" : {
"eids" : [
{
"source" : "OMITTED_SOURCE" ,
"uids" : [
{
"id" : "OMITTED_ID"
}
]
},
{
"source" : "OMITTED_SOURCE" ,
"uids" : [
{
"id" : "OMITTED_ID"
}
]
}
],
"idage" : 7776000
}
},
"at" : 1 ,
"tmax" : 500 ,
"cur" : [
"BRL" ,
"AUD"
],
"bcat" : [
"4" ,
"5"
],
"regs" : {
"gpp" : "OMITTED"
},
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
},
"cattax" : 500 ,
"ext" : {
"bid_feedback" : [
{
"request_id" : "9hh992h0221aej3WZL7ON2" ,
"creative_status_code" : 80 ,
"event_notification_token" : {
"payload" : "token"
},
"buyer_creative_id" : "test_creative_id_646075" ,
"minimum_bid_to_win" : 29.67
},
{
"request_id" : "WdKk81t60Z5I20Lxz0nTvZ" ,
"creative_status_code" : 80 ,
"event_notification_token" : {
"payload" : "token"
},
"buyer_creative_id" : "test_creative_id_646075" ,
"minimum_bid_to_win" : 4.75 ,
"billable_event_rate_bid_adjustment" : 0.6922306
}
],
"google_query_id" : "ANy-zh1Vmb-h06yN54Z58J7U4aq4og9HDAYG45zMF0B05ZCs59tu4GOsfw5Rd2W7OlaV7I7C" ,
"fcap_scope" : 1 ,
"privacy_treatments" : {
"ip" : 1 ,
"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, צריך קודם להגדיר את המשתנים הבאים:
הנתונים הבאים מייצגים את העלויות לאלף חשיפות בשרשרת לבחירת רשת בסדר יורד:
\[C_1, C_2, …, C_n\]
אלה שיעורי המילוי שתואמים לעלויות לאלף חשיפות בשרשרת לבחירת רשת:
\[f_1, f_2, …, f_n\]
הפונקציה הבאה משמשת לקביעת ה-CPM הצפוי וההסתברות שלו מרכיב \(i\)בשרשרת לבחירת רשת, על סמך שיעור המילוי הנתון:
\(X_i = \{C_i\) עם הסתברות \(f_i\); \(0\) עם הסתברות \(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 באופן הבא:
שרשרת לבחירת רשת (Mediation) ב-SDK
עלות צפויה לאלף חשיפות (eCPM)
קצב מילוי
רשת 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\%\)
הערה: ערך של 0 בפרמטר sampled_mediation_cpm_ahead_of_auction_winner מציין שהמכרז של הבידינג בזמן אמת הסתיים בניצחון. בדוגמה שלמעלה, הזוכה במכרז צפוי לא להפסיד לרשת מתחרה בתהליך בחירת הרשת ב-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"
}
}
אחרי השטחה
תראה לי את הדוגמה
Request 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"
}
}
Request 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 : "r62rR50p18m734jE66sjMh"
imp {
id : "1"
banner {
w : 390
h : 60
pos : ABOVE_THE_FOLD
api : MRAID_1
api : MRAID_2
format {
w : 390
h : 60
}
format {
w : 320
h : 50
}
}
displaymanager : "GoogleMobileAds-iOS"
displaymanagerver : "13.1.0"
tagid : "1517243285"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.0022201044484972954
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.85
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 61131625086
publisher_settings_list_id : 3084399357070124199
publisher_settings_list_id : 2015309895740864662
allowed_vendor_type : 0
allowed_vendor_type : 4513
ampad : AMP_AD_NOT_ALLOWED
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
billable_event_rate_bid_adjustment {
bid_adjustment : 0.83615476
creative_type : HTML_SNIPPET
}
jsver : "test-sdk_123456789"
}
}
app {
name : "Test App"
ver : "15.3.0"
bundle : "com.google.testapp"
publisher {
id : "pub-7606296363872502"
[ com . google . doubleclick . publisher ] {
country : "IN"
}
}
content {
url : "https://www.google.com"
language : "en"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "IND"
region : "IN-KA"
city : "Bangalore"
type : IP
utcoffset : 330
accuracy : 22850
[ com . google . doubleclick . geo ] {
geo_criteria_id : 1007768
}
}
make : "Apple"
model : "iPhone14,7"
os : "iOS"
osv : "26.2.0"
connectiontype : CELL_4G
devicetype : HIGHEND_PHONE
hwv : "iPhone14,7"
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 : "26"
version : "2"
}
mobile : true
bitness : "64"
model : "iPhone"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
atts : 2
audioout : AUDIO_SILENT
ifv : "4560af07-e42a-4e13-9d2a-e20c5dece20d"
}
}
user {
[ com . google . doubleclick . user ] {
session {
depth : 0
requestssinceappopen : 63
priorclicks : 0
}
}
}
at : FIRST_PRICE
tmax : 1200
cur : "USD"
bcat : "IAB7-39"
bcat : "IAB8-5"
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-v13.1.0"
}
}
cattax : IAB_CONTENT_1_0
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zp8d05-258Q9Xl73205d81rJ2KB33AQst39b484640WP22Yh94sQR3W3UA7U2P3vH994"
fcap_scope : FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection : true
}
}
JSON של OpenRTB
אני רוצה לראות את הדוגמה
{
"id" : "r62rR50p18m734jE66sjMh" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 390 ,
"h" : 60 ,
"pos" : 1 ,
"api" : [
3 ,
5
],
"format" : [
{
"w" : 390 ,
"h" : 60
},
{
"w" : 320 ,
"h" : 50
}
]
},
"displaymanager" : "GoogleMobileAds-iOS" ,
"displaymanagerver" : "13.1.0" ,
"tagid" : "1517243285" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0022201044484972954 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.85 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"61131625086"
],
"publisher_settings_list_id" : [
"3084399357070124199" ,
"2015309895740864662"
],
"allowed_vendor_type" : [
0 ,
4513
],
"ampad" : 2 ,
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"billable_event_rate_bid_adjustment" : [
{
"bid_adjustment" : 0.83615476 ,
"creative_type" : 1
}
],
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "15.3.0" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-7606296363872502" ,
"ext" : {
"country" : "IN"
}
},
"content" : {
"url" : "https://www.google.com" ,
"language" : "en"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "IND" ,
"region" : "IN-KA" ,
"city" : "Bangalore" ,
"type" : 2 ,
"utcoffset" : 330 ,
"accuracy" : 22850 ,
"ext" : {
"geo_criteria_id" : 1007768
}
},
"make" : "Apple" ,
"model" : "iPhone14,7" ,
"os" : "iOS" ,
"osv" : "26.2.0" ,
"connectiontype" : 6 ,
"devicetype" : 4 ,
"hwv" : "iPhone14,7" ,
"w" : 390 ,
"h" : 844 ,
"pxratio" : 3.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"605" ,
"1"
]
}
],
"platform" : {
"brand" : "iPhone" ,
"version" : [
"26" ,
"2"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "iPhone" ,
"source" : 3
},
"ext" : {
"atts" : 2 ,
"audioout" : 3 ,
"ifv" : "4560af07-e42a-4e13-9d2a-e20c5dece20d"
}
},
"user" : {
"ext" : {
"session" : {
"depth" : 0 ,
"requestssinceappopen" : 63 ,
"priorclicks" : 0
}
}
},
"at" : 1 ,
"tmax" : 1200 ,
"cur" : [
"USD"
],
"bcat" : [
"IAB7-39" ,
"IAB8-5"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-i-v13.1.0"
}
},
"cattax" : 1 ,
"ext" : {
"google_query_id" : "ANy-zp8d05-258Q9Xl73205d81rJ2KB33AQst39b484640WP22Yh94sQR3W3UA7U2P3vH994" ,
"fcap_scope" : 4 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
מודעת מעברון באפליקציה
OpenRTB Protobuf
אני רוצה לראות את הדוגמה
בקשה שעברה סריאליזציה
id : "iPwd6qWwe759U5389nKgZ2"
imp {
id : "1"
banner {
w : 390
h : 764
pos : AD_POSITION_FULLSCREEN
api : MRAID_1
api : MRAID_2
format {
w : 390
h : 764
}
format {
w : 160
h : 600
}
}
displaymanager : "GoogleMobileAds-iOS"
displaymanagerver : "12.1.0"
instl : true
tagid : "6515547538"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.071259871125221252
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.93
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 20458168637
publisher_settings_list_id : 7415902580159294065
publisher_settings_list_id : 3858265210976003530
allowed_vendor_type : 0
allowed_vendor_type : 4513
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
skadn {
sourceapp : "com.google.testapp"
skadnetids : "jLL135hf"
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
}
jsver : "test-sdk_123456789"
highengagement : true
}
}
app {
name : "Test App"
ver : "18.6.0"
bundle : "com.google.testapp"
publisher {
id : "pub-5899129488172801"
[ com . google . doubleclick . publisher ] {
country : "IL"
}
}
content {
url : "https://www.google.com"
language : "en"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
geo {
lat : 0
lon : 0
country : "COL"
region : "CO-DC"
city : "Bogota"
zip : "110851"
type : IP
utcoffset : - 300
accuracy : 1236
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9216139
}
}
ipv6 : "2800:e2:5780::"
language : "es"
make : "Apple"
model : "iPhone14,7"
os : "iOS"
osv : "18.7"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
hwv : "iPhone14,7"
w : 390
h : 844
pxratio : 3
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "605"
version : "1"
}
platform {
brand : "iPhone"
version : "18"
version : "7"
}
mobile : true
bitness : "64"
model : "iPhone"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
atts : 2
audioout : AUDIO_SPEAKER
ifv : "5fcebf5e-462f-47fe-a528-e982d9512348"
}
}
user {
[ com . google . doubleclick . user ] {
session {
depth : 0
requestssinceappopen : 5
priorclicks : 0
}
}
}
at : FIRST_PRICE
tmax : 700
cur : "USD"
bcat : "32"
bcat : "33"
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-v12.1.0"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-z7CT2R-7uB8g5aR7v8neLD9N5p9e04ON1C2ob93u7SZlV346yw69237l5d6p2bZ43x62"
fcap_scope : FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection : true
}
}
OpenRTB JSON
אני רוצה לראות את הדוגמה
{
"id" : "iPwd6qWwe759U5389nKgZ2" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 390 ,
"h" : 764 ,
"pos" : 7 ,
"api" : [
3 ,
5
],
"format" : [
{
"w" : 390 ,
"h" : 764
},
{
"w" : 160 ,
"h" : 600
}
]
},
"displaymanager" : "GoogleMobileAds-iOS" ,
"displaymanagerver" : "12.1.0" ,
"instl" : 1 ,
"tagid" : "6515547538" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.07125987112522125 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.93 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"20458168637"
],
"publisher_settings_list_id" : [
"7415902580159294065" ,
"3858265210976003530"
],
"allowed_vendor_type" : [
0 ,
4513
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"skadn" : {
"sourceapp" : "com.google.testapp" ,
"skadnetids" : [
"jLL135hf"
],
"versions" : [
"2.0" ,
"2.1"
],
"fidelities" : [
1 ,
0
]
},
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"jsver" : "test-sdk_123456789" ,
"highengagement" : 1
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "18.6.0" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-5899129488172801" ,
"ext" : {
"country" : "IL"
}
},
"content" : {
"url" : "https://www.google.com" ,
"language" : "en"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "COL" ,
"region" : "CO-DC" ,
"city" : "Bogota" ,
"zip" : "110851" ,
"type" : 2 ,
"utcoffset" : - 300 ,
"accuracy" : 1236 ,
"ext" : {
"geo_criteria_id" : 9216139
}
},
"ipv6" : "2800:e2:5780::" ,
"language" : "es" ,
"make" : "Apple" ,
"model" : "iPhone14,7" ,
"os" : "iOS" ,
"osv" : "18.7" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"hwv" : "iPhone14,7" ,
"w" : 390 ,
"h" : 844 ,
"pxratio" : 3.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"605" ,
"1"
]
}
],
"platform" : {
"brand" : "iPhone" ,
"version" : [
"18" ,
"7"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "iPhone" ,
"source" : 3
},
"ext" : {
"atts" : 2 ,
"audioout" : 1 ,
"ifv" : "5fcebf5e-462f-47fe-a528-e982d9512348"
}
},
"user" : {
"ext" : {
"session" : {
"depth" : 0 ,
"requestssinceappopen" : 5 ,
"priorclicks" : 0
}
}
},
"at" : 1 ,
"tmax" : 700 ,
"cur" : [
"USD"
],
"bcat" : [
"32" ,
"33"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-i-v12.1.0"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-z7CT2R-7uB8g5aR7v8neLD9N5p9e04ON1C2ob93u7SZlV346yw69237l5d6p2bZ43x62" ,
"fcap_scope" : 4 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
מודעת וידאו מעברון באפליקציה
OpenRTB Protobuf
אני רוצה לראות את הדוגמה
בקשה שעברה סריאליזציה
id : "4504597n09E4gg5xCE3gtC"
imp {
id : "1"
video {
mimes : "video/mp4"
linearity : LINEAR
maxduration : 30
w : 393
h : 734
startdelay : 0
playbackmethod : CLICK_TO_PLAY
pos : AD_POSITION_FULLSCREEN
companionad {
w : 393
h : 734
mimes : "text/html"
mimes : "image/jpeg"
format {
w : 393
h : 734
}
vcm : true
}
api : MRAID_1
api : MRAID_2
companiontype : STATIC
companiontype : HTML
protocols : VAST_2_0
protocols : VAST_3_0
skip : false
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.13.0"
instl : true
tagid : "5915789270"
bidfloor : 0.01
bidfloorcur : "USD"
pmp {
deals {
id : "93662870"
bidfloor : 0.01
bidfloorcur : "USD"
[ com . google . doubleclick . deal ] {
deal_type : AUCTION_PACKAGE
}
}
deals {
id : "19575739"
bidfloor : 0.01
bidfloorcur : "USD"
[ com . google . doubleclick . deal ] {
deal_type : AUCTION_PACKAGE
billing_id : 36851326411
}
}
}
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.17778901755809784
vendor : "EXCHANGE"
}
metric {
type : "video_completion_rate"
value : 0.7673559784889221
vendor : "EXCHANGE"
}
rwdd : true
[ com . google . doubleclick . imp ] {
billing_id : 35842063629
publisher_settings_list_id : 8667304380123260035
publisher_settings_list_id : 1973283475267632849
allowed_vendor_type : 0
allowed_vendor_type : 566
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
skadn {
sourceapp : "com.google.testapp"
skadnetids : "4YP85S89"
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
}
jsver : "test-sdk_123456789"
}
}
app {
name : "Test App"
ver : "189.5.0"
bundle : "com.google.testapp"
publisher {
id : "pub-4877031945088742"
[ com . google . doubleclick . publisher ] {
country : "IL"
}
}
content {
url : "https://www.google.com"
livestream : false
language : "en"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "NLD"
region : "NL-ZE"
city : "Sas-Van-Gent"
zip : "4551"
type : IP
utcoffset : 120
accuracy : 2408
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9102830
}
}
language : "nl"
make : "Apple"
model : "iPhone15,4"
os : "iOS"
osv : "26.4.2"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
hwv : "iPhone15,4"
w : 393
h : 852
pxratio : 3.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "605"
version : "1"
}
platform {
brand : "iPhone"
version : "26"
version : "4"
}
mobile : true
bitness : "64"
model : "iPhone"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
atts : 2
audioout : AUDIO_SILENT
}
}
user {
consent : "OMITTED"
[ com . google . doubleclick . user ] {
consented_providers_settings {
consented_providers : 2571
consented_providers : 1716
additional_consent : "OMITTED"
}
consent : "OMITTED"
session {
duration : 13
depth : 52
requestssinceappopen : 52
priorclicks : 0
}
}
}
at : FIRST_PRICE
tmax : 300
cur : "USD"
bcat : "3"
bcat : "4"
regs {
[ com . google . doubleclick . regs ] {
gdpr : true
}
}
bapp : "1636235979"
bapp : "519817714"
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.13.0"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-z63427-98351nM99R00x3m9745l85LDndw4k24CEzkbpo76Sw05F43ZwQeax500JKdp7"
fcap_scope : FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection : true
}
}
JSON של OpenRTB
אני רוצה לראות את הדוגמה
{
"id" : "4504597n09E4gg5xCE3gtC" ,
"imp" : [
{
"id" : "1" ,
"video" : {
"mimes" : [
"video/mp4"
],
"linearity" : 1 ,
"maxduration" : 30 ,
"w" : 393 ,
"h" : 734 ,
"startdelay" : 0 ,
"playbackmethod" : [
3
],
"pos" : 7 ,
"companionad" : [
{
"w" : 393 ,
"h" : 734 ,
"mimes" : [
"text/html" ,
"image/jpeg"
],
"format" : [
{
"w" : 393 ,
"h" : 734
}
],
"vcm" : 1
}
],
"api" : [
3 ,
5
],
"companiontype" : [
1 ,
2
],
"protocols" : [
2 ,
3
],
"skip" : 0 ,
"placement" : 5 ,
"playbackend" : 1 ,
"maxseq" : 2 ,
"poddur" : 30 ,
"plcmt" : 3 ,
"ext" : {
"inferredplcmt" : 3
}
},
"displaymanager" : "GoogleMobileAds-iOS" ,
"displaymanagerver" : "11.13.0" ,
"instl" : 1 ,
"tagid" : "5915789270" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"pmp" : {
"deals" : [
{
"id" : "93662870" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"ext" : {
"deal_type" : 4
}
},
{
"id" : "19575739" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"ext" : {
"deal_type" : 4 ,
"billing_id" : [
"36851326411"
]
}
}
]
},
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.17778901755809784 ,
"vendor" : "EXCHANGE"
},
{
"type" : "video_completion_rate" ,
"value" : 0.7673559784889221 ,
"vendor" : "EXCHANGE"
}
],
"rwdd" : 1 ,
"ext" : {
"billing_id" : [
"35842063629"
],
"publisher_settings_list_id" : [
"8667304380123260035" ,
"1973283475267632849"
],
"allowed_vendor_type" : [
0 ,
566
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"skadn" : {
"sourceapp" : "com.google.testapp" ,
"skadnetids" : [
"4YP85S89"
],
"versions" : [
"2.0" ,
"2.1"
],
"fidelities" : [
0 ,
1
],
"skoverlay" : 1
},
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "189.5.0" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-4877031945088742" ,
"ext" : {
"country" : "IL"
}
},
"content" : {
"url" : "https://www.google.com" ,
"livestream" : 0 ,
"language" : "en"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "NLD" ,
"region" : "NL-ZE" ,
"city" : "Sas-Van-Gent" ,
"zip" : "4551" ,
"type" : 2 ,
"utcoffset" : 120 ,
"accuracy" : 2408 ,
"ext" : {
"geo_criteria_id" : 9102830
}
},
"language" : "nl" ,
"make" : "Apple" ,
"model" : "iPhone15,4" ,
"os" : "iOS" ,
"osv" : "26.4.2" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"hwv" : "iPhone15,4" ,
"w" : 393 ,
"h" : 852 ,
"pxratio" : 3.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"605" ,
"1"
]
}
],
"platform" : {
"brand" : "iPhone" ,
"version" : [
"26" ,
"4"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "iPhone" ,
"source" : 3
},
"ext" : {
"atts" : 2 ,
"audioout" : 3
}
},
"user" : {
"consent" : "OMITTED" ,
"ext" : {
"consented_providers_settings" : {
"consented_providers" : [
"2571" ,
"1716"
],
"additional_consent" : "OMITTED"
},
"consent" : "OMITTED" ,
"session" : {
"duration" : 13 ,
"depth" : 52 ,
"requestssinceappopen" : 52 ,
"priorclicks" : 0
}
}
},
"at" : 1 ,
"tmax" : 300 ,
"cur" : [
"USD"
],
"bcat" : [
"3" ,
"4"
],
"regs" : {
"ext" : {
"gdpr" : 1
}
},
"bapp" : [
"1636235979" ,
"519817714"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-i-v11.13.0"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-z63427-98351nM99R00x3m9745l85LDndw4k24CEzkbpo76Sw05F43ZwQeax500JKdp7" ,
"fcap_scope" : 4 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
מודעה מותאמת באפליקציה
OpenRTB Protobuf
אני רוצה לראות את הדוגמה
בקשה שעברה סריאליזציה
id : "7D9g851a2H23U2F7pD6W14"
imp {
id : "1"
displaymanager : "NextGenGoogleMobileAds-Android"
displaymanagerver : "1.0.1"
tagid : "2380414869"
bidfloor : 232.0
bidfloorcur : "JPY"
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
img {
type : ICON
wmin : 100
hmin : 100
}
}
eventtrackers {
event : IMPRESSION
methods : IMG
}
privacy : true
}
}
exp : 43200
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.002078480552881956
vendor : "EXCHANGE"
}
metric {
type : "session_depth"
value : 1.0
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 92863611773
billing_id : 64428541796
publisher_settings_list_id : 8437350150687518918
publisher_settings_list_id : 4829490296375653153
allowed_vendor_type : 0
allowed_vendor_type : 550
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
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
jsver : "test-sdk_123456789"
}
}
app {
name : "Test App"
bundle : "com.google.testapp"
publisher {
id : "pub-2028169628540128"
[ com . google . doubleclick . publisher ] {
country : "SE"
}
}
content {
url : "https://www.google.com"
userrating : "4.5"
language : "en"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "USA"
region : "MS"
metro : "746"
city : "Gulfport"
zip : "39503"
type : IP
utcoffset : - 300
accuracy : 9773
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9014039
}
}
ipv6 : "2600:1702:5574:b280:9c15:4df1:287e:31a4"
language : "en"
make : "Motorola"
model : "motorola razr 2025"
os : "android"
osv : "16"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
ifa : "237d5f4f-8c52-4465-8e1a-106ffd5a35eb"
w : 320
h : 783
pxratio : 3.375
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "16"
}
mobile : true
bitness : "64"
model : "motorola razr 2025"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
metereddata : false
chargelevel : 0.89
charging : false
diskspace : 183300
audioout : AUDIO_SPEAKER
ifa_type : "aaid"
}
}
user {
id : "00t992x3943h7m1gx4vQdsXr6R7"
[ com . google . doubleclick . user ] {
session {
duration : 136260
depth : 110
requestssinceappopen : 110
priorclicks : 0
}
idage : 20736000
}
}
at : FIRST_PRICE
tmax : 1300
cur : "BRL"
cur : "INR"
bcat : "33"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
bid_feedback {
request_id : "481I20Z85L1WCdosYYEUaR"
creative_status_code : 80
event_notification_token {
payload : "token"
}
buyer_creative_id : "test_creative_id_397059"
minimum_bid_to_win : 31.97
}
bid_feedback {
request_id : "W1D6A811JLpA63CR893GC0"
creative_status_code : 80
event_notification_token {
payload : "token"
}
buyer_creative_id : "test_creative_id_397059"
minimum_bid_to_win : 3.13
}
google_query_id : "ANy-zg8X03-Zq419TS6242989i82bU52q1o28k863G72S66pLMwx92Hg3K795kaiN985QXNM"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : true
}
}
OpenRTB JSON
תראה לי את הדוגמה
{
"id" : "7D9g851a2H23U2F7pD6W14" ,
"imp" : [
{
"id" : "1" ,
"displaymanager" : "NextGenGoogleMobileAds-Android" ,
"displaymanagerver" : "1.0.1" ,
"tagid" : "2380414869" ,
"bidfloor" : 232.0 ,
"bidfloorcur" : "JPY" ,
"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, \" img \" :{ \" type \" :1, \" wmin \" :100, \" hmin \" :100}}], \" eventtrackers \" :[{ \" event \" :1, \" methods \" :[1]}], \" privacy \" :1}"
},
"exp" : 43200 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.002078480552881956 ,
"vendor" : "EXCHANGE"
},
{
"type" : "session_depth" ,
"value" : 1.0 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"92863611773" ,
"64428541796"
],
"publisher_settings_list_id" : [
"8437350150687518918" ,
"4829490296375653153"
],
"allowed_vendor_type" : [
0 ,
550
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"allowed_restricted_category" : [
32
],
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"name" : "Test App" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-2028169628540128" ,
"ext" : {
"country" : "SE"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.5" ,
"language" : "en"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "USA" ,
"region" : "MS" ,
"metro" : "746" ,
"city" : "Gulfport" ,
"zip" : "39503" ,
"type" : 2 ,
"utcoffset" : - 300 ,
"accuracy" : 9773 ,
"ext" : {
"geo_criteria_id" : 9014039
}
},
"ipv6" : "2600:1702:5574:b280:9c15:4df1:287e:31a4" ,
"language" : "en" ,
"make" : "Motorola" ,
"model" : "motorola razr 2025" ,
"os" : "android" ,
"osv" : "16" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"ifa" : "237d5f4f-8c52-4465-8e1a-106ffd5a35eb" ,
"w" : 320 ,
"h" : 783 ,
"pxratio" : 3.375 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"16"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "motorola razr 2025" ,
"source" : 3
},
"ext" : {
"metereddata" : 0 ,
"chargelevel" : 0.89 ,
"charging" : 0 ,
"diskspace" : 183300 ,
"audioout" : 1 ,
"ifa_type" : "aaid"
}
},
"user" : {
"id" : "00t992x3943h7m1gx4vQdsXr6R7" ,
"ext" : {
"session" : {
"duration" : 136260 ,
"depth" : 110 ,
"requestssinceappopen" : 110 ,
"priorclicks" : 0
},
"idage" : 20736000
}
},
"at" : 1 ,
"tmax" : 1300 ,
"cur" : [
"BRL" ,
"INR"
],
"bcat" : [
"33"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
},
"cattax" : 500 ,
"ext" : {
"bid_feedback" : [
{
"request_id" : "481I20Z85L1WCdosYYEUaR" ,
"creative_status_code" : 80 ,
"event_notification_token" : {
"payload" : "token"
},
"buyer_creative_id" : "test_creative_id_397059" ,
"minimum_bid_to_win" : 31.97
},
{
"request_id" : "W1D6A811JLpA63CR893GC0" ,
"creative_status_code" : 80 ,
"event_notification_token" : {
"payload" : "token"
},
"buyer_creative_id" : "test_creative_id_397059" ,
"minimum_bid_to_win" : 3.13
}
],
"google_query_id" : "ANy-zg8X03-Zq419TS6242989i82bU52q1o28k863G72S66pLMwx92Hg3K795kaiN985QXNM" ,
"fcap_scope" : 3 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
סרטונים באינטרנט
OpenRTB Protobuf
תראה לי את הדוגמה
בקשה שסודרה בסדר מסוים
id : "9B5K1zj5T61jRM80t25s13"
imp {
id : "1"
video {
mimes : "application/javascript"
mimes : "video/mp4"
linearity : LINEAR
maxduration : 60
w : 306
h : 156
startdelay : 0
playbackmethod : ENTER_SOUND_OFF
pos : ABOVE_THE_FOLD
companionad {
w : 0
h : 0
mimes : "image/png"
mimes : "image/gif"
format {
w : 0
h : 0
}
}
api : VPAID_1
api : VPAID_2
companiontype : STATIC
protocols : VAST_2_0
protocols : VAST_3_0
skip : true
placement : IN_STREAM_PLACEMENT
durfloors {
maxdur : 121
bidfloor : 628.6151504524262
}
[ com . google . doubleclick . video ] {
inferredplcmt : PLCMT_ACCOMPANYING_CONTENT
embeddedoffsite : true
}
}
displaymanager : "GOOGLE"
tagid : "1064104152"
bidfloor : 628.6151504524262
bidfloorcur : "JPY"
pmp {
deals {
id : "45957820"
bidfloor : 628.615151
bidfloorcur : "JPY"
[ com . google . doubleclick . deal ] {
deal_type : AUCTION_PACKAGE
billing_id : 34409190968
billing_id : 31520375265
}
}
}
secure : true
exp : 3600
metric {
type : "click_through_rate"
value : 0.061625368893146515
vendor : "EXCHANGE"
}
metric {
type : "video_completion_rate"
value : 0.6049572825431824
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 63495119434
billing_id : 33073577463
publisher_settings_list_id : 2610320062869254712
publisher_settings_list_id : 3579681458579529403
allowed_vendor_type : 0
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
ae : SERVER_SIDE_AUCTION
}
}
site {
page : "https://www.google.com"
publisher {
id : "pub-1111111111111111"
[ com . google . doubleclick . publisher ] {
country : "IL"
}
}
content {
livestream : false
language : "en"
}
mobile : true
[ com . google . doubleclick . site ] {
amp : DIALECT_HTML
page_visibility : VISIBILITY_STATE_VISIBLE
ntype : NAVIGATION_TYPE_UNKNOWN
}
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "USA"
region : "OH"
metro : "558"
city : "Lima"
zip : "45806"
type : IP
utcoffset : - 240
accuracy : 6877
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9015962
}
}
make : "Samsung"
model : "sm-s921u"
os : "android"
osv : "15"
devicetype : HIGHEND_PHONE
w : 1080
h : 2340
sua {
browsers {
brand : "Chromium"
version : "140"
version : "0"
}
browsers {
brand : "Not=A?Brand"
version : "24"
version : "0"
}
platform {
brand : "Android"
version : "15"
version : "0"
}
mobile : true
model : "SM-S921U"
source : CLIENT_HINTS_HIGH_ENTROPY
}
}
user {
id : "2P499L961q5433F3W7910N24dm6"
buyeruid : "d1f6LSo115M9T6r3wjcX397Iu6231g73"
customdata : "98f88k2F7Q9e99vqQIs7eH5OEch4603AQ1e4zo9vP0259ZWI"
[ com . google . doubleclick . user ] {
idage : 432000
}
}
at : FIRST_PRICE
tmax : 350
cur : "TRY"
cur : "JPY"
bcat : "32"
bcat : "33"
source {
schain {
complete : false
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 ] {
omidpn : "Google1"
omidpv : "h.3.719.1"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
bid_feedback {
request_id : "iC415EO28u2s07s8qn220h"
creative_status_code : 80
event_notification_token {
payload : "token"
}
buyer_creative_id : "test_creative_id_459586"
minimum_bid_to_win : 0.69
feedbacktype : BID_FEEDBACK
}
google_query_id : "ANy-zk4xW4-6F6LW16t4c1LRx767c3V2OC7z3d7Z9TROv5359i3VMG9aT5b136WKCued3457"
fcap_scope : FREQUENCY_CAPPING_SCOPE_BROWSER
privacy_treatments {
allow_user_data_collection : true
}
}
JSON של OpenRTB
תראה לי את הדוגמה
{
"id" : "9B5K1zj5T61jRM80t25s13" ,
"imp" : [
{
"id" : "1" ,
"video" : {
"mimes" : [
"application/javascript" ,
"video/mp4"
],
"linearity" : 1 ,
"maxduration" : 60 ,
"w" : 306 ,
"h" : 156 ,
"startdelay" : 0 ,
"playbackmethod" : [
6
],
"pos" : 1 ,
"companionad" : [
{
"w" : 0 ,
"h" : 0 ,
"mimes" : [
"image/png" ,
"image/gif"
],
"format" : [
{
"w" : 0 ,
"h" : 0
}
]
}
],
"api" : [
1 ,
2
],
"companiontype" : [
1
],
"protocols" : [
2 ,
3
],
"skip" : 1 ,
"placement" : 1 ,
"durfloors" : [
{
"maxdur" : 121 ,
"bidfloor" : 628.6151504524262
}
],
"ext" : {
"inferredplcmt" : 2 ,
"embeddedoffsite" : 1
}
},
"displaymanager" : "GOOGLE" ,
"tagid" : "1064104152" ,
"bidfloor" : 628.6151504524262 ,
"bidfloorcur" : "JPY" ,
"pmp" : {
"deals" : [
{
"id" : "45957820" ,
"bidfloor" : 628.615151 ,
"bidfloorcur" : "JPY" ,
"ext" : {
"deal_type" : 4 ,
"billing_id" : [
"34409190968" ,
"31520375265"
]
}
}
]
},
"secure" : 1 ,
"exp" : 3600 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.061625368893146515 ,
"vendor" : "EXCHANGE"
},
{
"type" : "video_completion_rate" ,
"value" : 0.6049572825431824 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"63495119434" ,
"33073577463"
],
"publisher_settings_list_id" : [
"2610320062869254712" ,
"3579681458579529403"
],
"allowed_vendor_type" : [
0
],
"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 ,
"ae" : 0
}
}
],
"site" : {
"page" : "https://www.google.com" ,
"publisher" : {
"id" : "pub-1111111111111111" ,
"ext" : {
"country" : "IL"
}
},
"content" : {
"livestream" : 0 ,
"language" : "en"
},
"mobile" : 1 ,
"ext" : {
"amp" : 0 ,
"page_visibility" : 1 ,
"ntype" : 0
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "USA" ,
"region" : "OH" ,
"metro" : "558" ,
"city" : "Lima" ,
"zip" : "45806" ,
"type" : 2 ,
"utcoffset" : - 240 ,
"accuracy" : 6877 ,
"ext" : {
"geo_criteria_id" : 9015962
}
},
"make" : "Samsung" ,
"model" : "sm-s921u" ,
"os" : "android" ,
"osv" : "15" ,
"devicetype" : 4 ,
"w" : 1080 ,
"h" : 2340 ,
"sua" : {
"browsers" : [
{
"brand" : "Chromium" ,
"version" : [
"140" ,
"0"
]
},
{
"brand" : "Not=A?Brand" ,
"version" : [
"24" ,
"0"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"15" ,
"0"
]
},
"mobile" : 1 ,
"model" : "SM-S921U" ,
"source" : 2
}
},
"user" : {
"id" : "2P499L961q5433F3W7910N24dm6" ,
"buyeruid" : "d1f6LSo115M9T6r3wjcX397Iu6231g73" ,
"customdata" : "98f88k2F7Q9e99vqQIs7eH5OEch4603AQ1e4zo9vP0259ZWI" ,
"ext" : {
"idage" : 432000
}
},
"at" : 1 ,
"tmax" : 350 ,
"cur" : [
"TRY" ,
"JPY"
],
"bcat" : [
"32" ,
"33"
],
"source" : {
"schain" : {
"complete" : 0 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
},
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google1" ,
"omidpv" : "h.3.719.1"
}
},
"cattax" : 500 ,
"ext" : {
"bid_feedback" : [
{
"request_id" : "iC415EO28u2s07s8qn220h" ,
"creative_status_code" : 80 ,
"event_notification_token" : {
"payload" : "token"
},
"buyer_creative_id" : "test_creative_id_459586" ,
"minimum_bid_to_win" : 0.69 ,
"feedbacktype" : 1
}
],
"google_query_id" : "ANy-zk4xW4-6F6LW16t4c1LRx767c3V2OC7z3d7Z9TROv5359i3VMG9aT5b136WKCued3457" ,
"fcap_scope" : 2 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
מודעת באנר לאינטרנט לנייד למגיש הצעת מחיר בבורסת מודעות
OpenRTB Protobuf
תראה לי את הדוגמה
בקשה שעברה סריאליזציה
id : "7Kochz7969Il5xN0Kq76R4"
imp {
id : "1"
banner {
w : 320
h : 50
pos : BELOW_THE_FOLD
expdir : LEFT
expdir : RIGHT
expdir : UP
expdir : DOWN
format {
w : 320
h : 50
}
}
tagid : "8010657363"
bidfloor : 0.08
bidfloorcur : "USD"
secure : true
exp : 3600
metric {
type : "click_through_rate"
value : 0.0
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.4
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 98128982291
dfp_ad_unit_code : "/2929493/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
}
}
}
site {
page : "https://www.google.com"
publisher {
id : "pub-1111111111111111"
[ com . google . doubleclick . publisher ] {
country : "US"
directpay : true
}
}
content {
language : "en"
}
mobile : true
[ com . google . doubleclick . site ] {
amp : DIALECT_HTML
page_visibility : VISIBILITY_STATE_VISIBLE
ntype : NAVIGATION_TYPE_NAVIGATE
}
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "ZAF"
region : "ZA-WC"
city : "Plettenberg Bay"
zip : "6600"
type : IP
utcoffset : 120
accuracy : 2234
[ com . google . doubleclick . geo ] {
geo_criteria_id : 1029017
}
}
language : "en"
make : "Samsung"
model : "sm-a125f"
os : "android"
osv : "10"
devicetype : HIGHEND_PHONE
w : 385
h : 854
pxratio : 1.875
sua {
browsers {
brand : "Chromium"
version : "148"
version : "0"
}
browsers {
brand : "Google Chrome"
version : "148"
version : "0"
}
platform {
brand : "Android"
version : "10"
version : "0"
}
mobile : true
model : "SM-A125F"
source : CLIENT_HINTS_HIGH_ENTROPY
}
[ com . google . doubleclick . device ] {
chargelevel : 0.17
charging : false
}
}
user {
id : "2d0N0v83y0TfL6bV4d6escird8p"
buyeruid : "3R1R7Gh932V16812h316l76o6V0Ya86b"
customdata : "7C8z4R1w49mkBt84FLv43471bf8H2881FmMPsXRk4mp3w44N"
[ com . google . doubleclick . user ] {
eids {
source : "OMITTED_SOURCE"
uids {
id : "OMITTED_ID"
}
}
eids {
source : "OMITTED_SOURCE"
uids {
id : "OMITTED_ID"
}
}
idage : 18144000
}
}
at : FIRST_PRICE
tmax : 400
cur : "USD"
source {
schain {
complete : true
ver : "1.0"
}
}
cattax : IAB_CONTENT_1_0
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zAz8fH-C8K6JMrXF32m9oHR9m28z670r0E76tiy6FiikW31BBQ411V3igKF018cL90ny"
fcap_scope : FREQUENCY_CAPPING_SCOPE_NONE
}
JSON של OpenRTB
אני רוצה לראות את הדוגמה
{
"id" : "7Kochz7969Il5xN0Kq76R4" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 320 ,
"h" : 50 ,
"pos" : 3 ,
"expdir" : [
1 ,
2 ,
3 ,
4
],
"format" : [
{
"w" : 320 ,
"h" : 50
}
]
},
"tagid" : "8010657363" ,
"bidfloor" : 0.08 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.4 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"98128982291"
],
"dfp_ad_unit_code" : "/2929493/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
}
}
}
],
"site" : {
"page" : "https://www.google.com" ,
"publisher" : {
"id" : "pub-1111111111111111" ,
"ext" : {
"country" : "US" ,
"directpay" : 1
}
},
"content" : {
"language" : "en"
},
"mobile" : 1 ,
"ext" : {
"amp" : 0 ,
"page_visibility" : 1 ,
"ntype" : 1
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "ZAF" ,
"region" : "ZA-WC" ,
"city" : "Plettenberg Bay" ,
"zip" : "6600" ,
"type" : 2 ,
"utcoffset" : 120 ,
"accuracy" : 2234 ,
"ext" : {
"geo_criteria_id" : 1029017
}
},
"language" : "en" ,
"make" : "Samsung" ,
"model" : "sm-a125f" ,
"os" : "android" ,
"osv" : "10" ,
"devicetype" : 4 ,
"w" : 385 ,
"h" : 854 ,
"pxratio" : 1.875 ,
"sua" : {
"browsers" : [
{
"brand" : "Chromium" ,
"version" : [
"148" ,
"0"
]
},
{
"brand" : "Google Chrome" ,
"version" : [
"148" ,
"0"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"10" ,
"0"
]
},
"mobile" : 1 ,
"model" : "SM-A125F" ,
"source" : 2
},
"ext" : {
"chargelevel" : 0.17 ,
"charging" : 0
}
},
"user" : {
"id" : "2d0N0v83y0TfL6bV4d6escird8p" ,
"buyeruid" : "3R1R7Gh932V16812h316l76o6V0Ya86b" ,
"customdata" : "7C8z4R1w49mkBt84FLv43471bf8H2881FmMPsXRk4mp3w44N" ,
"ext" : {
"eids" : [
{
"source" : "OMITTED_SOURCE" ,
"uids" : [
{
"id" : "OMITTED_ID"
}
]
},
{
"source" : "OMITTED_SOURCE" ,
"uids" : [
{
"id" : "OMITTED_ID"
}
]
}
],
"idage" : 18144000
}
},
"at" : 1 ,
"tmax" : 400 ,
"cur" : [
"USD"
],
"source" : {
"schain" : {
"complete" : 1 ,
"ver" : "1.0"
}
},
"cattax" : 1 ,
"ext" : {
"google_query_id" : "ANy-zAz8fH-C8K6JMrXF32m9oHR9m28z670r0E76tiy6FiikW31BBQ411V3igKF018cL90ny" ,
"fcap_scope" : 1
}
}
OpenRTB Protobuf
תראה לי את הדוגמה
בקשה שסודרה בסדר מסוים
id : "rKxPN2rc298433R68335M1"
imp {
id : "1"
banner {
w : 320
h : 480
pos : SIDEBAR
battr : VIDEO_IN_BANNER_AUTO_PLAY
battr : VIDEO_IN_BANNER_USER_INITIATED
wmax : 384
hmax : 480
wmin : 300
hmin : 50
format {
w : 320
h : 480
}
format {
w : 320
h : 50
}
[ com . google . doubleclick . banner_ext ] {
flexslot {
wmin : 300
wmax : 384
hmin : 50
hmax : 480
}
}
}
video {
mimes : "video/mp4"
linearity : LINEAR
w : 320
h : 480
battr : VIDEO_IN_BANNER_AUTO_PLAY
battr : VIDEO_IN_BANNER_USER_INITIATED
playbackmethod : ENTER_SOUND_OFF
pos : BELOW_THE_FOLD
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
}
}
displaymanager : "GOOGLE"
tagid : "9536033828"
bidfloor : 241.70793093803206
bidfloorcur : "JPY"
pmp {
deals {
id : "52277873"
bidfloor : 1397.489002
bidfloorcur : "JPY"
at : FIXED_PRICE
[ com . google . doubleclick . deal ] {
deal_type : PREFERRED_DEAL
publisher_blocks_overridden : true
creative_constraints {
mtypes : CREATIVE_MARKUP_BANNER
}
billing_id : 75764464008
billing_id : 72269403729
}
}
deals {
id : "75438087"
bidfloor : 399.282572
bidfloorcur : "JPY"
at : FIXED_PRICE
[ com . google . doubleclick . deal ] {
deal_type : PREFERRED_DEAL
publisher_blocks_overridden : true
creative_constraints {
mtypes : CREATIVE_MARKUP_BANNER
}
billing_id : 54698438246
billing_id : 73896418461
}
}
}
secure : true
native {
ver : "1.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
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
}
}
plcmttype : IN_FEED
eventtrackers {
event : IMPRESSION
methods : IMG
}
privacy : true
[ com . google . doubleclick . native_ext ] {
pos : BELOW_THE_FOLD
}
}
}
exp : 3600
metric {
type : "click_through_rate"
value : 0.0041323439218103886
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.34
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 73015827208
billing_id : 49611563199
publisher_settings_list_id : 8800547900990823335
publisher_settings_list_id : 7288715008664845891
allowed_vendor_type : 0
ampad : AMP_AD_ALLOWED_AND_EARLY_RENDERED
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_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 : "GB"
}
}
content {
livestream : false
language : "en"
}
mobile : true
[ com . google . doubleclick . site ] {
amp : DIALECT_HTML_AMP
page_visibility : VISIBILITY_STATE_HIDDEN
ntype : NAVIGATION_TYPE_UNKNOWN
}
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "GBR"
region : "GB-ENG"
city : "London"
zip : "SE1"
type : IP
utcoffset : 60
accuracy : 1437
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9045888
}
}
ipv6 : "2a00:23ee:2870::"
carrier : "70062"
make : "Samsung"
model : "sm-a326b"
os : "android"
osv : "12"
devicetype : HIGHEND_PHONE
w : 385
h : 854
pxratio : 1.875
sua {
browsers {
brand : "Chromium"
version : "136"
}
browsers {
brand : "Google Chrome"
version : "136"
}
platform {
brand : "Android"
version : "12"
version : "0"
}
mobile : true
model : "SM-A326B"
source : CLIENT_HINTS_HIGH_ENTROPY
}
}
user {
id : "91b09w734L84717xiK05zAZf5n0"
buyeruid : "8vo3pY3AoGtGr33C3l7675sM26SB7NB8"
customdata : "868uz0uj2AjUDOD604yq2d8KwN8dhQyH2Qlulc9m2oF4f866"
consent : "OMITTED"
[ com . google . doubleclick . user ] {
consented_providers_settings {
consented_providers : 1725
consented_providers : 2922
additional_consent : "OMITTED"
}
consent : "OMITTED"
idage : 20736000
}
}
at : FIRST_PRICE
tmax : 350
cur : "GBP"
cur : "TRY"
bcat : "5"
bcat : "8"
regs {
[ com . google . doubleclick . regs ] {
gdpr : true
}
}
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zAo260-k5UV8JFUsGCH92VU2O823b532U1q8Gzs72ny20W3Tnhi3rod972Z990D7324m"
fcap_scope : FREQUENCY_CAPPING_SCOPE_BROWSER
privacy_treatments {
allow_user_data_collection : true
}
}
JSON של OpenRTB
תראה לי את הדוגמה
{
"id" : "rKxPN2rc298433R68335M1" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 320 ,
"h" : 480 ,
"pos" : 6 ,
"battr" : [
6 ,
7
],
"wmax" : 384 ,
"hmax" : 480 ,
"wmin" : 300 ,
"hmin" : 50 ,
"format" : [
{
"w" : 320 ,
"h" : 480
},
{
"w" : 320 ,
"h" : 50
}
],
"ext" : {
"flexslot" : {
"wmin" : 300 ,
"wmax" : 384 ,
"hmin" : 50 ,
"hmax" : 480
}
}
},
"video" : {
"mimes" : [
"video/mp4"
],
"linearity" : 1 ,
"w" : 320 ,
"h" : 480 ,
"battr" : [
6 ,
7
],
"playbackmethod" : [
6
],
"pos" : 3 ,
"protocols" : [
2 ,
3
],
"skip" : 1 ,
"placement" : 3 ,
"playbackend" : 2 ,
"plcmt" : 4 ,
"ext" : {
"inferredplcmt" : 4
}
},
"displaymanager" : "GOOGLE" ,
"tagid" : "9536033828" ,
"bidfloor" : 241.70793093803206 ,
"bidfloorcur" : "JPY" ,
"pmp" : {
"deals" : [
{
"id" : "52277873" ,
"bidfloor" : 1397.489002 ,
"bidfloorcur" : "JPY" ,
"at" : 3 ,
"ext" : {
"deal_type" : 1 ,
"publisher_blocks_overridden" : 1 ,
"creative_constraints" : {
"mtypes" : [
1
]
},
"billing_id" : [
"75764464008" ,
"72269403729"
]
}
},
{
"id" : "75438087" ,
"bidfloor" : 399.282572 ,
"bidfloorcur" : "JPY" ,
"at" : 3 ,
"ext" : {
"deal_type" : 1 ,
"publisher_blocks_overridden" : 1 ,
"creative_constraints" : {
"mtypes" : [
1
]
},
"billing_id" : [
"54698438246" ,
"73896418461"
]
}
}
]
},
"secure" : 1 ,
"native" : {
"ver" : "1.2" ,
"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,\"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}}],\"plcmttype\":1,\"eventtrackers\":[{\"event\":1,\"methods\":[1]}],\"privacy\":1,\"ext\":{\"pos\":3}}"
},
"exp" : 3600 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0041323439218103886 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.34 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"73015827208" ,
"49611563199"
],
"publisher_settings_list_id" : [
"8800547900990823335" ,
"7288715008664845891"
],
"allowed_vendor_type" : [
0
],
"ampad" : 4 ,
"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" : 1 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"ae" : 0
}
}
],
"site" : {
"page" : "https://www.google.com" ,
"publisher" : {
"id" : "pub-1111111111111111" ,
"ext" : {
"country" : "GB"
}
},
"content" : {
"livestream" : 0 ,
"language" : "en"
},
"mobile" : 1 ,
"ext" : {
"amp" : 1 ,
"page_visibility" : 2 ,
"ntype" : 0
}
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "GBR" ,
"region" : "GB-ENG" ,
"city" : "London" ,
"zip" : "SE1" ,
"type" : 2 ,
"utcoffset" : 60 ,
"accuracy" : 1437 ,
"ext" : {
"geo_criteria_id" : 9045888
}
},
"ipv6" : "2a00:23ee:2870::" ,
"carrier" : "70062" ,
"make" : "Samsung" ,
"model" : "sm-a326b" ,
"os" : "android" ,
"osv" : "12" ,
"devicetype" : 4 ,
"w" : 385 ,
"h" : 854 ,
"pxratio" : 1.875 ,
"sua" : {
"browsers" : [
{
"brand" : "Chromium" ,
"version" : [
"136"
]
},
{
"brand" : "Google Chrome" ,
"version" : [
"136"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"12" ,
"0"
]
},
"mobile" : 1 ,
"model" : "SM-A326B" ,
"source" : 2
}
},
"user" : {
"id" : "91b09w734L84717xiK05zAZf5n0" ,
"buyeruid" : "8vo3pY3AoGtGr33C3l7675sM26SB7NB8" ,
"customdata" : "868uz0uj2AjUDOD604yq2d8KwN8dhQyH2Qlulc9m2oF4f866" ,
"consent" : "OMITTED" ,
"ext" : {
"consented_providers_settings" : {
"consented_providers" : [
"1725" ,
"2922"
],
"additional_consent" : "OMITTED"
},
"consent" : "OMITTED" ,
"idage" : 20736000
}
},
"at" : 1 ,
"tmax" : 350 ,
"cur" : [
"GBP" ,
"TRY"
],
"bcat" : [
"5" ,
"8"
],
"regs" : {
"ext" : {
"gdpr" : 1
}
},
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-zAo260-k5UV8JFUsGCH92VU2O823b532U1q8Gzs72ny20W3Tnhi3rod972Z990D7324m" ,
"fcap_scope" : 2 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}