אחרי שהבקשה להצעת מחיר מ-Google עוברת עיבוד באפליקציה, היא צריכה ליצור תשובה ולשלוח אותה. במדריך הזה מוסבר איך לכתוב את הקוד של האפליקציה כדי ליצור את התגובה.
יצירת הודעת Protobuf BidResponse
BidRequest
נשלח על ידי Authorized Buyers כתוכן ההודעה של POST
ב-HTTP. אם נקודת הקצה של הבידינג מוגדרת לשימוש בפורמט Protobuf, האפליקציה צריכה לשלוח תשובה עם הכותרת Content-Type
שמוגדרת כ-application/octet-stream
וגוף הודעה שמכיל פרוטוקול של מאגר נתונים בסדרה. מאגר הפרוטוקול הוא הודעה מסוג BidResponse
כפי שמוגדר ב-openrtb.proto
. האפליקציה שלכם צריכה להחזיר BidResponse
שניתן לנתח בתגובה לכל BidRequest
. תפוגות זמן ותשובות שלא ניתן לנתח נחשבות לשגיאות, ו-Google מגבילה את קצב שליחת הצעות המחיר של בידינגרים עם שיעורי שגיאה גבוהים.
אם אתם לא רוצים להגיש הצעת מחיר על חשיפה, עליכם להחזיר תגובה ריקה מסוג HTTP 204. אפשר לקבל את openrtb.proto
מהדף נתוני עזר.
מזהה הקריאייטיב
ה-BidResponse
מציין קריאייטיב באמצעות השדה BidResponse.seatbid.bid.crid
(מגבלה של 64 בייטים). גם לנכסי קריאייטיב דומים צריכים להיות ערכים ייחודיים בשדה הזה אם יש להם מאפיינים בולטים שונים, כולל, בין היתר: גודל, כתובת URL שהוצהרה, מאפייני קריאייטיב וסוגים של ספקים. במילים אחרות, עליכם להקצות מזהי קריאייטיב שונים לשתי מודעות:
- מראה או התנהגות שונים.
- עיבוד לתמונות שונות.
- עיבוד באמצעות אמצעים שונים (לדוגמה, מודעה אחת מורכבת מתמונה והשנייה מורכבת מסרטון).
כשמעצבים את האפליקציה, צריך להחליט על דרך שיטתית ליצירת מזהים שתתאים לסוגי הקריאייטיב שאתם מתכננים לשלוח.
מאפייני מודעה
Google ממליצה להצהיר על מאפייני קריאייטיב כדי לתאר את המאפיינים של המודעה ואת הטירגוט שלה באמצעות שילוב של BidResponse.seatbid.bid.apis
ו-BidResponse.seatbid.bid.attr
, או באמצעות התוסף BidResponse.seatbid.bid.ext.attribute
. בהמשך מוסבר איך מגדירים מאפיינים:
VPAID
מגדירים אתBidResponse.seatbid.bid.apis
לערךVPAID_1
אוVPAID_2
. בפורמט JSON, אפשר להגדיר את הערך הזה לערך1
או לערך2
, בהתאמה.MRAID
מגדירים אתBidResponse.seatbid.bid.apis
לערךMRAID_1
או3
עבור פורמט JSON.SIZELESS
מגדירים אתBidResponse.seatbid.bid.attr
לערךRESPONSIVE
או18
עבור פורמט ה-JSON.PLAYABLE
כדי לציין זאת, מגדירים אתBidResponse.seatbid.bid.attr
לערךUSER_INTERACTIVE
או13
לפורמט JSON.
במאמר משאבים בנושא נכסי קריאייטיב מוסבר איך לקבל משוב לגבי המאפיינים שזוהו בנכסי הקריאייטיב.
שדות של Open Bidding
תגובות לבידינג שנשלחות על ידי בידינג ברשתות ובפלטפורמות של בידינג שמשתתפות ב-Open Bidding דומות לתגובות של בידינג של שותפים מורשים שמשתתפים בבידינג רגיל בזמן אמת. לקוחות Open Bidding יכולים לציין מספר קטן של שדות נוספים, ויכול להיות שלכמה שדות קיימים יש שימושים חלופיים. למשל:
OpenRTB | Authorized Buyers | פרטים |
---|---|---|
BidResponse.imp[].pmp.deals[].id |
BidResponse.ad[].adslot[].exchange_deal_id |
מזהה העסקה ממרחב השמות של פלטפורמת ה-Exchange שמשויך לבידינג הזה ודווח לבעלי האפליקציות. |
BidResponse.seatbid[].bid[].ext.exchange_deal_type |
BidResponse.ad[].adslot[].exchange_deal_type |
סוג העסקה שמדווחת לבעלי התוכן הדיגיטלי, שמשפיע על האופן שבו העסקה מטופלת במכרז. |
BidResponse.seatbid[].bid[].ext.third_party_buyer_token |
BidResponse.ad[].adslot[].third_party_buyer_token |
אסימון המשמש לזיהוי פרטי הקונה הסופי מצד שלישי, אם מערכת ה-Exchange כמציע במכרז Open Bidding היא מתווך. המזהה הזה מתקבל מהקונה של הצד השלישי, וצריך להעביר אותו ל-Google ללא שינוי בתשובה לבידינג. |
המלצות
- מפעילים בשרתים חיבורי HTTPS מתמידים (שנקראים גם 'keep-alive' או 'שימוש חוזר בחיבור'). כדאי להגדיר את הזמן הקצוב לתפוגה ל-10 שניות לפחות. במקרים רבים, כדאי להגדיר זמן קצוב ארוך יותר. Google מאמתת זאת במהלך בדיקות זמן האחזור הראשוניות של האפליקציה, כי תוכנית Authorized Buyers שולחת בקשות בקצב גבוה וצריך להימנע מהזמן הנוסף שנדרש ליצירת חיבור TCP נפרד לכל בקשה.
מומלץ לכלול את כתובת ה-URL האופציונלית למעקב אחר חשיפות כדי לעקוב אחרי הזמן שבו החשיפות מוצגות, ולא אחרי הזמן שבו המשתמש שהגיש את הצעת המחיר הגבוהה ביותר זכה. בגלל הירידה במספר ההמרות בין 'זכיות' ל'הצגות', הנתונים הסטטיסטיים של המעקב יהיו מדויקים יותר.
- חשוב לוודא שקוד הבידינג לא תלוי בשדות שהוצאו משימוש, שיכולים לגרום לשגיאות בהצעות המחיר.
- כוללים את
BidResponse.seatbid.bid.w
ו-BidResponse.seatbid.bid.h
ב-BidResponse
. בקשה עם מספר גדלים של מודעות חייבת לכלול את השדות האלה ב-BidResponse
, אחרת היא תוצא מהמכרז. - כדאי להגביל את גודל התשובה לפחות מ-8KB. תגובות גדולות מאוד עלולות להאריך את זמן האחזור ברשת ולגרום לזמני תפוגה.
- פועלים לפי ההנחיות לבידינג על מלאי שטחי פרסום ב-iOS שדורש שיוך ב-SKAdNetwork.
דוגמה לתגובה לבקשה להצעת מחיר
הדוגמאות הבאות מייצגות דוגמאות של בקשות Protobuf ו-JSON שקריאות לבני אדם.
הצגת הדוגמה
תגובה בסריאליזציהid: "9u09jhHJXT2fbaDZ9V1x66" seatbid { bid { id: "37Td8Gbw1Lr8161bA4B" impid: "1" price: 0.075 adm: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adomain: "google.com" adomain: "google.com" crid: "test_creative_id_156129" cat: "IAB22" w: 320 h: 50 language: "es" slotinpod: SLOT_POSITION_POD_ANY cattax: IAB_CONTENT_1_0 [com.google.doubleclick.bid] { impression_tracking_url: "https://test.com/impression?id=123456" exchange_deal_type: OPEN_AUCTION event_notification_token { payload: "token" } billing_id: 61560909063 } } seat: "4778:9251:780612" } cur: "USD"
הצגת הדוגמה
{ "id": "9u09jhHJXT2fbaDZ9V1x66", "seatbid": [ { "bid": [ { "id": "37Td8Gbw1Lr8161bA4B", "impid": "1", "price": 0.075, "adm": "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>", "adomain": [ "google.com", "google.com" ], "crid": "test_creative_id_156129", "cat": [ "IAB22" ], "w": 320, "h": 50, "language": "es", "slotinpod": 0, "cattax": 1, "ext": { "impression_tracking_url": [ "https://test.com/impression?id=123456" ], "exchange_deal_type": 0, "event_notification_token": { "payload": "token" }, "billing_id": "61560909063" } } ], "seat": "4778:9251:780612" } ], "cur": "USD" }
הצגת הדוגמה
תגובה בסריאליזציהad { html_snippet: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adslot { id: 1 max_cpm_micros: 226722 billing_id: 78614473201 currency: "USD" } click_through_url: "google.com" attribute: 105 buyer_creative_id: "test_creative_id_827359" width: 336 height: 280 impression_tracking_url: "https://test.com/imp?id=123456" event_notification_token: "token" }
חשוב: ההודעות של Protobuf שמוצגות בדוגמאות מיוצגות כאן כטקסט שאפשר לקרוא. עם זאת, זה לא האופן שבו ההודעות נשלחות ברשת. כשמשתמשים בפורמט Protobuf של Google או OpenRTB, מתקבלות רק הודעות BidResponse בסריאליזציה.
אפשר ליצור הודעה מסוג BidResponse
ולסדר אותה בסדרת ביטים באמצעות הקוד הבא ב-C++:
BidResponse bid_response; // fill in bid response with bid information string post_response; if (bid_response.SerializeToString(&post_response)) { // respond to the POST with post_response as the content } else { // return an error to the POST }
ציון הקריאייטיב
בתשובה להצעת המחיר מצוין הקריאייטיב שיוצג אם הצעת המחיר שלכם תזכה. הצעת המחיר חייבת לכלול אחד מהפורמטים הנתמכים של המודעות (AMP, וידאו, מודעות מותאמות). בדוגמה הזו, מציינים את הקריאייטיב באמצעות השדה html_snippet
.
לחלופין, אפשר לציין את הקריאייטיב באמצעות אחד מהשדות הבאים, בהתאם לפורמט המודעה:
- מודעה שעברה עיבוד על ידי SDK
BidResponse.seatbid.bid.ext.sdk_rendered_ad
- AMP
BidResponse.seatbid.bid.amp_ad_url
- סרטון
BidResponse.seatbid.bid.adm
- מותאמת
BidResponse.seatbid.bid.adm_native
מציינים מודעה שמתארחת בשרתים שלכם באמצעות קטע קוד ב-HTML בשדה BidResponse.seatbid.bid.adm
. קטע הקוד מוקף במסגרת iFrame שמוטמעת בדף האינטרנט, וכתוצאה מכך המודעה מאוחזרת ומוצגת כשהדף נטען. עליכם ליצור את קטע ה-HTML כך שהמודעה (באנר או מעברון) תוצג בצורה תקינה בתוך iFrame, ובגודל שמתאים למיקום המודעה שבו אתם מגישים הצעות מחיר.
בנוסף, גודל המודעה שצוין בתגובה לבקשה להצעת מחיר חייב להתאים בדיוק לאחד משילובי הגדלים בבקשה להצעת מחיר במקרים הבאים:
- המודעה היא מודעת באנר רגילה (לא מודעת וידאו, מודעת וידאו מותאמת או מודעת מעברון).
- המגיש הצעת המחיר הצהיר על הגודל בתשובה להצעת המחיר. יש צורך בהצהרה על גודל בכל פעם שמופיעים בבקשה כמה גדלים.
- יש חריג למודעות מעברון. במודעות מעברון, הרוחב צריך להיות לפחות 50% מרוחב המסך והגובה צריך להיות לפחות 40% מגובה המסך.
אפשר לציין נכס קריאייטיב מסוג קטע קוד HTML באמצעות כל קוד HTML תקין שאפשר להציג, אבל חשוב לזכור את ההגבלות על ציון השדה crid
בקטע יצירת הודעת BidResponse.
אחת מהשימושים האפשריים היא להוסיף מידע נוסף לארגומנטים של כתובות ה-URL שאוחזרות מהשרתים שלכם כחלק מהעיבוד של המודעה. כך תוכלו להעביר נתונים שרירותיים על החשיפות חזרה לשרתים שלכם.
רוב כללי המדיניות לגבי קטעי HTML שמוחזרים בתשובות לבקשות להצעת מחיר זהים לכללי המדיניות לגבי מודעות של צד שלישי. מידע נוסף זמין במאמרים הנחיות לתוכנית Authorized Buyers, דרישות להצגת מודעות על ידי צד שלישי והצהרה על כתובות URL להשלמת קליקים במודעות.
ציון רכיבי מאקרו
מאקרו הוא טקסט בפורמט שמוטמע בשדות מסוימים של תגובות לבקשות להצעת מחיר, שמכילים כתובות URL שמוחלפות בערך רלוונטי בזמן הצגת המודעה. לדוגמה, אם הצעת המחיר הזוכה כללה את המאקרו AUCTION_PRICE
בקטע ה-HTML של הקריאייטיב שצורף להצעת המחיר, המאקרו יוחלף בערך שאפשר לפענח כדי לקבוע את הסכום ששילמתם על החשיפות במכרז.
אפשר לכלול מק"טים בשדות הבאים:
-
BidResponse.seatbid.bid.adm
יש תמיכה במאקרו בפורמטים הבאים: קטע קוד HTML, מודעות וידאו מותאמות אישית, כתובת URL של סרטון ו-VAST XML של סרטון.
-
BidResponse.seatbid.bid.adm_native.eventtrackers.url
-
BidResponse.seatbid.bid.adm_native.imptrackers
-
BidResponse.seatbid.bid.ext.amp_ad_url
רק פקודות המאקרו
WINNING_PRICE
ו-WINNING_PRICE_ESC
הספציפיות ל-Google נתמכות בקריאייטיב AMP. -
BidResponse.seatbid.bid.burl
-
BidResponse.seatbid.bid.ext.impression_tracking_url
משתמשים באפשרות הזו במקום ב-
BidResponse.seatbid.bid.burl
אם צריך יותר מכתובת URL אחת לחיוב.
לדוגמה, אפשר לכלול מאקרו כחלק מקטע HTML על ידי הטמעת ${MACRO}
בכתובת ה-URL שמשמש לאחזור הקריאייטיב, כאשר MACRO
הוא אחת מפקודות המאקרו הנתמכות שמתוארות במפרט OpenRTB.
פקודות מאקרו של Google RTB
Google תומכת במאקרו נוספים מלבד אלה שמופיעים במפרט של OpenRTB. הפורמט שלהם שונה, והם יופיעו כ-%%MACRO%%
אם הם מוטמעים בכתובת URL. בטבלה הבאה מתוארות פקודות המאקרו האלה:
מאקרו | תיאור |
---|---|
ADVERTISING_IDENTIFIER |
מאפשרת לקונים לקבל IDFA של iOS או מזהה פרסום של Android בזמן עיבוד החשיפות. פרטים נוספים זמינים במאמר פענוח מזהי מפרסמים. |
CACHEBUSTER |
ייצוג מחרוזת של מספר שלם אקראי ללא סימן באורך ארבעה בתים. |
CLICK_URL_UNESC |
כתובת ה-URL לקליק על המודעה, ללא תו בריחה (escape). בקטע הקוד, גרסה עם תווי בריחה של כתובת ה-URL של הקליק בצד השלישי צריכה להופיע ישירות אחרי המאקרו. לדוגמה, אם כתובת ה-URL של הקליק של הצד השלישי היא <a href="%%CLICK_URL_UNESC%%http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a> בזמן הצגת המודעה, הגודל הזה מתרחב ל: <a href="http://google-click-url?...&ad_url=http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a> כתובת ה-URL תירשם קודם את הקליק ב-Google, ואז תופנה לכתובת ה-URL של הקליק בצד השלישי. |
CLICK_URL_ESC |
כתובת ה-URL של הקליק על המודעה עם תווי ה-escape. משתמשים באפשרות הזו במקום ב- לדוגמה, אפשר להשתמש בקוד הבא בקטע קוד HTML: <a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC%%"></a> בזמן הצגת המודעה, הגודל הזה מתרחב ל: <a href="http://my.adserver.com/click?google_click_url=http://google-click- url%3F...%26ad_url%3D"></a> הפעולה הזו תרשום את הקליק ב- אפשר לצרף כתובת URL עם שני תווי בריחה אחרי |
CLICK_URL_ESC_ESC |
כתובת ה-URL של המודעה עם תווי escape כפולים. משתמשים בערך הזה במקום ב- לדוגמה, אפשר להשתמש בקוד הבא בקטע קוד HTML: <a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC_ESC%%"></a> בזמן הצגת המודעה, הגודל הזה מתרחב ל: <a href="http://my.otheradserver.com/click?google_click_url=http%3A%2F%2Fmy.adserver.com%2Fclick%3Fgoogle_click_url%3Dhttp%3A%2F%2Fgoogle-click-%20url%253F...%2526ad_url%253D"></a> |
SCHEME |
הרחבה ל-http: אם בקשת הצעת המחיר לא דורשת SSL, או ל-https: אם בקשת הצעת המחיר דורשת SSL. |
SITE |
הדומיין של כתובת ה-URL של התוכן, עם תוויות בריחה (escape) של כתובות URL, או המזהה האנונימי של מלאי שטחי הפרסום האנונימי. |
SITE_URL |
הוצא משימוש. הוחלף במאקרו SITE שמספק פונקציונליות זהה. |
TZ_OFFSET |
ההיסט מאזור הזמן. |
VERIFICATION |
הערכים השונים בסביבת הייצור ובזמן הסריקה של הקריאייטיב בצינור עיבוד הנתונים לאימות. הפורמט הוא:
לדוגמה, אם נכס קריאייטיב יכלול את הערך |
WINNING_PRICE |
עלות החשיפות המקודדות (כלומר עלות להמרה במקום עלות לאלף חשיפות) במיקרו-מטבעות של מטבע החשבון. לדוגמה, עלות לאלף חשיפות (CPM) של 5 $ תואמת לעלות לאלף מיקרו-חשיפות (CPM) של 5,000,000 מיקרו-סנט או לעלות להמרה (CPI) של 5,000 מיקרו-סנט. הערך המפוענח של כדי לנתח את המאקרו הזה, תצטרכו להטמיע אפליקציה שמפענחת את אישורי המחירים. למידע נוסף, אפשר לעיין בדף פענוח של אישורי מחירים. |
WINNING_PRICE_ESC |
WINNING_PRICE עם תווי בריחה לכתובת URL. |
Google דורשת להשתמש במאקרו CLICK_URL_UNESC
או CLICK_URL_ESC
בקריאייטיב של המודעה של הצד השלישי שמוצגת. Google משתמשת במאקרו CLICK_URL
למעקב אחר קליקים.
כדי להימנע מהצגת תווים מיוחדים בכתובות URL במאקרו, משתמשים בסכימה הבאה:
- תו הרווח מוחלף בסימן פלוס (
+
). - תווים אלפאנומריים (0-9, a-z, A-Z) ותווים מתוך הקבוצה !()*,-./:_~ לא משתנים.
- כל התווים האחרים מוחלפים ב-
%XX
, כאשרXX
הוא המספר הקסדצימלי שמייצג את התו.
הגבלות ודרישות לבעלי תוכן דיגיטלי
בקשת הצעת המחיר כוללת מידע על סוגי ההגבלות והדרישות שמפרסמים מטילים על נכסי הקריאייטיב במכרז.
BidRequest.bcat
- אפשר להשוות בין הקטגוריות החסומות שצוינו בשדה הזה לבין הקטגוריות שזוהו בנכסי הקריאייטיב ששלחתם באמצעות השדה
detectedCategories
ב-Real-time Bidding API.
- אפשר להשוות בין הקטגוריות החסומות שצוינו בשדה הזה לבין הקטגוריות שזוהו בנכסי הקריאייטיב ששלחתם באמצעות השדה
BidRequest.imp.ext.allowed_vendor_type
BidRequest.imp.secure
- בפועל, הערך הזה תמיד יהיה
true
כי Google דורשת תמיכה ב-SSL לכל נכסי הקריאייטיב.
- בפועל, הערך הזה תמיד יהיה
BidRequest.imp.{audio/banner/native/video}
BidRequest.imp.{audio/banner/native/video}.api
BidRequest.imp.{audio/banner/native/video}.battr
BidRequest.imp.{audio/banner/video}.mimes
לעולם אל תגישו הצעות מחיר על מודעה שמכילה תכונה מוגבלת. לגבי תכונות מותרות, כמו סוג הספק, אפשר להציג מודעה רק אם סוג הספק שלה נמצא ברשימה allowed_vendor_type
בקובץ BidRequest
. הצעת המחיר צריכה לכלול רק את פורמטים המודעות שצוינו בבקשת הצעת המחיר על ידי מילוי שדות כמו BidRequest.imp.banner
. פרטים נוספים זמינים בתגובות לשדות האלה בהגדרת מאגר הפרוטוקול BidRequest
.
אם מודעה מוחזרת ב-BidResponse
, צריך להגדיר במדויק את השדות BidResponse.seatbid.bid.attr
, BidResponse.seatbid.bid.cat
ו-BidResponse.seatbid.bid.adomain
או BidResponse.seatbid.bid.adm_native.link.url
ב-BidResponse
. אם למודעה יש כמה ערכים רלוונטיים לשדות האלה, צריך לכלול את כל הערכים. פרטים נוספים זמינים בתגובות לשדות האלה בהגדרת מאגר ה-Protocol BidResponse
.
תשובות שלא מוגדרים בהן השדות האלה יידחו.
Open Measurement
Open Measurement מאפשר לכם לציין ספקים של צד שלישי שמספקים שירותי מדידה ואימות עצמאיים של מודעות שמוצגות בסביבות של אפליקציות לנייד.
הפורמטים הנתמכים של המודעות כוללים מודעות וידאו, מודעות באנר ומודעות מעברון. למידע נוסף על השימוש ב-Open Measurement בתשובה לבידינג שמכילה את הפורמטים האלה, אפשר לעיין במאמר Open Measurement SDK במרכז העזרה.
תגובות לדוגמה לבקשות להצעת מחיר
בקטעים הבאים מוצגות תגובות לדוגמה לבקשות להצעות מחיר עבור סוגים שונים של מודעות.
באנר של אפליקציה
הצגת הדוגמה
תגובה בסריאליזציהid: "8L85Di7e9374c3jriwo2W0" seatbid { bid { id: "0L7hx7783rjD1hT81FH" impid: "1" price: 0.4000000059604645 adm: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adomain: "google.com" crid: "test_creative_id_192654" w: 300 h: 50 burl: "https://test.com/imp?id=123456" [com.google.doubleclick.bid] { impression_tracking_url: "https://test.com/impression?id=123456" billing_id: 70614819650 skadn { version: "3.0" network: "Y8HK1z22" campaign: "72382716" itunesitem: "953637916" sourceapp: "com.google.testapp" fidelities { fidelity: VIEW_THROUGH_ADS nonce: "bf105d9a-6df9-4d49-a10d-44e21a539415" timestamp: "1730359683568" signature: "589Vb2BJlF955D6kUj197D84U8UWWtngYQ73o1SVMEcAk6ju348j0454AOxpR74j95BF13RLC119Qo73nyq2qgp4IJENP6yE" } fidelities { fidelity: STOREKIT_RENDERED_ADS nonce: "bf105d9a-6df9-4d49-a10d-44e21a539415" timestamp: "1730359683568" signature: "3Av39t8684YefY03NT715Z2dTtXQ39pQH7C9aq6Wuh4WzbS044734J7FAlw7690Nm7743G7Z4P6hX8K7H607886b7FBHTCYY" } skadn_opts { always_open_appstore: true } } app_promotion_type: INSTALLS } } seat: "4095:5416:758587" } cur: "USD" [com.google.doubleclick.bid_response] { processing_time_ms: 16 }
הצגת הדוגמה
{ "id": "8L85Di7e9374c3jriwo2W0", "seatbid": [ { "bid": [ { "id": "0L7hx7783rjD1hT81FH", "impid": "1", "price": 0.4000000059604645, "adm": "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>", "adomain": [ "google.com" ], "crid": "test_creative_id_192654", "w": 300, "h": 50, "burl": "https://test.com/imp?id=123456", "ext": { "impression_tracking_url": [ "https://test.com/impression?id=123456" ], "billing_id": "70614819650", "skadn": { "version": "3.0", "network": "Y8HK1z22", "campaign": "72382716", "itunesitem": "953637916", "sourceapp": "com.google.testapp", "fidelities": [ { "fidelity": 0, "nonce": "bf105d9a-6df9-4d49-a10d-44e21a539415", "timestamp": "1730359683568", "signature": "589Vb2BJlF955D6kUj197D84U8UWWtngYQ73o1SVMEcAk6ju348j0454AOxpR74j95BF13RLC119Qo73nyq2qgp4IJENP6yE" }, { "fidelity": 1, "nonce": "bf105d9a-6df9-4d49-a10d-44e21a539415", "timestamp": "1730359683568", "signature": "3Av39t8684YefY03NT715Z2dTtXQ39pQH7C9aq6Wuh4WzbS044734J7FAlw7690Nm7743G7Z4P6hX8K7H607886b7FBHTCYY" } ], "skadn_opts": { "always_open_appstore": 1 } }, "app_promotion_type": 1 } } ], "seat": "4095:5416:758587" } ], "cur": "USD", "ext": { "processing_time_ms": 16 } }
הצגת הדוגמה
תגובה בסריאליזציהad { html_snippet: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adslot { id: 1 max_cpm_micros: 44095 billing_id: 99718422589 } click_through_url: "google.com" attribute: 47 attribute: 50 category: 7 buyer_creative_id: "test_creative_id_997551" advertiser_name: "Google" width: 300 height: 250 impression_tracking_url: "https://test.com/imp?id=123456" skadn { version: "4.0" network: "DofiF4X5" itunesitem: "448730563" sourceapp: "195751234" fidelities { fidelity_type: VIEW_THROUGH_ADS nonce: "a869c155-3566-475c-8cb9-d0a75159e0c5" timestamp: 1728803273481 signature: "0KXE97ri9xnW9M10NDg64r014MsN7SO5R11N29oe8h8Cuao3K477i9dFH61bKny28iA6337A6EK6T3fgR9p9EJK12qvaY96E" } fidelities { fidelity_type: STOREKIT_RENDERED_ADS nonce: "a869c155-3566-475c-8cb9-d0a75159e0c5" timestamp: 1728803273481 signature: "EF1Vj82st371O79029Q9067AL00972U3NqNG9u295r8B4681c12Se2jk34XSR8404681c9WGa9a69779CQ87o9T81Y85198C" } source_identifier: 1 } advertised_app_id: "APP_ID_OMITTED" app_promotion_type: INSTALLS } processing_time_ms: 13
מודעת מעברון באפליקציה
הצגת הדוגמה
תגובה בסריאליזציהid: "6700Z3L2o0zSw9g8IqmiQ5" seatbid { bid { id: "0UBHDN63xQ8hj1F8184" impid: "1" price: 0.016728 adid: "test_creative_id_179418" adm: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adomain: "google.com" crid: "test_creative_id_179418" cat: "IAB13-7" w: 300 h: 600 burl: "https://test.com/imp?id=123456" [com.google.doubleclick.bid] { billing_id: 14443955188 dsa { behalf: "TEST_ADVERTISER" paid: "TEST_PAYING_ENTITY" adrender: false } } } seat: "2054:4176:757161" group: false } bidid: "TI590379-wi3Z9CU8-6j8V-Uj0l1I102h2q" cur: "USD"
הצגת הדוגמה
{ "id": "6700Z3L2o0zSw9g8IqmiQ5", "seatbid": [ { "bid": [ { "id": "0UBHDN63xQ8hj1F8184", "impid": "1", "price": 0.016728, "adid": "test_creative_id_179418", "adm": "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>", "adomain": [ "google.com" ], "crid": "test_creative_id_179418", "cat": [ "IAB13-7" ], "w": 300, "h": 600, "burl": "https://test.com/imp?id=123456", "ext": { "billing_id": "14443955188", "dsa": { "behalf": "TEST_ADVERTISER", "paid": "TEST_PAYING_ENTITY", "adrender": 0 } } } ], "seat": "2054:4176:757161", "group": 0 } ], "bidid": "TI590379-wi3Z9CU8-6j8V-Uj0l1I102h2q", "cur": "USD" }
הצגת הדוגמה
תגובה בסריאליזציהad { html_snippet: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adslot { id: 1 max_cpm_micros: 80117 min_cpm_micros: 0 billing_id: 12608068331 deal_id: 0 } click_through_url: "google.com" attribute: 47 buyer_creative_id: "test_creative_id_266407" advertiser_name: "Google" width: 756 height: 384 impression_tracking_url: "https://test.com/imp?id=123456" event_notification_token: "token" dsa_transparency { buyer_render: true } } processing_time_ms: 11
מודעת מעברון בסרטון באפליקציה
הצגת הדוגמה
תגובה בסריאליזציהid: "79N7F1708654i75q3k69j1" seatbid { bid { id: "1gR655162hOsH9q3X6R" impid: "1" price: 2.3833 adid: "test_creative_id_648299" adm: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%" adomain: "google.com" crid: "test_creative_id_648299" attr: VIDEO_IN_BANNER_AUTO_PLAY w: 1920 h: 1080 [com.google.doubleclick.bid] { event_notification_token { payload: "token" } billing_id: 11004606416 skadn { version: "4.0" network: "O5O88B57" itunesitem: "509167749" nonce: "" sourceapp: "com.google.testapp" timestamp: "OMITTED" signature: "OMITTED" fidelities { fidelity: VIEW_THROUGH_ADS nonce: "d3be52b1-8ef6-4277-8922-54450b07fd5b" timestamp: "1730409097616" signature: "8d52E359K158Dj1u89EpLP3544Qz7B10CV0a92YZJ6JXX8d9uXi72N43ZxjRl96Ph7v8R5u1k5y9Aoy3jZcN3C5dxRU390qc" } fidelities { fidelity: STOREKIT_RENDERED_ADS nonce: "d3be52b1-8ef6-4277-8922-54450b07fd5b" timestamp: "1730409097616" signature: "43C2b79X4nPY913Qs3jJLLhCjUNZg39cK022pCE2wH731Ie7q4584b5UGG137Jh12I2R6a0e35LJbvQJbn5o564roQ7G1Mtd" } sourceidentifier: "1" } app_promotion_type: INSTALLS } } seat: "1061:9160:833989" } bidid: "m7V3rjn0-aF599ZZ6-37hA-b9o7DU8CLrtp" cur: "USD"
הצגת הדוגמה
{ "id": "79N7F1708654i75q3k69j1", "seatbid": [ { "bid": [ { "id": "1gR655162hOsH9q3X6R", "impid": "1", "price": 2.3833, "adid": "test_creative_id_648299", "adm": "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%", "adomain": [ "google.com" ], "crid": "test_creative_id_648299", "attr": [ 6 ], "w": 1920, "h": 1080, "ext": { "event_notification_token": { "payload": "token" }, "billing_id": "11004606416", "skadn": { "version": "4.0", "network": "O5O88B57", "itunesitem": "509167749", "nonce": "", "sourceapp": "com.google.testapp", "timestamp": "OMITTED", "signature": "OMITTED", "fidelities": [ { "fidelity": 0, "nonce": "d3be52b1-8ef6-4277-8922-54450b07fd5b", "timestamp": "1730409097616", "signature": "8d52E359K158Dj1u89EpLP3544Qz7B10CV0a92YZJ6JXX8d9uXi72N43ZxjRl96Ph7v8R5u1k5y9Aoy3jZcN3C5dxRU390qc" }, { "fidelity": 1, "nonce": "d3be52b1-8ef6-4277-8922-54450b07fd5b", "timestamp": "1730409097616", "signature": "43C2b79X4nPY913Qs3jJLLhCjUNZg39cK022pCE2wH731Ie7q4584b5UGG137Jh12I2R6a0e35LJbvQJbn5o564roQ7G1Mtd" } ], "sourceidentifier": "1" }, "app_promotion_type": 1 } } ], "seat": "1061:9160:833989" } ], "bidid": "m7V3rjn0-aF599ZZ6-37hA-b9o7DU8CLrtp", "cur": "USD" }
הצגת הדוגמה
תגובה בסריאליזציהad { adslot { id: 1 max_cpm_micros: 2454000 billing_id: 95400492935 deal_id: 1 } click_through_url: "google.com" attribute: 22 attribute: 105 buyer_creative_id: "test_creative_id_716344" width: 0 height: 0 video_vast_xml: "OMITTED_VAST_XML" event_notification_token: "token" skadn { version: "4.0" network: "113tdmXM" itunesitem: "460184775" sourceapp: "751592940" fidelities { fidelity_type: STOREKIT_RENDERED_ADS nonce: "1c3ed154-33f5-4cb7-960a-3e571cb9c3b9" timestamp: 1728932156118 signature: "7m3PDLV778PZ741T2I3561kkCW3UjIp5p63989cP311iiZ2445v20HP5ymfD8ThYO7437h22075h4h9O21S8A08U1kw3qis2" } fidelities { fidelity_type: VIEW_THROUGH_ADS nonce: "1c3ed154-33f5-4cb7-960a-3e571cb9c3b9" timestamp: 1728932156118 signature: "28X90AX01Z762a3W92186a40Eb4J8ekACsYFo55J8vD445f5pcA80MH45753Iy887596gK8ax0s55ndC23eg0V7P862yS240" } source_identifier: 1 } advertised_app_id: "APP_ID_OMITTED" app_promotion_type: INSTALLS } processing_time_ms: 51
נייטיב לאפליקציה
הצגת הדוגמה
תגובה בסריאליזציהid: "96Z599PGNvp7Mr99138Fm0" seatbid { bid { id: "NQb32Ge7Rtt84wFn2p8" impid: "1" price: 0.153584 adid: "test_creative_id_272596" adomain: "google.com" crid: "test_creative_id_272596" cat: "IAB13-7" burl: "https://test.com/imp?id=123456" adm_native { ver: "1.2" assets { id: 1 required: true title { text: "Luxury Mars Cruises" } } assets { id: 2 required: true data { value: "Visit the planet in a luxury spaceship." } } assets { id: 3 required: false data { value: "Book today" } } assets { id: 4 required: true data { value: "Galactic Luxury Cruises" } } assets { id: 5 required: true img { url: "https://native.test.com/image?id=123456" w: 1200 h: 627 } } link { url: "https://www.google.com" } eventtrackers { event: IMPRESSION method: IMG url: "https://test.com/event?id=123456" } privacy: "https://adssettings.google.com/whythisad?source=display&reasons=OMITTED" } [com.google.doubleclick.bid] { ad_choices_destination_url: "https://test.com/preferences" billing_id: 29846056590 dsa { behalf: "TEST_ADVERTISER" paid: "TEST_PAYING_ENTITY" adrender: false } } } bid { id: "4vwb23qm6iqU6w6G978" impid: "1" price: 0.153584 adid: "test_creative_id_272596" adomain: "google.com" crid: "test_creative_id_272596" cat: "IAB21" burl: "https://test.com/imp?id=123456" adm_native { ver: "1.2" assets { id: 1 required: true title { text: "Luxury Mars Cruises" } } assets { id: 2 required: true data { value: "Visit the planet in a luxury spaceship." } } assets { id: 3 required: false data { value: "Book today" } } assets { id: 4 required: true data { value: "Galactic Luxury Cruises" } } assets { id: 5 required: true img { url: "https://native.test.com/image?id=123456" w: 1200 h: 627 } } link { url: "https://www.google.com" } eventtrackers { event: IMPRESSION method: IMG url: "https://test.com/event?id=123456" } privacy: "https://adssettings.google.com/whythisad?source=display&reasons=OMITTED" } [com.google.doubleclick.bid] { ad_choices_destination_url: "https://test.com/preferences" dsa { behalf: "TEST_ADVERTISER" paid: "TEST_PAYING_ENTITY" adrender: false } } } seat: "4528:1161:591635" group: false } bidid: "hgu4ev7j-ZK929XM0-79f7-0A23O0VN2CFC" cur: "USD"
הצגת הדוגמה
{ "id": "96Z599PGNvp7Mr99138Fm0", "seatbid": [ { "bid": [ { "id": "NQb32Ge7Rtt84wFn2p8", "impid": "1", "price": 0.153584, "adid": "test_creative_id_272596", "adomain": [ "google.com" ], "crid": "test_creative_id_272596", "cat": [ "IAB13-7" ], "burl": "https://test.com/imp?id=123456", "ext": { "ad_choices_destination_url": "https://test.com/preferences", "billing_id": "29846056590", "dsa": { "behalf": "TEST_ADVERTISER", "paid": "TEST_PAYING_ENTITY", "adrender": 0 } }, "adm": "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"text\":\"Luxury Mars Cruises\"}},{\"id\":2,\"required\":1,\"data\":{\"value\":\"Visit the planet in a luxury spaceship.\"}},{\"id\":3,\"required\":0,\"data\":{\"value\":\"Book today\"}},{\"id\":4,\"required\":1,\"data\":{\"value\":\"Galactic Luxury Cruises\"}},{\"id\":5,\"required\":1,\"img\":{\"url\":\"https://native.test.com/image?id=123456\",\"w\":1200,\"h\":627}}],\"link\":{\"url\":\"https://www.google.com\"},\"eventtrackers\":[{\"event\":1,\"method\":1,\"url\":\"https://test.com/event?id=123456\"}],\"privacy\":\"https://adssettings.google.com/whythisad?source=display&reasons=OMITTED\"}" }, { "id": "4vwb23qm6iqU6w6G978", "impid": "1", "price": 0.153584, "adid": "test_creative_id_272596", "adomain": [ "google.com" ], "crid": "test_creative_id_272596", "cat": [ "IAB21" ], "burl": "https://test.com/imp?id=123456", "ext": { "ad_choices_destination_url": "https://test.com/preferences", "dsa": { "behalf": "TEST_ADVERTISER", "paid": "TEST_PAYING_ENTITY", "adrender": 0 } }, "adm": "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"text\":\"Luxury Mars Cruises\"}},{\"id\":2,\"required\":1,\"data\":{\"value\":\"Visit the planet in a luxury spaceship.\"}},{\"id\":3,\"required\":0,\"data\":{\"value\":\"Book today\"}},{\"id\":4,\"required\":1,\"data\":{\"value\":\"Galactic Luxury Cruises\"}},{\"id\":5,\"required\":1,\"img\":{\"url\":\"https://native.test.com/image?id=123456\",\"w\":1200,\"h\":627}}],\"link\":{\"url\":\"https://www.google.com\"},\"eventtrackers\":[{\"event\":1,\"method\":1,\"url\":\"https://test.com/event?id=123456\"}],\"privacy\":\"https://adssettings.google.com/whythisad?source=display&reasons=OMITTED\"}" } ], "seat": "4528:1161:591635", "group": 0 } ], "bidid": "hgu4ev7j-ZK929XM0-79f7-0A23O0VN2CFC", "cur": "USD" }
הצגת הדוגמה
תגובה בסריאליזציהad { adslot { id: 1 max_cpm_micros: 158000 billing_id: 41106584355 deal_id: 1 } click_through_url: "google.com" attribute: 70 buyer_creative_id: "test_creative_id_251451" advertiser_name: "Google" native_ad { headline: "Luxury Mars Cruises" body: "Visit the planet in a luxury spaceship." call_to_action: "Book today" advertiser: "Galactic Luxury Cruises" image { url: "https://native.test.com/image?id=123456" width: 1200 height: 222 } app_icon { url: "https://native.test.com/icon?id=123456" width: 512 height: 512 } star_rating: 4.300000190734863 click_link_url: "https://www.google.com" } impression_tracking_url: "https://test.com/imp?id=123456" impression_tracking_url: "https://test.com/imp?id=123456" event_notification_token: "token" skadn { version: "4.0" network: "l6x39K4z" itunesitem: "731305960" sourceapp: "627009739" fidelities { fidelity_type: STOREKIT_RENDERED_ADS nonce: "9216faff-74a9-4b35-badc-66878c35f67c" timestamp: 1728975919221 signature: "b0USXkmg02Q3v6p301kYOHG36CCOWWdEo52RHRttB9t8PTNi79qL17E4D6h7UeUSuq479oTK13G2Ev34MJlU86C5vY1SMVw2" } fidelities { fidelity_type: VIEW_THROUGH_ADS nonce: "9216faff-74a9-4b35-badc-66878c35f67c" timestamp: 1728975919221 signature: "4Cf4NH6239z9f3wa8j6420Z7H0UISYxyxN5720444dkq6457I5FY0Jg8bk1xge2P8YgiDp74l2738136v2g1A8D50331IRm0" } source_identifier: 1 } click_tracking_urls: "https://google.com/rtb/click?imp_id=55d2112c-4947-4da5-bc37-b79ebf4577dd" advertised_app_id: "APP_ID_OMITTED" app_promotion_type: INSTALLS } processing_time_ms: 63
סרטונים באינטרנט
הצגת הדוגמה
תגובה בסריאליזציהid: "b2F6m05a9d83V7I35iw415" seatbid { bid { id: "Ob7259K5679O36pMt00" impid: "1" price: 1.52 adid: "test_creative_id_262797" adm: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%" adomain: "google.com" crid: "test_creative_id_262797" exp: 3600 [com.google.doubleclick.bid] { event_notification_token { payload: "token" } billing_id: 47460168025 } } bid { id: "0890di791A75n9R13jM" impid: "1" price: 1.2 adid: "test_creative_id_262797" adm: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%" adomain: "google.com" crid: "test_creative_id_262797" exp: 3600 [com.google.doubleclick.bid] { event_notification_token { payload: "token" } } } seat: "2121:7826:598388" } cur: "USD"
הצגת הדוגמה
{ "id": "b2F6m05a9d83V7I35iw415", "seatbid": [ { "bid": [ { "id": "Ob7259K5679O36pMt00", "impid": "1", "price": 1.52, "adid": "test_creative_id_262797", "adm": "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%", "adomain": [ "google.com" ], "crid": "test_creative_id_262797", "exp": 3600, "ext": { "event_notification_token": { "payload": "token" }, "billing_id": "47460168025" } }, { "id": "0890di791A75n9R13jM", "impid": "1", "price": 1.2, "adid": "test_creative_id_262797", "adm": "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%", "adomain": [ "google.com" ], "crid": "test_creative_id_262797", "exp": 3600, "ext": { "event_notification_token": { "payload": "token" } } } ], "seat": "2121:7826:598388" } ], "cur": "USD" }
הצגת הדוגמה
תגובה בסריאליזציהfad { adslot { id: 1 max_cpm_micros: 68340760 min_cpm_micros: 0 billing_id: 75752641104 deal_id: 0 } click_through_url: "google.com" vendor_type: 145 attribute: 47 attribute: 8 video_url: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%" buyer_creative_id: "test_creative_id_877383" advertiser_name: "Google" event_notification_token: "token" dsa_transparency { buyer_render: true } } processing_time_ms: 17
מודעת באנר באתר לנייד למשתמש שמגיש הצעות מחיר ב-Exchange
הצגת הדוגמה
תגובה בסריאליזציהid: "l30Zu42070Man1Z5u751yG" seatbid { bid { id: "4X6uu65F9J3m467C571" impid: "1" price: 0.17 adm: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adomain: "google.com" crid: "test_creative_id_941528" w: 320 h: 50 [com.google.doubleclick.bid] { impression_tracking_url: "https://test.com/impression?id=123456" impression_tracking_url: "https://test.com/impression?id=123456" event_notification_token { payload: "token" } billing_id: 50962964480 } } seat: "7632:7504:809671" } bidid: "II638Xkf-6432F06d-VGu8-27B4407D136w" [com.google.doubleclick.bid_response] { processing_time_ms: 70 }
הצגת הדוגמה
{ "id": "l30Zu42070Man1Z5u751yG", "seatbid": [ { "bid": [ { "id": "4X6uu65F9J3m467C571", "impid": "1", "price": 0.17, "adm": "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>", "adomain": [ "google.com" ], "crid": "test_creative_id_941528", "w": 320, "h": 50, "ext": { "impression_tracking_url": [ "https://test.com/impression?id=123456", "https://test.com/impression?id=123456" ], "event_notification_token": { "payload": "token" }, "billing_id": "50962964480" } } ], "seat": "7632:7504:809671" } ], "bidid": "II638Xkf-6432F06d-VGu8-27B4407D136w", "ext": { "processing_time_ms": 70 } }