Một lượt tương tác đặt giá thầu theo thời gian thực bắt đầu khi Google gửi yêu cầu giá thầu đến
ứng dụng của bạn. Hướng dẫn này giải thích cách mã hoá ứng dụng của bạn để
xử lý yêu cầu giá thầu.
Phân tích cú pháp yêu cầu
Google gửi một yêu cầu giá thầu dưới dạng vùng đệm giao thức tuần tự được đính kèm dưới dạng
tải trọng nhị phân của yêu cầu HTTP POST. Content-Type
được đặt thành
application/octet-stream
Xem Yêu cầu giá thầu mẫu để biết ví dụ.
Bạn phải phân tích cú pháp yêu cầu này thành một thực thể của BidRequest
. BidRequest
được xác định trong realtime-bidding.proto
,
lấy từ trang dữ liệu tham chiếu . Bạn có thể phân tích cú pháp tin nhắn
bằng phương thức ParseFromString()
trong lớp được tạo cho giá trị
BidRequest
Ví dụ: mã C++ sau đây phân tích cú pháp yêu cầu
khi đã cho tải trọng POST trong một chuỗi:
string post_payload = /* the payload from the POST request */ ;
BidRequest bid_request ;
if ( bid_request . ParseFromString ( post_payload )) {
// Process the request .
}
Sau khi có BidRequest
, bạn có thể xử lý nó như một
đối tượng, trích xuất và diễn giải các trường bạn cần. Ví dụ: trong
C++:
for ( int i = 0 ; i < bid_request . adslot_size (); ++ i ) {
const BidRequest_AdSlot & adslot = bid_request . adslot ( i );
// Decide what to bid on adslot .
}
Một số thông tin được gửi trong BidRequest
, chẳng hạn như Người dùng Google
Mã nhận dạng, ngôn ngữ hoặc vị trí địa lý không phải lúc nào cũng có sẵn. Nếu bạn có
nhóm quảng cáo nhắm mục tiêu trước sử dụng thông tin chưa xác định cho một nhóm quảng cáo
thì các nhóm quảng cáo đó sẽ không khớp. Trong trường hợp thiếu
không quan trọng đối với các điều kiện nhắm mục tiêu trước, yêu cầu giá thầu
gửi kèm thông tin bị bỏ qua.
Có sẵn thông tin về nhóm quảng cáo nhắm mục tiêu trước trong
MatchingAdData
nhóm cho mỗi AdSlot
. Chiến dịch này có chứa
mã nhóm quảng cáo trùng khớp đầu tiên của nhóm quảng cáo nhắm mục tiêu trước đã nhắc Google
gửi yêu cầu giá thầu, tức là nhóm quảng cáo và chiến dịch được tính phí
nếu phản hồi của bạn thắng phiên đấu giá cho lượt hiển thị. Trong phạm vi nhất định
trong trường hợp cụ thể, bạn cần chỉ định rõ billing_id
cho
trong BidResponse.AdSlot
, ví dụ: khi
BidRequest.AdSlot
có nhiều matching_ad_data
.
Để biết thêm thông tin về những ràng buộc đối với nội dung của giá thầu, hãy tham khảo
realtime-bidding.proto
.
Tệp từ điển
Yêu cầu giá thầu sử dụng các giá trị nhận dạng được xác định trong tệp từ điển,
có trong dữ liệu tham chiếu
.
Macro URL giá thầu
Nếu muốn, bạn có thể chèn một số trường của BidRequest
vào
URL dùng trong yêu cầu POST qua HTTP. Điều này hữu ích, ví dụ: nếu bạn sử dụng
một giao diện người dùng gọn nhẹ tải số dư trên nhiều phần phụ trợ bằng cách sử dụng một giá trị
khỏi yêu cầu. Hãy liên hệ với nhà quản lý tài khoản hỗ trợ kỹ thuật để yêu cầu hỗ trợ về
macro mới.
Macro Mô tả
%%GOOGLE_USER_ID%%
Được thay thế bằng google_user_id
khỏi BidRequest
. Ví dụ: URL của bên đặt giá thầu
http://google.bidder.com/path?gid=%%GOOGLE_USER_ID%%
sẽ được thay thế bằng nội dung nào đó như
http://google.bidder.com/path?gid=dGhpyBhbiBleGFtGxl
theo yêu cầu.
Nếu Mã nhận dạng người dùng Google không xác định, chuỗi trống sẽ được thay thế bằng
kết quả tương tự với
http://google.bidder.com/path?gid=
%%HAS_MOBILE%%
Được thay thế bằng 1
hoặc 0
khi gọi
has_mobile()
của BidRequest
.
%%HAS_VIDEO%%
Được thay thế bằng 1
(đúng) hoặc 0
(sai)
khi gọi has_video()
của BidRequest
.
%%HOSTED_MATCH_DATA%%
Được thay thế bằng giá trị của trường hosted_match_data
khỏi BidRequest
.
%%MOBILE_IS_APP%%
Được thay thế bằng 1
(đúng) hoặc 0
(sai)
qua trường mobile.is_app
của BidRequest
.
Tìm mã ứng dụng di động từ URL giao dịch
Các giao dịch qua ứng dụng di động sẽ báo cáo các URL có dạng như sau:
mbappgewtimrzgyytanjyg4888888 .com
Sử dụng bộ giải mã base-32 để giải mã phần của chuỗi được in đậm
(gewtimrzgyytanjyg4888888
).
Bạn có thể sử dụng giải pháp
nhưng bạn sẽ phải viết hoa các chữ cái và thay thế các chữ cái ở cuối
8
với =
giá trị.
Vì vậy, hãy giải mã giá trị này:
GEWTIMRZGYYTANJYG4======
kết quả trong:
1 - 429610587
Chuỗi
429610587
là mã ứng dụng của ứng dụng iOS
iFunny .
Sau đây là một ví dụ khác. URL bị báo cáo là:
mbappgewtgmjug4ytmmrtgm888888 .com
Giải mã giá trị này:
GEWTGMJUG4YTMMRTGM======
kết quả trong:
1 - 314716233
Kết quả
314716233
là mã ứng dụng của ứng dụng iOS
TextNow .
Tìm tên ứng dụng di động trong URL giao dịch
Sau đây là ví dụ về cách lấy tên ứng dụng. URL được báo cáo như sau:
mbappMFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q888 .com
Giải mã giá trị này:
MFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q===
kết quả trong:
air.com.hypah.io.slither
Kết quả tương đương với ứng dụng Android
slither.io .
Các trường trong tính năng Đặt giá thầu mở
Yêu cầu giá thầu được gửi đến đối tác trao đổi và bên đặt giá thầu trong mạng tham gia giải pháp Mở
Tính năng đặt giá thầu tương tự như tính năng đặt giá thầu của Authorized Buyers tham gia chương trình chuẩn
đặt giá thầu theo thời gian thực. Khách hàng Đặt giá thầu mở sẽ nhận được một số ít
các trường bổ sung và một vài trường hiện có có thể có cách sử dụng thay thế. Các
bao gồm:
OpenRTB
Authorized Buyers
Thông tin chi tiết
BidRequest.imp[].ext.dfp_ad_unit_code
BidRequest.adslot[].dfp_ad_unit_code
Chứa mã mạng Ad Manager của nhà xuất bản, theo sau là quảng cáo
hệ thống phân cấp đơn vị, được phân tách bằng dấu gạch chéo lên.
Ví dụ: đoạn mã này sẽ xuất hiện với định dạng tương tự như sau:
/1234/cruises/mars
.
BidRequest.user.data[].segment[]
BidRequest.adslot[].exchange_bidding.key_value[]
Cặp khoá-giá trị lặp lại được nhà xuất bản gửi đến bên đặt giá thầu trao đổi.
Bạn có thể xác định rằng giá trị là cặp khoá-giá trị được gửi bởi
nhà xuất bản khi đặt BidRequest.user.data[].name
thành
“Publisher Passed”
Lưu ý: Trường này hiện chỉ được gửi cho phiên bản thử nghiệm khép kín
người tham gia.
Khai báo nhà cung cấp được phép
Nhà cung cấp công nghệ cung cấp các dịch vụ như nghiên cứu, tái tiếp thị và
việc phân phát quảng cáo có thể đóng một vai trò trong sự tương tác giữa người mua và người bán. Chỉ
Những nhà cung cấp mà Google đã kiểm tra để tham gia Authorized Buyers
tương tác.
Để hiểu rõ BidRequest
và tạo
BidResponse
, bạn cần lưu ý đến hai giới hạn này
khả năng khai báo nhà cung cấp công nghệ:
Bạn không cần khai báo một số nhà cung cấp; những nhà cung cấp này được liệt kê trong trang Trợ giúp của Authorized Buyers .
Các nhà cung cấp khác chỉ có thể tham gia nếu họ được khai báo trong cả
BidRequest
và BidResponse
:
Trong BidRequest
, allowed_vendor_type
chỉ định nhà cung cấp nào người bán cho phép. Những nhà cung cấp sẽ được gửi đến
trường allowed_vendor_type
của BidRequest
là
được liệt kê trong Vendors.txt
tệp từ điển.
Trong BidResponse
, trường vendor_type
chỉ định nhà cung cấp nào trong số các nhà cung cấp được phép mà người mua dự định sử dụng.
Yêu cầu giá thầu mẫu
Các ví dụ sau đây thể hiện các mẫu Protobuf mà con người có thể đọc được và
Yêu cầu JSON.
Google
Ví dụ minh họa
id : "\ 2509 \ 326 c \ 203 \ 245 \ 3079 ! \ 301 \ 334 U \ 316 Wz \ 240 _ \ 252 \ 367 S \ 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 "
JSON OpenRTB
Ví dụ minh họa
{
"id ": "219 DAI11M3120s2d8M4xgR ",
"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 - 9 P8x09i2I5f85oXp7N1r61w0p681H008U29MK56111D9VJn1nRRp4P7eB5Y9H ",
"fcap_scope ": 5 ,
"privacy_treatments ": {
"allow_user_data_collection ": 1
}
}
}
Protobuf OpenRTB
Ví dụ minh họa
id : "803 txXnQe99Y0e3070L5xO "
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 : "08135 N21ki8nbhM99rBJEGsU9kO5Mr99Hs10eeh3M8tn1o3q "
[ 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
}
Để chuyển đổi yêu cầu giá thầu thành dạng nhị phân, giống như cách bạn thực hiện từ
Tải trọng POST trong yêu cầu thực, bạn có thể làm như sau (trong C++). Xin lưu ý rằng
tuy nhiên, điều này không áp dụng cho 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 chuyển mã nhận dạng cho quảng cáo trên thiết bị di động trong yêu cầu giá thầu từ
ứng dụng dành cho thiết bị di động. Mã nhận dạng cho quảng cáo trên thiết bị di động có thể là
IDFA iOS hoặc
Mã nhận dạng cho quảng cáo của Android , được gửi qua
Macro %%EXTRA_TAG_DATA%%
trong thẻ JavaScript được quản lý bởi
Authorized Buyers.
Macro %%ADVERTISING_IDENTIFIER%%
cho phép người mua nhận
IDFA của iOS hoặc mã nhận dạng cho quảng cáo của Android khi hiển thị lượt hiển thị. Phương thức này trả về một
vùng đệm proto được mã hoá MobileAdvertisingId
như
%%EXTRA_TAG_DATA%%
:
message MobileAdvertisingId {
optional bytes advertising_id = 1 ;
optional int32 user_id_type = 2 ;
}
user_id_type
là một trong những giá trị được xác định trong
enum AdxMobileIdType
:
enum AdxMobileIdType {
MOBILE_ID_UNKNOWN = 0 ,
IDFA = 1 ,
ANDROID_ID = 2 ,
};
Bạn có thể tạo danh sách người dùng từ mã nhận dạng cho quảng cáo trên thiết bị di động bằng mã nhận dạng cho quảng cáo
mà bạn đã thu thập được trong khi hiển thị. Bạn có thể duy trì những danh sách người dùng này
trên máy chủ của bạn hoặc trên máy chủ của chúng tôi. Để tạo danh sách người dùng trên máy chủ của Google, bạn có thể sử dụng
tải lên hàng loạt của chúng tôi.
Khi mã nhận dạng cho quảng cáo trên thiết bị di động khớp với một danh sách người dùng, bạn có thể sử dụng mã đó để chạy
tiếp thị lại.
Phản hồi theo thời gian thực
Authorized Buyers cũng có phản hồi theo thời gian thực
đối tác trao đổi và mạng sử dụng tính năng Đặt giá thầu mở.
Phản hồi giá thầu phản hồi được hỗ trợ trên yêu cầu giá thầu tiếp theo cho cả hai
Giao thức AdX và OpenRTB. Đối với OpenRTB, mã được gửi bằng
BidRequestExt
.
Ngoài các trường mặc định được gửi trong phần Phản hồi giá thầu, bạn có thể
đồng thời gửi dữ liệu tuỳ chỉnh trong giá thầu phản hồi (dưới dạng AdX Proto hoặc OpenRTB)
sử dụng event_notification_token
được trả về trong
BidResponse
event_notification_token
là
dữ liệu tuỳ ý mà chỉ bên đặt giá thầu biết có thể giúp gỡ lỗi, cho
ví dụ: mã nhắm mục tiêu hoặc mã đặt giá thầu mới thể hiện một chiến thuật mới, hoặc
siêu dữ liệu liên kết với mẫu quảng cáo mà chỉ bên đặt giá thầu mới biết. Để biết thông tin chi tiết,
hãy xem OpenRTB
Vùng đệm giao thức tiện ích cho RTB và AdX Proto
cho AdX.
Khi Authorized Buyers gửi yêu cầu giá thầu cho bên đặt giá thầu, bên đặt giá thầu sẽ phản hồi
bằng BidResponse
. Nếu bên đặt giá thầu đã bật tính năng phản hồi theo thời gian thực,
thì trong yêu cầu giá thầu tiếp theo, Authorized Buyers gửi phản hồi về
phản hồi trong một tin nhắn BidResponseFeedback
, như minh hoạ dưới đây:
message BidResponseFeedback {
// The unique id from BidRequest . id
optional bytes request_id = 1 ;
// The index of the BidResponse_Ad if there was more than one . The index
// starts at zero for the first creative .
optional int32 creative_index = 2 ;
// 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 = 3 ;
// 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 int64 cpm_micros = 4 ;
// The minimum bid value necessary to have won the auction , in micros of
// 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 int64 minimum_bid_to_win = 7 ;
// 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 micros 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 BidResponseFeedback object .
optional int64 server_side_component_minimum_bid_to_win = 16 ;
// 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 = 15 [ 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 micros of your account currency .
optional int64 sampled_mediation_cpm_ahead_of_auction_winner = 10 ;
// Event notification token that was included in the bid response .
optional bytes event_notification_token = 5 ;
// Buyer creative ID that was included in the bid response .
optional string buyer_creative_id = 6 ;
// 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 BidResponseFeedback message . Google will send separate
// BidResponseFeedback 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 feedback_type = 17 ;
// 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 buyer_origin = 18 ;
// 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 interest_group_buyer_status_code = 19 ;
}
Trong thông báo này, trường đầu tiên bạn nên kiểm tra là
bid_response_feedback.creative_status_code
; bạn có thể tìm thấy mã
nghĩa bằng
quảng cáo trạng thái-mã.txt . Lưu ý rằng nếu giành được giá thầu, bạn có thể chọn không tham gia
dựa trên ý kiến phản hồi về giá. Để biết thêm thông tin, hãy xem Cách
chọn không sử dụng .
Thông tin phản hồi theo thời gian thực bao gồm mã yêu cầu giá thầu và một trong
sau:
Kết quả đấu giá
Phản hồi theo thời gian thực
Người mua không gửi giá thầu.
Miễn phí.
Người mua đã gửi giá thầu bị lọc ra trước khi tiếp cận
phiên đấu giá.
Mã trạng thái mẫu quảng cáo (creative-status-codes.txt ).
Người mua đã gửi giá thầu nhưng thua phiên đấu giá.
Mã trạng thái mẫu quảng cáo 79
(đặt giá thầu cao hơn
phiên đấu giá).
Người mua đã gửi giá thầu thắng phiên đấu giá.
Giá bù trừ và mã trạng thái mẫu quảng cáo 1
.
Đối với lượt hiển thị trong ứng dụng và mã trạng thái mẫu quảng cáo là 83
, tham số
nhà xuất bản ứng dụng có thể đã sử dụng quy trình dàn xếp kiểu thác nước và do đó
giá thầu giành chiến thắng đã cạnh tranh với nhu cầu khác trong chiến dịch của nhà xuất bản
chuỗi thác nước trả về. Tìm hiểu cách sử dụng
sampled_mediation_cpm_ahead_of_auction_winner
khi
đặt giá thầu .
Mẫu
Dưới đây là mẫu phản hồi theo thời gian thực như được thấy trong
giao thức:
Google
Ví dụ minh họa
id : "( \ 001 \ 334 X \ nH \ 034 \ 230 . \ 244 R / \ 370 \ 204 / \ 270 \ 265 \ 255 H \ 322 h \ 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 / 15 E148 "
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 \ 357 Y \ 372 $\ 177 \ 005 \ 325 \ 036 \ 334 a ] \ 241 \ 014 \ 367 g_ \ 032 \ 262 w , nG \ 265 \ 312 : Iw \ 037 \ 347 y "
app_name : "Test App "
advertising_id : "\ 272 \ 026 \ 206 F \ 222 \ 250 \ re \ 253 \ 350 G \ 235 \ 241 h \ 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 \ 000 Z \ 212 K \"\ 020 \ 364 \ 232 \ 247 \ 326 Q "
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 - 12 cH23V6vlS7A862Qr799b3g4uh5Y8a21SDWf3XC22u9KS5KSn1053a97039y "
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 "
JSON OpenRTB
Ví dụ minh họa
{
"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 ": "0 S7s2muW9tFzp8zl35u97n ",
"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 - 48 p8d0ucFkGmd99q36HPgSg4o8b89L0989N0RoS0x56mYMJd4087NT0d21W99 ",
"fcap_scope ": 5 ,
"privacy_treatments ": {
"allow_user_data_collection ": 1
}
}
}
Protobuf OpenRTB
Ví dụ minh họa
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 : "0 I3TcIJ0r6cmPH750Be7b1 "
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 - 83 k2i3iDL3q449a2D1l824ye020uBq6B1wnPqWz1657JQ4LF11N71794cU0n9 "
fcap_scope : FREQUENCY_CAPPING_SCOPE_APP
}
Xây dựng mô hình đặt giá thầu cho phiên đấu giá theo giá đầu tiên
Sau khi đặt giá thầu trong phiên đấu giá theo giá đầu tiên, bạn sẽ nhận được
phản hồi bao gồm minimum_bid_to_win
và
sampled_mediation_cpm_ahead_of_auction_winner
trường nếu giá thầu
không bị lọc khỏi phiên đấu giá. Bạn có thể dùng những tín hiệu này để
logic đặt giá thầu cho biết giá thầu của bạn có thể cao hơn hoặc thấp hơn bao nhiêu để
giành được lượt hiển thị.
minimum_bid_to_win
: Giá thầu tối thiểu có thể là
để thắng phiên đấu giá đặt giá thầu theo thời gian thực. Nếu bạn thắng phiên đấu giá, việc này sẽ
là mức giá thầu thấp nhất mà bạn có thể đã đặt mà vẫn giành chiến thắng. Nếu bạn mất
thì đây sẽ là giá thầu giành chiến thắng.
sampled_mediation_cpm_ahead_of_auction_winner
: Nếu có
các mạng khác trong chuỗi dàn xếp ,
giá trị của trường này là mức giá đại diện cho giá thầu mẫu từ một trong
mạng dàn xếp đủ điều kiện cao hơn mạng chiến thắng trong phiên đấu giá, được tính trọng số
theo tỷ lệ lấp đầy dự kiến. Giá trị này sẽ được đặt thành 0 nếu không có mạng nào trong
chuỗi dàn xếp dự kiến sẽ được thực hiện hoặc nếu nhà xuất bản không sử dụng SDK
dàn xếp.
Cách hoạt động
Để mô tả các phép tính dùng để xác định các giá trị có thể có
cho minimum_bid_to_win
và
sampled_mediation_cpm_ahead_of_auction_winner
, trước tiên chúng ta cần
xác định những yếu tố sau:
Dưới đây là các CPM trong chuỗi dàn xếp theo thứ tự giảm dần:
\[C_1, C_2, …, C_n\]
Biểu đồ sau đây thể hiện tỷ lệ đáp ứng tương ứng cho các CPM trong
chuỗi dàn xếp:
\[f_1, f_2, …, f_n\]
Sau đây là một hàm dùng để xác định CPM dự kiến và
xác suất của phần tử chuỗi dàn xếp \(i\), dựa trên khoảng lấp đầy đã cho
tỷ lệ:
\(X_i = \{C_i\) với xác suất \(f_i\); \(0\) có xác suất \(1 - f_i\}\)
Chuỗi dàn xếp chiến thắng cuối cùng sẽ là:
\[\{C_1, C_2, …, C_K, W\}\]
trong đó \(W\) là giá thầu giành chiến thắng và \(C_K > W >= C_{K+1}\)
Giá khởi điểm hoặc giá sàn được ký hiệu là \(F\).
Giá thầu cao hơn được biểu thị là \(R\).
Cách tính toán cho chiến dịch chiến thắng trong phiên đấu giá
Trường
Cách tính
minimum_bid_to_win
\(max\{F, R, X_{K+1}, …, X_n\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
\(\{C_i\) có xác suất \(\prod_{j=1}^{i-1}(1-f_j) \cdot f_i \div \prod_{j=1}^{K}(1-f_j)\}\)
Dành cho \(1 <= i <= K\).
Cách tính toán bên thua trong phiên đấu giá
Trường
Cách tính
minimum_bid_to_win
\(max\{F, W\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
\(max\{X_1, …, X_K\}\)
Giả sử một nhà xuất bản sử dụng cả tính năng đặt giá thầu theo thời gian thực và chuỗi dàn xếp SDK
sau:
Chuỗi dàn xếp SDK
CPM dự kiến
Tỷ lệ đáp ứng
Mạng 1
\(C_1 = $3.00\)
\(f_1 = 5\%\)
Mạng 2
\(C_2 = $2.00\)
\(f_2 = 45\%\)
Mạng 3
\(C_3 = $0.50\)
\(f_3 = 80\%\)
Mạng 4
\(C_4 = $0.10\)
\(f_4 = 85\%\)
Giả sử phiên đấu giá đặt giá thầu theo thời gian thực (RTB) là kết quả của phiên đấu giá:
Phiên đấu giá RTB
CPM
Người thắng phiên đấu giá (W)
1 đô la
Ứng dụng xếp thứ 2 trong phiên đấu giá (R)
$0,05
Giá đặt trước / Giá sàn (F)
$0
Giá thầu thắng phiên đấu giá
Sau đây là ví dụ về cách giá trị và xác suất cho
minimum_bid_to_win
và
sampled_mediation_cpm_ahead_of_auction_winner
được tính theo
giá thầu giành chiến thắng.
minimum_bid_to_win
Xác suất
\(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
Xác suất
\(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\%\)
Lưu ý: Nếu bên chiến thắng trong phiên đấu giá phân phát quảng cáo của họ và nhận thông tin thanh toán
thông báo, ví dụ: thông qua một điểm cuối được chỉ định trong
BidResponse.ad[].impression_tracking_url
hoặc
BidResponse.seatbid[].bid[].burl
trong OpenRTB—người chiến thắng phiên đấu giá có thể
suy ra rằng cả hai CPM dàn xếp được lấy mẫu đều không lấp đầy và có thể
tính cả tần suất xảy ra điều này
vào mô hình của họ.
Giá thầu thua phiên đấu giá
Sau đây là ví dụ về cách giá trị và xác suất cho
minimum_bid_to_win
và
sampled_mediation_cpm_ahead_of_auction_winner
được tính theo
giá thầu đã thua.
minimum_bid_to_win
Xác suất
\(max(F, W) = $1.00\)
\(100\%\)
sampled_mediation_cpm_ ahead_of_auction_winner
Xác suất
\(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\%\)
Lưu ý: A
Giá trị sampled_mediation_cpm_ahead_of_auction_winner
bằng 0 cho biết
mà phiên đấu giá đặt giá thầu theo thời gian thực đã thắng. Trong ví dụ trên, phiên đấu giá
quảng cáo chiến thắng dự kiến sẽ không bị trả giá cao hơn so với mạng dàn xếp cạnh tranh 52,2% của
bất cứ lúc nào.
Phân tách giá thầu
Hoạt động phân tách giá thầu mô tả quá trình xử lý một tổ hợp phức tạp
BidRequest
vào nhiều yêu cầu giá thầu được gửi đến
. Vì các mã này giữ nguyên các mã nhận dạng giống nhau
(BidRequest.google_query_id
trong Giao thức RTB của Authorized Buyers
hoặc BidRequestExt.google_query_id
trong giao thức OpenRTB), bạn có thể
xác định các yêu cầu giá thầu tương quan sau khi làm phẳng.
Một số cơ hội quảng cáo có thể chấp nhận nhiều định dạng. Với chức năng phân tách giá thầu, mỗi
được gửi trong một yêu cầu giá thầu riêng biệt, trong đó các thuộc tính như đủ điều kiện
mã thanh toán có liên quan đến định dạng được chỉ định trong yêu cầu.
Những yêu cầu giá thầu chứa các định dạng sau sẽ được phân tách thành
yêu cầu giá thầu riêng biệt:
Biểu ngữ
Video
Âm thanh
Mã gốc
Dưới đây là ví dụ cho thấy một yêu cầu giá thầu OpenRTB JSON được đơn giản hoá mà không có quảng cáo
làm phẳng định dạng so với một tập hợp các yêu cầu được làm phẳng tương đương:
Làm phẳng trước
Ví dụ minh họa
{
"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"
}
}
Làm phẳng sau
Ví dụ minh họa
Yêu cầu 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"
}
}
Yêu cầu 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"
}
}
Ưu đãi
Cơ hội quảng cáo cho một bên đặt giá thầu nhất định có thể áp dụng cho nhiều giao dịch
ngoài phiên đấu giá mở. Với tính năng phân tách giá thầu cho các giao dịch, một giá thầu
sẽ được gửi cho phiên đấu giá mở và một yêu cầu cho mỗi loại giá cố định
giao dịch. Trong thực tế, các quy tắc ràng buộc về quảng cáo có thể khác nhau giữa phiên đấu giá và giá cố định
các loại giao dịch, ví dụ: đối với một cơ hội quảng cáo dạng video nhất định có sẵn cho
cả phiên đấu giá mở và giao dịch giá cố định, thì bên đặt giá thầu sẽ nhận được
cho mỗi yêu cầu giá thầu trong đó có các quy tắc ràng buộc như thời lượng quảng cáo tối đa và liệu
quảng cáo có thể bỏ qua được phép có thể khác nhau. Do đó, làm phẳng được áp dụng cho quảng cáo
cho phép bạn dễ dàng hơn trong việc phân biệt những hạn chế về quảng cáo cho
phiên đấu giá và giao dịch giá cố định.
Lưu ý: Phiên đấu giá kín và Gói đấu giá sẽ có cùng một phiên bản
các hạn chế đối với phiên đấu giá mở và sẽ tiếp tục được đưa vào phiên đấu giá mở
yêu cầu giá thầu trong phiên đấu giá.
Thời lượng video tối đa có thể bỏ qua
Giao thức và phương thức triển khai OpenRTB của Google hỗ trợ các trường sau
đối với thời lượng và khả năng bỏ qua video:
Thời lượng
Thời lượng có thể bỏ qua
Khả năng bỏ qua
Giao thức của Google
max_ad_duration
skippable_max_ad_duration
video_ad_skippable
OpenRTB
maxduration
không áp dụng
skip
Điều này có nghĩa là mặc dù giao thức Google có thể có URL có thể bỏ qua chi tiết
và thời lượng không thể bỏ qua, thì việc triển khai OpenRTB chỉ có một
giá trị thời lượng tối đa.
Trước khi phân tách giá thầu, maxduration
của OpenRTB sẽ được đặt thành
phần dưới của max_ad_duration
trong giao thức Google và
skippable_max_ad_duration
trường. Hành vi này hiện đã thay đổi thành
gửi hai yêu cầu giá thầu riêng biệt khi các giá trị này khác nhau: một yêu cầu đại diện
maxduration
cho quảng cáo có thể bỏ qua và quảng cáo còn lại cho quảng cáo không thể bỏ qua
cơ hội.
Các ví dụ sau đây minh hoạ cách dịch một yêu cầu giao thức của Google
thành OpenRTB trước và sau khi phân tách giá thầu. Giao thức tương đương của Google
yêu cầu có max_ad_duration
là 15
và
skippable_max_ad_duration
trong tổng số 60
.
Ví dụ:
max_ad_duration
skip
(đúng HOẶC sai)
Yêu cầu ban đầu mà không làm phẳng
15
true
Yêu cầu đã được làm phẳng #1: Không thể bỏ qua
15
false
Yêu cầu đã được làm phẳng số 2: Có thể bỏ qua
60
true
Việc phân tách yêu cầu giá thầu thời lượng video có thể bỏ qua sẽ chỉ diễn ra khi
các điều kiện sau được đáp ứng:
Yêu cầu cho phép phát video.
Cả video bỏ qua và không bỏ qua đều được phép và hai giới hạn tối đa tương ứng
thời lượng khác nhau về giá trị.
Yêu cầu này đủ điều kiện cho Phiên đấu giá kín hoặc Phiên đấu giá mở.
Tài khoản của người đặt giá thầu có điểm cuối OpenRTB đang hoạt động.
Bạn có thể chọn không sử dụng hình thức làm phẳng này bằng cách liên hệ với bộ phận kỹ thuật
người quản lý tài khoản.
Nhóm video
Yêu cầu giá thầu cho một nhóm video có nhiều cơ hội quảng cáo sẽ được phân tách,
sao cho mỗi yêu cầu giá thầu dành cho một cơ hội quảng cáo riêng lẻ từ nhóm đó.
Nhờ đó, bạn có thể đặt giá thầu cho nhiều cơ hội quảng cáo cho một nhóm nhất định.
Đo lường mở
Tính năng Đo lường mở cho phép bạn chỉ định các nhà cung cấp bên thứ ba cung cấp
các dịch vụ đo lường và xác minh độc lập cho quảng cáo phân phát cho ứng dụng di động
môi trường xung quanh.
Bạn có thể xác định xem nhà xuất bản có hỗ trợ tiêu chuẩn Đo lường mở trong giá thầu hay không
bằng cách kiểm tra xem cơ hội quảng cáo có loại trừ thuộc tính OmsdkType:
OMSDK 1.0
trong mục Có thể loại trừ của nhà xuất bản hay không
thuộc tính của mẫu quảng cáo . Đối với giao thức Authorized Buyers,
được tìm thấy trong BidRequest.adslot[].excluded_attribute
. Đối với
Giao thức OpenRTB, trong đó có thuộc tính battr
cho Quảng cáo biểu ngữ hoặc
Video , tùy thuộc vào
định dạng.
Để biết thêm thông tin về cách diễn giải yêu cầu giá thầu có chứa nội dung Mở
Các tín hiệu đo lường, vui lòng tham khảo bài viết Đo lường mở
SDK trong Trung tâm trợ giúp.
Yêu cầu giá thầu mẫu
Các phần sau đây trình bày các yêu cầu giá thầu mẫu cho các loại quảng cáo khác nhau.
Biểu ngữ ứng dụng
Google
Ví dụ minh họa
id : "1 \ 200 \ 2149 CH \ 354 \ 224 S \ 002 G >\ 276 \ 3068 \ 264 Z \ 316 \ 203 Hz \ 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 "
JSON OpenRTB
Ví dụ minh họa
{
"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.110196186957182 e - 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 ": [
"5 c39728P "
],
"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 / 15 E148 ",
"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
}
}
}
Protobuf OpenRTB
Ví dụ minh họa
id : "38 V61KXKxB63Yk8o3G6P38 "
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
}
}
Quảng cáo xen kẽ trong ứng dụng
Google
Ví dụ minh họa
id : "( \ 232 m \ 232 xp \ 035 \ 326 w \ 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 / 15 E148 "
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 : "41 dEOEaD "
skadnetids : "580 dmbSX "
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 - 98 U8A68As2n5q57SoKI3EBuB5RV414N6krfd385z0q1c9o28Bv3176Zw2LuJe "
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 "
JSON OpenRTB
Ví dụ minh họa
{
"id ": "8460 Dv0171574mt7n9tOQ9 ",
"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 ": [
"43 D4r5x9 "
],
"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 / 15 E148 ",
"geo ": {
"lat ": 0.0 ,
"lon ": 0.0 ,
"country ": "SAU ",
"region ": "SA - 02 ",
"city ": "Jiddah ",
"zip ": "23462 ",
"type ": 2 ,
"utcoffset ": 180 ,
"accuracy ": 1291
},
"ipv6 ": "2 a02 : 9 b0 : 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
}
}
}
Protobuf OpenRTB
Ví dụ minh họa
id : "3 Sh9IsB712x9QzGDA1k93z "
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 : "21 QP3H9IaS263665PMP52FIes26 "
}
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
}
}
Video quảng cáo xen kẽ trong ứng dụng
Google
Ví dụ minh họa
id : "% w \ 237 \ 340 \ 331 q \ 305 e \ 350 \ 324 \ 017 Ho \ 274 f \ 177 #\ 316 \ 231 \ 004 \ 024 y "
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 / 15 E148 "
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 "
Protobuf OpenRTB
Ví dụ minh họa
id : "378836 oi92t144hpA8Nv3X "
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/ 15 E148 "
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 "
}
Gốc ứng dụng
Google
Ví dụ minh họa
id : "\ 304 a \ 2145 \ 337 \ 260 \ 351 \ 265 \ 0170 E \ 035 s \ 260 \ 203 \ 240 \ 3645 M \ 213 d \ 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 : "7 L986AX24bG4ANQ91i8sd54fB22 "
timezone_offset : 120
mobile {
app_id : "com . google . testapp "
is_app : true
encrypted_advertising_id : "\ 341 \ 220 \ 325 \ 205 % \ 025 \ 246 _ / \ 307 \ 374 fy \ 2062 \ 270 \ 270 \ 204 X \ 230 \ 210 @ h \ 272 \ 344 \ 177 \ 370 \ 253 e \ 367 \ 262 i = U \ 030 $ "
app_name : "Test App "
app_rating : 4.0450907
advertising_id : "\ 315 \ 361 Ro $ | \ 362 I \ 355 \ 261 : \ 265 Z \ 300 @\ 242 "
}
cookie_age_seconds : 2592000
postal_code : "10011 "
geo_criteria_id : 1001092
encrypted_hyperlocal_set : "\ 275 \ 237 \ 311 : \ 263 \ 326 \ 270 h \ 337 ^ \ 013 ` / m \ 316 \ 330 \ 036 \ 007 \ 313 \ 265 \ 346 \ 351 \ 275 \ 346 <U \ 344 # a \ 376 \ 301 \ 342 \ 270 \ 303 \ 2767 \ 310 j % \ 327 \ 351 aA \ 312 \ 200 \ 247 ] IQ \ 241 \ 341 L \ 2431 \ 215 <\ 377 \ 033 V \ 310 \ 230 \ 305 \ 371 \ 025 \ 032 K \ 365 \ 372 \ 3365 p | \ 353 \ 216 \ 251 JSf \ 364 \ 367 \ 220 H \ 232 \ 342 Cq \ 256 \ 206 <\ 236 \ 311 "
bid_response_feedback {
request_id : "\ 253 \ 245 \ 326 \ 202 \ 206 \ 303 q \ 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 "
JSON OpenRTB
Ví dụ minh họa
{
"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 ": [
"345 vh5bv "
],
"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 / 15 E148 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 ": "76 RVV351f5D7z7905j9Dhy5kawZNAvn548d3 ",
"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 - 6 x9m76YuuU237u44yc6fL3Ouo00tZhzmz1rL58xQr1V6tg59Qu5j2f4LEMbPZ ",
"fcap_scope ": 3 ,
"privacy_treatments ": {
"allow_user_data_collection ": 1
}
}
}
Protobuf OpenRTB
Ví dụ minh họa
id : "5 P52J8388TSRzc920ct7p5 "
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 : "200 O3kQr "
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/ 15 E148 "
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 : "2 a02 : 2378 : 106 a :: "
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 : "8 Er98D3U5PK59538kL30LhIZkab "
}
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
}
}
Video trên web
Google
Ví dụ minh họa
id : "\ 350 \ 243 \ 202 \ 2349 \ 243 \ 014 \ 244 \ 372 \ 020 Y ; \ 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 / 15 E148 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 >\ 257 u \ 241 U ~ \ 350 s \ 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 "
Biểu ngữ web dành cho thiết bị di động cho bên đặt giá thầu trao đổi
Protobuf OpenRTB
Ví dụ minh họa
id : "6 gXB0gc0938Ow444j0j623 "
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 : "22120 rn86i "
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 : "22120 RN86I "
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
}