אינטראקציה של בידינג בזמן אמת מתחילה כש-Google שולחת בקשת הצעת מחיר לאפליקציה שלכם. במדריך הזה נסביר איך לכתוב את הקוד של האפליקציה כדי לעבד את בקשת הצעת המחיר.
זהירות: פרוטוקול RTB של Google הוצא משימוש. בדוגמאות שבמדריך הזה נעשה שימוש בהטמעה של Google ל-OpenRTB Protobuf, אלא אם צוין אחרת.
ניתוח בקשת Protobuf
Google שולחת בקשה להצעת מחיר בתור מאגר של פרוטוקול בעל סריאליות שמצורף אליו
מטען ייעודי (payload) בינארי של בקשת HTTP POST. הערך של Content-Type
מוגדר כך
application/octet-stream
. כדי לראות דוגמה, אפשר לעיין בדוגמה לבקשה להצעת מחיר .
צריך לנתח את הבקשה הזו למופע של BidRequest
הודעה. בהתאם לפרוטוקול שבחרת, ההגדרה BidRequest
מוגדרת
ב-openrtb.proto
או בגרסה שהוצאה משימוש
realtime-bidding.proto
, שניתן לקבל
הדף נתוני עזר . אפשר לנתח את ההודעה באמצעות השיטה ParseFromString()
בכיתה שנוצרה עבור BidRequest
. לדוגמה, קוד C++ הבא מנתח בקשה
מקבל מטען ייעודי (payload) של POST במחרוזת:
string post_payload = /* the payload from the POST request */;
BidRequest bid_request;
if (bid_request.ParseFromString(post_payload)) {
// Process the request.
}
אחרי קבלת ה-BidRequest
אפשר לעבוד איתו
שלו, מחלצים ומפרשים את השדות שדרושים לכם. לדוגמה, ב-
חזרה של C++ דרך עסקאות ב-'BidRequest' של OpenRTB עשויה להיראות כך
הבאים:
for (const BidRequest::Imp::Pmp::Deal& deal : pmp.deals()) {
DoSomething(deal.id(), deal.wseat());
}
מזהי חיוב
אתם מקבלים בקשת הצעת מחיר כשמלאי שטחי הפרסום של בעל תוכן דיגיטלי מטרגט לפי אחד או יותר מההגדרות של טירגוט מראש . השדה BidRequest.imp.ext.billing_id
יאוכלס במזהי החיוב של כל הקונים שעומדים בדרישות, ובהגדרות הרלוונטיות של טירגוט מראש. בנוסף, במלאי שטחי הפרסום במבצע , אפשר למצוא מזהי חיוב שמשויכים לקונה הרלוונטי באמצעות BidRequest.imp.pmp.deal.ext.billing_id
. כששולחים הצעת מחיר, אפשר לציין רק מזהי חיוב של קונים שכלולים בבקשת הצעת המחיר.
אם בקשת הצעת המחיר כוללת כמה מספרי לקוח לחיוב, צריך לציין את מספר הלקוח לחיוב של הקונה שאליו רוצים לשייך את הצעת המחיר באמצעות השדה BidResponse.seatbid.bid.ext.billing_id
.
קובצי מילון
הבקשה להצעת מחיר משתמשת במזהים שהוגדרו בקובצי מילון, והם
בנתוני העזר
הדף הזה.
מאקרו של כתובת URL של הצעת מחיר בפרוטוקול RTB של Google
אפשר גם להוסיף חלק מהשדות של BidRequest
לכתובת ה-URL שמשמשת בבקשת ה-HTTP POST. אפשר להשתמש באפשרות הזו, למשל, אם אתם משתמשים בממשק קצה קל שמאזן עומסים בין כמה ממשקי קצה עורפי באמצעות ערך מהבקשה. כדי לבקש תמיכה במאקרו חדש, פנו למנהל החשבונות הטכני.
Macro תיאור
%%GOOGLE_USER_ID%%
הוחלף ב-google_user_id
החל מ-BidRequest
. לדוגמה, כתובת ה-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
כשקוראים ל-has_mobile()
של BidRequest
.
%%HAS_VIDEO%%
הערך הזה מוחלף ב-1
(true) או ב-0
(false) כשקוראים ל-has_video()
של BidRequest
.
%%HOSTED_MATCH_DATA%%
הוחלף בערך בשדה hosted_match_data
החל מ-BidRequest
.
%%MOBILE_IS_APP%%
הוחלף ב-1
(true) או ב-0
(false)
מהשדה mobile.is_app
של BidRequest
.
חיפוש מזהה אפליקציה לנייד מכתובת ה-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
בקשות להצעות מחיר שנשלחות למשתתפים בבידינג ברשת וב-Exchange במסגרת Open Bidding דומות לבקשות של בעלי חשבון מורשים שמשתתפים בבידינג רגיל בזמן אמת. לקוחות Open Bidding יקבלו מספר קטן של שדות נוספים, ויכול להיות שיהיו שימושים חלופיים לכמה שדות קיימים. למשל:
OpenRTB
Authorized Buyers
פרטים
BidRequest.imp[].ext.dfp_ad_unit_code
BidRequest.adslot[].dfp_ad_unit_code
מכילה את הקוד של רשת Ad Manager של בעל התוכן הדיגיטלי ואחריו את המודעה
היררכיית יחידות, מופרדת באמצעות לוכסנים.
לדוגמה, הפורמט של השדה הזה יהיה דומה לזה:
/1234/cruises/mars
.
BidRequest.user.data[].segment[]
BidRequest.adslot[].exchange_bidding.key_value[]
צמדים חוזרים של מפתח/ערך שנשלחים מהבעלים של אתר החדשות למשתתף במכרז בזירת ה-Exchange.
אפשר לקבוע שהערכים הם צמדי מפתח/ערך שנשלחים על ידי
בעל אפליקציה כאשר BidRequest.user.data[].name
מוגדר לערך
“Publisher Passed”
.
הערה: השדה הזה נשלח כרגע רק למשתתפים בגרסת בטא סגורה.
הצהרה על ספקים מורשים
ספקי טכנולוגיה שמספקים שירותים כמו מחקר, שיווק מחדש והצגת מודעות עשויים למלא תפקיד באינטראקציה בין הקונים למוכרים. רק ספקים שעברו בדיקה של Google כדי להשתתף באינטראקציות עם Authorized Buyers יכולים להשתתף.
כדי להבין את השדה BidRequest
וליצור את השדה BidResponse
, חשוב להכיר את שתי האפשרויות השונות להצהרה על ספקי טכנולוגיה:
יש ספקים שאין צורך להצהיר עליהם. הספקים האלה רשומים
מוסמך ל-Ad Manager חיצוני
ספקים .
ספקים אחרים יכולים להשתתף רק אם הם מפורטים ב-BidRequest
:
בשדה BidRequest
, השדה BidRequest.imp.ext.allowed_vendor_type
מציין את הספקים שהמוכר מאפשר. הספקים שיישלחו ב-allowed_vendor_type
מפורטים בקובץ המילון vendors.txt
.
דוגמה לבקשת הצעת מחיר
הדוגמאות הבאות מייצגות בקשות Protobuf ו-JSON שקריאות לבני אדם.
OpenRTB Protobuf
אני רוצה לראות את הדוגמה
id: "803txXnQe99Y0e3070L5xO"
imp {
id: "1"
banner {
w: 468
h: 60
pos: BELOW_THE_FOLD
expdir: LEFT
expdir: RIGHT
expdir: UP
expdir: DOWN
format {
w: 468
h: 60
}
format {
w: 300
h: 50
}
}
displaymanager: "GOOGLE"
tagid: "1614017459"
bidfloor: 0.01
bidfloorcur: "USD"
secure: true
exp: 3600
metric {
type: "viewability"
value: 0.25
vendor: "EXCHANGE"
}
metric {
type: "session_depth"
value: 1.0
vendor: "EXCHANGE"
}
[com.google.doubleclick.imp] {
billing_id: 51570472186
dfp_ad_unit_code: "/2336960/google/test"
ampad: AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
excluded_creatives {
buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
}
open_bidding {
is_open_bidding: true
}
creative_enforcement_settings {
policy_enforcement: POLICY_ENFORCEMENT_PLATFORM_POLICY
publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_OVERRIDDEN
}
auction_environment: SERVER_SIDE_AUCTION
ae: SERVER_SIDE_AUCTION
}
}
site {
page: "https://www.google.com"
publisher {
id: "pub-1111111111111111"
[com.google.doubleclick.publisher] {
country: "US"
}
}
content {
livestream: false
language: "en"
}
[com.google.doubleclick.site] {
amp: DIALECT_HTML
page_visibility: VISIBILITY_STATE_VISIBLE
inventorypartnerdomain: "OMITTED"
}
}
device {
ua: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36"
geo {
lat: 0.0
lon: 0.0
country: "IND"
region: "IN-UP"
type: IP
utcoffset: 330
accuracy: 8141
}
ipv6: "2409:4053:401::"
os: "X11"
devicetype: PERSONAL_COMPUTER
lmt: false
pxratio: 2.0
sua {
browsers {
brand: "Google Chrome"
version: "123"
version: "0"
}
browsers {
brand: "Not:A-Brand"
version: "8"
version: "0"
}
platform {
brand: "Linux"
}
mobile: false
architecture: "x86"
bitness: "64"
source: CLIENT_HINTS_HIGH_ENTROPY
}
}
user {
id: "k5953o8KM7C3P2t45EoXQN6273h"
buyeruid: "i8VSc4u14C8hQCB3e6Tm8Od7z1S0542c"
customdata: "08135N21ki8nbhM99rBJEGsU9kO5Mr99Hs10eeh3M8tn1o3q"
[com.google.doubleclick.user] {
idage: 2592000
}
}
at: FIRST_PRICE
tmax: 300
cur: "USD"
source {
schain {
complete: true
nodes {
asi: "testssp.com"
sid: "pub-1111111111111111"
hp: true
}
nodes {
asi: "testssp.com"
sid: "pub-1111111111111111"
hp: true
}
ver: "1.0"
}
}
[com.google.doubleclick.bid_request] {
google_query_id: "ANy-z0q198-VH9uWi641a7Nr5j1TA39TZM09b659F35vRZhyf532904TZ7cR3UPC71174eAi"
fcap_scope: FREQUENCY_CAPPING_SCOPE_BROWSER
}
קובץ JSON של OpenRTB
אני רוצה לראות את הדוגמה
{
"id": "219DAI11M3120s2d8M4xgR",
"imp": [
{
"id": "1",
"banner": {
"w": 300,
"h": 250,
"pos": 3,
"battr": [
6,
7
],
"wmax": 300,
"hmax": 250,
"wmin": 200,
"hmin": 200,
"format": [
{
"w": 300,
"h": 250
},
{
"w": 200,
"h": 200
}
]
},
"displaymanager": "GOOGLE",
"tagid": "7820275329",
"bidfloor": 0.08,
"bidfloorcur": "USD",
"secure": 1,
"exp": 3600,
"metric": [
{
"type": "click_through_rate",
"value": 0.00022253872884903103,
"vendor": "EXCHANGE"
},
{
"type": "viewability",
"value": 0.01,
"vendor": "EXCHANGE"
}
],
"ext": {
"billing_id": [
"54460865479"
],
"publisher_settings_list_id": [
"5406346852112173352",
"7576925985766584885"
],
"allowed_vendor_type": [
3,
42
],
"ampad": 3,
"excluded_creatives": [
{
"buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"allowed_restricted_category": [
32,
33
],
"creative_enforcement_settings": {
"policy_enforcement": 2,
"publisher_blocks_enforcement": 1
},
"auction_environment": 0,
"ae": 0
}
}
],
"site": {
"page": "https://www.google.com",
"publisher": {
"id": "pub-1111111111111111",
"ext": {
"country": "GB"
}
},
"content": {
"livestream": 0,
"language": "en"
},
"mobile": 1,
"ext": {
"amp": 0,
"page_visibility": 1,
"inventorypartnerdomain": "OMITTED"
}
},
"device": {
"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Mobile Safari/537.36",
"ip": "192.168.1.0",
"geo": {
"lat": 0.0,
"lon": 0.0,
"country": "GBR",
"region": "GB-ENG",
"city": "Leeds",
"type": 2,
"utcoffset": 60,
"accuracy": 7356
},
"carrier": "70062",
"make": "Apple",
"model": "iphone",
"os": "iOS",
"osv": "17.4.1",
"devicetype": 4,
"lmt": 0,
"w": 393,
"h": 852,
"pxratio": 3,
"sua": {
"browsers": [
{
"brand": "Mozilla",
"version": [
"5",
"0"
]
},
{
"brand": "AppleWebKit",
"version": [
"605",
"1"
]
}
],
"platform": {
"brand": "iPhone",
"version": [
"17",
"4"
]
},
"mobile": 1,
"bitness": "64",
"model": "iPhone",
"source": 3
},
},
"user": {
"ext": {
"consented_providers_settings": {
"consented_providers": [
"1800",
"2878"
],
"additional_consent": "OMITTED"
},
"consent": "OMITTED"
}
},
"at": 1,
"tmax": 300,
"cur": [
"USD"
],
"bcat": [
"IAB23-5",
"IAB23-7"
],
"regs": {
"ext": {
"gdpr": 1
}
},
"source": {
"schain": {
"complete": 1,
"nodes": [
{
"asi": "testssp.com",
"sid": "pub-1111111111111111",
"hp": 1
}
],
"ver": "1.0"
},
"ext": {
"schain": {
"complete": 1,
"nodes": [
{
"asi": "testssp.com",
"sid": "pub-1111111111111111",
"hp": 1
}
],
"ver": "1.0"
}
}
},
"ext": {
"google_query_id": "ANy-z1n326-9P8x09i2I5f85oXp7N1r61w0p681H008U29MK56111D9VJn1nRRp4P7eB5Y9H",
"fcap_scope": 5,
"privacy_treatments": {
"allow_user_data_collection": 1
}
}
}
Google (הוצאה משימוש)
אני רוצה לראות את הדוגמה
id: "\2509\326c\203\245\3079!\301\334U\316Wz\240_\252\367S\230)\303"
user_agent: "Mozilla/5.0 (Linux; Android 10; SM-J610FN; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/123.0.0.0 Mobile Safari/537.36 (Mobile)"
url: "https://www.google.com"
detected_language: "fr"
adslot {
id: 1
width: 320
width: 300
height: 50
height: 50
excluded_attribute: 22
excluded_attribute: 95
allowed_vendor_type: 3
allowed_vendor_type: 42
excluded_sensitive_category: 36
excluded_sensitive_category: 19
matching_ad_data {
billing_id: 30279159795
billing_id: 91462636804
minimum_cpm_micros: 520000
}
matching_ad_data {
billing_id: 20531517860
billing_id: 81128918204
minimum_cpm_micros: 40000
}
slot_visibility: ABOVE_THE_FOLD
excluded_product_category: 10159
ad_block_key: 1008473386
publisher_settings_list_id: 2398179148724909589
publisher_settings_list_id: 2783982084227045767
excluded_creatives {
buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
}
viewability: 99
allowed_ad_types: ALLOWED_AD_TYPE_BANNER
is_amp_page: DIALECT_HTML
amp_ad_requirement_type: AMP_AD_NOT_ALLOWED
consented_providers_settings {
consented_providers: 976
consented_providers: 1127
additional_consent_string: "OMITTED"
}
regs_gdpr: true
api: OMID_1
api: MRAID_1
flexible_adslot_settings {
max_width: 320
max_height: 50
min_width: 214
min_height: 33
}
omidpn: "Google"
omidpv: "afma-sdk-a-v240304999.12451000.1"
creative_enforcement_settings {
policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment: SERVER_SIDE_AUCTION
impression_expiration_seconds: 3600
supported_auction_environment: SERVER_SIDE_AUCTION
}
is_test: false
timezone_offset: 120
mobile {
app_id: "com.google.testapp"
is_app: true
app_name: "Test App"
app_rating: 4.2959895
}
postal_code: "10011"
geo_criteria_id: 1001400
publisher_type: PUBLISHER_OWNED_AND_OPERATED
device {
device_type: HIGHEND_PHONE
platform: "android"
brand: "Samsung"
model: "SM-J610FN"
os_version {
major: 10
}
carrier_id: 0
screen_width: 412
screen_height: 798
screen_pixel_ratio_millis: 1750
screen_orientation: PORTRAIT
limit_ad_tracking: false
connection_type: WIFI
}
publisher_country: "DE"
publisher_id: "pub-1111111111111111"
response_deadline_ms: 1000
google_query_id: "ANy-zlKU2N-bX715350yWM17iAQg20R03ek41611E29hE35cvag5h91O1gYs9308t71bZ9k7"
auction_type: FIRST_PRICE
geo {
lat: 50.46
lon: 4.85
country: "BEL"
region: "BE-WNA"
city: "Namur"
zip: "5000"
utcoffset: 120
accuracy: 7471
}
user_agent_data {
platform {
brand: "Android"
version: "10"
}
mobile: true
model: "SM-J610FN"
browsers {
brand: "Mozilla"
version: "5"
version: "0"
}
browsers {
brand: "AppleWebKit"
version: "537"
version: "36"
}
source: USER_AGENT_STRING
}
supply_chain {
complete: true
nodes {
advertising_system_identifier: "testdomain.com"
seller_identifier: "pub-1111111111111111"
handles_payment: true
}
version: "1.0"
}
frequency_capping_scope: FREQUENCY_CAPPING_SCOPE_NONE
privacy_treatments {
ip: IP_REDACTED
user_agent: USER_AGENT_COARSENED
non_personalized_ads_reason: PUBLISHER_DECLARED_NPA
allow_user_data_collection: false
device_storage_restriction_reason: INSUFFICIENT_USER_CONSENT
}
inventory_partner_domain: "OMITTED"
כדי להמיר את בקשת הצעת המחיר לפורמט בינארי, כמו שמקבלים מהמטען הייעודי (payload) של ה-POST בבקשה אמיתית, אפשר לבצע את הפעולות הבאות (ב-C++). עם זאת, חשוב לזכור שהשיטה הזו לא רלוונטית ל-JSON של OpenRTB.
string text_format_example = /* example from above */;
BidRequest bid_request;
if (TextFormat::ParseFromString(text_format_example, &bid_request)) {
string post_payload;
if (bid_request.SerializeToString(&post_payload)) {
// post_payload is a binary serialization of the protocol buffer
}
}
משוב בזמן אמת
משוב בזמן אמת זמין גם ל-Authorized Buyers
זירות מסחר ורשתות שמשתמשות ב-Open Bidding.
אפשר לקבל משוב על תגובות לבידינג בבקשת הבידינג הבאה גם ב-OpenRTB וגם בפרוטוקול Google RTB שהוצא משימוש. ב-OpenRTB, הוא נשלח ב-BidRequest.ext.bid_feedback
.
בנוסף לשדות ברירת המחדל שנשלחים במשוב על תגובת הצעת המחיר, אפשר גם לשלוח נתונים מותאמים אישית בתגובת הצעת המחיר באמצעות השדה BidResponse.seatbid.bid.ext.event_notification_token
.
event_notification_token
הוא נתונים שרירותיים שידועים רק
מגיש הצעות מחיר שעשוי לעזור בניפוי באגים, לדוגמה: מזהה טירגוט חדש או
מזהה לבידינג שמייצג טקטיקה חדשה, או מטא-נתונים שמשויכים לקריאייטיב
שידוע רק למגיש הצעות המחיר. פרטים נוספים זמינים במאמר
מאגר אחסון לפרוטוקולים של OpenRTB
עבור OpenRTB או
פרוטוקול Google RTB .
אזהרה: אם הגדרתם נקודות קצה לבידינג לשימוש ב-OpenRTB וב-Google RTB, קיימת בעיה ידועה שבה הערך של event_notification_token
שמוגדר בתגובה להצעת מחיר בפרוטוקול אחד יכול להופיע בתגובת משוב להצעת מחיר בפרוטוקול השני. עליך להגדיר את event_notification_token
בתגובה של הצעת המחיר למחרוזת UTF-8 בשני הפרוטוקולים, אחרת
בקשות להצעות מחיר, כולל האסימון, עלולות להיכשל ולהיכשל ולא להגיע אל
נקודות קצה (endpoints).
כשמערכת 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;
// 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;
// The minimum bid value necessary to have 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 did not
// win the auction, this is the winning candidate's bid. This field will
// only be populated if your bid participated in a first-price auction, and
// will not be populated if your bid was filtered prior to the auction.
optional double minimum_bid_to_win = 6;
// The minimum bid value necessary to have won the server-side component of
// the overall auction given that there was also an interest group bidding
// component to the overall auction which ran using the Protected Audience
// API. The value is expressed in CPM of the buyer account currency. The
// minimum bid to win for the overall auction, including bids from the
// server-side and the on-device interest group components, is populated in
// the minimum_bid_to_win field of the same BidFeedback object.
optional double sscminbidtowin = 14;
// Billable event rate multiplier that was applied to this bid during
// ranking. The adjustment reflects the likelihood that your bid would
// generate a billable event (namely, the ad renders successfully) if it won
// the auction, relative to the probability that other bids generate a
// billable event if they won the auction. This adjustment can be larger or
// smaller than 1. This affects the final ranking in the auction only; in
// particular, this multiplier does not affect the payment or whether the
// bid clears any floor price.
optional float billable_event_rate_bid_adjustment = 13 [default = 1];
// When a publisher uses an RTB auction and waterfall-based SDK mediation on
// the same query, the winner of the real-time auction must also compete in
// a mediation waterfall (which is ordered by price) to win the impression.
// If the bid participated in the auction and there was no waterfall, the
// value of this field is 0. If the bid participated in the auction and
// there was a waterfall, the value of this field is a price representing a
// sample bid from the eligible mediation networks that were higher than the
// auction winner, weighted by expected fill rate. This field can be used
// in conjunction with minimum_bid_to_win to train bidding models. The CPM
// is in your account currency.
optional double sampled_mediation_cpm_ahead_of_auction_winner = 8;
message EventNotificationToken {
// The contents of the token.
optional string payload = 1;
}
// The token included in the corresponding bid.
optional EventNotificationToken event_notification_token = 4;
// The creative ID included in the corresponding bid.
optional string buyer_creative_id = 5;
// Possible types of bid response feedback objects.
enum FeedbackType {
FEEDBACK_TYPE_UNSPECIFIED = 0;
// Feedback for a bid that was submitted on a bid response.
BID_FEEDBACK = 1;
// Feedback for an interest group buyer submitted on a bid response to
// particpate in an interest group bidding component of the auction run
// using the Protected Audience API.
INTEREST_GROUP_BUYER_FEEDBACK = 2;
}
// The type of the BidFeedback message. Google will send separate
// BidFeedback objects for:
// a) Each bid submitted on a bid response
// b) Each buyer submitted on a bid response to particpate in an interest
// group bidding component of the auction run using the Protected Audience
// API.
optional FeedbackType feedbacktype = 15;
// Origin of an interest group buyer that was included in the bid response.
// This field is populated only for feedback where a bidder opted in an
// interest group buyer to participate in the interest group bidding
// component of the overall auction run using the Protected Audience API.
// To learn more about origins, see https://www.rfc-editor.org/rfc/rfc6454.
// To learn more about interest group bidding and the Protected Audience
// API, see
// https://developers.google.com/authorized-buyers/rtb/fledge-origin-trial.
optional string buyerorigin = 16;
// The status code for the submitted interest group buyer. This field is
// only populated in the feedback for an interest group buyer that a bidder
// requested to enter into the interest group auction through the bid
// response. Individual creative status codes of bids submitted by the buyer
// in the on-device interest group auction are not available. See
// https://storage.googleapis.com/adx-rtb-dictionaries/interest-group-buyer-status-codes.txt
// for a list of interest group buyer status codes.
optional int32 igbuyerstatus = 17;
}
בהודעה הזו, השדה הראשון שצריך לבדוק הוא
bid_feedback.creative_status_code
; אפשר למצוא את הקוד
כלומר ב
Creative-status-codes.txt . לתשומת ליבכם: אם זכיתם בהצעת המחיר, תוכלו לבטל את ההסכמה
מהמשוב על המחיר. אפשר לקרוא מידע נוסף במאמר איך
לביטול ההסכמה .
המשוב בזמן אמת כולל את מזהה הבקשה להצעת מחיר ואחת מהאפשרויות הבאות:
תוצאת המכרז
משוב בזמן אמת
הקונה לא הגיש הצעת מחיר.
שום דבר.
הקונה שלח הצעת מחיר שסוננה לפני שהגיעה
המכרז.
קוד הסטטוס של הקריאייטיב (creative-status-codes.txt ).
הקונה שלח הצעת מחיר אבל הפסיד במכרז.
קוד הסטטוס של הקריאייטיב 79
(הצעת מחיר גבוהה יותר ב-
מכירה פומבית).
הקונה שלח הצעת מחיר שזכתה במכרז.
קוד האישור של מחיר האישור וקוד הסטטוס של הקריאייטיב 1
.
אם מדובר בחשיפת אפליקציה עם קוד סטטוס קריאייטיב 83
, יכול להיות שבעל האפליקציה השתמש במפל מודעות לבחירת רשת (Mediation Waterfall), ולכן הצעת המחיר הזוכה התחרה בביקוש אחר בשרשרת המפל של ה-passback של בעל האפליקציה. איך משתמשים
sampled_mediation_cpm_ahead_of_auction_winner
כאשר
בידינג .
דוגמה
הדוגמה הבאה היא של משוב בזמן אמת, כפי שאפשר לראות ב
פרוטוקולים:
OpenRTB Protobuf
אני רוצה לראות את הדוגמה
id: "Wa0N08928Q93A1985Aj71s"
imp {
id: "1"
banner {
w: 428
h: 846
pos: AD_POSITION_FULLSCREEN
expdir: LEFT
expdir: RIGHT
expdir: UP
expdir: DOWN
api: MRAID_1
api: MRAID_2
format {
w: 428
h: 846
}
format {
w: 414
h: 736
}
}
displaymanager: "GoogleMobileAds-iOS"
displaymanagerver: "10.12.0"
instl: true
tagid: "7674739358"
bidfloor: 0.01
bidfloorcur: "USD"
secure: true
exp: 3600
clickbrowser: true
metric {
type: "click_through_rate"
value: 0.12990431487560272
vendor: "EXCHANGE"
}
metric {
type: "viewability"
value: 0.91
vendor: "EXCHANGE"
}
[com.google.doubleclick.imp] {
billing_id: 25325587657
ampad: AMP_AD_NOT_ALLOWED
open_bidding {
is_open_bidding: true
}
skadn {
sourceapp: "com.google.testapp"
skadnetids: "M8jiSyxV"
skadnetids: "lZ95E155"
versions: "2.0"
versions: "2.1"
fidelities: VIEW_THROUGH_ADS
fidelities: STOREKIT_RENDERED_ADS
}
creative_enforcement_settings {
policy_enforcement: POLICY_ENFORCEMENT_PLATFORM_POLICY
publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_OVERRIDDEN
}
auction_environment: SERVER_SIDE_AUCTION
ae: SERVER_SIDE_AUCTION
}
}
app {
name: "Test App"
bundle: "com.google.testapp"
publisher {
id: "pub-7874601938215096"
[com.google.doubleclick.publisher] {
country: "CN"
}
}
content {
url: "https://www.google.com"
livestream: false
language: "en"
}
storeurl: "https://www.google.com"
[com.google.doubleclick.app] {
inventorypartnerdomain: "OMITTED"
}
}
device {
ua: "Mozilla/5.0 (iPhone; CPU iPhone OS 16_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
ip: "192.168.1.0"
geo {
lat: 0.0
lon: 0.0
country: "MYS"
region: "MY-13"
city: "Kuching"
zip: "93350"
type: IP
utcoffset: 480
accuracy: 3372
}
make: "Apple"
model: "iPhone14,3"
os: "iOS"
osv: "16.3.1"
connectiontype: WIFI
devicetype: HIGHEND_PHONE
lmt: true
hwv: "iPhone14,3"
w: 428
h: 926
pxratio: 3.0
sua {
browsers {
brand: "Mozilla"
version: "5"
version: "0"
}
browsers {
brand: "AppleWebKit"
version: "605"
version: "1"
}
platform {
brand: "iPhone"
version: "16"
version: "3"
}
mobile: true
bitness: "64"
model: "iPhone"
source: USER_AGENT_STRING
}
[com.google.doubleclick.device] {
atts: 2
}
}
at: FIRST_PRICE
tmax: 1000
cur: "USD"
source {
schain {
complete: true
nodes {
asi: "testssp.com"
sid: "pub-1111111111111111"
hp: true
}
ver: "1.0"
}
[com.google.doubleclick.source] {
omidpn: "Google"
omidpv: "afma-sdk-i-v10.12.0"
schain {
complete: 1
nodes {
asi: "testssp.com"
sid: "pub-1111111111111111"
hp: 1
}
ver: "1.0"
}
}
}
[com.google.doubleclick.bid_request] {
bid_feedback {
request_id: "0I3TcIJ0r6cmPH750Be7b1"
creative_status_code: 79
event_notification_token {
payload: "token"
}
buyer_creative_id: "test_creative_id_151612"
minimum_bid_to_win: 0.14
sampled_mediation_cpm_ahead_of_auction_winner: 2.222233
feedbacktype: BID_FEEDBACK
}
google_query_id: "ANy-zv49ep-83k2i3iDL3q449a2D1l824ye020uBq6B1wnPqWz1657JQ4LF11N71794cU0n9"
fcap_scope: FREQUENCY_CAPPING_SCOPE_APP
}
קובץ JSON של OpenRTB
אני רוצה לראות את הדוגמה
{
"id": "B2zmta620ms2392240eM5R",
"imp": [
{
"id": "1",
"banner": {
"w": 300,
"h": 250,
"pos": 3,
"wmax": 300,
"hmax": 250,
"wmin": 0,
"hmin": 46,
"format": [
{
"w": 300,
"h": 250
},
{
"w": 180,
"h": 150
}
]
},
"displaymanager": "GOOGLE",
"tagid": "3178683015",
"bidfloor": 0.06,
"bidfloorcur": "USD",
"secure": 1,
"exp": 3600,
"metric": [
{
"type": "click_through_rate",
"value": 0.0010899954941123724,
"vendor": "EXCHANGE"
},
{
"type": "viewability",
"value": 0.28,
"vendor": "EXCHANGE"
}
],
"ext": {
"billing_id": [
"76252023422"
],
"publisher_settings_list_id": [
"7226782477948422193",
"2459752148771775747"
],
"allowed_vendor_type": [
3,
42
],
"ampad": 3,
"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": "TR"
}
},
"content": {
"livestream": 0,
"language": "tr"
},
"ext": {
"amp": 0,
"page_visibility": 1,
"inventorypartnerdomain": "OMITTED"
}
},
"device": {
"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
"ip": "192.168.1.0",
"geo": {
"lat": 0.0,
"lon": 0.0,
"country": "TUR",
"region": "TR-01",
"city": "Adana",
"type": 2,
"utcoffset": 180,
"accuracy": 7060
},
"os": "Windows",
"devicetype": 2,
"lmt": 0,
"pxratio": 1.25,
"sua": {
"browsers": [
{
"brand": "Chromium",
"version": [
"124",
"0"
]
},
{
"brand": "Google Chrome",
"version": [
"124",
"0"
]
}
],
"platform": {
"brand": "Windows",
"version": [
"7",
"0"
]
},
"mobile": 0,
"architecture": "x86",
"bitness": "64",
"source": 2
},
},
"at": 1,
"tmax": 300,
"cur": [
"USD"
],
"bcat": [
"IAB23-6",
"IAB23-8"
],
"source": {
"schain": {
"complete": 1,
"nodes": [
{
"asi": "testssp.com",
"sid": "pub-1111111111111111",
"hp": 1
}
],
"ver": "1.0"
},
"ext": {
"schain": {
"complete": 1,
"nodes": [
{
"asi": "testssp.com",
"sid": "pub-1111111111111111",
"hp": 1
}
],
"ver": "1.0"
}
}
},
"ext": {
"bid_feedback": [
{
"request_id": "0S7s2muW9tFzp8zl35u97n",
"creative_status_code": 80,
"event_notification_token": {
"payload": "token"
},
"buyer_creative_id": "test_creative_id_383532",
"minimum_bid_to_win": 0.01,
"feedbacktype": 1
}
],
"google_query_id": "ANy-z3QP2f-48p8d0ucFkGmd99q36HPgSg4o8b89L0989N0RoS0x56mYMJd4087NT0d21W99",
"fcap_scope": 5,
"privacy_treatments": {
"allow_user_data_collection": 1
}
}
}
Google (הוצאה משימוש)
אני רוצה לראות את הדוגמה
id: "(\001\334X\nH\034\230.\244 R/\370\204/\270\265\255H\322h\366"
ip: "\300\250"
user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
url: "https://www.google.com"
detected_language: "en"
adslot {
id: 1
width: 320
height: 50
excluded_attribute: 18
excluded_attribute: 27
allowed_vendor_type: 485
allowed_vendor_type: 4648
excluded_sensitive_category: 4
excluded_sensitive_category: 23
matching_ad_data {
billing_id: 18273476630
billing_id: 57564954457
minimum_cpm_micros: 634720000
}
matching_ad_data {
billing_id: 51346235308
billing_id: 16770443752
minimum_cpm_micros: 4037930000
}
slot_visibility: ABOVE_THE_FOLD
ad_block_key: 5409661012
publisher_settings_list_id: 8938951914739109978
excluded_creatives {
buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
}
viewability: 94
click_through_rate: 0.0002517347
allowed_ad_types: ALLOWED_AD_TYPE_BANNER
is_amp_page: DIALECT_HTML
amp_ad_requirement_type: AMP_AD_NOT_ALLOWED
session_depth: 1
api: OMID_1
api: MRAID_1
omidpn: "Google"
omidpv: "afma-sdk-i-v8.13.0"
creative_enforcement_settings {
policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment: SERVER_SIDE_AUCTION
impression_expiration_seconds: 3600
supported_auction_environment: SERVER_SIDE_AUCTION
display_manager: "GoogleMobileAds-iOS"
display_manager_version: "8.13.0"
}
is_test: false
cookie_version: 1
google_user_id: "qM75u4Pq2e1DYmuo3J1w534y786"
timezone_offset: -300
mobile {
app_id: "549642335"
is_app: true
encrypted_advertising_id: "\357\005\250`f\022\357Y\372$\177\005\325\036\334a]\241\014\367g_\032\262w,nG\265\312:Iw\037\347y"
app_name: "Test App"
advertising_id: "\272\026\206F\222\250\re\253\350G\235\241h\303\271"
}
cookie_age_seconds: 20736000
postal_code: "10011"
geo_criteria_id: 9012672
publisher_settings_list_id: 3625423117835077640
bid_response_feedback {
request_id: "\220\366\320/\025\000Z\212K\"\020\364\232\247\326Q"
creative_status_code: 80
event_notification_token: "token"
buyer_creative_id: "test_creative_id_180631"
minimum_bid_to_win: 11650000
feedback_type: BID_FEEDBACK
}
publisher_type: PUBLISHER_OWNED_AND_OPERATED
partner_id: 7759509030857009145
device {
device_type: HIGHEND_PHONE
platform: "iphone"
brand: "Apple"
model: "iPhone13,2"
os_version {
major: 16
minor: 6
}
carrier_id: 0
screen_width: 390
screen_height: 844
screen_pixel_ratio_millis: 3000
screen_orientation: PORTRAIT
hardware_version: "iPhone13,2"
limit_ad_tracking: false
app_tracking_authorization_status: AUTHORIZED
connection_type: WIFI
}
publisher_country: "US"
publisher_id: "pub-1111111111111111"
response_deadline_ms: 1000
google_query_id: "ANy-z8184S-12cH23V6vlS7A862Qr799b3g4uh5Y8a21SDWf3XC22u9KS5KSn1053a97039y"
auction_type: FIRST_PRICE
geo {
lat: 34.37
lon: -87.44
country: "USA"
region: "AL"
metro: "691"
zip: "35651"
utcoffset: -300
accuracy: 7879
}
user_agent_data {
platform {
brand: "iPhone"
version: "16"
version: "6"
}
mobile: true
model: "iPhone"
browsers {
brand: "Mozilla"
version: "5"
version: "0"
}
browsers {
brand: "AppleWebKit"
version: "605"
version: "1"
}
bitness: "64"
source: USER_AGENT_STRING
}
supply_chain {
complete: true
nodes {
advertising_system_identifier: "testdomain.com"
seller_identifier: "pub-1111111111111111"
handles_payment: true
}
version: "1.0"
}
frequency_capping_scope: FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection: true
}
inventory_partner_domain: "OMITTED"
יצירת מודל בידינג למכרזים עם מחיר ראשון
אחרי שליחת הצעת מחיר במכרז במודל 'מחיר ראשון', תקבלו משוב בזמן אמת, כולל השדות minimum_bid_to_win
ו-sampled_mediation_cpm_ahead_of_auction_winner
, אם הצעת המחיר לא סוננה מהמכרז. אפשר להשתמש באותות האלה כדי לעדכן את הלוגיקה של הבידינג לגבי מידת העלייה או הירידה שאפשר היה לבצע בהצעת המחיר כדי לזכות בחשיפה.
minimum_bid_to_win
: הצעת המחיר המינימלית שיכול להיות
כדי לזכות במכרז הבידינג בזמן אמת. אם זכית במכרז,
תהיה הצעת המחיר הנמוכה ביותר שהייתם יכולים להגיש תוך כדי זכייה. אם הפסדתם את המכרז, זו תהיה הצעת המחיר הזוכה.
sampled_mediation_cpm_ahead_of_auction_winner
: אם יש
ברשתות אחרות בשרשרת לבחירת רשת ,
בשדה זה הוא מחיר שמייצג הצעת מחיר לדוגמה של
רשתות כשירות בתהליך בחירת הרשת, שהיו גבוהות יותר מהזוכה במכרז, שקלול
לפי קצב המילוי הצפוי. הערך יוגדר ל-0 אם אף אחת מהרשתות
שרשרת לבחירת רשת צפויה להתמלא, או אם בעל האפליקציה לא משתמש ב-SDK
בתהליך בחירת הרשת.
איך זה עובד
כדי לתאר את החישובים המשמשים לקביעת הערכים האפשריים
למשך minimum_bid_to_win
ו-
sampled_mediation_cpm_ahead_of_auction_winner
, קודם אנחנו צריכים
להגדיר את הדברים הבאים:
העלות לאלף חשיפות בשרשרת תהליך בחירת הרשת (Mediation) מופיעה בהמשך בסדר יורד:
\[C_1, C_2, …, C_n\]
בטבלה הבאה מוצגים שיעורי המילוי התואמים של העלות לאלף חשיפות בשרשרת בחירת הרשת:
\[f_1, f_2, …, f_n\]
זוהי פונקציה שמשמשת לקביעת העלות הצפויה לאלף חשיפות והסבירות שלה מרכיב שרשרת בחירת הרשת \(i\), על סמך שיעור המילוי שצוין:
\(X_i = \{C_i\) עם סבירות \(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\}\)
נניח שבעל אפליקציה משתמש גם בבידינג בזמן אמת וגם בשרשרת בחירת רשת של SDK באופן הבא:
שרשרת לבחירת רשת (Mediation) ב-SDK
עלות צפויה לאלף חשיפות
קצב מילוי
רשת 1
\(C_1 = $3.00\)
\(f_1 = 5\%\)
רשת 2
\(C_2 = $2.00\)
\(f_2 = 45\%\)
רשת 3
\(C_3 = $0.50\)
\(f_3 = 80\%\)
רשת 4
\(C_4 = $0.10\)
\(f_4 = 85\%\)
נניח את הדברים הבאים כתוצאה מהמכרז ב-RTB:
מכרז RTB
עלות לאלף חשיפות (CPM)
הזוכה במכרז (W)
4 ש"ח
המשתתף שהגיע למקום השני במכרז (R)
$0.05
מחיר הזמנה / קומה (F)
0$
הצעת המחיר שזכתה במכרז
הדוגמה הבאה ממחישה איך ערכים והסתברויות של
minimum_bid_to_win
והקבוצה
sampled_mediation_cpm_ahead_of_auction_winner
מחושבים עבור
זו שזכתה.
minimum_bid_to_win
Probability
\(max(F, R, C_3) = $0.50\)
\(f_3 = 80\%\)
\(max(F, R, C_4) = $0.10\)
\((1-f_3) \cdot f_4 = 17\%\)
\(max(F, R, 0) = $0.05\)
\((1-f_3) \cdot (1-f_4) = 3\%\)
sampled_mediation_cpm_ ahead_of_auction_winner
Probability
\(C_1 = $3.00\)
\(f_1 \div (1-(1-f_1) \cdot (1-f_2)) =~ 10.5\%\)
\(C_2 = $2.00\)
\(((1-f_1) \cdot f_2) \div (1-(1-f_1) \cdot (1-f_2)) =~ 89.5\%\)
הערה: אם המשתתף שזכה במכרז מציג את המודעה שלו ומקבל התראה על חיוב – לדוגמה, דרך נקודת קצה שצוינה ב-BidResponse.seatbid[].bid[].burl
– הוא יכול להסיק שאף אחת מהעלויות לאלף חשיפות שנדגמו בתהליך בחירת הרשת לא הובילה להצגת מודעה, ויכול לכלול את התדירות שבה המצב הזה מתרחש במודל שלו.
הצעות מחיר שהפסידו במכרז
הדוגמה הבאה ממחישה איך ערכים והסתברויות של
minimum_bid_to_win
והקבוצה
sampled_mediation_cpm_ahead_of_auction_winner
מחושבים עבור
שהפסידו.
minimum_bid_to_win
Probability
\(max(F, W) = $1.00\)
\(100\%\)
sampled_mediation_cpm_ ahead_of_auction_winner
Probability
\(C_1 = $3.00\)
\(f_1 = 5\%\)
\(C_2 = $2.00\)
\((1-f_1) \cdot f_2 =~ 42.8\%\)
\(0\)
\((1-f_1) \cdot (1-f_2) =~ 52.2\%\)
הערה: אם הערך של sampled_mediation_cpm_ahead_of_auction_winner
הוא 0, סימן שהבידינג במכרז בזמן אמת זכה. בדוגמה שלמעלה, צפוי ש-52.2% מהזמן הזוכה במכרז לא יהיה גבוה מהצעת המחיר של רשת בחירת רשתות מתחרה.
פיצול הצעת מחיר
איחוד של הצעת המחיר מתאר את העיבוד של רכיב מורכב
BidRequest
בכמה בקשות להצעות מחיר שנשלחות
תרגום מכונה. כשבקשה להצעת מחיר נדחית, אפשר לדעת אילו בקשות להצעת מחיר
היו חלק מהמקור, כי יהיה להם ערך זהה
שדה BidRequest.ext.google_query_id
.
יישור הצעות המחיר מופעל כברירת מחדל, אבל אם אתם מעדיפים להשבית אותו, תוכלו לפנות למנהל החשבון שלכם.
בחלק מהזדמנויות להצגת מודעות אפשר להשתמש בכמה פורמטים. כשמשתמשים בקיפול הצעות המחיר, כל פורמט נשלח בבקשת הצעה נפרדת, שבה מאפיינים כמו מזהי חיוב שעומדים בדרישות רלוונטיים לפורמט שצוין בבקשה.
בקשות להצעת מחיר שמכילות את הפורמטים הבאים יוחלפו
בקשות נפרדות להצעת מחיר:
בהמשך מוצגת דוגמה לבקשת הצעת מחיר פשוטה בפורמט JSON של OpenRTB ללא שטחת פורמט מודעה, בהשוואה לקבוצה מקבילה של בקשות שטוחות:
יישור מראש
אני רוצה לראות את הדוגמה
{
"id": "V5ar1wXqKP58nbsyJ6549D",
"imp": [
{
"id": "1",
"video": {
"linearity": 1,
"w": 300,
"h": 250,
"pos": 1,
"skip": 1,
"playbackmethod": [
6
],
"placement": 3,
"mimes": [
"video/mp4"
],
"protocols": [
2,
3
]
},
"banner": {
"format": [
{
"w": 300,
"h": 250
}
],
"w": 300,
"h": 250,
"pos": 1
},
"ext": {
"billing_id": [
47039494050,
52030317241
]
}
}
],
"ext": {
"google_query_id": "ANy-zdp266-244itJsom3dmXb7SvW1IPg6478g639g0867v1126w630F3M7lAp640H666744"
}
}
לאחר יישור
אני רוצה לראות את הדוגמה
בקשה 1
{
"id": "B3xr1yZqRL48nbsyJ6367N",
"imp": [
{
"id": "1",
"video": {
"linearity": 1,
"w": 300,
"h": 250,
"pos": 1,
"skip": 1,
"playbackmethod": [
6
],
"placement": 3,
"mimes": [
"video/mp4"
],
"protocols": [
2,
3
]
}
"ext": {
"billing_id": [
47039494050
]
}
],
"ext": {
"google_query_id": "ANy-zdp266-244itJsom3dmXb7SvW1IPg6478g639g0867v1126w630F3M7lAp640H666744"
}
}
בקשה 2
{
"id": "M1dY8qHyNK74bMsjF393Gf",
"imp": [
{
"id": "1",
"banner": {
"format": [
{
"w": 300,
"h": 250
}
],
"w": 300,
"h": 250,
"pos": 1
},
"ext": {
"billing_id": [
52030317241
]
}
}
],
"ext": {
"google_query_id": "ANy-zdp266-244itJsom3dmXb7SvW1IPg6478g639g0867v1126w630F3M7lAp640H666744"
}
}
מבצעים
הזדמנות להצגת מודעה שניתנת למגיש הצעות מחיר יכולה להתאים לעסקאות שונות
בנוסף למכירה הפומבית הפתוחה. עם התאמת הצעת מחיר לעסקאות, הצעת מחיר אחת
הבקשה תישלח למכרז הפתוח ואחת לכל סוג של מחיר קבוע
לעסקה. בפועל, אילוצי מודעות עשויים להשתנות בין מכרזים לבין מחיר קבוע
לדוגמה, עבור הזדמנות נתונה למודעת וידאו שזמינה
גם במכרז הפתוח וגם בעסקה במחיר קבוע, מגיש הצעות המחיר יקבל
לבקשות להצעות מחיר בכל אחת מהמגבלות, כמו משך זמן מקסימלי של מודעה,
מותרות מודעות שניתנות לדילוג שונות. כתוצאה מכך, הוחלה יישור על המודעה על המודעה
מאפשר לך להבחין בקלות רבה יותר במגבלות המודעות
במכרז ובמחיר קבוע.
הערה: למכרזים פרטיים ולחבילות שמשויכות למכרזים יהיו זהים
מגבלות במכרז הפתוח, והן ימשיכו להיכלל
לבקשות להצעת מחיר במכרז.
משך זמן מקסימלי של סרטון שניתן לדלג עליו
הפרוטוקול של Google וההטמעה של OpenRTB תומכים בשדות הבאים לגבי משך הווידאו והאפשרות לדלג עליו:
משך
משך הזמן שניתן לדלג עליו
אפשרות לדלג
פרוטוקול Google
max_ad_duration
skippable_max_ad_duration
video_ad_skippable
OpenRTB
maxduration
לא רלוונטי
skip
כלומר, למרות שבפרוטוקול של Google יכולה להיות אפשרות פרטנית שניתן לדלג עליה
ושלא ניתן לדלג עליהן, בהטמעת OpenRTB יש
ערך של משך זמן מקסימלי.
לפני יישור הצעות המחיר, השדה maxduration
ב-OpenRTB יוגדר לערך הנמוך מבין השדות max_ad_duration
ו-skippable_max_ad_duration
בפרוטוקול של Google. ההתנהגות הזו השתנתה עכשיו ל-
לשלוח שתי בקשות נפרדות להצעת מחיר כאשר הערכים האלו שונים: האחת מייצגת
maxduration
למודעה שניתן לדלג עליה, והקטגוריה השנייה למודעות שלא ניתן לדלג עליה
חדשות.
הדוגמאות הבאות מראות איך בקשה בפרוטוקול Google מתורגמת
ל-OpenRTB לפני ואחרי הקטנת הצעת המחיר. בבקשה המקבילה בפרוטוקול Google, הערך של max_ad_duration
הוא 15
והערך של skippable_max_ad_duration
הוא 60
.
דוגמה
max_ad_duration
skip
(true OR false)
הבקשה המקורית ללא חיתוך
15
true
בקשה מפוצלת מס' 1: מודעה שלא ניתן לדלג עליה
15
false
בקשה מפוצלת מס' 2: אפשר לדלג עליה
60
true
הקטנת הבקשה להצעת מחיר עבור משך הסרטון שניתן לדלג עליה תתבצע רק כאשר
התנאים הבאים מתקיימים:
הבקשה מאפשרת פרסום סרטונים.
מותר להשתמש גם בסרטוני דילוג וגם בסרטוני ללא דילוג, ושני הסרטונים המרביים המתאימים
פרקי הזמן שונים בערך שלהם.
הבקשה הזו מתאימה למכרז פרטי או למכרז פתוח.
בחשבון המגיש הצעות המחיר יש נקודות קצה פעילות של OpenRTB.
כדי לבטל את ההסכמה לסוג ההשטח הזה, אפשר לפנות אל
מנהל החשבון.
רצף סרטונים
בקשות להצעות מחיר של רצף סרטונים עם כמה הזדמנויות להצגת מודעות מוצגות בצורה רגילה, כך שכל בקשה להצעת מחיר היא עבור הזדמנות ספציפית להצגת מודעה ברצף הסרטונים הזה.
כך תוכלו להגיש הצעות מחיר למספר הזדמנויות להצגת מודעות בכל רצף מודעות.
Open Measurement
מדידה פתוחה מאפשרת לך לציין ספקי צד שלישי שמספקים
שירותי מדידה ואימות עצמאיים למודעות שמוצגות באפליקציה לנייד
בסביבות שונות.
אפשר לקבוע אם בעל אפליקציה תומך ב-Open Measurement בהצעת המחיר
בקשה להצגת מודעה, באמצעות בדיקה אם ההזדמנות להצגת מודעה מחריגה את המאפיין OmsdkType:
OMSDK 1.0
שנמצא ברשימה לא כולל בעל התוכן הדיגיטלי
מאפייני קריאייטיב . הוא נמצא בקטע battr
.
מאפיין עבור מודעת באנר
או וידאו , בהתאם
בפורמט.
מידע נוסף על פרשנות של בקשות להצעות מחיר שמכילות אותות של Open Measurement זמין במאמר במרכז העזרה בנושא Open Measurement SDK .
דוגמאות לבקשות להצעת מחיר
בקטעים הבאים מוצגות דוגמאות לבקשות להצעות מחיר עבור סוגי מודעות שונים.
באנר לאפליקציה
OpenRTB Protobuf
אני רוצה לראות את הדוגמה
id: "38V61KXKxB63Yk8o3G6P38"
imp {
id: "1"
banner {
w: 320
h: 50
pos: ABOVE_THE_FOLD
api: MRAID_1
api: MRAID_2
format {
w: 320
h: 50
}
}
displaymanager: "GoogleMobileAds-Android"
displaymanagerver: "22.6.0"
tagid: "6163632333"
bidfloor: 0.04
bidfloorcur: "USD"
secure: true
exp: 3600
clickbrowser: true
metric {
type: "click_through_rate"
value: 0.00265840464271605
vendor: "EXCHANGE"
}
metric {
type: "viewability"
value: 0.99
vendor: "EXCHANGE"
}
[com.google.doubleclick.imp] {
billing_id: 67427969102
publisher_settings_list_id: 4626521705809021216
publisher_settings_list_id: 8961571116051095682
allowed_vendor_type: 113
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"
}
creative_enforcement_settings {
policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment: SERVER_SIDE_AUCTION
ae: SERVER_SIDE_AUCTION
}
}
app {
name: "Test App"
bundle: "com.google.testapp"
publisher {
id: "pub-2997181131115025"
[com.google.doubleclick.publisher] {
country: "SG"
}
}
content {
url: "https://www.google.com"
userrating: "4.5"
livestream: false
language: "es"
}
storeurl: "https://www.google.com"
[com.google.doubleclick.app] {
inventorypartnerdomain: "OMITTED"
}
}
device {
ua: "Mozilla/5.0 (Linux; Android 14; SM-G998U Build/UP1A.231005.007; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/123.0.6312.118 Mobile Safari/537.36 (Mobile; afma-sdk-a-v241358038.241358038.0)"
ip: "192.168.1.0"
geo {
lat: 0.0
lon: 0.0
country: "SLV"
city: "Soyapango"
type: IP
utcoffset: -360
accuracy: 2669
}
make: "Samsung"
model: "SM-G998U"
os: "android"
osv: "14"
connectiontype: WIFI
devicetype: HIGHEND_PHONE
lmt: false
w: 384
h: 779
pxratio: 2.813
sua {
browsers {
brand: "Mozilla"
version: "5"
version: "0"
}
browsers {
brand: "AppleWebKit"
version: "537"
version: "36"
}
platform {
brand: "Android"
version: "14"
}
mobile: true
bitness: "64"
model: "SM-G998U"
source: USER_AGENT_STRING
}
}
at: FIRST_PRICE
tmax: 300
cur: "USD"
bcat: "IAB23-1"
bcat: "IAB7-36"
source {
schain {
complete: true
nodes {
asi: "testssp.com"
sid: "pub-1111111111111111"
hp: true
}
ver: "1.0"
}
[com.google.doubleclick.source] {
omidpn: "Google"
omidpv: "afma-sdk-a-v240304999.234310000.1"
schain {
complete: 1
nodes {
asi: "testssp.com"
sid: "pub-1111111111111111"
hp: 1
}
ver: "1.0"
}
}
}
[com.google.doubleclick.bid_request] {
google_query_id: "ANy-z128zE-MC22DP3W65flJoxSet5n2U738TRR92N5E76wd7Bh38KuU08Tyt67or0Od0b3q"
fcap_scope: FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection: true
}
}
קובץ JSON של OpenRTB
אני רוצה לראות את הדוגמה
{
"id": "r87mLfJ195K96b48857234",
"imp": [
{
"id": "1",
"banner": {
"w": 390,
"h": 61,
"pos": 1,
"api": [
3,
5
],
"wmax": 390,
"hmax": 61,
"wmin": 261,
"hmin": 46,
"format": [
{
"w": 390,
"h": 61
},
{
"w": 320,
"h": 50
}
]
},
"displaymanager": "GoogleMobileAds-iOS",
"displaymanagerver": "11.2.0",
"tagid": "2022397433",
"bidfloor": 0.04,
"bidfloorcur": "USD",
"secure": 1,
"exp": 3600,
"clickbrowser": 1,
"metric": [
{
"type": "click_through_rate",
"value": 4.110196186957182e-06,
"vendor": "EXCHANGE"
},
{
"type": "viewability",
"value": 0,
"vendor": "EXCHANGE"
}
],
"ext": {
"billing_id": [
"82346236545"
],
"publisher_settings_list_id": [
"5491354135157496540",
"9146398712997475724"
],
"allowed_vendor_type": [
445,
776
],
"ampad": 2,
"allowed_restricted_category": [
33
],
"skadn": {
"sourceapp": "com.google.testapp",
"skadnetids": [
"5c39728P"
],
"versions": [
"2.0",
"2.1"
],
"fidelities": [
1,
0
]
},
"creative_enforcement_settings": {
"policy_enforcement": 2,
"publisher_blocks_enforcement": 1
},
"auction_environment": 0,
"ae": 0
}
}
],
"app": {
"name": "Test App",
"bundle": "com.google.testapp",
"publisher": {
"id": "pub-1242890569860107",
"ext": {
"country": "SG"
}
},
"content": {
"url": "https://www.google.com",
"livestream": 0,
"language": "en"
},
"storeurl": "https://www.google.com",
"ext": {
"inventorypartnerdomain": "OMITTED"
}
},
"device": {
"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",
"geo": {
"lat": 0.0,
"lon": 0.0,
"country": "USA",
"region": "MI",
"metro": "563",
"zip": "49512",
"type": 2,
"utcoffset": -240,
"accuracy": 2082
},
"ipv6": "2601:404:d980::",
"make": "Apple",
"model": "iPhone14,7",
"os": "iOS",
"osv": "17.4.1",
"connectiontype": 2,
"devicetype": 4,
"lmt": 1,
"hwv": "iPhone14,7",
"w": 390,
"h": 844,
"pxratio": 3,
"sua": {
"browsers": [
{
"brand": "Mozilla",
"version": [
"5",
"0"
]
},
{
"brand": "AppleWebKit",
"version": [
"605",
"1"
]
}
],
"platform": {
"brand": "iPhone",
"version": [
"17",
"4"
]
},
"mobile": 1,
"bitness": "64",
"model": "iPhone",
"source": 3
},
"ext": {
"atts": 2
}
},
"at": 1,
"tmax": 300,
"cur": [
"USD"
],
"source": {
"schain": {
"complete": 1,
"nodes": [
{
"asi": "testssp.com",
"sid": "pub-1111111111111111",
"hp": 1
}
],
"ver": "1.0"
},
"ext": {
"omidpn": "Google",
"omidpv": "afma-sdk-i-v11.2.0",
"schain": {
"complete": 1,
"nodes": [
{
"asi": "testssp.com",
"sid": "pub-1111111111111111",
"hp": 1
}
],
"ver": "1.0"
}
}
},
"ext": {
"google_query_id": "ANy-z62LCy-as7Eko7z4957U01DLmn1o5VEX66Mm2j8763ahN2zV77j721K17752LzuUR571",
"fcap_scope": 4,
"privacy_treatments": {
"allow_user_data_collection": 1
}
}
}
Google (הוצאה משימוש)
אני רוצה לראות את הדוגמה
id: "1\200\2149CH\354\224S\002G>\276\3068\264Z\316\203Hz\010\334"
ip: "\300\250"
user_agent: "Mozilla/5.0 (Linux; Android 13; SM-A032M Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/123.0.6312.118 Mobile Safari/537.36 (Mobile; afma-sdk-a-v241518064.241518064.0)"
url: "https://www.google.com"
detected_language: "pt"
adslot {
id: 1
width: 300
width: 320
height: 250
height: 50
excluded_attribute: 13
excluded_attribute: 18
allowed_vendor_type: 745
allowed_vendor_type: 4513
excluded_sensitive_category: 4
excluded_sensitive_category: 31
matching_ad_data {
billing_id: 16751333146
minimum_cpm_micros: 10000
}
slot_visibility: ABOVE_THE_FOLD
ad_block_key: 6911419491
publisher_settings_list_id: 3488369073734770391
excluded_creatives {
buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
}
viewability: 66
allowed_ad_types: ALLOWED_AD_TYPE_BANNER
is_amp_page: DIALECT_HTML
amp_ad_requirement_type: AMP_AD_NOT_ALLOWED
api: OMID_1
api: MRAID_1
flexible_adslot_settings {
max_width: 336
max_height: 280
min_width: 168
min_height: 0
}
regs_lgpd: true
omidpn: "Google"
omidpv: "afma-sdk-a-v240304999.224400000.1"
creative_enforcement_settings {
policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment: SERVER_SIDE_AUCTION
impression_expiration_seconds: 3600
supported_auction_environment: SERVER_SIDE_AUCTION
display_manager: "GoogleMobileAds-Android"
display_manager_version: "21.5.0"
}
is_test: false
timezone_offset: -180
mobile {
app_id: "com.google.testapp"
is_app: true
app_name: "Test App"
app_rating: 4.6296206
}
geo_criteria_id: 1001533
publisher_settings_list_id: 12488741028105368323
publisher_type: PUBLISHER_OWNED_AND_OPERATED
partner_id: 8688212468768627166
device {
device_type: HIGHEND_PHONE
platform: "android"
brand: "Samsung"
model: "SM-A032M"
os_version {
major: 13
}
carrier_id: 0
screen_width: 360
screen_height: 730
screen_pixel_ratio_millis: 2000
screen_orientation: PORTRAIT
limit_ad_tracking: false
connection_type: WIFI
}
publisher_country: "BR"
publisher_id: "pub-1111111111111111"
response_deadline_ms: 1000
google_query_id: "ANy-z6684B-S9K9375rD1B53ZdYA2RQi090I2bJ579yi0CF0N8A60v821V52F938j142LOzW"
auction_type: FIRST_PRICE
geo {
lat: -12.98
lon: -38.5
country: "BRA"
region: "BR-BA"
city: "Salvador"
utcoffset: -180
accuracy: 14885
}
user_agent_data {
platform {
brand: "Android"
version: "13"
}
mobile: true
model: "SM-A032M"
browsers {
brand: "Mozilla"
version: "5"
version: "0"
}
browsers {
brand: "AppleWebKit"
version: "537"
version: "36"
}
bitness: "64"
source: USER_AGENT_STRING
}
supply_chain {
complete: true
nodes {
advertising_system_identifier: "testdomain.com"
seller_identifier: "pub-1111111111111111"
handles_payment: true
}
version: "1.0"
}
frequency_capping_scope: FREQUENCY_CAPPING_SCOPE_BROWSER
privacy_treatments {
non_personalized_ads_reason: USER_OPT_OUT
allow_user_data_collection: false
}
inventory_partner_domain: "OMITTED"
מודעת מעברון לאפליקציה
OpenRTB Protobuf
אני רוצה לראות את הדוגמה
id: "3Sh9IsB712x9QzGDA1k93z"
imp {
id: "1"
banner {
w: 360
h: 711
pos: AD_POSITION_FULLSCREEN
battr: VIDEO_IN_BANNER_AUTO_PLAY
battr: VIDEO_IN_BANNER_USER_INITIATED
api: MRAID_1
api: MRAID_2
format {
w: 360
h: 711
}
format {
w: 360
h: 640
}
}
displaymanager: "GoogleMobileAds-Android"
displaymanagerver: "21.3.0"
instl: true
tagid: "8679500107"
bidfloor: 0.02
bidfloorcur: "USD"
secure: true
exp: 14400
clickbrowser: true
metric {
type: "viewability"
value: 0.9
vendor: "EXCHANGE"
}
metric {
type: "session_depth"
value: 99.0
vendor: "EXCHANGE"
}
[com.google.doubleclick.imp] {
billing_id: 42834631855
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
}
auction_environment: SERVER_SIDE_AUCTION
ae: SERVER_SIDE_AUCTION
}
}
app {
name: "Test App"
bundle: "com.google.testapp"
publisher {
id: "pub-8815040790812473"
[com.google.doubleclick.publisher] {
country: "SG"
}
}
content {
url: "https://www.google.com"
userrating: "4.6"
livestream: false
language: "id"
}
storeurl: "https://www.google.com"
[com.google.doubleclick.app] {
inventorypartnerdomain: "OMITTED"
}
}
device {
ua: "Dalvik/2.1.0 (Linux; U; Android 11; in-; RMX1971 Build/RKQ1.201217.002)"
ip: "192.168.1.0"
geo {
lat: 0.0
lon: 0.0
country: "IDN"
region: "ID-SS"
city: "Palembang"
type: IP
utcoffset: 420
accuracy: 7498
}
make: "Realme"
model: "RMX1971"
os: "android"
osv: "11"
connectiontype: CELL_4G
devicetype: HIGHEND_PHONE
ifa: "b\'\\xa9>3\\xa2\\xbb\\x95\\x8dIQq\\xd0\\x8f\\xee\\xc1k}\'"
lmt: false
w: 360
h: 711
pxratio: 3.0
sua {
browsers {
brand: "Dalvik"
version: "2"
version: "1"
}
platform {
brand: "Android"
version: "11"
}
mobile: true
model: "RMX1971"
source: USER_AGENT_STRING
}
}
user {
id: "21QP3H9IaS263665PMP52FIes26"
}
at: FIRST_PRICE
tmax: 300
cur: "USD"
source {
schain {
complete: true
nodes {
asi: "testssp.com"
sid: "pub-1111111111111111"
hp: true
}
ver: "1.0"
}
[com.google.doubleclick.source] {
omidpn: "Google"
omidpv: "afma-sdk-a-v240304999.223104000.1"
schain {
complete: 1
nodes {
asi: "testssp.com"
sid: "pub-1111111111111111"
hp: 1
}
ver: "1.0"
}
}
}
[com.google.doubleclick.bid_request] {
google_query_id: "ANy-z52N8Y-VzuCT3Q7jr9Ixx3iR4pM1bm1q84NyH1tMMtV9SSO7y83u6Ec3xlaf1563Tt5k"
fcap_scope: FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection: true
}
}
קובץ JSON של OpenRTB
אני רוצה לראות את הדוגמה
{
"id": "8460Dv0171574mt7n9tOQ9",
"imp": [
{
"id": "1",
"banner": {
"w": 428,
"h": 846,
"pos": 7,
"api": [
3,
5
],
"format": [
{
"w": 428,
"h": 846
},
{
"w": 414,
"h": 736
}
]
},
"displaymanager": "GoogleMobileAds-iOS",
"displaymanagerver": "10.10.0",
"instl": 1,
"tagid": "4914454382",
"bidfloor": 0.01,
"bidfloorcur": "USD",
"secure": 1,
"exp": 3600,
"clickbrowser": 1,
"metric": [
{
"type": "click_through_rate",
"value": 0.560609757900238,
"vendor": "EXCHANGE"
},
{
"type": "viewability",
"value": 0.97,
"vendor": "EXCHANGE"
}
],
"ext": {
"billing_id": [
"73848702501"
],
"publisher_settings_list_id": [
"9781603598081027997",
"9488077458915289715"
],
"allowed_vendor_type": [
698,
414
],
"ampad": 2,
"excluded_creatives": [
{
"buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"skadn": {
"sourceapp": "com.google.testapp",
"skadnetids": [
"43D4r5x9"
],
"versions": [
"2.0",
"2.1"
],
"fidelities": [
0,
1
],
"skoverlay": 1
},
"creative_enforcement_settings": {
"policy_enforcement": 2,
"publisher_blocks_enforcement": 1
},
"auction_environment": 0,
"ae": 0
}
}
],
"app": {
"name": "Test App",
"bundle": "com.google.testapp",
"publisher": {
"id": "pub-5842596021161378",
"ext": {
"country": "IN"
}
},
"content": {
"url": "https://www.google.com",
"livestream": 0,
"language": "en"
},
"storeurl": "https://www.google.com",
"ext": {
"inventorypartnerdomain": "OMITTED"
}
},
"device": {
"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",
"geo": {
"lat": 0.0,
"lon": 0.0,
"country": "SAU",
"region": "SA-02",
"city": "Jiddah",
"zip": "23462",
"type": 2,
"utcoffset": 180,
"accuracy": 1291
},
"ipv6": "2a02:9b0:4047::",
"carrier": "71681",
"make": "Apple",
"model": "iPhone14,8",
"os": "iOS",
"osv": "17.4.1",
"connectiontype": 6,
"devicetype": 4,
"lmt": 1,
"hwv": "iPhone14,8",
"w": 428,
"h": 926,
"pxratio": 3,
"sua": {
"browsers": [
{
"brand": "Mozilla",
"version": [
"5",
"0"
]
},
{
"brand": "AppleWebKit",
"version": [
"605",
"1"
]
}
],
"platform": {
"brand": "iPhone",
"version": [
"17",
"4"
]
},
"mobile": 1,
"bitness": "64",
"model": "iPhone",
"source": 3
},
"ext": {
"atts": 2
}
},
"at": 1,
"tmax": 1000,
"cur": [
"USD"
],
"bcat": [
"IAB23-4",
"IAB18-5"
],
"source": {
"schain": {
"complete": 1,
"nodes": [
{
"asi": "testssp.com",
"sid": "pub-1111111111111111",
"hp": 1
}
],
"ver": "1.0"
},
"ext": {
"omidpn": "Google",
"omidpv": "afma-sdk-i-v10.10.0",
"schain": {
"complete": 1,
"nodes": [
{
"asi": "testssp.com",
"sid": "pub-1111111111111111",
"hp": 1
}
],
"ver": "1.0"
}
}
},
"ext": {
"google_query_id": "ANy-z562Q0-p46Tz77U15Ie9774Mnu3QIa45V73X99r9NR1694g5301D186q8ZFJ57Ja8L78",
"fcap_scope": 4,
"privacy_treatments": {
"allow_user_data_collection": 1
}
}
}
Google (הוצאה משימוש)
אני רוצה לראות את הדוגמה
id: "(\232m\232xp\035\326w\260\250\262\205\r:\313\373:3\215!L\234"
ip: "\300\250"
user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
url: "https://www.google.com"
detected_language: "en"
adslot {
id: 1
width: 398
width: 320
height: 744
height: 480
excluded_attribute: 19
excluded_attribute: 18
allowed_vendor_type: 828
allowed_vendor_type: 4697
matching_ad_data {
billing_id: 37034094959
billing_id: 19705546350
minimum_cpm_micros: 200000
}
slot_visibility: ABOVE_THE_FOLD
ad_block_key: 7260775726
publisher_settings_list_id: 1906995857014069503
viewability: 91
click_through_rate: 0.021559697
allowed_ad_types: ALLOWED_AD_TYPE_BANNER
is_amp_page: DIALECT_HTML
amp_ad_requirement_type: AMP_AD_NOT_ALLOWED
api: OMID_1
api: MRAID_1
omidpn: "Google"
omidpv: "afma-sdk-i-v11.2.0"
creative_enforcement_settings {
policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment: SERVER_SIDE_AUCTION
impression_expiration_seconds: 14400
billable_event_rate_bid_adjustment {
bid_adjustment: 1.1087964
creative_type: HTML_SNIPPET
}
supported_auction_environment: SERVER_SIDE_AUCTION
display_manager: "GoogleMobileAds-iOS"
display_manager_version: "11.2.0"
}
is_test: false
timezone_offset: 480
mobile {
app_id: "500811620"
is_app: true
is_interstitial_request: true
app_name: "Test App"
skadn {
sourceapp: "500811620"
skadnetids: "41dEOEaD"
skadnetids: "580dmbSX"
versions: "2.0"
versions: "2.1"
supported_fidelity_types: VIEW_THROUGH_ADS
supported_fidelity_types: STOREKIT_RENDERED_ADS
skoverlay: true
}
is_app_open_ad: true
}
geo_criteria_id: 20827
publisher_settings_list_id: 18428013069233776176
publisher_type: PUBLISHER_OWNED_AND_OPERATED
partner_id: 4672461785023090980
device {
device_type: HIGHEND_PHONE
platform: "iphone"
brand: "Apple"
model: "iPhone11,8"
os_version {
major: 16
minor: 6
micro: 1
}
carrier_id: 0
screen_width: 414
screen_height: 896
screen_pixel_ratio_millis: 2000
screen_orientation: PORTRAIT
hardware_version: "iPhone11,8"
limit_ad_tracking: true
app_tracking_authorization_status: NOT_DETERMINED
connection_type: WIFI
}
publisher_country: "SG"
publisher_id: "pub-1111111111111111"
response_deadline_ms: 1000
google_query_id: "ANy-z06138-98U8A68As2n5q57SoKI3EBuB5RV414N6krfd385z0q1c9o28Bv3176Zw2LuJe"
auction_type: FIRST_PRICE
geo {
lat: 10.24
lon: 123.79
country: "PHL"
region: "PH-CEB"
utcoffset: 480
accuracy: 39443
}
user_agent_data {
platform {
brand: "iPhone"
version: "16"
version: "6"
}
mobile: true
model: "iPhone"
browsers {
brand: "Mozilla"
version: "5"
version: "0"
}
browsers {
brand: "AppleWebKit"
version: "605"
version: "1"
}
bitness: "64"
source: USER_AGENT_STRING
}
supply_chain {
complete: true
nodes {
advertising_system_identifier: "testdomain.com"
seller_identifier: "pub-1111111111111111"
handles_payment: true
}
version: "1.0"
}
frequency_capping_scope: FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection: true
}
inventory_partner_domain: "OMITTED"
סרטון מעברון לאפליקציה
OpenRTB Protobuf
אני רוצה לראות את הדוגמה
id: "378836oi92t144hpA8Nv3X"
imp {
id: "1"
video {
mimes: "video/mp4"
maxduration: 60
w: 375
h: 667
startdelay: 0
playbackmethod: AUTO_PLAY_SOUND_ON
pos: ABOVE_THE_FOLD
api: MRAID_1
api: MRAID_2
protocols: VAST_2_0
protocols: VAST_3_0
skip: false
placement: UNDEFINED_VIDEO_PLACEMENT
playbackend: COMPLETION_OR_USER
}
displaymanager: "GOOGLE"
instl: true
tagid: "4107980261"
bidfloor: 0.01
bidfloorcur: "USD"
secure: true
metric {
type: "click_through_rate"
value: 0.0364835150539875
vendor: "EXCHANGE"
}
metric {
type: "video_completion_rate"
value: 0.02888789027929306
vendor: "EXCHANGE"
}
[com.google.doubleclick.imp] {
billing_id: 80831705186
publisher_settings_list_id: 2080323352414623499
publisher_settings_list_id: 2258624117197706769
allowed_vendor_type: 342
allowed_vendor_type: 698
is_rewarded_inventory: true
ampad: AMP_AD_NOT_ALLOWED
skadn {
version: "2.2"
sourceapp: "532115234"
skadnetids: "E499wc36"
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
is_default: true
}
auction_environment: SERVER_SIDE_AUCTION
}
}
app {
name: "Test App"
bundle: "532115234"
publisher {
id: "pub-8927593002710190"
[com.google.doubleclick.publisher] {
country: "CN"
}
}
content {
url: "https://www.google.com"
livestream: false
language: "zh"
}
storeurl: "https://www.google.com"
[com.google.doubleclick.app] {
}
}
device {
ua: "Mozilla/5.0 (iPhone; CPU iPhone OS 15_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
ip: "192.168.1.0"
geo {
lat: 0.0
lon: 0.0
country: "CHN"
region: "CN-33"
city: "Hangzhou"
type: IP
accuracy: 44240
}
carrier: "70120"
make: "apple"
model: "iphone"
os: "iOS"
osv: "15.4.4"
devicetype: HIGHEND_PHONE
lmt: true
hwv: "8"
w: 375
h: 667
pxratio: 2.0
[com.google.doubleclick.device] {
user_agent_data {
platform {
brand: "iPhone"
version: "15"
version: "4"
}
mobile: true
model: "iPhone"
}
atts: 2
}
}
user {
[com.google.doubleclick.user] {
}
}
at: FIRST_PRICE
tmax: 300
cur: "USD"
source {
[com.google.doubleclick.source] {
omidpn: "Google"
omidpv: "afma-sdk-i-v8.12.0"
schain {
complete: 1
nodes {
asi: "google.com"
sid: "pub-4000453616931440"
hp: 1
}
ver: "1.0"
}
}
}
[com.google.doubleclick.bid_request] {
google_query_id: "ANy-zp09u8-d20rQ521040dqz39K771Lr9102b031Z15C45Q9q7AB414SnDWG5Rj96Z77W66"
}
Google (הוצאה משימוש)
אני רוצה לראות את הדוגמה
id: "%w\237\340\331q\305 e\350\324\017Ho\274f\177#\316\231\004\024y"
ip: "\300\250"
user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 16_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
url: "https://www.google.com"
detected_language: "te"
adslot {
id: 1
width: 1170
width: 768
height: 2532
height: 1024
excluded_attribute: 17
excluded_attribute: 26
allowed_vendor_type: 797
allowed_vendor_type: 38523
matching_ad_data {
billing_id: 82632801525
billing_id: 33577396948
minimum_cpm_micros: 200000
}
slot_visibility: ABOVE_THE_FOLD
ad_block_key: 8662832267
publisher_settings_list_id: 1529810617400603626
viewability: 99
click_through_rate: 0.75363326
video_completion_rate: 0.07627885
is_rewarded: true
allowed_ad_types: ALLOWED_AD_TYPE_VIDEO
is_amp_page: DIALECT_HTML
amp_ad_requirement_type: AMP_AD_NOT_ALLOWED
api: MRAID_1
api: MRAID_2
creative_enforcement_settings {
policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment: SERVER_SIDE_AUCTION
impression_expiration_seconds: 3600
supported_auction_environment: SERVER_SIDE_AUCTION
display_manager: "GoogleMobileAds-iOS"
display_manager_version: "7.55.0"
}
is_test: false
timezone_offset: 300
mobile {
app_id: "734009722"
is_app: true
is_interstitial_request: true
app_name: "Test App"
}
video {
videoad_start_delay: 0
max_ad_duration: 30000
video_ad_skippable: BLOCK_SKIPPABLE
allowed_video_formats: VIDEO_MP4
max_ads_in_pod: 2
end_cap_support: END_CAP_OPTIONAL
playback_method: CLICK_TO_PLAY
is_clickable: true
placement: INTERSTITIAL
protocols: VAST_2_0
protocols: VAST_3_0
is_livestream: false
playback_cessation_mode: COMPLETION_OR_USER
max_pod_duration_seconds: 30
plcmt: PLCMT_INTERSTITIAL
inferred_plcmt: PLCMT_INTERSTITIAL
}
geo_criteria_id: 2392
publisher_settings_list_id: 7852789180056851229
publisher_type: PUBLISHER_OWNED_AND_OPERATED
partner_id: 7934642581646184119
device {
device_type: HIGHEND_PHONE
platform: "iphone"
brand: "Apple"
model: "iPhone13,2"
os_version {
major: 16
minor: 5
}
carrier_id: 0
screen_width: 1170
screen_height: 2532
screen_pixel_ratio_millis: 3000
screen_orientation: PORTRAIT
hardware_version: "iPhone13,2"
limit_ad_tracking: false
connection_type: WIFI
}
publisher_country: "US"
publisher_id: "pub-1111111111111111"
response_deadline_ms: 1000
google_query_id: "ANy-zz7hC6-w4hX445M724Cr7459S5M13Rw47SH672s9ygi8d8H1LN21ky6939KaU50lQsJR"
auction_type: FIRST_PRICE
geo {
lat: 36.2
lon: 138.25
country: "JPN"
utcoffset: 300
accuracy: 463340
}
user_agent_data {
platform {
brand: "iPhone"
version: "16"
version: "5"
}
mobile: true
model: "iPhone"
browsers {
brand: "Mozilla"
version: "5"
version: "0"
}
browsers {
brand: "AppleWebKit"
version: "605"
version: "1"
}
bitness: "64"
source: USER_AGENT_STRING
}
supply_chain {
complete: true
nodes {
advertising_system_identifier: "testdomain.com"
seller_identifier: "pub-1111111111111111"
handles_payment: true
}
version: "1.0"
}
frequency_capping_scope: FREQUENCY_CAPPING_SCOPE_NONE
privacy_treatments {
allow_user_data_collection: true
}
inventory_partner_domain: "OMITTED"
מותאמת של אפליקציה
OpenRTB Protobuf
אני רוצה לראות את הדוגמה
id: "5P52J8388TSRzc920ct7p5"
imp {
id: "1"
displaymanager: "GoogleMobileAds-iOS"
displaymanagerver: "10.14.0"
tagid: "6553352351"
bidfloor: 0.03
bidfloorcur: "USD"
secure: true
native {
ver: "1.2"
api: MRAID_1
api: MRAID_2
battr: VIDEO_IN_BANNER_AUTO_PLAY
battr: VIDEO_IN_BANNER_USER_INITIATED
request_native {
ver: "1.2"
assets {
id: 1
required: true
title {
len: 25
}
}
assets {
id: 2
required: true
data {
type: DESC
len: 90
}
}
assets {
id: 3
data {
type: CTATEXT
len: 15
}
}
assets {
id: 4
required: true
data {
type: SPONSORED
len: 25
}
}
assets {
id: 5
required: true
img {
type: MAIN
wmin: 1200
hmin: 627
}
}
assets {
id: 6
img {
type: LOGO
wmin: 100
hmin: 100
}
}
eventtrackers {
event: IMPRESSION
methods: IMG
}
}
}
exp: 3600
clickbrowser: true
metric {
type: "viewability"
value: 0.39
vendor: "EXCHANGE"
}
metric {
type: "session_depth"
value: 1.0
vendor: "EXCHANGE"
}
[com.google.doubleclick.imp] {
billing_id: 52078759229
billing_id: 88594274551
publisher_settings_list_id: 5866545268236998203
publisher_settings_list_id: 3494845642358232123
allowed_vendor_type: 42
allowed_vendor_type: 79
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: "200O3kQr"
versions: "2.0"
versions: "2.1"
fidelities: STOREKIT_RENDERED_ADS
fidelities: VIEW_THROUGH_ADS
}
creative_enforcement_settings {
policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment: SERVER_SIDE_AUCTION
ae: SERVER_SIDE_AUCTION
}
}
app {
name: "Test App"
bundle: "com.google.testapp"
publisher {
id: "pub-9816179305584184"
[com.google.doubleclick.publisher] {
country: "LU"
}
}
content {
url: "https://www.google.com"
livestream: false
language: "uk"
}
storeurl: "https://www.google.com"
[com.google.doubleclick.app] {
inventorypartnerdomain: "OMITTED"
}
}
device {
ua: "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
geo {
lat: 0.0
lon: 0.0
country: "UKR"
region: "UA-46"
city: "L\'viv"
zip: "79000"
type: IP
utcoffset: 180
accuracy: 6246
[com.google.doubleclick.geo] {
geo_criteria_id: 1012859
}
}
ipv6: "2a02:2378:106a::"
carrier: "71710"
make: "Apple"
model: "iPhone12,1"
os: "iOS"
osv: "17.4.1"
connectiontype: CELL_4G
devicetype: HIGHEND_PHONE
ifa: "b\'\\t:>vF\\xb9\\x9e4\\x86k\\xde\\x99\\xbe\\xb6\\x88\\x83\'"
lmt: false
hwv: "iPhone12,1"
w: 414
h: 896
pxratio: 2.0
sua {
browsers {
brand: "Mozilla"
version: "5"
version: "0"
}
browsers {
brand: "AppleWebKit"
version: "605"
version: "1"
}
platform {
brand: "iPhone"
version: "17"
version: "4"
}
mobile: true
bitness: "64"
model: "iPhone"
source: USER_AGENT_STRING
}
[com.google.doubleclick.device] {
atts: 3
}
}
user {
id: "8Er98D3U5PK59538kL30LhIZkab"
}
at: FIRST_PRICE
tmax: 300
cur: "USD"
bcat: "IAB7-39"
bcat: "IAB9"
bapp: "1038653883"
bapp: "372513032"
source {
schain {
complete: true
nodes {
asi: "testssp.com"
sid: "pub-1111111111111111"
hp: true
}
ver: "1.0"
}
[com.google.doubleclick.source] {
omidpn: "Google"
omidpv: "afma-sdk-i-v10.14.0"
schain {
complete: 1
nodes {
asi: "testssp.com"
sid: "pub-1111111111111111"
hp: 1
}
ver: "1.0"
}
}
}
[com.google.doubleclick.bid_request] {
google_query_id: "ANy-z0n8D1-K6FKO2zNI26Z4yp738UAjYOUTxw2V054413Lpv107q2A97RS96j68N9J53N9K"
fcap_scope: FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection: false
}
}
קובץ JSON של OpenRTB
אני רוצה לראות את הדוגמה
{
"id": "IDnDvM76w32NI830aSeOLg",
"imp": [
{
"id": "1",
"displaymanager": "GoogleMobileAds-iOS",
"displaymanagerver": "10.14.0",
"tagid": "8614649788",
"bidfloor": 1.63,
"bidfloorcur": "USD",
"secure": 1,
"native": {
"request": "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":25}},{\"id\":2,\"required\":1,\"data\":{\"type\":2,\"len\":90}},{\"id\":3,\"data\":{\"type\":12,\"len\":15}},{\"id\":4,\"required\":1,\"data\":{\"type\":1,\"len\":25}},{\"id\":5,\"required\":1,\"img\":{\"type\":3,\"wmin\":1200,\"hmin\":627}},{\"id\":6,\"img\":{\"type\":2,\"wmin\":100,\"hmin\":100}}],\"eventtrackers\":[{\"event\":1,\"methods\":[1]}]}",
"ver": "1.2",
"api": [
3,
5
],
"battr": [
6,
7
]
},
"exp": 14400,
"clickbrowser": 1,
"metric": [
{
"type": "viewability",
"value": 0.66,
"vendor": "EXCHANGE"
},
{
"type": "session_depth",
"value": 1,
"vendor": "EXCHANGE"
}
],
"ext": {
"billing_id": [
"30567639040"
],
"publisher_settings_list_id": [
"9263869437120754969",
"6380991891694941170"
],
"allowed_vendor_type": [
42,
144
],
"ampad": 2,
"excluded_creatives": [
{
"buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"skadn": {
"sourceapp": "com.google.testapp",
"skadnetids": [
"345vh5bv"
],
"versions": [
"2.0",
"2.1"
],
"fidelities": [
1,
0
]
},
"creative_enforcement_settings": {
"policy_enforcement": 2,
"publisher_blocks_enforcement": 1
},
"auction_environment": 0,
"ae": 0
}
}
],
"app": {
"name": "Test App",
"bundle": "com.google.testapp",
"publisher": {
"id": "pub-5146744635924393",
"ext": {
"country": "US"
}
},
"content": {
"url": "https://www.google.com",
"livestream": 0,
"language": "en"
},
"storeurl": "https://www.google.com",
"ext": {
"inventorypartnerdomain": "OMITTED"
}
},
"device": {
"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 PrebidMobile/2.0.4",
"ip": "192.168.1.0",
"geo": {
"lat": 0.0,
"lon": 0.0,
"country": "USA",
"region": "WA",
"metro": "881",
"city": "Quincy",
"zip": "98848",
"type": 2,
"utcoffset": -420,
"accuracy": 19022
},
"make": "Apple",
"model": "iPhone15,3",
"os": "iOS",
"osv": "17.4.1",
"connectiontype": 2,
"devicetype": 4,
"ifa": "76RVV351f5D7z7905j9Dhy5kawZNAvn548d3",
"lmt": 0,
"hwv": "iPhone15,3",
"w": 430,
"h": 932,
"pxratio": 3,
"sua": {
"browsers": [
{
"brand": "Mozilla",
"version": [
"5",
"0"
]
},
{
"brand": "AppleWebKit",
"version": [
"605",
"1"
]
}
],
"platform": {
"brand": "iPhone",
"version": [
"17",
"4"
]
},
"mobile": 1,
"bitness": "64",
"model": "iPhone",
"source": 3
},
"ext": {
"atts": 3
}
},
"user": {
"id": "V3G2P745W97j342y3bgMZzO8B19",
"ext": {
"session": {
"duration": 14
}
}
},
"at": 1,
"tmax": 300,
"cur": [
"USD"
],
"bcat": [
"IAB23-1",
"IAB9"
],
"bapp": [
"1427744264"
],
"source": {
"schain": {
"complete": 1,
"nodes": [
{
"asi": "testssp.com",
"sid": "pub-1111111111111111",
"hp": 1
}
],
"ver": "1.0"
},
"ext": {
"omidpn": "Google",
"omidpv": "afma-sdk-i-v10.14.0",
"schain": {
"complete": 1,
"nodes": [
{
"asi": "testssp.com",
"sid": "pub-1111111111111111",
"hp": 1
}
],
"ver": "1.0"
}
}
},
"ext": {
"google_query_id": "ANy-z70v0W-6x9m76YuuU237u44yc6fL3Ouo00tZhzmz1rL58xQr1V6tg59Qu5j2f4LEMbPZ",
"fcap_scope": 3,
"privacy_treatments": {
"allow_user_data_collection": 1
}
}
}
Google (הוצאה משימוש)
אני רוצה לראות את הדוגמה
id: "\304a\2145\337\260\351\265\0170E\035s\260\203\240\3645M\213d\231)"
ip: "\300\250"
user_agent: "Mozilla/5.0 (Linux; Android 14; SM-F711B Build/UP1A.231005.007; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/123.0.6312.118 Mobile Safari/537.36 (Mobile; afma-sdk-a-v241517039.241517039.0)"
url: "https://www.google.com"
detected_language: "nl"
adslot {
id: 1
excluded_attribute: 25
excluded_attribute: 114
allowed_vendor_type: 42
allowed_vendor_type: 79
excluded_sensitive_category: 36
excluded_sensitive_category: 27
matching_ad_data {
billing_id: 32132054378
billing_id: 19164334712
minimum_cpm_micros: 1450000
}
matching_ad_data {
billing_id: 13390832794
billing_id: 80810593642
minimum_cpm_micros: 78120000
}
slot_visibility: ABOVE_THE_FOLD
excluded_product_category: 10137
excluded_product_category: 10231
ad_block_key: 5513314873
publisher_settings_list_id: 3686438009801411181
publisher_settings_list_id: 2386502705811569074
allowed_restricted_category: 33
excluded_creatives {
buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
}
viewability: 81
allowed_restricted_category_for_deals: 33
click_through_rate: 0.026668096
allowed_languages: "en"
allowed_languages: "nl"
allowed_ad_types: ALLOWED_AD_TYPE_NATIVE
is_amp_page: DIALECT_HTML
amp_ad_requirement_type: AMP_AD_NOT_ALLOWED
session_depth: 166
consented_providers_settings {
tcf_consent_string: "OMITTED"
additional_consent_string: "OMITTED"
}
regs_gdpr: true
api: MRAID_1
api: MRAID_2
native_ad_template {
required_fields: 27
recommended_fields: 36
headline_max_safe_length: 25
body_max_safe_length: 90
call_to_action_max_safe_length: 15
advertiser_max_safe_length: 25
image_width: 800
image_height: 800
logo_width: 200
logo_height: 200
}
native_ad_template {
required_fields: 83
recommended_fields: 388
headline_max_safe_length: 25
body_max_safe_length: 90
call_to_action_max_safe_length: 15
image_width: 1200
image_height: 627
app_icon_width: 100
app_icon_height: 100
}
omidpn: "Google"
omidpv: "afma-sdk-a-v240304999.234310000.1"
creative_enforcement_settings {
policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment: SERVER_SIDE_AUCTION
impression_expiration_seconds: 3600
supported_auction_environment: SERVER_SIDE_AUCTION
display_manager: "GoogleMobileAds-Android"
display_manager_version: "22.6.0"
}
is_test: false
cookie_version: 1
google_user_id: "7L986AX24bG4ANQ91i8sd54fB22"
timezone_offset: 120
mobile {
app_id: "com.google.testapp"
is_app: true
encrypted_advertising_id: "\341\220\325\205%\025\246_/\307\374fy\2062\270\270\204X\230\210@h\272\344\177\370\253e\367\262i=U\030$"
app_name: "Test App"
app_rating: 4.0450907
advertising_id: "\315\361Ro$|\362I\355\261:\265Z\300@\242"
}
cookie_age_seconds: 2592000
postal_code: "10011"
geo_criteria_id: 1001092
encrypted_hyperlocal_set: "\275\237\311:\263\326\270h\337^\013`/m\316\330\036\007\313\265\346\351\275\346<U\344#a\376\301\342\270\303\2767\310j%\327\351aA\312\200\247]IQ\241\341L\2431\215<\377\033V\310\230\305\371\025\032K\365\372\3365p|\353\216\251JSf\364\367\220H\232\342Cq\256\206<\236\311"
bid_response_feedback {
request_id: "\253\245\326\202\206\303q\202\307\016\257\236\317\rL\250"
creative_status_code: 80
event_notification_token: "token"
buyer_creative_id: "test_creative_id_658408"
minimum_bid_to_win: 120000
feedback_type: BID_FEEDBACK
}
publisher_type: PUBLISHER_OWNED_AND_OPERATED
hyperlocal_set {
hyperlocal {
corners {
latitude: 0.0
longitude: 0.0
}
corners {
latitude: 0.0
longitude: 0.0
}
corners {
latitude: 0.0
longitude: 0.0
}
corners {
latitude: 0.0
longitude: 0.0
}
}
center_point {
latitude: 0.0
longitude: 0.0
}
}
device {
device_type: HIGHEND_PHONE
platform: "android"
brand: "Samsung"
model: "SM-F711B"
os_version {
major: 14
}
carrier_id: 0
screen_width: 360
screen_height: 801
screen_pixel_ratio_millis: 3000
screen_orientation: PORTRAIT
limit_ad_tracking: false
connection_type: WIFI
}
publisher_country: "BE"
publisher_id: "pub-1111111111111111"
response_deadline_ms: 300
google_query_id: "ANy-z01131-SRYIYklKNjC6Iw9Z99Jt2713Cf3WC111fe9wZa3e2wB0yC6A51Bt0R4x25142"
auction_type: FIRST_PRICE
geo {
lat: 50.89
lon: 4.28
country: "BEL"
region: "BE-VBR"
city: "Asse"
zip: "1731"
utcoffset: 120
accuracy: 2191
}
user_agent_data {
platform {
brand: "Android"
version: "14"
}
mobile: true
model: "SM-F711B"
browsers {
brand: "Mozilla"
version: "5"
version: "0"
}
browsers {
brand: "AppleWebKit"
version: "537"
version: "36"
}
bitness: "64"
source: USER_AGENT_STRING
}
supply_chain {
complete: true
nodes {
advertising_system_identifier: "testdomain.com"
seller_identifier: "pub-1111111111111111"
handles_payment: true
}
nodes {
advertising_system_identifier: "testdomain.com"
seller_identifier: "pub-1111111111111111"
handles_payment: true
}
version: "1.0"
}
frequency_capping_scope: FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection: false
}
inventory_partner_domain: "OMITTED"
סרטונים באינטרנט
Google (הוצא משימוש)
אני רוצה לראות את הדוגמה
id: "\350\243\202\2349\243\014\244\372\020Y;\r\007\031\214{\232\261\3752%\035"
ip: "\300\250"
user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 14_8_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1"
url: "https://www.google.com"
detected_language: "ja"
adslot {
id: 1
width: 320
width: 360
height: 570
height: 592
excluded_attribute: 19
excluded_attribute: 13
allowed_vendor_type: 3
allowed_vendor_type: 42
excluded_sensitive_category: 36
excluded_sensitive_category: 4
matching_ad_data {
billing_id: 34223090460
minimum_cpm_micros: 16000000
direct_deal {
direct_deal_id: 17775265
fixed_cpm_micros: 16000000
deal_type: AUCTION_PACKAGE
}
}
matching_ad_data {
billing_id: 86280326995
billing_id: 71601885715
minimum_cpm_micros: 120000
}
slot_visibility: NO_DETECTION
excluded_product_category: 10137
excluded_product_category: 10609
ad_block_key: 5853321589
publisher_settings_list_id: 2539996898654608860
publisher_settings_list_id: 7335705698915428874
allowed_restricted_category: 33
excluded_creatives {
buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
}
iframing_state: UNKNOWN_IFRAME_STATE
viewability: 100
allowed_restricted_category_for_deals: 33
click_through_rate: 0.5914875
renderer: GOOGLE
is_rewarded: true
allowed_ad_types: ALLOWED_AD_TYPE_VIDEO
is_amp_page: DIALECT_HTML
amp_ad_requirement_type: AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
creative_enforcement_settings {
policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment: SERVER_SIDE_AUCTION
impression_expiration_seconds: 3600
}
is_test: false
mobile {
is_app: false
is_mobile_web_optimized: true
}
video {
video_ad_skippable: ALLOW_SKIPPABLE
allowed_video_formats: VIDEO_MP4
playback_method: CLICK_TO_PLAY
is_clickable: true
placement: INTERSTITIAL
protocols: VAST_2_0
protocols: VAST_3_0
playback_cessation_mode: COMPLETION_OR_USER
}
geo_criteria_id: 1009310
seller_network_id: 4766
bid_response_feedback {
request_id: "\327(\005>\257u\241U~\350s\211\010\3615\334"
creative_status_code: 80
event_notification_token: "token"
buyer_creative_id: "test_creative_id_702979"
minimum_bid_to_win: 328000000
}
publisher_type: PUBLISHER_OWNED_AND_OPERATED
device {
device_type: HIGHEND_PHONE
platform: "iphone"
brand: "apple"
model: "iphone"
os_version {
major: 14
minor: 8
micro: 1
}
carrier_id: 0
screen_width: 375
screen_height: 667
screen_pixel_ratio_millis: 2000
limit_ad_tracking: false
}
publisher_country: "JP"
publisher_id: "pub-1111111111111111"
response_deadline_ms: 300
google_query_id: "ANy-zd34Gv-NJ6B8Zsd8j4NV0r6F8P69920cL9Q88372fjS7EO9DQZ9Y69qUQ2l6L8R2M903"
auction_type: FIRST_PRICE
geo {
lat: 35.69
lon: 139.7
country: "JPN"
region: "JP-13"
city: "Shinjuku"
accuracy: 2852
}
user_agent_data {
platform {
brand: "iPhone"
version: "14"
version: "8"
}
mobile: true
model: "iPhone"
browsers {
brand: "Mozilla"
version: "5"
version: "0"
}
browsers {
brand: "AppleWebKit"
version: "605"
version: "1"
}
bitness: "64"
}
page_visibility: VISIBILITY_STATE_VISIBLE
supply_chain {
complete: true
nodes {
advertising_system_identifier: "google.com"
seller_identifier: "pub-1111111111111111"
handles_payment: true
}
version: "1.0"
}
frequency_capping_scope: FREQUENCY_CAPPING_SCOPE_SITE
privacy_treatments {
allow_user_data_collection: true
}
inventory_partner_domain: "OMITTED"
מודעת באנר באתר לנייד למשתמש שמגיש הצעות מחיר ב-Exchange
OpenRTB Protobuf
אני רוצה לראות את הדוגמה
id: "6gXB0gc0938Ow444j0j623"
imp {
id: "1"
banner {
w: 320
h: 50
pos: ABOVE_THE_FOLD
expdir: LEFT
expdir: RIGHT
expdir: UP
expdir: DOWN
format {
w: 320
h: 50
}
format {
w: 300
h: 50
}
}
tagid: "7128811473"
bidfloor: 0.01
bidfloorcur: "USD"
secure: true
exp: 3600
metric {
type: "click_through_rate"
value: 0.00012312238686718047
vendor: "EXCHANGE"
}
metric {
type: "viewability"
value: 0.98
vendor: "EXCHANGE"
}
[com.google.doubleclick.imp] {
billing_id: 46483683815
dfp_ad_unit_code: "/3253397/google/test"
ampad: AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
excluded_creatives {
buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
}
open_bidding {
is_open_bidding: true
}
creative_enforcement_settings {
policy_enforcement: POLICY_ENFORCEMENT_PLATFORM_POLICY
publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_OVERRIDDEN
}
auction_environment: SERVER_SIDE_AUCTION
ae: SERVER_SIDE_AUCTION
}
}
site {
page: "https://www.google.com"
publisher {
id: "pub-1111111111111111"
[com.google.doubleclick.publisher] {
country: "US"
}
}
content {
livestream: false
language: "en"
}
mobile: true
[com.google.doubleclick.site] {
amp: DIALECT_HTML
page_visibility: VISIBILITY_STATE_VISIBLE
inventorypartnerdomain: "OMITTED"
}
}
device {
ua: "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Mobile Safari/537.36"
ip: "192.168.1.0"
geo {
lat: 0.0
lon: 0.0
country: "IND"
region: "IN-MH"
city: "Mumbai"
zip: "400066"
type: IP
utcoffset: 330
accuracy: 1439
}
make: "Xiaomi"
model: "22120rn86i"
os: "android"
osv: "14"
devicetype: HIGHEND_PHONE
lmt: false
w: 360
h: 825
pxratio: 2.0
sua {
browsers {
brand: "Chromium"
version: "124"
version: "0"
}
browsers {
brand: "Google Chrome"
version: "124"
version: "0"
}
platform {
brand: "Android"
version: "14"
version: "0"
}
mobile: true
model: "22120RN86I"
source: CLIENT_HINTS_HIGH_ENTROPY
}
}
at: FIRST_PRICE
tmax: 300
cur: "USD"
source {
schain {
complete: true
nodes {
asi: "testssp.com"
sid: "pub-1111111111111111"
hp: true
}
nodes {
asi: "testssp.com"
sid: "pub-1111111111111111"
hp: true
}
ver: "1.0"
}
}
[com.google.doubleclick.bid_request] {
google_query_id: "ANy-z0k831-U6Nsse2Zs380x9jWlM98I735gC6c3602K1swV8ex1390yK9kO53353X64953A"
fcap_scope: FREQUENCY_CAPPING_SCOPE_BROWSER
}