يبدأ تفاعل عروض الأسعار في الوقت الفعلي عندما تُرسِل Google طلب عرض سعر إلى
تطبيقك. يشرح هذا الدليل كيفية ترميز تطبيقك لمعالجة طلب عروض الأسعار.
تحليل الطلب
تُرسِل Google طلب عرض سعر بتنسيق مُسلسل إما بتنسيق OpenRTB JSON أو بتنسيق Protobuf
، ويتم إرفاقه كحمولة لطلب HTTP POST. يعتمد التنسيق المستلَم
على إعدادات
نقطة النهاية . يمكنك الاطّلاع على
مثال على طلب عروض الأسعار للاطّلاع على مثال.
يجب تحليل هذا الطلب لتلقّي BidRequest
المتسلسل. إذا كنت تستخدم تنسيق Protobuf، عليك
تنزيل openrtb.proto
وopenrtb-adx.proto
من صفحة
البيانات المرجعية واستخدامهما ل
إنشاء مكتبة يمكن استخدامها لتحليل BidRequest
الرسالة. على سبيل المثال، تُحلِّل التعليمة البرمجية التالية بلغة C++ طلبًا تم تقديمه مع حمولة POST
في سلسلة:
string post_payload = /* the payload from the POST request */ ;
BidRequest bid_request ;
if ( bid_request . ParseFromString ( post_payload )) {
// Process the request .
}
بعد الحصول على BidRequest
، يمكنك التعامل معه كأحد
العناصر، واستخراج الحقول التي تحتاج إليها وتفسيرها. على سبيل المثال، في لغة
C++، يمكن أن تبدو عملية التنقّل في الصفقات في BidRequest في OpenRTB على النحو التالي:
for ( const BidRequest :: Imp :: Pmp :: Deal & deal : pmp . deals ()) {
DoSomething ( deal . id (), deal . wseat ());
}
أرقام تعريف الفوترة
تتلقّى طلب عرض سعر عندما يتم استهداف مستودع إعلانات الناشر من خلال
إعداد واحد أو أكثر من
إعدادات الاستهداف المُسبَق . BidRequest.imp.ext.billing_id
سيتمّ ملء الحقل بمعرّفات الفوترة لأيّ مشترين مؤهّلين، وإعدادات ملفّ التسويق المستهدف المُسبَق ذات الصلة. بالإضافة إلى ذلك، بالنسبة إلى
مستودع
الصفقات ، يمكنك العثور على أرقام تعريف الفوترة المرتبطة بالمشتري المعني
باستخدام BidRequest.imp.pmp.deal.ext.billing_id
. عند تقديم عرض سعر، يمكن تحديد أرقام تعريف الفوترة الخاصة
بالمشترين المدرَجين في طلب عرض السعر فقط.
إذا تم تضمين معرّفات فوترة متعددة في طلب عروض الأسعار، يجب تحديد
معرّف الفوترة للمشتري الذي تريد إسناد عرض أسعارك إليه باستخدام الحقل
BidResponse.seatbid.bid.ext.billing_id
.
ملفات القاموس
يستخدم طلب عروض الأسعار المعرّفات المحدّدة في ملفات القاموس، والتي
تتوفّر في صفحة البيانات المرجعية .
وحدات ماكرو عناوين URL لمقدّمي عروض الأسعار
اختياريًا، يمكن
إدراج بعض المعلومات من BidRequest
في عناوين URL لنقاط نهاية عروض الأسعار باستخدام وحدات الماكرو. في حال ضبط عنوان URL لنقطة نهاية
باستخدام وحدة ماكرو واحدة أو أكثر، سيتم توسيعها إذا كانت هذه المعلومات
متوفّرة في طلب عروض الأسعار. يمكن أن يكون ذلك مفيدًا، على سبيل المثال، إذا كنت تريد
إجراء موازنة التحميل استنادًا إلى المعلومات الواردة في BidRequest
.
يُرجى التواصل مع مدير حسابك لطلب الحصول على دعم بشأن وحدات الماكرو الجديدة.
وحدة الماكرو الوصف
%%GOOGLE_USER_ID%%
تم استبداله بمعرّف مستخدم Google المتوفّر في
BidRequest.user.id
. على سبيل المثال، سيتم استبدال عنوان URL الخاص بنظام عروض الأسعار
http://google.bidder.com/path?gid=%%GOOGLE_USER_ID%%
بعنوان مثل
http://google.bidder.com/path?gid=dGhpyBhbiBleGFtGxl
في وقت
الطلب.
إذا كان رقم تعريف مستخدم Google غير معروف، يتم استبدال السلسلة الفارغة بنتيجة مشابهة لنتيجة
http://google.bidder.com/path?gid=
%%HAS_MOBILE%%
يتم استبداله بـ 1
للإشارة إلى أنّ طلب عرض السعر صادر عن
جهاز جوّال، أو 0
في غير ذلك. يستند ذلك إلى قيمة
BidRequest.device.devicetype
، حيث يتم الإشارة إلى الأجهزة الجوّالة
باستخدام HIGHEND_PHONE
(4
) أو Tablet
(5
).
%%HAS_VIDEO%%
يتم استبداله بـ 1
للإشارة إلى أنّ طلب عرض السعر يحتوي على
مساحة إعلانية متاحة لإعلانات الفيديو، أو 0
في حال عدم توفّر مساحة إعلانية متاحة لإعلانات الفيديو. يستند ذلك إلى ما إذا كان يتمّ تعبئة
BidRequest.imp.video
في طلب عرض السعر.
%%HOSTED_MATCH_DATA%%
يتم استبدالها بقيمة تستند إلى BidRequest.user.buyeruid
.
%%MOBILE_IS_APP%%
تم استبداله بـ 1
للإشارة إلى أنّ طلب عرض السعر مخصّصًا
لمستودع التطبيقات المتوافقة مع الأجهزة الجوّالة، أو 0
في حال عدم توفّر مستودع. يعتمد ذلك على ما إذا كان الحقل
BidRequest.app
مملوءًا.
العثور على رقم تعريف التطبيق المتوافق مع الأجهزة الجوّالة من عنوان URL للمعاملة
ستحدّد معاملات التطبيقات المتوافقة مع الأجهزة الجوّالة عناوين URL التي تظهر على النحو التالي:
mbappgewtimrzgyytanjyg4888888 .com
استخدِم أداة فك ترميز القاعدة 32 لفك ترميز الجزء من السلسلة المكتوب بخط عريض
(gewtimrzgyytanjyg4888888
).
يمكنك استخدام أداة فك ترميز
على الإنترنت ، ولكن عليك كتابة الأحرف بأحرف كبيرة واستبدال قيم 8
التي تظهر في نهاية السلسلة بقيم =
.
بالتالي، فك ترميز هذه القيمة:
GEWTIMRZGYYTANJYG4======
يؤدي ذلك إلى:
1 - 429610587
السلسلة
429610587
هي معرّف تطبيق iOS
iFunny .
إليك مثال آخر. عنوان URL الذي تم الإبلاغ عنه هو:
mbappgewtgmjug4ytmmrtgm888888 .com
ترميز هذه القيمة:
GEWTGMJUG4YTMMRTGM======
يؤدي ذلك إلى:
1 - 314716233
النتيجة
314716233
هي معرّف التطبيق لتطبيق iOS
TextNow .
العثور على اسم التطبيق المتوافق مع الأجهزة الجوّالة من عنوان URL للمعاملة
في ما يلي مثال على الحصول على اسم التطبيق. عنوان URL الذي تم الإبلاغ عنه هو كما يلي:
mbappMFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q888 .com
ترميز هذه القيمة:
MFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q===
يؤدي ذلك إلى:
air.com.hypah.io.slither
تُعادل النتيجة تطبيق Android
slither.io .
حقول "عرض الأسعار المفتوح"
إنّ طلبات عروض الأسعار المُرسَلة إلى عروض أسعار الشبكة وعروض أسعار التبادل التي تشارك في "عرض الأسعار المفتوح" تشبه طلبات عروض الأسعار التي يقدّمها "الشراة المعتمَدون" الذين يشاركون في "عرض أسعار الوقت الفعلي" العادي. سيحصل عملاء عروض الأسعار المفتوحة على عدد صغير من
الحقول الإضافية، وقد يكون لبعض الحقول الحالية استخدامات بديلة. وتشمل هذه التحسينات
ما يلي:
OpenRTB
التفاصيل
BidRequest.imp.ext.dfp_ad_unit_code
يحتوي على رمز شبكة "مدير إعلانات Google" الخاص بالناشر متبوعًا بترتيب سلسلي
للوحدة الإعلانية، مفصولًا بشرطات مائلة للأمام.
على سبيل المثال، سيظهر هذا الرمز بتنسيق مشابه لما يلي:
/1234/cruises/mars
.
BidRequest.user.data.segment
أزواج مفاتيح وقيم متكرّرة يتم إرسالها من الناشر إلى مقدّم عروض الأسعار في تبادل الإعلانات
يمكنك تحديد أنّ القيم هي أزواج مفتاح/قيمة يرسلها
الناشر عند ضبط BidRequest.user.data.name
على
“Publisher Passed”
.
ملاحظة: لا يتم حاليًا إرسال هذا الحقل إلا إلى المشاركين في الإصدار التجريبي المغلق.
الإفصاح عن المورّدين المسموح بهم
يمكن أن يلعب مورّدو التكنولوجيا الذين يوفّرون خدمات مثل الأبحاث وإعادة التسويق و
عرض الإعلانات دورًا في التفاعل بين المشترين والبائعين. لا يُسمح إلا بالمورّدين الذين تحقّقت Google من أهليتهم للمشاركة في تفاعلات "المشترين المعتمَدين".
لفهم BidRequest
وإنشاء
BidResponse
، عليك معرفة المرحلتَين مختلفتَين
لإدراج مورّدي التكنولوجيا:
لا يلزم الإفصاح عن بعض المورّدين، ويتم إدراج هؤلاء المورّدين في المورّدون الخارجيون الحائزون على شهادة "مدير إعلانات Google" .
لا يمكن لبائعي الخدمات الآخرين المشاركة إلا إذا تم الإفصاح عنهم في
BidRequest
:
في الحقل BidRequest
، يحدّد الحقل
BidRequest.imp.ext.allowed_vendor_type
المورّدين الذين يسمح لهم البائع بالبيع. يتم إدراج المورّدين الذين سيتم إرسالهم في allowed_vendor_type
في ملف القاموس
vendors.txt
.
مثال على طلب عرض السعر
تمثّل الأمثلة التالية عيّنات قابلة للقراءة من طلبات Protobuf و
JSON.
OpenRTB Protobuf
عرض المثال
طلب تسلسلي
id : "nz1Q895H43SP4ImxSmQa6b"
imp {
id : "1"
banner {
w : 320
h : 50
pos : ABOVE_THE_FOLD
api : MRAID_1
api : MRAID_2
wmax : 339
hmax : 53
wmin : 227
hmin : 40
format {
w : 320
h : 50
}
format {
w : 300
h : 50
}
[ com . google . doubleclick . banner_ext ] {
flexslot {
wmin : 227
wmax : 339
hmin : 40
hmax : 53
}
}
}
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "23.4.0"
tagid : "1493802015"
bidfloor : 73.7217929849032
bidfloorcur : "JPY"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.0008632762474007905
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 1.0
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 86548870602
billing_id : 64050817605
publisher_settings_list_id : 1919771331799042254
publisher_settings_list_id : 8607682056454820141
allowed_vendor_type : 0
allowed_vendor_type : 9723
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
allowed_restricted_category : 33
allowed_restricted_category : 32
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
jsver : "test-sdk_123456789"
}
}
app {
name : "Test App"
ver : "1.2.15"
bundle : "com.google.testapp"
publisher {
id : "pub-2021944733829074"
[ com . google . doubleclick . publisher ] {
country : "SG"
}
}
content {
url : "https://www.google.com"
userrating : "4.9"
livestream : false
language : "sv"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "SWE"
region : "SE-O"
city : "Stenungsund"
zip : "472 31"
type : IP
utcoffset : 120
accuracy : 2913
[ com . google . doubleclick . geo ] {
geo_criteria_id : 1012566
}
}
make : "Samsung"
model : "SM-A546B"
os : "android"
osv : "15"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
ifa : "bc49e134-7f3b-4282-928e-5ffa35e1047f"
w : 339
h : 735
pxratio : 3.188
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "15"
}
mobile : true
bitness : "64"
model : "SM-A546B"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
metereddata : false
chargelevel : 0.97
charging : false
diskspace : 12800
audioout : AUDIO_SILENT
}
}
user {
id : "1E085g86030JZxtR8SO7g147Ygt"
consent : "OMITTED"
[ com . google . doubleclick . user ] {
consented_providers_settings {
consented_providers : 2415
consented_providers : 723
additional_consent : "OMITTED"
}
consent : "OMITTED"
session {
duration : 1080
depth : 610
requestssinceappopen : 1871
priorclicks : 0
}
idage : 10368000
}
}
at : FIRST_PRICE
tmax : 1000
cur : "JPY"
cur : "GBP"
bcat : "5"
bcat : "31"
regs {
[ com . google . doubleclick . regs ] {
gdpr : true
}
}
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-a-v251815999.243220000.1"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zGnD1h-SFMwW30WOg7X29LI78CmEi6lwfZBDI4RXQ8h6ufYC9L0y2Y448cm0445Obh37"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : true
}
}
ملف JSON في OpenRTB
عرض المثال
{
"id" : "nz1Q895H43SP4ImxSmQa6b" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 320 ,
"h" : 50 ,
"pos" : 1 ,
"api" : [
3 ,
5
],
"wmax" : 339 ,
"hmax" : 53 ,
"wmin" : 227 ,
"hmin" : 40 ,
"format" : [
{
"w" : 320 ,
"h" : 50
},
{
"w" : 300 ,
"h" : 50
}
],
"ext" : {
"flexslot" : {
"wmin" : 227 ,
"wmax" : 339 ,
"hmin" : 40 ,
"hmax" : 53
}
}
},
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "23.4.0" ,
"tagid" : "1493802015" ,
"bidfloor" : 73.7217929849032 ,
"bidfloorcur" : "JPY" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0008632762474007905 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 1.0 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"86548870602" ,
"64050817605"
],
"publisher_settings_list_id" : [
"1919771331799042254" ,
"8607682056454820141"
],
"allowed_vendor_type" : [
0 ,
9723
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"allowed_restricted_category" : [
33 ,
32
],
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"ae" : 0 ,
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "1.2.15" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-2021944733829074" ,
"ext" : {
"country" : "SG"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.9" ,
"livestream" : 0 ,
"language" : "sv"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "SWE" ,
"region" : "SE-O" ,
"city" : "Stenungsund" ,
"zip" : "472 31" ,
"type" : 2 ,
"utcoffset" : 120 ,
"accuracy" : 2913 ,
"ext" : {
"geo_criteria_id" : 1012566
}
},
"make" : "Samsung" ,
"model" : "SM-A546B" ,
"os" : "android" ,
"osv" : "15" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"ifa" : "bc49e134-7f3b-4282-928e-5ffa35e1047f" ,
"w" : 339 ,
"h" : 735 ,
"pxratio" : 3.188 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"15"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "SM-A546B" ,
"source" : 3
},
"ext" : {
"metereddata" : 0 ,
"chargelevel" : 0.97 ,
"charging" : 0 ,
"diskspace" : 12800 ,
"audioout" : 3
}
},
"user" : {
"id" : "1E085g86030JZxtR8SO7g147Ygt" ,
"consent" : "OMITTED" ,
"ext" : {
"consented_providers_settings" : {
"consented_providers" : [
"2415" ,
"723"
],
"additional_consent" : "OMITTED"
},
"consent" : "OMITTED" ,
"session" : {
"duration" : 1080 ,
"depth" : 610 ,
"requestssinceappopen" : 1871 ,
"priorclicks" : 0
},
"idage" : 10368000
}
},
"at" : 1 ,
"tmax" : 1000 ,
"cur" : [
"JPY" ,
"GBP"
],
"bcat" : [
"5" ,
"31"
],
"regs" : {
"ext" : {
"gdpr" : 1
}
},
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-a-v251815999.243220000.1"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-zGnD1h-SFMwW30WOg7X29LI78CmEi6lwfZBDI4RXQ8h6ufYC9L0y2Y448cm0445Obh37" ,
"fcap_scope" : 3 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
لتحويل طلب عروض الأسعار إلى تنسيق ثنائي، مثل ما ستحصل عليه من حمولة POST في طلب حقيقي، يمكنك إجراء ما يلي (باستخدام C++). يُرجى العلم أنّه
لا ينطبق ذلك على OpenRTB JSON.
string text_format_example = /* example from above */ ;
BidRequest bid_request ;
if ( TextFormat :: ParseFromString ( text_format_example , &bid_request )) {
string post_payload ;
if ( bid_request . SerializeToString ( &post_payload )) {
// post_payload is a binary serialization of the protocol buffer
}
}
ملاحظات في الوقت الفعلي
تتوفّر الملاحظات في الوقت الفعلي للمشترين المعتمَدين، بالإضافة إلى
التبادلات والشبكات التي تستخدم "عرض الأسعار المفتوح".
تملأ الملاحظات في الوقت الفعلي الحقل BidRequest.ext.bid_feedback
استنادًا
إلى نتيجة عرض سعر واحد أو أكثر قدّمته في وقت سابق، ويمكن استخدامها للعثور على
تفاصيل مثل ما إذا كان عرض السعر قد فاز بالمزاد أو الحد الأدنى لعرض السعر المطلوب
للفوز بالمزاد. يمكنك التواصل مع مدير حسابك لتفعيل ميزة "تلقّي الملاحظات والآراء في الوقت الفعلي".
بالإضافة إلى الحقول التلقائية المُرسَلة في "ملاحظات حول ردّات عروض الأسعار"، يمكنك
أيضًا إرسال بيانات مخصّصة في ردّات عروض الأسعار باستخدام الحقل
BidResponse.seatbid.bid.ext.event_notification_token
. event_notification_token
هي بيانات عشوائية لا يعرفها سوى مقدم العروض، وقد تساعد في تصحيح الأخطاء، على سبيل المثال: رقم تعريف استهداف جديد أو رقم تعريف عروض أسعار يمثّل أسلوبًا جديدًا، أو بيانات وصفية مرتبطة بتصميم الإعلان ولا يعرفها سوى مقدّم العروض. لمعرفة التفاصيل، يُرجى الاطّلاع على
ملف OpenRTB Extensions Protocol Buffer .
عندما يرسل "الشراة المعتمَدون" طلب عرض سعر إلى نظام عروض أسعار، يردّ نظام عروض الأسعار
باستخدام BidResponse
. إذا كان مقدّم عروض الأسعار قد فعّل ميزة الملاحظات في الوقت الفعلي،
ففي طلب عرض أسعار لاحق، يرسل "المشترون المعتمَدون" ملاحظات حول
الردّ في رسالة BidFeedback
:
message BidFeedback {
// The unique id from BidRequest . id .
optional string request_id = 1 ;
// The status code for the ad . See creative - status - codes . txt in the
// technical documentation for a list of ids .
optional int32 creative_status_code = 2 ;
// Deprecated . This field is not populated and will be removed after March ,
// 2025. If the bid won the auction , this is the price paid in your account
// currency . If the bid participated in the auction but was out - bid , this
// is the CPM that should have been exceeded in order to win . This is not
// set if the bid was filtered prior to the auction , if the publisher or
// winning bidder has opted out of price feedback or if your account has
// opted out of sharing winning prices with other bidders . For first - price
// auctions , minimum_bid_to_win is populated instead of this field .
optional double price = 3 [ deprecated = true ];
// The minimum bid value necessary to have won the auction , in your account
// currency . If your bid won the auction , this is the second highest bid
// that was not filtered ( including the floor price ) . If your bid didn 't win
// the auction , this is the winning candidate 's bid. This field will only be
// populated if your bid participated in a first - price auction , and will not
// be populated if your bid was filtered prior to the auction .
optional double minimum_bid_to_win = 6 ;
// The minimum bid value necessary to have won the server - side component of
// the overall auction given that there was also an interest group bidding
// component to the overall auction which ran using the Protected Audience
// API . The value is expressed in CPM of the buyer account currency . The
// minimum bid to win for the overall auction , including bids from the
// server - side and the on - device interest group components , is populated in
// the minimum_bid_to_win field of the same BidFeedback object .
optional double sscminbidtowin = 14 ;
// Billable event rate multiplier that was applied to this bid during
// ranking . The adjustment reflects the likelihood that your bid would
// generate a billable event ( namely , the ad renders successfully ) if it won
// the auction , relative to the probability that other bids generate a
// billable event if they won the auction . This adjustment can be larger or
// smaller than 1. This affects the final ranking in the auction only ; in
// particular , this multiplier does not affect the payment or whether the
// bid clears any floor price .
optional float billable_event_rate_bid_adjustment = 13 [ default = 1 ];
// When a publisher uses an RTB auction and waterfall - based SDK mediation on
// the same query , the winner of the real - time auction must also compete in
// a mediation waterfall ( which is ordered by price ) to win the impression .
// If the bid participated in the auction and there was no waterfall , the
// value of this field is 0. If the bid participated in the auction and
// there was a waterfall , the value of this field is a price representing a
// sample bid from the eligible mediation networks that were higher than the
// auction winner , weighted by expected fill rate . This field can be used
// in conjunction with minimum_bid_to_win to train bidding models . The CPM
// is in your account currency .
optional double sampled_mediation_cpm_ahead_of_auction_winner = 8 ;
message EventNotificationToken {
// The contents of the token .
optional string payload = 1 ;
}
// The token included in the corresponding bid .
optional EventNotificationToken event_notification_token = 4 ;
// The creative ID included in the corresponding bid .
optional string buyer_creative_id = 5 ;
// Possible types of bid response feedback objects .
enum FeedbackType {
FEEDBACK_TYPE_UNSPECIFIED = 0 ;
// Feedback for a bid that was submitted on a bid response .
BID_FEEDBACK = 1 ;
// Feedback for an interest group buyer submitted on a bid response to
// particpate in an interest group bidding component of the auction run
// using the Protected Audience API .
INTEREST_GROUP_BUYER_FEEDBACK = 2 ;
}
// The type of the BidFeedback message . Google will send separate
// BidFeedback objects for :
// a ) Each bid submitted on a bid response
// b ) Each buyer submitted on a bid response to particpate in an interest
// group bidding component of the auction run using the Protected Audience
// API .
optional FeedbackType feedbacktype = 15 ;
// Origin of an interest group buyer that was included in the bid response .
// This field is populated only for feedback where a bidder opted in an
// interest group buyer to participate in the interest group bidding
// component of the overall auction run using the Protected Audience API .
// To learn more about origins , see https : // www . rfc - editor . org / rfc / rfc6454 .
// To learn more about interest group bidding and the Protected Audience
// API , see
// https : // developers . google . com / authorized - buyers / rtb / fledge - origin - trial .
optional string buyerorigin = 16 ;
// The status code for the submitted interest group buyer . This field is
// only populated in the feedback for an interest group buyer that a bidder
// requested to enter into the interest group auction through the bid
// response . Individual creative status codes of bids submitted by the buyer
// in the on - device interest group auction are not available . See
// https : // storage . googleapis . com / adx - rtb - dictionaries / interest - group - buyer - status - codes . txt
// for a list of interest group buyer status codes .
optional int32 igbuyerstatus = 17 ;
}
من هذه الرسالة، الحقل الأول الذي يجب التحقّق منه هو
bid_feedback.creative_status_code
، ويمكنك العثور على معنى الرمز
في
creative-status-codes.txt . يُرجى العلم أنّه في حال فوزك بعرض السعر، يمكنك إيقاف ميزة تلقي ملاحظات عن الأسعار. لمزيد من المعلومات، يُرجى الاطّلاع على كيفية
إيقاف هذه الميزة.
تتضمّن الملاحظات في الوقت الفعلي معرّف طلب عرض السعر وأحد يليه:
نتيجة المزاد
ملاحظات في الوقت الفعلي
لم يقدّم المشتري عرض سعر.
لا شيء.
أرسل المشتري عرض سعر تمّت فلترته قبل الوصول إلى المزاد.
رمز حالة تصميم الإعلان (creative-status-codes.txt )
أرسل المشتري عرض سعر، ولكنه خسر المزاد.
رمز حالة تصميم الإعلان 79
(عرض سعر أعلى في
المزاد)
أرسل المشتري عرض سعر فاز بالمزاد.
السعر العادل ورمز حالة تصميم الإعلان 1
بالنسبة إلى مرّة ظهور للتطبيق ورمز حالة تصميم الإعلان 83
،
من الممكن أن يكون ناشر التطبيق يستخدم عرضًا بدون انقطاع للتوسّط، وبالتالي كان
العرض الفائز سيتنافس مع طلب آخر في
سلسلة العرض بدون انقطاع لإعادة الإحالة الناجحة لدى الناشر. تعرَّف على كيفية استخدام
sampled_mediation_cpm_ahead_of_auction_winner
عند
تقديم عروض الأسعار .
عيّنة
في ما يلي عيّنة من الملاحظات في الوقت الفعلي كما تظهر في بروتوكولات
المتوافقة:
OpenRTB Protobuf
عرض المثال
طلب تسلسلي
id : "01WjN3uc042XYP8Yw509Q7"
imp {
id : "1"
banner {
w : 344
h : 650
pos : AD_POSITION_FULLSCREEN
api : MRAID_1
api : MRAID_2
format {
w : 344
h : 650
}
format {
w : 300
h : 600
}
}
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "22.6.0"
instl : true
tagid : "7282514850"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
exp : 14400
clickbrowser : true
metric {
type : "viewability"
value : 0.77
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 75441834964
publisher_settings_list_id : 9268043626392948934
publisher_settings_list_id : 2867966915706729060
allowed_vendor_type : 113
allowed_vendor_type : 41423
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
allowed_restricted_category : 32
allowed_restricted_category : 33
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
is_app_open_ad : true
ae : SERVER_SIDE_AUCTION
}
}
app {
name : "Test App"
ver : "6.46.0"
bundle : "com.google.testapp"
publisher {
id : "pub-7120195540802809"
[ com . google . doubleclick . publisher ] {
country : "US"
}
}
content {
url : "https://www.google.com"
userrating : "4.6"
livestream : false
language : "en"
}
storeurl : "https://www.google.com"
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED"
}
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "GHA"
type : IP
utcoffset : 0
accuracy : 8865
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9067654
}
}
make : "Itel"
model : "itel W6502"
os : "android"
osv : "10"
connectiontype : CELL_4G
devicetype : HIGHEND_PHONE
lmt : true
w : 360
h : 722
pxratio : 2.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "10"
}
mobile : true
model : "itel W6502"
source : USER_AGENT_STRING
}
}
user {
[ com . google . doubleclick . user ] {
session {
duration : 660
}
}
}
at : FIRST_PRICE
tmax : 300
cur : "USD"
bcat : "IAB19-22"
bcat : "IAB23-1"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
schain {
complete : 1
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
ver : "1.0"
}
}
}
[ com . google . doubleclick . bid_request ] {
bid_feedback {
request_id : "4004C52Z6Z7Fa39Lf6F2AQ"
creative_status_code : 79
buyer_creative_id : "test_creative_id_129669"
minimum_bid_to_win : 0.1
feedbacktype : BID_FEEDBACK
}
google_query_id : "ANy-zbp8Gw-Mv43u3ni49Ena0i57E0789881P6YVa8jXDHq36B3fNk8me8F20GS6114onx7A"
fcap_scope : FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection : true
}
}
ملف JSON في OpenRTB
عرض المثال
{
"id" : "01WjN3uc042XYP8Yw509Q7" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 344 ,
"h" : 650 ,
"pos" : 7 ,
"api" : [
3 ,
5
],
"format" : [
{
"w" : 344 ,
"h" : 650
},
{
"w" : 300 ,
"h" : 600
}
]
},
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "22.6.0" ,
"instl" : 1 ,
"tagid" : "7282514850" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 14400 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "viewability" ,
"value" : 0.77 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"75441834964"
],
"publisher_settings_list_id" : [
"9268043626392948934" ,
"2867966915706729060"
],
"allowed_vendor_type" : [
113 ,
41423
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"allowed_restricted_category" : [
32 ,
33
],
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"is_app_open_ad" : 1 ,
"ae" : 0
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "6.46.0" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-7120195540802809" ,
"ext" : {
"country" : "US"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.6" ,
"livestream" : 0 ,
"language" : "en"
},
"storeurl" : "https://www.google.com" ,
"ext" : {
"inventorypartnerdomain" : "OMITTED"
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "GHA" ,
"type" : 2 ,
"utcoffset" : 0 ,
"accuracy" : 8865 ,
"ext" : {
"geo_criteria_id" : 9067654
}
},
"make" : "Itel" ,
"model" : "itel W6502" ,
"os" : "android" ,
"osv" : "10" ,
"connectiontype" : 6 ,
"devicetype" : 4 ,
"lmt" : 1 ,
"w" : 360 ,
"h" : 722 ,
"pxratio" : 2.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"10"
]
},
"mobile" : 1 ,
"model" : "itel W6502" ,
"source" : 3
}
},
"user" : {
"ext" : {
"session" : {
"duration" : 660
}
}
},
"at" : 1 ,
"tmax" : 300 ,
"cur" : [
"USD"
],
"bcat" : [
"IAB19-22" ,
"IAB23-1"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"bid_feedback" : [
{
"request_id" : "4004C52Z6Z7Fa39Lf6F2AQ" ,
"creative_status_code" : 79 ,
"buyer_creative_id" : "test_creative_id_129669" ,
"minimum_bid_to_win" : 0.1 ,
"feedbacktype" : 1
}
],
"google_query_id" : "ANy-zbp8Gw-Mv43u3ni49Ena0i57E0789881P6YVa8jXDHq36B3fNk8me8F20GS6114onx7A" ,
"fcap_scope" : 4 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
إنشاء نموذج عروض أسعار للمزادات ذات السعر الأول
بعد تقديم عرض سعر في مزاد السعر الأول، ستتلقّى ملاحظات في الوقت الفعلي، بما في ذلك الحقلَين minimum_bid_to_win
و
sampled_mediation_cpm_ahead_of_auction_winner
في حال عدم فلترة عرض السعر
من المزاد. يمكن استخدام هذه الإشارات لتوجيه
منطق عروض الأسعار بشأن مقدار ارتفاع عرض السعر أو انخفاضه من أجل
الحصول على مرّة الظهور.
minimum_bid_to_win
: الحد الأدنى لعرض السعر الذي كان من الممكن
تقديمه للفوز بمزاد عروض الأسعار في الوقت الفعلي. إذا فزت بالمزاد، سيكون
هذا هو أقل عرض سعر كان بإمكانك تقديمه مع الحفاظ على الفوز. إذا خسرت المزاد، سيكون هذا هو عرض السعر الفائز.
sampled_mediation_cpm_ahead_of_auction_winner
: إذا كانت هناك
شبكات أخرى في سلسلة التوسّط ، تكون قيمة
هذا الحقل سعرًا يمثّل عيّنة عرض سعر من إحدى
شبكات التوسّط المؤهّلة التي كانت أعلى من الفائز في المزاد، ويتمّ تقييمه
حسب معدّل الإشغال المتوقّع. سيتم ضبط هذا الخيار على 0 إذا لم يكن من المتوقّع أن يتم ملء أيّ من الشبكات في
سلسلة التوسّط، أو إذا لم يستخدم الناشر توسّط SDK.
آلية العمل
لوصف العمليات الحسابية المستخدَمة لتحديد القيم المحتملة
لـ minimum_bid_to_win
و
sampled_mediation_cpm_ahead_of_auction_winner
، علينا أولاً
تحديد ما يلي:
في ما يلي تكلفة كل ألف ظهور في سلسلة التوسّط بترتيب تنازلي:
\[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) على النحو التالي:
سلسلة توسّط حِزم تطوير البرامج (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:
مزاد "عروض الأسعار في الوقت الفعلي"
التكلفة لكل ألف ظهور
الفائز في المزاد (W)
$1,00
المركز الثاني في المزاد (R)
0.05 دولار أمريكي
السعر الاحتياطي / الحد الأدنى (F)
$0
عرض السعر الذي فاز بالمزاد
في ما يلي مثال على كيفية احتساب القيم واحتمالات
minimum_bid_to_win
و
sampled_mediation_cpm_ahead_of_auction_winner
لمحاولة bidding التي فازت.
minimum_bid_to_win
الاحتمالية
\(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
الاحتمالية
\(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
الاحتمالية
\(max(F, W) = $1.00\)
\(100\%\)
sampled_mediation_cpm_ ahead_of_auction_winner
الاحتمالية
\(C_1 = $3.00\)
\(f_1 = 5\%\)
\(C_2 = $2.00\)
\((1-f_1) \cdot f_2 =~ 42.8\%\)
\(0\)
\((1-f_1) \cdot (1-f_2) =~ 52.2\%\)
ملاحظة: تشير قيمة 0 في الحقل
sampled_mediation_cpm_ahead_of_auction_winner
إلى
أنّ مزاد عروض الأسعار في الوقت الفعلي قد فاز. في المثال أعلاه، من المتوقّع ألا تُقدّم شبكة التوسّط المنافسة عرض سعر أعلى من الفائز في المزاد بنسبة 52.2% من
الوقت.
تقسيم عروض الأسعار
يصف تسطيح عروض الأسعار معالجة BidRequest
معقدة واحدة في طلبات عروض أسعار متعددة يتم إرسالها إلى
تطبيقك. عند تسطيح طلب عرض سعر، يمكنك معرفة طلبات عروض الأسعار التي كانت
جزءًا من الطلب الأصلي لأنّها ستحتوي على قيمة متطابقة في حقل
BidRequest.ext.google_query_id
.
تكون ميزة تسطيح عروض الأسعار مفعّلة تلقائيًا، ولكن يمكنك التواصل مع مدير حسابك
إذا كنت تفضّل إيقافها.
يمكن أن تقبل بعض فرص الإعلانات أشكالًا متعددة. من خلال تسطيح عروض الأسعار، يتم إرسال كل
تنسيق في طلب عرض سعر منفصل حيث تكون السمات، مثل معرّفات ملف الدفع
المؤهّلة، ذات صلة بالتنسيق المحدّد في الطلب.
سيتم تجميع طلبات عروض الأسعار التي تحتوي على التنسيقات التالية في
طلبات عروض أسعار منفصلة:
بانر
فيديو
الصوت
مدمجة مع المحتوى
في ما يلي مثال يعرض طلب عروض أسعار OpenRTB JSON المبسّط بدون تسطيح ملف التنسيق الإعلاني مقارنةً بمجموعة مماثلة من الطلبات المسطّحة:
تسطيح مُسبَق
عرض المثال
{
"id": "V5ar1wXqKP58nbsyJ6549D",
"imp": [
{
"id": "1",
"video": {
"linearity": 1,
"w": 300,
"h": 250,
"pos": 1,
"skip": 1,
"playbackmethod": [
6
],
"placement": 3,
"mimes": [
"video/mp4"
],
"protocols": [
2,
3
]
},
"banner": {
"format": [
{
"w": 300,
"h": 250
}
],
"w": 300,
"h": 250,
"pos": 1
},
"ext": {
"billing_id": [
47039494050,
52030317241
]
}
}
],
"ext": {
"google_query_id": "ANy-zdp266-244itJsom3dmXb7SvW1IPg6478g639g0867v1126w630F3M7lAp640H666744"
}
}
بعد تسطيح
عرض المثال
الطلب 1
{
"id": "B3xr1yZqRL48nbsyJ6367N",
"imp": [
{
"id": "1",
"video": {
"linearity": 1,
"w": 300,
"h": 250,
"pos": 1,
"skip": 1,
"playbackmethod": [
6
],
"placement": 3,
"mimes": [
"video/mp4"
],
"protocols": [
2,
3
]
}
"ext": {
"billing_id": [
47039494050
]
}
],
"ext": {
"google_query_id": "ANy-zdp266-244itJsom3dmXb7SvW1IPg6478g639g0867v1126w630F3M7lAp640H666744"
}
}
الطلب 2
{
"id": "M1dY8qHyNK74bMsjF393Gf",
"imp": [
{
"id": "1",
"banner": {
"format": [
{
"w": 300,
"h": 250
}
],
"w": 300,
"h": 250,
"pos": 1
},
"ext": {
"billing_id": [
52030317241
]
}
}
],
"ext": {
"google_query_id": "ANy-zdp266-244itJsom3dmXb7SvW1IPg6478g639g0867v1126w630F3M7lAp640H666744"
}
}
العروض
يمكن أن تنطبق فرصة عرض إعلانية لمقدّم عروض أسعار معيّن على أنواع مختلفة من الصفقات، بالإضافة إلى المزاد المفتوح. عند تسطيح عروض الأسعار للصفقات، سيتم إرسال طلب عرض سعر واحد للمزاد المفتوح، وواحد لكل نوع من الصفقات التي يتم تحديد سعرها بشكل ثابت. من الناحية العملية، يمكن أن تختلف قيود الإعلانات بين أنواع المزادات والصفقات الثابتة القيمة. على سبيل المثال، بالنسبة إلى فرصة إعلان فيديو معيّنة متاحة لكل من المزاد المفتوح والصفقة الثابتة القيمة، سيتلقّى مقدّم عروض الأسعار طلبات عروض أسعار مختلفة لكل منها، حيث يمكن أن تختلف القيود، مثل الحد الأقصى لمدة الإعلان وما إذا كان يُسمح بإعلانات قابلة للتخطّي. نتيجةً لذلك، فإنّ تسطيح الفرص الإعلانية يتيح لك بسهولة أكبر تمييز القيود المفروضة على الإعلانات في المزاد المفتوح والصفقات بسعر ثابت.
ملاحظة: ستتضمّن المزادات الخاصة وحِزم المزادات قيودًا مماثلة
للمزاد المفتوح، وسيستمر تضمينها في طلبات عروض أسعار المزاد المفتوح.
إمكانية التخطّي ومدة الفيديو
لا تتضمّن مواصفات OpenRTB حقولًا منفصلة لتحديد الحد الأقصى
لمدّة إعلانات الفيديو القابلة للتخطّي وغير القابلة للتخطّي. في عملية التنفيذ التي تتّبعها Google، تتم معالجة عروض الأسعار لتتمكّن من التمييز بين هذه العروض باستخدام الحقلَين الحاليَين
BidRequest.video.maxduration
و
BidRequest.video.skip
.
في ما يلي مثال على كيفية تسطيح مستودع الفيديو عندما يكون
الحد الأقصى لمدة الإعلان غير القابل للتخطي هو 15
والحد الأقصى
لمدة الإعلان القابل للتخطي هو 60
.
مثال
max_ad_duration
skip
(true OR false)
الطلب الأصلي بدون تسطيح
15
true
الطلب المُقسَّم رقم 1: الإعلانات غير القابلة للتخطّي
15
false
الطلب المسطّح رقم 2: قابل للتخطّي
60
true
لن يتم تجميع طلبات عروض الأسعار المتعلّقة بمدة الفيديو القابلة للتخطّي إلا عند استيفاء
هذه الشروط:
أن يسمح الطلب بعرض الفيديو
يُسمح بعرض كلٍّ من الفيديوهات القابلة للتخطّي وغير القابلة للتخطّي، وتختلف قيمة المدّتَين القصوى المعنيّتَين.
هذا الطلب مؤهَّل للمزاد الخاص أو المزاد المفتوح.
يمكنك إيقاف هذا النوع من التسطيح من خلال التواصل مع مدير حسابك الفني. عند إيقاف هذه الميزة، إذا سمح الناشر بعرض كلٍّ من إعلانات الفيديو القابلة للتخطّي
وغير القابلة للتخطّي بحدّ أقصى مختلف للمدّة استنادًا إلى إمكانية التخطّي،
سيتم ضبط skip
على true
و
سيتم ضبط maxduration
على المدّة الأقصر بين
قيود الإعلانات القابلة للتخطّي وغير القابلة للتخطّي.
مجموعات الفيديوهات
يتم تجميع طلبات عروض الأسعار لمجموعة فيديوهات تتضمّن فرص إعلانية متعددة،
بحيث يكون كل طلب عرض سعر مخصّصًا لفرصة إعلانية فردية من هذه المجموعة.
يتيح لك ذلك تقديم عروض أسعار لفرص إعلانية متعدّدة لمجموعة معيّنة من الإعلانات المتسلسلة.
القياس المفتوح
تتيح لك ميزة "القياس المفتوح" تحديد مورّدي خدمات تابعين لجهات خارجية يوفّرون خدمات قياس وإثبات الهوية مستقلّة للإعلانات التي يتم عرضها في بيئة التطبيقات المتوافقة مع الأجهزة الجوّالة.
يمكنك تحديد ما إذا كان الناشر يتيح ميزة "القياس المفتوح" في طلب مزايدة من خلال التحقّق مما إذا كانت فرصة الإعلان تستبعد سمة OmsdkType:
OMSDK 1.0
المتوفّرة في سمات مواد العرض التي يمكن للناشر استبعادها . يمكن العثور على هذه السمة ضمن battr
Banner
أو Video ، وذلك استنادًا
إلى التنسيق.
لمزيد من المعلومات حول كيفية تفسير طلبات عروض الأسعار التي تحتوي على إشارات قياس الأداء المفتوح، يُرجى الرجوع إلى مقالة "مركز المساعدة" حول Open Measurement
SDK .
نماذج طلبات عروض الأسعار
تعرض الأقسام التالية نماذج لطلبات عروض الأسعار لأنواع إعلانات مختلفة.
ملاحظة: تتضمّن نماذج Protobuf روابط تنزيل لطلبات عروض أسعار مماثلة
مُسلسلة. ولا يمكن ضمان أن تكونا متطابقتَين.
بانر التطبيق
OpenRTB Protobuf
عرض المثال
طلب تسلسلي
id : "9NaI48SmPW7Zf3MAHR43DY"
imp {
id : "1"
banner {
w : 320
h : 50
pos : ABOVE_THE_FOLD
api : MRAID_1
api : MRAID_2
wmax : 390
hmax : 61
wmin : 261
hmin : 46
format {
w : 320
h : 50
}
[ com . google . doubleclick . banner_ext ] {
flexslot {
wmin : 261
wmax : 390
hmin : 46
hmax : 61
}
}
}
displaymanager : "GoogleMobileAds-iOS"
displaymanagerver : "11.10.0"
tagid : "9396839755"
bidfloor : 1.0
bidfloorcur : "JPY"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.0016558143543079495
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.96
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 82364411103
publisher_settings_list_id : 2581479915860139166
publisher_settings_list_id : 1866597146354523937
allowed_vendor_type : 0
allowed_vendor_type : 4648
ampad : AMP_AD_NOT_ALLOWED
skadn {
sourceapp : "com.google.testapp"
skadnetids : "cF58w81X"
versions : "2.0"
versions : "2.1"
fidelities : STOREKIT_RENDERED_ADS
fidelities : VIEW_THROUGH_ADS
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
billable_event_rate_bid_adjustment {
bid_adjustment : 1.033434
creative_type : HTML_SNIPPET
}
ae : SERVER_SIDE_AUCTION
jsver : "test-sdk_123456789"
}
}
app {
name : "Test App"
ver : "5.6.0"
bundle : "com.google.testapp"
publisher {
id : "pub-6156239328255091"
[ com . google . doubleclick . publisher ] {
country : "JP"
}
}
content {
url : "https://www.google.com"
livestream : false
language : "ja"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "JPN"
region : "JP-27"
city : "Osaka"
type : IP
utcoffset : 540
accuracy : 8429
[ com . google . doubleclick . geo ] {
geo_criteria_id : 1009540
}
}
ipv6 : "240a:61:20a7::"
carrier : "70000"
language : "ja"
make : "Apple"
model : "iPhone13,2"
os : "iOS"
osv : "18.6.2"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
hwv : "iPhone13,2"
w : 390
h : 844
pxratio : 3.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "605"
version : "1"
}
platform {
brand : "iPhone"
version : "18"
version : "6"
}
mobile : true
bitness : "64"
model : "iPhone"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
atts : 2
audioout : AUDIO_SILENT
}
}
user {
[ com . google . doubleclick . user ] {
session {
duration : 270
depth : 12
requestssinceappopen : 12
priorclicks : 0
}
}
}
at : FIRST_PRICE
tmax : 1000
cur : "USD"
cur : "JPY"
bcat : "3"
bcat : "4"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-i-v11.10.0"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-z7N096-BC94m1ooKoCOsHY5Aqf505y9370zhIav4249vkZ12R2ZiijB1x8I8XL5J1i25"
fcap_scope : FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection : true
}
}
ملف JSON في OpenRTB
عرض المثال
{
"id" : "9NaI48SmPW7Zf3MAHR43DY" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 320 ,
"h" : 50 ,
"pos" : 1 ,
"api" : [
3 ,
5
],
"wmax" : 390 ,
"hmax" : 61 ,
"wmin" : 261 ,
"hmin" : 46 ,
"format" : [
{
"w" : 320 ,
"h" : 50
}
],
"ext" : {
"flexslot" : {
"wmin" : 261 ,
"wmax" : 390 ,
"hmin" : 46 ,
"hmax" : 61
}
}
},
"displaymanager" : "GoogleMobileAds-iOS" ,
"displaymanagerver" : "11.10.0" ,
"tagid" : "9396839755" ,
"bidfloor" : 1.0 ,
"bidfloorcur" : "JPY" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0016558143543079495 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.96 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"82364411103"
],
"publisher_settings_list_id" : [
"2581479915860139166" ,
"1866597146354523937"
],
"allowed_vendor_type" : [
0 ,
4648
],
"ampad" : 2 ,
"skadn" : {
"sourceapp" : "com.google.testapp" ,
"skadnetids" : [
"cF58w81X"
],
"versions" : [
"2.0" ,
"2.1"
],
"fidelities" : [
1 ,
0
]
},
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"billable_event_rate_bid_adjustment" : [
{
"bid_adjustment" : 1.033434 ,
"creative_type" : 1
}
],
"ae" : 0 ,
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "5.6.0" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-6156239328255091" ,
"ext" : {
"country" : "JP"
}
},
"content" : {
"url" : "https://www.google.com" ,
"livestream" : 0 ,
"language" : "ja"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "JPN" ,
"region" : "JP-27" ,
"city" : "Osaka" ,
"type" : 2 ,
"utcoffset" : 540 ,
"accuracy" : 8429 ,
"ext" : {
"geo_criteria_id" : 1009540
}
},
"ipv6" : "240a:61:20a7::" ,
"carrier" : "70000" ,
"language" : "ja" ,
"make" : "Apple" ,
"model" : "iPhone13,2" ,
"os" : "iOS" ,
"osv" : "18.6.2" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"hwv" : "iPhone13,2" ,
"w" : 390 ,
"h" : 844 ,
"pxratio" : 3.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"605" ,
"1"
]
}
],
"platform" : {
"brand" : "iPhone" ,
"version" : [
"18" ,
"6"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "iPhone" ,
"source" : 3
},
"ext" : {
"atts" : 2 ,
"audioout" : 3
}
},
"user" : {
"ext" : {
"session" : {
"duration" : 270 ,
"depth" : 12 ,
"requestssinceappopen" : 12 ,
"priorclicks" : 0
}
}
},
"at" : 1 ,
"tmax" : 1000 ,
"cur" : [
"USD" ,
"JPY"
],
"bcat" : [
"3" ,
"4"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-i-v11.10.0"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-z7N096-BC94m1ooKoCOsHY5Aqf505y9370zhIav4249vkZ12R2ZiijB1x8I8XL5J1i25" ,
"fcap_scope" : 4 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
إعلان بيني داخل التطبيق
OpenRTB Protobuf
عرض المثال
طلب تسلسلي
id : "D3x8RPLO96R6T137tQ6168"
imp {
id : "1"
banner {
w : 360
h : 715
pos : AD_POSITION_FULLSCREEN
api : MRAID_1
api : MRAID_2
format {
w : 360
h : 715
}
format {
w : 320
h : 568
}
}
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "22.3.0"
instl : true
tagid : "5771994185"
bidfloor : 2764.414643547123
bidfloorcur : "JPY"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.03971313312649727
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.91
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 68640308112
billing_id : 56606437068
publisher_settings_list_id : 1984414516100776281
publisher_settings_list_id : 5846951473307279661
allowed_vendor_type : 0
allowed_vendor_type : 57823
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
jsver : "test-sdk_123456789"
}
}
app {
name : "Test App"
bundle : "com.google.testapp"
publisher {
id : "pub-7405557148270612"
[ com . google . doubleclick . publisher ] {
country : "HK"
}
}
content {
url : "https://www.google.com"
userrating : "4.7"
livestream : false
language : "en"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "GBR"
region : "GB-ENG"
zip : "RH20"
type : IP
utcoffset : 60
accuracy : 2312
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9191103
}
}
ipv6 : "2a02:c7c:7c25::"
make : "Huawei"
model : "LYA-L09"
os : "android"
osv : "10"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
ifa : "0f0f33d1-fa18-4a2c-bc47-79ef855b5c16"
w : 360
h : 715
pxratio : 3.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "10"
}
mobile : true
model : "LYA-L09"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
metereddata : false
chargelevel : 0.93
charging : false
diskspace : 2100
audioout : AUDIO_SILENT
}
}
user {
id : "D17oNZQUJqB4Rt4n4Ec61AC9tee"
consent : "OMITTED"
[ com . google . doubleclick . user ] {
consented_providers_settings {
consented_providers : 1205
consented_providers : 415
additional_consent : "OMITTED"
}
consent : "OMITTED"
session {
duration : 6
depth : 12
requestssinceappopen : 12
priorclicks : 0
}
idage : 44064000
}
}
at : FIRST_PRICE
tmax : 1500
cur : "EUR"
cur : "JPY"
bcat : "32"
bcat : "33"
regs {
[ com . google . doubleclick . regs ] {
gdpr : true
}
}
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-a-v251815999.232400000.1"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zc395b-x973i1113tK7P9K633CKoo3Pl45uz8D40mz3v48s9Zp604a8FsGL3893PT15M"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : true
}
}
ملف JSON في OpenRTB
عرض المثال
{
"id" : "D3x8RPLO96R6T137tQ6168" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 360 ,
"h" : 715 ,
"pos" : 7 ,
"api" : [
3 ,
5
],
"format" : [
{
"w" : 360 ,
"h" : 715
},
{
"w" : 320 ,
"h" : 568
}
]
},
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "22.3.0" ,
"instl" : 1 ,
"tagid" : "5771994185" ,
"bidfloor" : 2764.414643547123 ,
"bidfloorcur" : "JPY" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.03971313312649727 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.91 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"68640308112" ,
"56606437068"
],
"publisher_settings_list_id" : [
"1984414516100776281" ,
"5846951473307279661"
],
"allowed_vendor_type" : [
0 ,
57823
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"ae" : 0 ,
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"name" : "Test App" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-7405557148270612" ,
"ext" : {
"country" : "HK"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.7" ,
"livestream" : 0 ,
"language" : "en"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "GBR" ,
"region" : "GB-ENG" ,
"zip" : "RH20" ,
"type" : 2 ,
"utcoffset" : 60 ,
"accuracy" : 2312 ,
"ext" : {
"geo_criteria_id" : 9191103
}
},
"ipv6" : "2a02:c7c:7c25::" ,
"make" : "Huawei" ,
"model" : "LYA-L09" ,
"os" : "android" ,
"osv" : "10" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"ifa" : "0f0f33d1-fa18-4a2c-bc47-79ef855b5c16" ,
"w" : 360 ,
"h" : 715 ,
"pxratio" : 3.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"10"
]
},
"mobile" : 1 ,
"model" : "LYA-L09" ,
"source" : 3
},
"ext" : {
"metereddata" : 0 ,
"chargelevel" : 0.93 ,
"charging" : 0 ,
"diskspace" : 2100 ,
"audioout" : 3
}
},
"user" : {
"id" : "D17oNZQUJqB4Rt4n4Ec61AC9tee" ,
"consent" : "OMITTED" ,
"ext" : {
"consented_providers_settings" : {
"consented_providers" : [
"1205" ,
"415"
],
"additional_consent" : "OMITTED"
},
"consent" : "OMITTED" ,
"session" : {
"duration" : 6 ,
"depth" : 12 ,
"requestssinceappopen" : 12 ,
"priorclicks" : 0
},
"idage" : 44064000
}
},
"at" : 1 ,
"tmax" : 1500 ,
"cur" : [
"EUR" ,
"JPY"
],
"bcat" : [
"32" ,
"33"
],
"regs" : {
"ext" : {
"gdpr" : 1
}
},
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-a-v251815999.232400000.1"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-zc395b-x973i1113tK7P9K633CKoo3Pl45uz8D40mz3v48s9Zp604a8FsGL3893PT15M" ,
"fcap_scope" : 3 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
إعلان فيديو بيني داخل التطبيق
OpenRTB Protobuf
عرض المثال
طلب تسلسلي
id : "179eb03K549H7I2584e7L6"
imp {
id : "1"
video {
mimes : "video/mp4"
linearity : LINEAR
maxduration : 30
w : 414
h : 816
startdelay : 0
playbackmethod : CLICK_TO_PLAY
pos : AD_POSITION_FULLSCREEN
companionad {
w : 414
h : 816
mimes : "text/css"
mimes : "image/jpeg"
format {
w : 414
h : 816
}
vcm : true
}
api : MRAID_1
api : MRAID_2
companiontype : STATIC
companiontype : HTML
protocols : VAST_2_0
protocols : VAST_3_0
skip : false
placement : FLOATING_PLACEMENT
playbackend : COMPLETION_OR_USER
maxseq : 2
poddur : 30
plcmt : PLCMT_INTERSTITIAL
[ com . google . doubleclick . video ] {
inferredplcmt : PLCMT_INTERSTITIAL
}
}
displaymanager : "GoogleMobileAds-iOS"
displaymanagerver : "12.7.0"
instl : true
tagid : "7757209244"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.048289403319358826
vendor : "EXCHANGE"
}
metric {
type : "video_completion_rate"
value : 0.1191580668091774
vendor : "EXCHANGE"
}
rwdd : true
[ com . google . doubleclick . imp ] {
billing_id : 55383762512
publisher_settings_list_id : 1847492880042777742
publisher_settings_list_id : 3770000868027227103
allowed_vendor_type : 0
allowed_vendor_type : 237
is_rewarded_inventory : true
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 : "306el65O"
versions : "2.0"
versions : "2.1"
fidelities : VIEW_THROUGH_ADS
fidelities : STOREKIT_RENDERED_ADS
skoverlay : true
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
ae : SERVER_SIDE_AUCTION
jsver : "test-sdk_123456789"
}
}
app {
name : "Test App"
ver : "6.5.1"
bundle : "com.google.testapp"
publisher {
id : "pub-9126361500211130"
[ com . google . doubleclick . publisher ] {
country : "GB"
}
}
content {
url : "https://www.google.com"
livestream : false
language : "fr"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "FRA"
region : "FR-V"
zip : "01700"
type : IP
utcoffset : 120
accuracy : 3878
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9054913
}
}
ipv6 : "2a01:cb14:11e4::"
language : "fr"
make : "Apple"
model : "iPhone12,1"
os : "iOS"
osv : "18.5"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
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 : "18"
version : "5"
}
mobile : true
bitness : "64"
model : "iPhone"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
atts : 2
audioout : AUDIO_SPEAKER
}
}
user {
consent : "OMITTED"
[ com . google . doubleclick . user ] {
consented_providers_settings {
consented_providers : 1097
consented_providers : 2963
additional_consent : "OMITTED"
}
consent : "OMITTED"
session {
duration : 7
depth : 23
requestssinceappopen : 23
priorclicks : 0
}
}
}
at : FIRST_PRICE
tmax : 1000
cur : "USD"
bcat : "3"
bcat : "4"
regs {
[ com . google . doubleclick . regs ] {
gdpr : true
}
}
bapp : "529996768"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-i-v12.7.0"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-ziHO5m-b7Qkgq8Om9TTzELn4d14HK6161373y5520g237O0317F2535zt405Mw054Ts5"
fcap_scope : FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection : true
}
}
ملف JSON في OpenRTB
عرض المثال
{
"id" : "179eb03K549H7I2584e7L6" ,
"imp" : [
{
"id" : "1" ,
"video" : {
"mimes" : [
"video/mp4"
],
"linearity" : 1 ,
"maxduration" : 30 ,
"w" : 414 ,
"h" : 816 ,
"startdelay" : 0 ,
"playbackmethod" : [
3
],
"pos" : 7 ,
"companionad" : [
{
"w" : 414 ,
"h" : 816 ,
"mimes" : [
"text/css" ,
"image/jpeg"
],
"format" : [
{
"w" : 414 ,
"h" : 816
}
],
"vcm" : 1
}
],
"api" : [
3 ,
5
],
"companiontype" : [
1 ,
2
],
"protocols" : [
2 ,
3
],
"skip" : 0 ,
"placement" : 5 ,
"playbackend" : 1 ,
"maxseq" : 2 ,
"poddur" : 30 ,
"plcmt" : 3 ,
"ext" : {
"inferredplcmt" : 3
}
},
"displaymanager" : "GoogleMobileAds-iOS" ,
"displaymanagerver" : "12.7.0" ,
"instl" : 1 ,
"tagid" : "7757209244" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.048289403319358826 ,
"vendor" : "EXCHANGE"
},
{
"type" : "video_completion_rate" ,
"value" : 0.1191580668091774 ,
"vendor" : "EXCHANGE"
}
],
"rwdd" : 1 ,
"ext" : {
"billing_id" : [
"55383762512"
],
"publisher_settings_list_id" : [
"1847492880042777742" ,
"3770000868027227103"
],
"allowed_vendor_type" : [
0 ,
237
],
"is_rewarded_inventory" : 1 ,
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"skadn" : {
"sourceapp" : "com.google.testapp" ,
"skadnetids" : [
"306el65O"
],
"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 ,
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "6.5.1" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-9126361500211130" ,
"ext" : {
"country" : "GB"
}
},
"content" : {
"url" : "https://www.google.com" ,
"livestream" : 0 ,
"language" : "fr"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "FRA" ,
"region" : "FR-V" ,
"zip" : "01700" ,
"type" : 2 ,
"utcoffset" : 120 ,
"accuracy" : 3878 ,
"ext" : {
"geo_criteria_id" : 9054913
}
},
"ipv6" : "2a01:cb14:11e4::" ,
"language" : "fr" ,
"make" : "Apple" ,
"model" : "iPhone12,1" ,
"os" : "iOS" ,
"osv" : "18.5" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"hwv" : "iPhone12,1" ,
"w" : 414 ,
"h" : 896 ,
"pxratio" : 2.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"605" ,
"1"
]
}
],
"platform" : {
"brand" : "iPhone" ,
"version" : [
"18" ,
"5"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "iPhone" ,
"source" : 3
},
"ext" : {
"atts" : 2 ,
"audioout" : 1
}
},
"user" : {
"consent" : "OMITTED" ,
"ext" : {
"consented_providers_settings" : {
"consented_providers" : [
"1097" ,
"2963"
],
"additional_consent" : "OMITTED"
},
"consent" : "OMITTED" ,
"session" : {
"duration" : 7 ,
"depth" : 23 ,
"requestssinceappopen" : 23 ,
"priorclicks" : 0
}
}
},
"at" : 1 ,
"tmax" : 1000 ,
"cur" : [
"USD"
],
"bcat" : [
"3" ,
"4"
],
"regs" : {
"ext" : {
"gdpr" : 1
}
},
"bapp" : [
"529996768"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-i-v12.7.0"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-ziHO5m-b7Qkgq8Om9TTzELn4d14HK6161373y5520g237O0317F2535zt405Mw054Ts5" ,
"fcap_scope" : 4 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
التطبيق الأصلي
OpenRTB Protobuf
عرض المثال
طلب تسلسلي
id : "HYuQMewy7o4U9Jk0AYt543"
imp {
id : "1"
displaymanager : "GoogleMobileAds-iOS"
displaymanagerver : "12.6.0"
tagid : "4283347586"
bidfloor : 1841.9824245803225
bidfloorcur : "JPY"
secure : true
native {
ver : "1.2"
api : MRAID_1
api : MRAID_2
request_native {
ver : "1.2"
assets {
id : 1
required : true
title {
len : 25
}
}
assets {
id : 2
required : true
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
}
eventtrackers {
event : OMID
methods : JS
}
privacy : true
}
}
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.0035704318434000015
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.42
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 73917825312
billing_id : 58558932335
publisher_settings_list_id : 3148904898759409470
publisher_settings_list_id : 7478572817009281694
allowed_vendor_type : 0
allowed_vendor_type : 237
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
skadn {
sourceapp : "com.google.testapp"
skadnetids : "Q7B2W332"
skadnetids : "10wC1989"
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
jsver : "test-sdk_123456789"
}
}
app {
name : "Test App"
ver : "4.18.1"
bundle : "com.google.testapp"
publisher {
id : "pub-7029824543087220"
[ com . google . doubleclick . publisher ] {
country : "JP"
}
}
content {
url : "https://www.google.com"
livestream : false
language : "ja"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "JPN"
region : "JP-08"
city : "Tsukuba"
zip : "305-0861"
type : IP
utcoffset : 540
accuracy : 1562
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9168296
}
}
language : "ja"
make : "Apple"
model : "iPhone14,5"
os : "iOS"
osv : "18.6.2"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
hwv : "iPhone14,5"
w : 390
h : 844
pxratio : 3.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "605"
version : "1"
}
platform {
brand : "iPhone"
version : "18"
version : "6"
}
mobile : true
bitness : "64"
model : "iPhone"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
atts : 2
audioout : AUDIO_SPEAKER
}
}
user {
data {
id : "39"
segment {
id : "OMITTED"
}
segment {
id : "OMITTED"
}
[ com . google . doubleclick . data ] {
segtax : 4
}
}
[ com . google . doubleclick . user ] {
session {
duration : 10
depth : 83
requestssinceappopen : 83
priorclicks : 0
}
}
}
at : FIRST_PRICE
tmax : 1000
cur : "AUD"
cur : "BRL"
bcat : "4"
bcat : "32"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-i-v12.6.0"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zeA4SO-5uTX8H7U5d0HkU9zRSoPKZuff5VUk04Fq0b341boSb3KUK81w20lbVye7O113"
fcap_scope : FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection : true
}
}
ملف JSON في OpenRTB
عرض المثال
{
"id" : "HYuQMewy7o4U9Jk0AYt543" ,
"imp" : [
{
"id" : "1" ,
"displaymanager" : "GoogleMobileAds-iOS" ,
"displaymanagerver" : "12.6.0" ,
"tagid" : "4283347586" ,
"bidfloor" : 1841.9824245803225 ,
"bidfloorcur" : "JPY" ,
"secure" : 1 ,
"native" : {
"ver" : "1.2" ,
"api" : [
3 ,
5
],
"request" : "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":25}},{\"id\":2,\"required\":1,\"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]},{\"event\":555,\"methods\":[2]}],\"privacy\":1}"
},
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0035704318434000015 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.42 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"73917825312" ,
"58558932335"
],
"publisher_settings_list_id" : [
"3148904898759409470" ,
"7478572817009281694"
],
"allowed_vendor_type" : [
0 ,
237
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"skadn" : {
"sourceapp" : "com.google.testapp" ,
"skadnetids" : [
"Q7B2W332" ,
"10wC1989"
],
"versions" : [
"2.0" ,
"2.1"
],
"fidelities" : [
1 ,
0
]
},
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"ae" : 0 ,
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "4.18.1" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-7029824543087220" ,
"ext" : {
"country" : "JP"
}
},
"content" : {
"url" : "https://www.google.com" ,
"livestream" : 0 ,
"language" : "ja"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "JPN" ,
"region" : "JP-08" ,
"city" : "Tsukuba" ,
"zip" : "305-0861" ,
"type" : 2 ,
"utcoffset" : 540 ,
"accuracy" : 1562 ,
"ext" : {
"geo_criteria_id" : 9168296
}
},
"language" : "ja" ,
"make" : "Apple" ,
"model" : "iPhone14,5" ,
"os" : "iOS" ,
"osv" : "18.6.2" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"hwv" : "iPhone14,5" ,
"w" : 390 ,
"h" : 844 ,
"pxratio" : 3.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"605" ,
"1"
]
}
],
"platform" : {
"brand" : "iPhone" ,
"version" : [
"18" ,
"6"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "iPhone" ,
"source" : 3
},
"ext" : {
"atts" : 2 ,
"audioout" : 1
}
},
"user" : {
"data" : [
{
"id" : "39" ,
"segment" : [
{
"id" : "OMITTED"
},
{
"id" : "OMITTED"
}
],
"ext" : {
"segtax" : 4
}
}
],
"ext" : {
"session" : {
"duration" : 10 ,
"depth" : 83 ,
"requestssinceappopen" : 83 ,
"priorclicks" : 0
}
}
},
"at" : 1 ,
"tmax" : 1000 ,
"cur" : [
"AUD" ,
"BRL"
],
"bcat" : [
"4" ,
"32"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-i-v12.6.0"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-zeA4SO-5uTX8H7U5d0HkU9zRSoPKZuff5VUk04Fq0b341boSb3KUK81w20lbVye7O113" ,
"fcap_scope" : 4 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
فيديو ويب
OpenRTB Protobuf
عرض المثال
طلب تسلسلي
id : "9B5K1zj5T61jRM80t25s13"
imp {
id : "1"
video {
mimes : "application/javascript"
mimes : "video/mp4"
linearity : LINEAR
maxduration : 60
w : 306
h : 156
startdelay : 0
playbackmethod : ENTER_SOUND_OFF
pos : ABOVE_THE_FOLD
companionad {
w : 0
h : 0
mimes : "image/png"
mimes : "image/gif"
format {
w : 0
h : 0
}
}
api : VPAID_1
api : VPAID_2
companiontype : STATIC
protocols : VAST_2_0
protocols : VAST_3_0
skip : true
placement : IN_STREAM_PLACEMENT
durfloors {
maxdur : 121
bidfloor : 628.6151504524262
}
[ com . google . doubleclick . video ] {
inferredplcmt : PLCMT_ACCOMPANYING_CONTENT
embeddedoffsite : true
}
}
displaymanager : "GOOGLE"
tagid : "1064104152"
bidfloor : 628.6151504524262
bidfloorcur : "JPY"
pmp {
deals {
id : "45957820"
bidfloor : 628.615151
bidfloorcur : "JPY"
[ com . google . doubleclick . deal ] {
deal_type : AUCTION_PACKAGE
billing_id : 34409190968
billing_id : 31520375265
}
}
}
secure : true
exp : 3600
metric {
type : "click_through_rate"
value : 0.061625368893146515
vendor : "EXCHANGE"
}
metric {
type : "video_completion_rate"
value : 0.6049572825431824
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 63495119434
billing_id : 33073577463
publisher_settings_list_id : 2610320062869254712
publisher_settings_list_id : 3579681458579529403
allowed_vendor_type : 0
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
ae : SERVER_SIDE_AUCTION
}
}
site {
page : "https://www.google.com"
publisher {
id : "pub-1111111111111111"
[ com . google . doubleclick . publisher ] {
country : "IL"
}
}
content {
livestream : false
language : "en"
}
mobile : true
[ com . google . doubleclick . site ] {
amp : DIALECT_HTML
page_visibility : VISIBILITY_STATE_VISIBLE
ntype : NAVIGATION_TYPE_UNKNOWN
}
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "USA"
region : "OH"
metro : "558"
city : "Lima"
zip : "45806"
type : IP
utcoffset : - 240
accuracy : 6877
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9015962
}
}
make : "Samsung"
model : "sm-s921u"
os : "android"
osv : "15"
devicetype : HIGHEND_PHONE
w : 1080
h : 2340
sua {
browsers {
brand : "Chromium"
version : "140"
version : "0"
}
browsers {
brand : "Not=A?Brand"
version : "24"
version : "0"
}
platform {
brand : "Android"
version : "15"
version : "0"
}
mobile : true
model : "SM-S921U"
source : CLIENT_HINTS_HIGH_ENTROPY
}
}
user {
id : "2P499L961q5433F3W7910N24dm6"
buyeruid : "d1f6LSo115M9T6r3wjcX397Iu6231g73"
customdata : "98f88k2F7Q9e99vqQIs7eH5OEch4603AQ1e4zo9vP0259ZWI"
[ com . google . doubleclick . user ] {
idage : 432000
}
}
at : FIRST_PRICE
tmax : 350
cur : "TRY"
cur : "JPY"
bcat : "32"
bcat : "33"
source {
schain {
complete : false
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google1"
omidpv : "h.3.719.1"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
bid_feedback {
request_id : "iC415EO28u2s07s8qn220h"
creative_status_code : 80
event_notification_token {
payload : "token"
}
buyer_creative_id : "test_creative_id_459586"
minimum_bid_to_win : 0.69
feedbacktype : BID_FEEDBACK
}
google_query_id : "ANy-zk4xW4-6F6LW16t4c1LRx767c3V2OC7z3d7Z9TROv5359i3VMG9aT5b136WKCued3457"
fcap_scope : FREQUENCY_CAPPING_SCOPE_BROWSER
privacy_treatments {
allow_user_data_collection : true
}
}
ملف JSON في OpenRTB
عرض المثال
{
"id" : "9B5K1zj5T61jRM80t25s13" ,
"imp" : [
{
"id" : "1" ,
"video" : {
"mimes" : [
"application/javascript" ,
"video/mp4"
],
"linearity" : 1 ,
"maxduration" : 60 ,
"w" : 306 ,
"h" : 156 ,
"startdelay" : 0 ,
"playbackmethod" : [
6
],
"pos" : 1 ,
"companionad" : [
{
"w" : 0 ,
"h" : 0 ,
"mimes" : [
"image/png" ,
"image/gif"
],
"format" : [
{
"w" : 0 ,
"h" : 0
}
]
}
],
"api" : [
1 ,
2
],
"companiontype" : [
1
],
"protocols" : [
2 ,
3
],
"skip" : 1 ,
"placement" : 1 ,
"durfloors" : [
{
"maxdur" : 121 ,
"bidfloor" : 628.6151504524262
}
],
"ext" : {
"inferredplcmt" : 2 ,
"embeddedoffsite" : 1
}
},
"displaymanager" : "GOOGLE" ,
"tagid" : "1064104152" ,
"bidfloor" : 628.6151504524262 ,
"bidfloorcur" : "JPY" ,
"pmp" : {
"deals" : [
{
"id" : "45957820" ,
"bidfloor" : 628.615151 ,
"bidfloorcur" : "JPY" ,
"ext" : {
"deal_type" : 4 ,
"billing_id" : [
"34409190968" ,
"31520375265"
]
}
}
]
},
"secure" : 1 ,
"exp" : 3600 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.061625368893146515 ,
"vendor" : "EXCHANGE"
},
{
"type" : "video_completion_rate" ,
"value" : 0.6049572825431824 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"63495119434" ,
"33073577463"
],
"publisher_settings_list_id" : [
"2610320062869254712" ,
"3579681458579529403"
],
"allowed_vendor_type" : [
0
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"ae" : 0
}
}
],
"site" : {
"page" : "https://www.google.com" ,
"publisher" : {
"id" : "pub-1111111111111111" ,
"ext" : {
"country" : "IL"
}
},
"content" : {
"livestream" : 0 ,
"language" : "en"
},
"mobile" : 1 ,
"ext" : {
"amp" : 0 ,
"page_visibility" : 1 ,
"ntype" : 0
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "USA" ,
"region" : "OH" ,
"metro" : "558" ,
"city" : "Lima" ,
"zip" : "45806" ,
"type" : 2 ,
"utcoffset" : - 240 ,
"accuracy" : 6877 ,
"ext" : {
"geo_criteria_id" : 9015962
}
},
"make" : "Samsung" ,
"model" : "sm-s921u" ,
"os" : "android" ,
"osv" : "15" ,
"devicetype" : 4 ,
"w" : 1080 ,
"h" : 2340 ,
"sua" : {
"browsers" : [
{
"brand" : "Chromium" ,
"version" : [
"140" ,
"0"
]
},
{
"brand" : "Not=A?Brand" ,
"version" : [
"24" ,
"0"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"15" ,
"0"
]
},
"mobile" : 1 ,
"model" : "SM-S921U" ,
"source" : 2
}
},
"user" : {
"id" : "2P499L961q5433F3W7910N24dm6" ,
"buyeruid" : "d1f6LSo115M9T6r3wjcX397Iu6231g73" ,
"customdata" : "98f88k2F7Q9e99vqQIs7eH5OEch4603AQ1e4zo9vP0259ZWI" ,
"ext" : {
"idage" : 432000
}
},
"at" : 1 ,
"tmax" : 350 ,
"cur" : [
"TRY" ,
"JPY"
],
"bcat" : [
"32" ,
"33"
],
"source" : {
"schain" : {
"complete" : 0 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
},
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google1" ,
"omidpv" : "h.3.719.1"
}
},
"cattax" : 500 ,
"ext" : {
"bid_feedback" : [
{
"request_id" : "iC415EO28u2s07s8qn220h" ,
"creative_status_code" : 80 ,
"event_notification_token" : {
"payload" : "token"
},
"buyer_creative_id" : "test_creative_id_459586" ,
"minimum_bid_to_win" : 0.69 ,
"feedbacktype" : 1
}
],
"google_query_id" : "ANy-zk4xW4-6F6LW16t4c1LRx767c3V2OC7z3d7Z9TROv5359i3VMG9aT5b136WKCued3457" ,
"fcap_scope" : 2 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
إعلان بانر على الويب للأجهزة الجوّالة لمقدّم عروض الأسعار في التبادل
OpenRTB Protobuf
عرض المثال
طلب تسلسلي
id : "W5rO389B0p836803G6tI3T"
imp {
id : "1"
banner {
w : 320
h : 50
pos : ABOVE_THE_FOLD
expdir : LEFT
expdir : RIGHT
expdir : UP
expdir : DOWN
api : MRAID_1
api : MRAID_2
format {
w : 320
h : 50
}
format {
w : 320
h : 100
}
}
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "23.1.0"
tagid : "3758755668"
bidfloor : 0.11
bidfloorcur : "USD"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "viewability"
value : 0.71
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 50962964480
dfp_ad_unit_code : "/5025729/google/test"
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
open_bidding {
is_open_bidding : true
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_OVERRIDDEN
}
auction_environment : SERVER_SIDE_AUCTION
ae : SERVER_SIDE_AUCTION
}
}
app {
name : "Test App"
ver : "6.8.1"
bundle : "com.google.testapp"
publisher {
id : "pub-6120362493380457"
[ com . google . doubleclick . publisher ] {
country : "PL"
}
}
content {
url : "https://www.google.com"
userrating : "4.5"
livestream : false
language : "pl"
}
storeurl : "https://www.google.com"
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED"
}
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "POL"
region : "PL-MZ"
city : "Warsaw"
zip : "04"
type : IP
utcoffset : 120
accuracy : 2263
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9061066
}
}
carrier : "70872"
make : "Samsung"
model : "SM-A346B"
os : "android"
osv : "14"
connectiontype : CELL_4G
devicetype : HIGHEND_PHONE
ifa : "1f3ed9c7-e8d8-4cec-9167-2811375e2cbe"
lmt : false
w : 384
h : 758
pxratio : 2.813
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "14"
}
mobile : true
bitness : "64"
model : "SM-A346B"
source : USER_AGENT_STRING
}
}
user {
id : "a9S5d7s7r38o1q8ifv4U80GBxKA"
[ com . google . doubleclick . user ] {
consented_providers_settings {
consented_providers : 1215
consented_providers : 2567
additional_consent : "OMITTED"
}
consent : "OMITTED"
session {
duration : 464
}
idage : 25920000
}
}
at : FIRST_PRICE
tmax : 1000
cur : "USD"
regs {
gpp : "OMITTED"
[ com . google . doubleclick . regs ] {
gdpr : true
}
}
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-a-v243799999.241199000.1"
schain {
complete : 1
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
ver : "1.0"
}
}
}
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-z4luKF-u274F3WU34uUUoQ7E82k3L42z23v2K4T1k0eA7Rw8Xb6JeXDG6K703e88p491"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
}
ملف JSON في OpenRTB
عرض المثال
{
"id" : "W5rO389B0p836803G6tI3T" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 320 ,
"h" : 50 ,
"pos" : 1 ,
"expdir" : [
1 ,
2 ,
3 ,
4
],
"api" : [
3 ,
5
],
"format" : [
{
"w" : 320 ,
"h" : 50
},
{
"w" : 320 ,
"h" : 100
}
]
},
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "23.1.0" ,
"tagid" : "3758755668" ,
"bidfloor" : 0.11 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "viewability" ,
"value" : 0.71 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"50962964480"
],
"dfp_ad_unit_code" : "/5025729/google/test" ,
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"open_bidding" : {
"is_open_bidding" : 1
},
"creative_enforcement_settings" : {
"policy_enforcement" : 1 ,
"publisher_blocks_enforcement" : 2
},
"auction_environment" : 0 ,
"ae" : 0
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "6.8.1" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-6120362493380457" ,
"ext" : {
"country" : "PL"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.5" ,
"livestream" : 0 ,
"language" : "pl"
},
"storeurl" : "https://www.google.com" ,
"ext" : {
"inventorypartnerdomain" : "OMITTED"
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "POL" ,
"region" : "PL-MZ" ,
"city" : "Warsaw" ,
"zip" : "04" ,
"type" : 2 ,
"utcoffset" : 120 ,
"accuracy" : 2263 ,
"ext" : {
"geo_criteria_id" : 9061066
}
},
"carrier" : "70872" ,
"make" : "Samsung" ,
"model" : "SM-A346B" ,
"os" : "android" ,
"osv" : "14" ,
"connectiontype" : 6 ,
"devicetype" : 4 ,
"ifa" : "1f3ed9c7-e8d8-4cec-9167-2811375e2cbe" ,
"lmt" : 0 ,
"w" : 384 ,
"h" : 758 ,
"pxratio" : 2.813 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"14"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "SM-A346B" ,
"source" : 3
}
},
"user" : {
"id" : "a9S5d7s7r38o1q8ifv4U80GBxKA" ,
"ext" : {
"consented_providers_settings" : {
"consented_providers" : [
"1215" ,
"2567"
],
"additional_consent" : "OMITTED"
},
"consent" : "OMITTED" ,
"session" : {
"duration" : 464
},
"idage" : 25920000
}
},
"at" : 1 ,
"tmax" : 1000 ,
"cur" : [
"USD"
],
"regs" : {
"gpp" : "OMITTED" ,
"ext" : {
"gdpr" : 1
}
},
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-a-v243799999.241199000.1" ,
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"google_query_id" : "ANy-z4luKF-u274F3WU34uUUoQ7E82k3L42z23v2K4T1k0eA7Rw8Xb6JeXDG6K703e88p491" ,
"fcap_scope" : 3
}
}
OpenRTB Protobuf
عرض المثال
طلب تسلسلي
id : "o9j8MO3eW468670y7CVv1A"
imp {
id : "1"
banner {
w : 300
h : 250
pos : ABOVE_THE_FOLD
battr : VIDEO_IN_BANNER_AUTO_PLAY
battr : VIDEO_IN_BANNER_USER_INITIATED
api : MRAID_1
api : MRAID_2
format {
w : 300
h : 250
}
format {
w : 320
h : 50
}
}
video {
mimes : "video/mp4"
linearity : LINEAR
w : 300
h : 250
battr : VIDEO_IN_BANNER_AUTO_PLAY
battr : VIDEO_IN_BANNER_USER_INITIATED
playbackmethod : ENTER_SOUND_OFF
pos : ABOVE_THE_FOLD
api : MRAID_1
api : MRAID_2
protocols : VAST_2_0
protocols : VAST_3_0
skip : true
placement : IN_FEED_PLACEMENT
playbackend : LEAVING_OR_USER
plcmt : PLCMT_NO_CONTENT_STANDALONE
[ com . google . doubleclick . video ] {
inferredplcmt : PLCMT_NO_CONTENT_STANDALONE
embeddedoffsite : true
}
}
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "22.3.0"
tagid : "6247365183"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
native {
ver : "1.2"
api : MRAID_1
api : MRAID_2
battr : VIDEO_IN_BANNER_AUTO_PLAY
battr : VIDEO_IN_BANNER_USER_INITIATED
request_native {
ver : "1.2"
assets {
id : 1
required : true
title {
len : 25
}
}
assets {
id : 2
required : true
data {
type : DESC
len : 90
}
}
assets {
id : 3
data {
type : CTATEXT
len : 15
}
}
assets {
id : 4
required : true
img {
type : MAIN
wmin : 1200
hmin : 627
}
}
assets {
id : 5
required : true
img {
type : ICON
wmin : 100
hmin : 100
}
}
assets {
id : 6
data {
type : RATING
len : 5
}
}
assets {
id : 7
data {
type : PRICE
len : 15
}
}
eventtrackers {
event : IMPRESSION
methods : IMG
}
privacy : true
}
}
exp : 3600
clickbrowser : true
metric {
type : "viewability"
value : 0.64
vendor : "EXCHANGE"
}
metric {
type : "session_depth"
value : 7.0
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 21221902373
billing_id : 53569531917
publisher_settings_list_id : 7651048085774412615
publisher_settings_list_id : 3305930710629093223
allowed_vendor_type : 3
allowed_vendor_type : 42
ampad : AMP_AD_NOT_ALLOWED
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
billable_event_rate_bid_adjustment {
bid_adjustment : 1.1452553
creative_type : HTML_SNIPPET
}
ae : SERVER_SIDE_AUCTION
}
}
app {
name : "Test App"
ver : "14.27.7"
bundle : "com.google.testapp"
publisher {
id : "pub-8822142511593237"
[ com . google . doubleclick . publisher ] {
country : "SE"
}
}
content {
url : "https://www.google.com"
userrating : "4.5"
livestream : false
producer {
}
language : "en"
}
storeurl : "https://www.google.com"
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED"
}
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "NGA"
region : "NG-LA"
city : "Lagos"
zip : "106104"
type : IP
utcoffset : 60
accuracy : 1559
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9198908
}
}
make : "Xiaomi"
model : "23129RAA4G"
os : "android"
osv : "14"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
ifa : "94b6ef8c-99d8-4997-98d2-c2377bd7abd1"
lmt : false
w : 393
h : 792
pxratio : 2.75
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "14"
}
mobile : true
bitness : "64"
model : "23129RAA4G"
source : USER_AGENT_STRING
}
}
user {
id : "04X9BE2175274aL0C296l24WI68"
[ com . google . doubleclick . user ] {
session {
duration : 439
}
idage : 7776000
}
}
at : FIRST_PRICE
tmax : 1500
cur : "USD"
cur : "EUR"
bcat : "IAB23-9"
bcat : "IAB14-1"
bapp : "com.ayoba.ayoba"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-a-v243799999.232400000.1"
schain {
complete : 1
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
ver : "1.0"
}
}
}
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zM284h-2Q24Y9v315v54F50lLaqQ3hq549685jR3ack28k6J6Ko65F1aS73r197eM8zX"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : false
}
}
ملف JSON في OpenRTB
عرض المثال
{
"id" : "o9j8MO3eW468670y7CVv1A" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 300 ,
"h" : 250 ,
"pos" : 1 ,
"battr" : [
6 ,
7
],
"api" : [
3 ,
5
],
"format" : [
{
"w" : 300 ,
"h" : 250
},
{
"w" : 320 ,
"h" : 50
}
]
},
"video" : {
"mimes" : [
"video/mp4"
],
"linearity" : 1 ,
"w" : 300 ,
"h" : 250 ,
"battr" : [
6 ,
7
],
"playbackmethod" : [
6
],
"pos" : 1 ,
"api" : [
3 ,
5
],
"protocols" : [
2 ,
3
],
"skip" : 1 ,
"placement" : 4 ,
"playbackend" : 2 ,
"plcmt" : 4 ,
"ext" : {
"inferredplcmt" : 4 ,
"embeddedoffsite" : 1
}
},
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "22.3.0" ,
"tagid" : "6247365183" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"native" : {
"ver" : "1.2" ,
"api" : [
3 ,
5
],
"battr" : [
6 ,
7
],
"request" : "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":25}},{\"id\":2,\"required\":1,\"data\":{\"type\":2,\"len\":90}},{\"id\":3,\"data\":{\"type\":12,\"len\":15}},{\"id\":4,\"required\":1,\"img\":{\"type\":3,\"wmin\":1200,\"hmin\":627}},{\"id\":5,\"required\":1,\"img\":{\"type\":1,\"wmin\":100,\"hmin\":100}},{\"id\":6,\"data\":{\"type\":3,\"len\":5}},{\"id\":7,\"data\":{\"type\":6,\"len\":15}}],\"eventtrackers\":[{\"event\":1,\"methods\":[1]}],\"privacy\":1}"
},
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "viewability" ,
"value" : 0.64 ,
"vendor" : "EXCHANGE"
},
{
"type" : "session_depth" ,
"value" : 7.0 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"21221902373" ,
"53569531917"
],
"publisher_settings_list_id" : [
"7651048085774412615" ,
"3305930710629093223"
],
"allowed_vendor_type" : [
3 ,
42
],
"ampad" : 2 ,
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"billable_event_rate_bid_adjustment" : [
{
"bid_adjustment" : 1.1452553 ,
"creative_type" : 1
}
],
"ae" : 0
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "14.27.7" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-8822142511593237" ,
"ext" : {
"country" : "SE"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.5" ,
"livestream" : 0 ,
"language" : "en"
},
"storeurl" : "https://www.google.com" ,
"ext" : {
"inventorypartnerdomain" : "OMITTED"
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "NGA" ,
"region" : "NG-LA" ,
"city" : "Lagos" ,
"zip" : "106104" ,
"type" : 2 ,
"utcoffset" : 60 ,
"accuracy" : 1559 ,
"ext" : {
"geo_criteria_id" : 9198908
}
},
"make" : "Xiaomi" ,
"model" : "23129RAA4G" ,
"os" : "android" ,
"osv" : "14" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"ifa" : "94b6ef8c-99d8-4997-98d2-c2377bd7abd1" ,
"lmt" : 0 ,
"w" : 393 ,
"h" : 792 ,
"pxratio" : 2.75 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"14"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "23129RAA4G" ,
"source" : 3
}
},
"user" : {
"id" : "04X9BE2175274aL0C296l24WI68" ,
"ext" : {
"session" : {
"duration" : 439
},
"idage" : 7776000
}
},
"at" : 1 ,
"tmax" : 1500 ,
"cur" : [
"USD" ,
"EUR"
],
"bcat" : [
"IAB23-9" ,
"IAB14-1"
],
"bapp" : [
"com.ayoba.ayoba"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-a-v243799999.232400000.1" ,
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"google_query_id" : "ANy-zM284h-2Q24Y9v315v54F50lLaqQ3hq549685jR3ack28k6J6Ko65F1aS73r197eM8zX" ,
"fcap_scope" : 3 ,
"privacy_treatments" : {
"allow_user_data_collection" : 0
}
}
}