当 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++ 中,遍历 OpenRTB `BidRequest` 中的交易可能如下所示:
for ( const BidRequest :: Imp :: Pmp :: Deal & deal : pmp . deals ()) {
DoSomething ( deal . id (), deal . wseat ());
}
结算 ID
当发布商的广告资源被您的一个或多个
预定位配置 定位时,您会收到出价请求。BidRequest.imp.ext.billing_id 将填充任何符合条件的买方的结算 ID 以及相关的预定位配置。此外,对于交易广告资源 ,您可以使用 BidRequest.imp.pmp.deal.ext.billing_id 查找与相关买方关联的结算 ID。出价时,只能指定出价请求中包含的买方的结算 ID。
如果出价请求中包含多个结算 ID,您必须使用 BidResponse.seatbid.bid.ext.billing_id 字段指定要将出价归因于的买方的结算 ID。
imp {
ext {
// The billing IDs of all of your matching pretargeting configs and eligible child seats are
// stored in a flat list here.
billing_id: 123
billing_id: 456
billing_id: 789
}
pmp {
// All eligible deals are stored in a single flat list.
deal {
id: 1000
ext {
// The specific billing IDs eligible to bid on this deal are indicated here.
billing_id: 789
}
...
}
deal {
id: 2000
ext {
billing_id: 123
billing_id: 456
}
...
}
}
...
}
...
确定已屏蔽的类别
您出价时,所含广告素材不得包含发布商屏蔽的检测到的类别。否则,出价会被滤除,无法参与竞价。
您可以通过查看 BidRequest.bcat 字段来查找某次展示被屏蔽的类别,该字段会填充为您的账号配置的分类 中的类别。
以下示例展示了基于已配置的广告类别分类法的已屏蔽类别:
IAB 内容类目 1.0
// Bid request
{
// Indicates the blocked categories using IAB Content 1.0 Taxonomy.
"bcat" : [
"IAB9-9" , // Cigars
"IAB8-18" // Wine
]
"imp" : {
...
}
}
Google 广告类别分类体系
// Bid request
{
// Indicates the blocked categories using Google Ad Category Taxonomy.
"bcat" : [
"10138" , // Cigar and tobacco collecting
"10080" , // Tobacco
"11649" , // Wine
"10674" , // Wine collecting
"13008" // Wine clubs
]
"imp" : {
...
}
}
确定情境类别
出价请求可以包含描述展示发生位置的网站或应用的情境类别字段。这些字段也使用广告类别分类,但表示的是展示情境,而不是对广告素材的限制。这些字段可能不会使用与 BidRequest.bcat 字段相同的分类。Google 或发布商可以提供这些内容相关类别。使用内容相关类别可能会提高展示评估、内容相关定位和品牌保障效果。
Google 检测到的内容相关类别
Google 会使用检测到的网站、应用或网页的 IAB 内容分类填充以下字段:
字段
说明
BidRequest.site.cat
描述网站的内容分类 ID 数组。
BidRequest.site.pagecat
一个内容分类 ID 数组,用于描述网站的当前网页或视图。
BidRequest.app.cat
描述应用的数组,其中包含内容分类 ID。
BidRequest.app.pagecat
内容分类 ID 数组,用于描述应用的当前页面或视图。
您可以在 BidRequest.site.cattax 或 BidRequest.app.cattax 字段中找到给定出价请求的这些字段所使用的确切类目。由于发布商偏好设置或监管方面的原因,上下文类别字段可能并不总是会填充。
如需了解详情,请参阅 Google Ad Manager 中的 OpenRTB 情境类别 。
发布商提供的信号
除了 Google 检测到的情境类别之外,出价请求还可能包含发布商提供的信号,这些信号也会描述展示的情境。与 Google 检测到的内容相关类别不同,这些信号仅在发布商提供时才会填充。这些信号在 BidRequest.site.content 和 BidRequest.app.content 对象中发送,例如 content.data.segment 和 content.genre。用于 content.data.segment 条目的分类会报告在 content.data.ext.segtax 中。如需了解详情,请参阅适用于实时出价 (RTB) 的发布商提供的信号 (PPS) 。
字典文件
出价请求使用字典文件中定义的标识符,这些标识符可在参考数据 页面上找到。
出价方网址宏
或者,您也可以使用宏将 BidRequest 中的某些信息插入到出价端点网址中。如果您使用一个或多个宏配置端点网址,那么当出价请求中包含这些信息时,这些宏就会展开。如果您想根据 BidRequest 中的信息执行负载均衡,此功能会非常有用。请与您的客户经理联系,请求对新宏的支持。
宏 说明
%%GOOGLE_USER_ID%%
替换为在 BidRequest.user.id 中找到的 Google 用户 ID。例如,在发出请求时,出价方网址 http://google.bidder.com/path?gid=%%GOOGLE_USER_ID%% 将替换为 http://google.bidder.com/path?gid=dGhpyBhbiBleGFtGxl 之类的内容。
如果 Google 用户 ID 未知,则替换为空字符串,结果类似于
http://google.bidder.com/path?gid=
%%HAS_MOBILE%%
替换为 1 表示出价请求来自移动设备,否则替换为 0。此值基于 BidRequest.device.devicetype 的值,其中移动设备由 HIGHEND_PHONE (4) 或 Tablet (5) 表示。
%%HAS_VIDEO%%
替换为 1,表示出价请求包含视频广告资源,否则替换为 0。这取决于出价请求中是否填充了 BidRequest.imp.video。
%%IS_CTV%%
已替换为 1,用于指示出价请求是否来自 CTV 设备;否则,使用 0。这取决于 BidRequest.device.devicetype 的值。对于 Protobuf,CTV 设备为 CONNECTED_TV、CONNECTED_DEVICE 或 SET_TOP_BOX,这对应于 JSON 的整数值 3、6 或 7。
%%HOSTED_MATCH_DATA%%
替换为基于 BidRequest.user.buyeruid 的值。
%%MOBILE_IS_APP%%
已替换为 1,表示出价请求是针对移动应用广告资源的;否则,替换为 0。这取决于是否填充了 BidRequest.app。
从交易网址中查找移动应用 ID
移动应用交易将报告如下所示的网址:
mbappgewtimrzgyytanjyg4888888 .com
使用 base-32 解码器对粗体部分 (gewtimrzgyytanjyg4888888 ) 的字符串进行解码。
您可以使用在线解码器 ,但必须将字母大写,并将尾随的 8 替换为 = 值。
因此,解码此值:
GEWTIMRZGYYTANJYG4======
会得到如下结果:
1 - 429610587
字符串
429610587 是 iOS 应用
iFunny 的应用 ID。
再看下面一个示例。被举报的网址为:
mbappgewtgmjug4ytmmrtgm888888 .com
解码此值:
GEWTGMJUG4YTMMRTGM======
结果:
1 - 314716233
结果
314716233 是 iOS 应用
TextNow 的应用 ID。
从交易网址中查找移动应用名称
以下是获取应用名称的示例。被举报的网址如下:
mbappMFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q888 .com
解码此值:
MFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q===
会得到如下结果:
air.com.hypah.io.slither
此结果相当于 Android 应用
slither.io 。
公开出价字段
发送给参与公开出价的广告交易平台和广告联盟出价方的出价请求与发送给参与标准实时出价的 Authorized Buyers 的出价请求类似。公开出价客户将收到少量额外字段,并且一些现有字段可能会有其他用途。这些情况包括:
OpenRTB
详细信息
BidRequest.imp.ext.dfp_ad_unit_code
包含发布商的 Ad Manager 广告资源网代码,后跟广告单元层次结构,以正斜杠分隔。
例如,此 ID 的格式类似于:/1234/cruises/mars。
BidRequest.user.data.segment
从发布商发送到广告交易平台出价功能的重复键值对。
您可以确定,当 BidRequest.user.data.name 设置为 “Publisher Passed” 时,这些值是发布商发送的键值对。
注意 :此字段目前仅发送给封闭式 Beta 版参与者。
声明允许的供应商
提供调研、再营销和广告投放等服务的技术供应商可能会在买卖双方的互动中发挥作用。只有经过 Google 审核、符合参与 Authorized Buyers 互动条件的供应商才可使用。
若要了解 BidRequest 并创建 BidResponse,您需要了解声明技术供应商的两种不同方式:
有些供应商无需声明;这些供应商列在 Ad Manager 认证的外部供应商 中。
其他供应商只有在 BidRequest 中声明后才能参与:
在 BidRequest 中,BidRequest.imp.ext.allowed_vendor_type 字段用于指定卖家允许哪些供应商。将在 allowed_vendor_type 中发送的供应商列在 vendors.txt 字典文件中。
出价请求示例
以下示例展示了 Protobuf 和 JSON 请求的人类可读示例。
OpenRTB Protobuf
显示示例
序列化请求
id : "a7gs668pOD71593174WD18"
imp {
id : "1"
banner {
w : 320
h : 50
pos : ABOVE_THE_FOLD
api : MRAID_1
api : MRAID_2
format {
w : 320
h : 50
}
format {
w : 300
h : 50
}
[ com . google . doubleclick . banner_ext ] {
flexslot {
wmin : 241
wmax : 360
hmin : 42
hmax : 56
}
}
}
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "25.2.0"
tagid : "1087180971"
bidfloor : 4.0
bidfloorcur : "JPY"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.0006611673161387444
vendor : "EXCHANGE"
}
metric {
type : "video_completion_rate"
value : 0.0
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 47329549763
billing_id : 93434328916
publisher_settings_list_id : 5038409325655482128
publisher_settings_list_id : 8244945310049778846
allowed_vendor_type : 0
allowed_vendor_type : 776
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_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
billable_event_rate_bid_adjustment {
bid_adjustment : 0.9657459259033203
creative_type : HTML_SNIPPET
}
jsver : "test-sdk_123456789"
}
}
app {
name : "Test App"
ver : "2.23.1"
bundle : "com.google.testapp"
publisher {
id : "pub-3006071972218254"
[ com . google . doubleclick . publisher ] {
country : "CY"
}
}
content {
url : "https://www.google.com"
userrating : "4.6"
language : "it"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "ITA"
region : "IT-BA"
zip : "70128"
type : IP
utcoffset : 120
accuracy : 1869
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9219050
}
}
ipv6 : "2a01:827:39ae::"
language : "it"
make : "Xiaomi"
model : "220233L2G"
os : "android"
osv : "11"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
w : 360
h : 725
pxratio : 2.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "11"
}
mobile : true
model : "220233L2G"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
metereddata : false
chargelevel : 0.9200000166893005
charging : false
diskspace : 12300
audioout : AUDIO_SPEAKER
scrollposx : 0
scrollposy : 0
}
}
user {
id : "29950OI6i422S2857R0MT3n5756"
buyeruid : "4Z41N9YA3024279s51RFb73dtG997z59"
customdata : "fs37o0bb54N2775957ivPEJvA6BTk3X5xzN26h2ZT0fI5T3I"
consent : "OMITTED"
[ com . google . doubleclick . user ] {
consented_providers_settings {
consented_providers : 3230
consented_providers : 2605
additional_consent : "OMITTED"
}
consent : "OMITTED"
session {
duration : 660
depth : 270
requestssinceappopen : 618
priorclicks : 0
}
}
}
at : FIRST_PRICE
tmax : 350
cur : "AUD"
cur : "JPY"
bcat : "3"
bcat : "4"
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-v261210000.261210000.0"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zL23dM-K888C926iz54pL02I4wa4sXX04N9233701g8h787afvX78G815DcjFi573537"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : true
}
}
OpenRTB JSON
显示示例
{
"id" : "a7gs668pOD71593174WD18" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 320 ,
"h" : 50 ,
"pos" : 1 ,
"api" : [
3 ,
5
],
"format" : [
{
"w" : 320 ,
"h" : 50
},
{
"w" : 300 ,
"h" : 50
}
],
"ext" : {
"flexslot" : {
"wmin" : 241 ,
"wmax" : 360 ,
"hmin" : 42 ,
"hmax" : 56
}
}
},
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "25.2.0" ,
"tagid" : "1087180971" ,
"bidfloor" : 4.0 ,
"bidfloorcur" : "JPY" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0006611673161387444 ,
"vendor" : "EXCHANGE"
},
{
"type" : "video_completion_rate" ,
"value" : 0.0 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"47329549763" ,
"93434328916"
],
"publisher_settings_list_id" : [
"5038409325655482128" ,
"8244945310049778846"
],
"allowed_vendor_type" : [
0 ,
776
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"creative_enforcement_settings" : {
"policy_enforcement" : 1 ,
"publisher_blocks_enforcement" : 1
},
"billable_event_rate_bid_adjustment" : [
{
"bid_adjustment" : 0.9657459 ,
"creative_type" : 1
}
],
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "2.23.1" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-3006071972218254" ,
"ext" : {
"country" : "CY"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.6" ,
"language" : "it"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "ITA" ,
"region" : "IT-BA" ,
"zip" : "70128" ,
"type" : 2 ,
"utcoffset" : 120 ,
"accuracy" : 1869 ,
"ext" : {
"geo_criteria_id" : 9219050
}
},
"ipv6" : "2a01:827:39ae::" ,
"language" : "it" ,
"make" : "Xiaomi" ,
"model" : "220233L2G" ,
"os" : "android" ,
"osv" : "11" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"w" : 360 ,
"h" : 725 ,
"pxratio" : 2.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"11"
]
},
"mobile" : 1 ,
"model" : "220233L2G" ,
"source" : 3
},
"ext" : {
"metereddata" : 0 ,
"chargelevel" : 0.92 ,
"charging" : 0 ,
"diskspace" : 12300 ,
"audioout" : 1 ,
"scrollposx" : 0 ,
"scrollposy" : 0
}
},
"user" : {
"id" : "29950OI6i422S2857R0MT3n5756" ,
"buyeruid" : "4Z41N9YA3024279s51RFb73dtG997z59" ,
"customdata" : "fs37o0bb54N2775957ivPEJvA6BTk3X5xzN26h2ZT0fI5T3I" ,
"consent" : "OMITTED" ,
"ext" : {
"consented_providers_settings" : {
"consented_providers" : [
"3230" ,
"2605"
],
"additional_consent" : "OMITTED"
},
"consent" : "OMITTED" ,
"session" : {
"duration" : 660 ,
"depth" : 270 ,
"requestssinceappopen" : 618 ,
"priorclicks" : 0
}
}
},
"at" : 1 ,
"tmax" : 350 ,
"cur" : [
"AUD" ,
"JPY"
],
"bcat" : [
"3" ,
"4"
],
"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-v261210000.261210000.0"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-zL23dM-K888C926iz54pL02I4wa4sXX04N9233701g8h787afvX78G815DcjFi573537" ,
"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
}
}
实时反馈
Authorized Buyers 以及使用公开出价的广告交易平台和广告联盟均可获得实时反馈。
实时反馈会根据您之前一次或多次出价的结果填充 BidRequest.ext.bid_feedback,并可用于查找详细信息,例如出价是否赢得了竞价,或赢得竞价所需的最低出价。如需启用实时反馈,请与您的客户经理联系。
除了在出价响应反馈中发送默认字段外,您还可以使用 BidResponse.seatbid.bid.ext.event_notification_token 字段在出价响应中发送自定义数据。event_notification_token 是只有出价方知道的任意数据,可能有助于调试,例如:代表新策略的新定位 ID 或出价 ID,或者只有出价方知道的与广告素材相关联的元数据。如需了解详情,请参阅 OpenRTB 扩展协议缓冲区文件 。
当 Authorized Buyers 向出价方发送出价请求时,出价方会回复 BidResponse。如果出价方启用了实时反馈,那么在后续出价请求中,Authorized Buyers 会在 BidFeedback 消息中发送有关响应的反馈:
message BidFeedback {
// The unique id from BidRequest . id .
optional string request_id = 1 ;
// The status code for the ad . See creative - status - codes . txt in the
// technical documentation for a list of ids .
optional int32 creative_status_code = 2 ;
// Deprecated . This field is not populated and will be removed after March ,
// 2025. If the bid won the auction , this is the price paid in your account
// currency . If the bid participated in the auction but was out - bid , this
// is the CPM that should have been exceeded in order to win . This is not
// set if the bid was filtered prior to the auction , if the publisher or
// winning bidder has opted out of price feedback or if your account has
// opted out of sharing winning prices with other bidders . For first - price
// auctions , minimum_bid_to_win is populated instead of this field .
optional double price = 3 [ deprecated = true ];
// The minimum bid value necessary to have won the auction , in your account
// currency . If your bid won the auction , this is the second highest bid
// that was not filtered ( including the floor price ) . If your bid didn 't win
// the auction , this is the winning candidate 's bid. This field will only be
// populated if your bid participated in a first - price auction , and will not
// be populated if your bid was filtered prior to the auction .
optional double minimum_bid_to_win = 6 ;
// Billable event rate multiplier that was applied to this bid during
// ranking . The adjustment reflects the likelihood that your bid would
// generate a billable event ( namely , the ad renders successfully ) if it won
// the auction , relative to the probability that other bids generate a
// billable event if they won the auction . This adjustment can be larger or
// smaller than 1. This affects the final ranking in the auction only ; in
// particular , this multiplier does not affect the payment or whether the
// bid clears any floor price .
optional float billable_event_rate_bid_adjustment = 13 [ default = 1 ];
// When a publisher uses an RTB auction and waterfall - based SDK mediation on
// the same query , the winner of the real - time auction must also compete in
// a mediation waterfall ( which is ordered by price ) to win the impression .
// If the bid participated in the auction and there was no waterfall , the
// value of this field is 0. If the bid participated in the auction and
// there was a waterfall , the value of this field is a price representing a
// sample bid from the eligible mediation networks that were higher than the
// auction winner , weighted by expected fill rate . This field can be used
// in conjunction with minimum_bid_to_win to train bidding models . The CPM
// is in your account currency .
optional double sampled_mediation_cpm_ahead_of_auction_winner = 8 ;
message EventNotificationToken {
// The contents of the token .
optional string payload = 1 ;
}
// The token included in the corresponding bid .
optional EventNotificationToken event_notification_token = 4 ;
// The creative ID included in the corresponding bid .
optional string buyer_creative_id = 5 ;
}
从这条消息中,您应先检查 bid_feedback.creative_status_code 字段;您可以在
creative-status-codes.txt 中找到相应代码的含义。请注意,如果您赢得出价,可以选择不提供价格反馈。如需了解详情,请参阅如何选择退出 。
实时反馈包括出价请求 ID 以及以下内容之一:
示例
以下是实时反馈的示例,如支持的协议中所见:
OpenRTB Protobuf
显示示例
序列化请求
id : "a7gs668pOD71593174WD18"
imp {
id : "1"
banner {
w : 320
h : 50
pos : ABOVE_THE_FOLD
api : MRAID_1
api : MRAID_2
format {
w : 320
h : 50
}
format {
w : 300
h : 50
}
[ com . google . doubleclick . banner_ext ] {
flexslot {
wmin : 273
wmax : 408
hmin : 48
hmax : 64
}
}
}
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "25.2.0"
tagid : "2012072613"
bidfloor : 139.0
bidfloorcur : "JPY"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.0003280164091847837
vendor : "EXCHANGE"
}
metric {
type : "video_completion_rate"
value : 0.0
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 86462726689
billing_id : 16379689419
publisher_settings_list_id : 8683644760809433282
publisher_settings_list_id : 2559598489488381446
allowed_vendor_type : 0
allowed_vendor_type : 4697
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_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
jsver : "test-sdk_123456789"
}
}
app {
name : "Test App"
ver : "1.50.0"
bundle : "com.google.testapp"
publisher {
id : "pub-3006071972218254"
[ com . google . doubleclick . publisher ] {
country : "CY"
}
}
content {
url : "https://www.google.com"
userrating : "4.5"
language : "es"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "USA"
region : "TX"
metro : "635"
city : "Austin"
zip : "78701"
type : IP
utcoffset : - 300
accuracy : 1249
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9028276
}
}
ipv6 : "2600:100c:b065:b869:f05d:476e:f8c9:88e"
carrier : "70092"
language : "es"
make : "Google"
model : "Pixel 10 Pro"
os : "android"
osv : "16"
connectiontype : CELL_4G
devicetype : HIGHEND_PHONE
ifa : "e12095da-00d2-4d49-b4f1-afc512507414"
w : 412
h : 919
pxratio : 2.625
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "16"
}
mobile : true
bitness : "64"
model : "Pixel 10 Pro"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
metereddata : true
chargelevel : 0.6800000071525574
charging : false
diskspace : 58000
audioout : AUDIO_SILENT
ifa_type : "aaid"
scrollposx : 0
scrollposy : 0
}
}
user {
[ com . google . doubleclick . user ] {
session {
duration : 353
depth : 270
requestssinceappopen : 7115
priorclicks : 0
}
}
}
at : FIRST_PRICE
tmax : 1200
cur : "AUD"
cur : "JPY"
bcat : "3"
bcat : "4"
regs {
gpp : "OMITTED"
gpp_sid : USPV1
}
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-a-v263500999.261210000.1"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
bid_feedback {
request_id : "30kO34Dw772N4To1Wl2309"
creative_status_code : 80
event_notification_token {
payload : "token"
}
buyer_creative_id : "test_creative_id_950219"
minimum_bid_to_win : 1.13
}
google_query_id : "ANy-zL23dM-K888C926iz54pL02I4wa4sXX04N9233701g8h787afvX78G815DcjFi573537"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
ip : IP_FULL
allow_user_data_collection : true
}
}
OpenRTB JSON
显示示例
{
"id" : "a7gs668pOD71593174WD18" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 320 ,
"h" : 50 ,
"pos" : 1 ,
"api" : [
3 ,
5
],
"format" : [
{
"w" : 320 ,
"h" : 50
},
{
"w" : 300 ,
"h" : 50
}
],
"ext" : {
"flexslot" : {
"wmin" : 273 ,
"wmax" : 408 ,
"hmin" : 48 ,
"hmax" : 64
}
}
},
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "25.2.0" ,
"tagid" : "2012072613" ,
"bidfloor" : 139.0 ,
"bidfloorcur" : "JPY" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0003280164091847837 ,
"vendor" : "EXCHANGE"
},
{
"type" : "video_completion_rate" ,
"value" : 0.0 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"86462726689" ,
"16379689419"
],
"publisher_settings_list_id" : [
"8683644760809433282" ,
"2559598489488381446"
],
"allowed_vendor_type" : [
0 ,
4697
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"creative_enforcement_settings" : {
"policy_enforcement" : 1 ,
"publisher_blocks_enforcement" : 1
},
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "1.50.0" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-3006071972218254" ,
"ext" : {
"country" : "CY"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.5" ,
"language" : "es"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "USA" ,
"region" : "TX" ,
"metro" : "635" ,
"city" : "Austin" ,
"zip" : "78701" ,
"type" : 2 ,
"utcoffset" : - 300 ,
"accuracy" : 1249 ,
"ext" : {
"geo_criteria_id" : 9028276
}
},
"ipv6" : "2600:100c:b065:b869:f05d:476e:f8c9:88e" ,
"carrier" : "70092" ,
"language" : "es" ,
"make" : "Google" ,
"model" : "Pixel 10 Pro" ,
"os" : "android" ,
"osv" : "16" ,
"connectiontype" : 6 ,
"devicetype" : 4 ,
"ifa" : "e12095da-00d2-4d49-b4f1-afc512507414" ,
"w" : 412 ,
"h" : 919 ,
"pxratio" : 2.625 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"16"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "Pixel 10 Pro" ,
"source" : 3
},
"ext" : {
"metereddata" : 1 ,
"chargelevel" : 0.68 ,
"charging" : 0 ,
"diskspace" : 58000 ,
"audioout" : 3 ,
"ifa_type" : "aaid" ,
"scrollposx" : 0 ,
"scrollposy" : 0
}
},
"user" : {
"ext" : {
"session" : {
"duration" : 353 ,
"depth" : 270 ,
"requestssinceappopen" : 7115 ,
"priorclicks" : 0
}
}
},
"at" : 1 ,
"tmax" : 1200 ,
"cur" : [
"AUD" ,
"JPY"
],
"bcat" : [
"3" ,
"4"
],
"regs" : {
"gpp" : "OMITTED" ,
"gpp_sid" : [
6
]
},
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-a-v263500999.261210000.1"
}
},
"cattax" : 500 ,
"ext" : {
"bid_feedback" : [
{
"request_id" : "30kO34Dw772N4To1Wl2309" ,
"creative_status_code" : 80 ,
"event_notification_token" : {
"payload" : "token"
},
"buyer_creative_id" : "test_creative_id_950219" ,
"minimum_bid_to_win" : 1.13
}
],
"google_query_id" : "ANy-zL23dM-K888C926iz54pL02I4wa4sXX04N9233701g8h787afvX78G815DcjFi573537" ,
"fcap_scope" : 3 ,
"privacy_treatments" : {
"ip" : 1 ,
"allow_user_data_collection" : 1
}
}
}
为最高出价竞价构建出价模型
在最高出价竞价中出价后,如果出价未被竞价过滤掉,您将收到实时反馈,包括 minimum_bid_to_win 和 sampled_mediation_cpm_ahead_of_auction_winner 字段。这些信号可用于指导您的出价逻辑,让您了解为了赢得展示机会,您的出价本可以高出或低出多少。
minimum_bid_to_win:在实时出价竞价中胜出所需的最低出价。如果您赢得了竞价,那么此值将是您在赢得竞价的同时可以提交的最低出价。如果您在竞价中落败,则此字段将显示胜出的出价。
sampled_mediation_cpm_ahead_of_auction_winner:如果中介链 中还有其他广告联盟,则此字段的值是一个价格,表示来自某个符合条件的、出价高于竞价胜出者的中介广告联盟的样本出价,并按预期填充率加权。如果中介链中的所有广告联盟预计都不会填充,或者发布商未使用 SDK 中介,则此值将设置为 0。
运作方式
为了描述用于确定 minimum_bid_to_win 和 sampled_mediation_cpm_ahead_of_auction_winner 的可能值的计算,我们首先需要定义以下内容:
以下是中介链中的 CPM,按降序排列:
\[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 中介链
预期 CPM
填充率
网络 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\%\)
假设实时出价竞价的结果如下:
实时出价竞价
每千次展示费用
竞价胜出者 (W)
$1.00
竞价亚军 (R)
$0.05
保底价 / 底价 (F)
$0
在竞价中胜出的出价
以下示例展示了如何为胜出的出价计算 minimum_bid_to_win 和 sampled_mediation_cpm_ahead_of_auction_winner 的值和概率。
minimum_bid_to_win
Probability
\(max(F, R, C_3) = $0.50\)
\(f_3 = 80\%\)
\(max(F, R, C_4) = $0.10\)
\((1-f_3) \cdot f_4 = 17\%\)
\(max(F, R, 0) = $0.05\)
\((1-f_3) \cdot (1-f_4) = 3\%\)
sampled_mediation_cpm_ ahead_of_auction_winner
Probability
\(C_1 = $3.00\)
\(f_1 \div (1-(1-f_1) \cdot (1-f_2)) =~ 10.5\%\)
\(C_2 = $2.00\)
\(((1-f_1) \cdot f_2) \div (1-(1-f_1) \cdot (1-f_2)) =~ 89.5\%\)
注意 :如果竞价胜出者投放了广告并收到了结算通知(例如,通过 BidResponse.seatbid[].bid[].burl 中指定的端点),则竞价胜出者可以推断出,两个抽样的中介每千次展示费用最终都没有填充,并且可以将这种情况发生的频率纳入其模型中。
竞价失败的出价
以下示例展示了如何针对竞价失败的竞价计算 minimum_bid_to_win 和 sampled_mediation_cpm_ahead_of_auction_winner 的值和概率。
minimum_bid_to_win
Probability
\(max(F, W) = $1.00\)
\(100\%\)
sampled_mediation_cpm_ ahead_of_auction_winner
Probability
\(C_1 = $3.00\)
\(f_1 = 5\%\)
\(C_2 = $2.00\)
\((1-f_1) \cdot f_2 =~ 42.8\%\)
\(0\)
\((1-f_1) \cdot (1-f_2) =~ 52.2\%\)
注意 :sampled_mediation_cpm_ahead_of_auction_winner 值为 0 表示实时出价竞价胜出。在上述示例中,竞价胜出者预计有 52.2% 的时间不会被竞争的中介广告联盟出价更高。
出价拆分
出价拆分是指将单个复杂的 BidRequest 处理为多个出价请求,并将其发送到您的应用。在出价请求被扁平化后,您可以通过 BidRequest.ext.google_query_id 字段中的相同值来判断哪些出价请求属于原始出价请求。
出价拆分功能默认处于启用状态,但如果您想停用该功能,可以与您的客户经理联系。
某些广告机会可以接受多种格式。通过出价拆分,每种格式都会在单独的出价请求中发送,其中符合条件的结算 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"
}
}
展平后
显示示例
Request 1
{
"id": "B3xr1yZqRL48nbsyJ6367N",
"imp": [
{
"id": "1",
"video": {
"linearity": 1,
"w": 300,
"h": 250,
"pos": 1,
"skip": 1,
"playbackmethod": [
6
],
"placement": 3,
"mimes": [
"video/mp4"
],
"protocols": [
2,
3
]
}
"ext": {
"billing_id": [
47039494050
]
}
],
"ext": {
"google_query_id": "ANy-zdp266-244itJsom3dmXb7SvW1IPg6478g639g0867v1126w630F3M7lAp640H666744"
}
}
Request 2
{
"id": "M1dY8qHyNK74bMsjF393Gf",
"imp": [
{
"id": "1",
"banner": {
"format": [
{
"w": 300,
"h": 250
}
],
"w": 300,
"h": 250,
"pos": 1
},
"ext": {
"billing_id": [
52030317241
]
}
}
],
"ext": {
"google_query_id": "ANy-zdp266-244itJsom3dmXb7SvW1IPg6478g639g0867v1126w630F3M7lAp640H666744"
}
}
特惠
除了公开竞价之外,给定出价方的广告机会还可适用于各种交易类型。启用按交易出价拆分的功能后,系统会针对公开竞价发送一个出价请求,并针对每种类型的固定价格交易发送一个出价请求。实际上,广告限制在竞价和固定价格交易类型之间可能有所不同。例如,对于公开竞价和固定价格交易均可使用的特定视频广告机会,出价方将收到不同的出价请求,其中广告时长上限和是否允许可跳过广告等限制可能会有所不同。因此,对广告机会应用扁平化处理后,您可以更轻松地辨别公开竞价和固定价格交易的广告限制。
注意 :私下竞价和竞价包将具有与公开竞价相同的限制,并且会继续包含在公开竞价出价请求中。
可跳过性和视频时长
OpenRTB 规范没有单独的字段来指定可跳过式广告和不可跳过式广告的视频时长上限。Google 的实现使用出价拆分,通过现有的 BidRequest.video.maxduration 和 BidRequest.video.skip 字段来区分这些请求。
以下示例展示了当不可跳过广告的时长上限为 15 且可跳过广告的时长上限为 60 时,视频广告资源是如何扁平化的。
示例
max_ad_duration
skip(true 或 false)
未扁平化的原始请求
15
true
拆分后的请求 1:不可跳过
15
false
拆分的请求 2:可跳过
60
true
只有在满足以下条件时,系统才会对可跳过视频广告时长出价请求进行反规范化处理:
此请求允许视频。
可跳过和不可跳过的视频均允许使用,且两者的时长上限值不同。
此请求符合私下竞价或公开竞价条件。
您可以与技术支持客户经理联系,选择停用此类扁平化。如果停用此设置,并且发布商允许投放可跳过式视频广告和不可跳过式视频广告,且这两种广告的时长上限因是否可跳过而异,则 skip 会设置为 true,而 maxduration 会设置为可跳过式广告和不可跳过式广告约束条件中较短的时长。
视频广告连播
包含多个广告机会的视频广告连播的出价请求会被扁平化,
这样每个出价请求都对应于该广告连播中的一个广告机会。
这样,您就可以针对给定广告连播中的多个广告机会出价。
开放式衡量
借助 Open Measurement,您可以指定为投放到移动应用环境中的广告提供独立衡量和验证服务的第三方供应商。
您可以通过检查广告机会是否排除了发布商可排除的广告素材属性 中的 OmsdkType:
OMSDK 1.0 属性,来确定发布商是否支持 Open Measurement。此信息位于横幅广告 或视频广告 的 battr 属性下,具体取决于广告格式。
如需详细了解如何解读包含 Open Measurement 信号的出价请求,请参阅 Open Measurement SDK 帮助中心文章。
出价请求示例
以下部分展示了不同广告类型的出价请求示例。
注意 :Protobuf 示例包含指向类似序列化出价请求的下载链接。不能保证它们完全相同。
应用横幅广告
OpenRTB Protobuf
显示示例
序列化请求
id : "a7gs668pOD71593174WD18"
imp {
id : "1"
banner {
w : 320
h : 50
pos : ABOVE_THE_FOLD
api : MRAID_1
api : MRAID_2
format {
w : 320
h : 50
}
format {
w : 300
h : 50
}
[ com . google . doubleclick . banner_ext ] {
flexslot {
wmin : 214
wmax : 320
hmin : 38
hmax : 50
}
}
}
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "25.4.0"
tagid : "1170683138"
bidfloor : 0.2
bidfloorcur : "TWD"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.0022246940061450005
vendor : "EXCHANGE"
}
metric {
type : "video_completion_rate"
value : 0.0
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 21036061270
billing_id : 11500270523
publisher_settings_list_id : 6478851576480579402
publisher_settings_list_id : 2452646143102133774
allowed_vendor_type : 0
allowed_vendor_type : 828
ampad : AMP_AD_NOT_ALLOWED
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
jsver : "test-sdk_123456789"
}
}
app {
name : "Test App"
ver : "16.73"
bundle : "com.google.testapp"
publisher {
id : "pub-3006071972218254"
[ com . google . doubleclick . publisher ] {
country : "JP"
}
}
content {
url : "https://www.google.com"
userrating : "4.5"
language : "ja"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "JPN"
region : "JP-23"
city : "Nagoya"
type : IP
utcoffset : 540
accuracy : 2361
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9197961
}
}
ipv6 : "2402:6b00:be5a::"
language : "ja"
make : "Google"
model : "Pixel 7a"
os : "android"
osv : "17"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
ifa : "105e2839-a340-41b9-94e3-84f6860b185b"
w : 320
h : 712
pxratio : 3.375
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "17"
}
mobile : true
bitness : "64"
model : "Pixel 7a"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
metereddata : false
chargelevel : 0.7300000190734863
charging : false
diskspace : 27800
audioout : AUDIO_SILENT
ifa_type : "aaid"
scrollposx : 0
scrollposy : 0
}
}
user {
id : "784c390xCf3sdR7n87V64t25vQc"
[ com . google . doubleclick . user ] {
session {
duration : 496
depth : 16
requestssinceappopen : 17
priorclicks : 0
}
idage : 86400
}
}
at : FIRST_PRICE
tmax : 1300
cur : "USD"
cur : "TWD"
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-a-v262180000.262180000.0"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zL23dM-K888C926iz54pL02I4wa4sXX04N9233701g8h787afvX78G815DcjFi573537"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : true
}
}
OpenRTB JSON
显示示例
{
"id" : "a7gs668pOD71593174WD18" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 320 ,
"h" : 50 ,
"pos" : 1 ,
"api" : [
3 ,
5
],
"format" : [
{
"w" : 320 ,
"h" : 50
},
{
"w" : 300 ,
"h" : 50
}
],
"ext" : {
"flexslot" : {
"wmin" : 214 ,
"wmax" : 320 ,
"hmin" : 38 ,
"hmax" : 50
}
}
},
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "25.4.0" ,
"tagid" : "1170683138" ,
"bidfloor" : 0.2 ,
"bidfloorcur" : "TWD" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0022246940061450005 ,
"vendor" : "EXCHANGE"
},
{
"type" : "video_completion_rate" ,
"value" : 0.0 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"21036061270" ,
"11500270523"
],
"publisher_settings_list_id" : [
"6478851576480579402" ,
"2452646143102133774"
],
"allowed_vendor_type" : [
0 ,
828
],
"ampad" : 2 ,
"creative_enforcement_settings" : {
"policy_enforcement" : 1 ,
"publisher_blocks_enforcement" : 1
},
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "16.73" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-3006071972218254" ,
"ext" : {
"country" : "JP"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.5" ,
"language" : "ja"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "JPN" ,
"region" : "JP-23" ,
"city" : "Nagoya" ,
"type" : 2 ,
"utcoffset" : 540 ,
"accuracy" : 2361 ,
"ext" : {
"geo_criteria_id" : 9197961
}
},
"ipv6" : "2402:6b00:be5a::" ,
"language" : "ja" ,
"make" : "Google" ,
"model" : "Pixel 7a" ,
"os" : "android" ,
"osv" : "17" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"ifa" : "105e2839-a340-41b9-94e3-84f6860b185b" ,
"w" : 320 ,
"h" : 712 ,
"pxratio" : 3.375 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"17"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "Pixel 7a" ,
"source" : 3
},
"ext" : {
"metereddata" : 0 ,
"chargelevel" : 0.73 ,
"charging" : 0 ,
"diskspace" : 27800 ,
"audioout" : 3 ,
"ifa_type" : "aaid" ,
"scrollposx" : 0 ,
"scrollposy" : 0
}
},
"user" : {
"id" : "784c390xCf3sdR7n87V64t25vQc" ,
"ext" : {
"session" : {
"duration" : 496 ,
"depth" : 16 ,
"requestssinceappopen" : 17 ,
"priorclicks" : 0
},
"idage" : 86400
}
},
"at" : 1 ,
"tmax" : 1300 ,
"cur" : [
"USD" ,
"TWD"
],
"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-a-v262180000.262180000.0"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-zL23dM-K888C926iz54pL02I4wa4sXX04N9233701g8h787afvX78G815DcjFi573537" ,
"fcap_scope" : 3 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
应用插页式广告
OpenRTB Protobuf
显示示例
序列化请求
id : "wKS8UeItaMI5RAYw9Pahl0"
imp {
id : "1"
banner {
w : 412
h : 774
pos : AD_POSITION_FULLSCREEN
api : MRAID_1
api : MRAID_2
format {
w : 412
h : 774
}
format {
w : 360
h : 604
}
}
displaymanager : "GoogleMobileAds-iOS"
displaymanagerver : "11.13.0"
instl : true
tagid : "4105056997"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
exp : 14400
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.3207642734050751
vendor : "EXCHANGE"
}
metric {
type : "video_completion_rate"
value : 0.012501807883381844
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 83032532617
publisher_settings_list_id : 2887317894027751671
publisher_settings_list_id : 8269939443573722896
allowed_vendor_type : 0
allowed_vendor_type : 238
ampad : AMP_AD_NOT_ALLOWED
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
is_app_open_ad : true
jsver : "test-sdk_123456789"
}
}
app {
ver : "1.0.14"
bundle : "com.google.testapp"
publisher {
id : "pub-2301631347146208"
[ com . google . doubleclick . publisher ] {
country : "AE"
}
}
content {
url : "https://www.google.com"
language : "en"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
ip : "102.78.236.0"
geo {
lat : 0.0
lon : 0.0
country : "MAR"
region : "MA-11"
city : "Marrakech"
zip : "40000"
type : IP
utcoffset : 0
accuracy : 3263
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9197207
}
}
carrier : "72009"
language : "fr"
make : "Apple"
model : "iPhone14,3"
os : "iOS"
osv : "26.6.1"
connectiontype : CELL_3G
devicetype : HIGHEND_PHONE
ifa : "df23895d-6a56-41e9-bb8c-f19163328c19"
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 : "26"
version : "6"
}
mobile : true
bitness : "64"
model : "iPhone"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
atts : 3
audioout : AUDIO_SILENT
ifa_type : "idfa"
scrollposx : 0
scrollposy : 0
}
}
user {
id : "kxz2KP24nII51245YrV2AFtsQ72"
[ com . google . doubleclick . user ] {
session {
duration : 137
depth : 17
requestssinceappopen : 17
priorclicks : 0
}
idage : 12960000
}
}
at : FIRST_PRICE
tmax : 2000
cur : "USD"
bcat : "32"
bcat : "33"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-i-v11.13.0"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zc08FK-h142dS00t819143TE021SS56r617vV09n09J3OaP354s93vIU300bzJ7e5cG2"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : true
}
}
OpenRTB JSON
显示示例
{
"id" : "wKS8UeItaMI5RAYw9Pahl0" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 412 ,
"h" : 774 ,
"pos" : 7 ,
"api" : [
3 ,
5
],
"format" : [
{
"w" : 412 ,
"h" : 774
},
{
"w" : 360 ,
"h" : 604
}
]
},
"displaymanager" : "GoogleMobileAds-iOS" ,
"displaymanagerver" : "11.13.0" ,
"instl" : 1 ,
"tagid" : "4105056997" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 14400 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.3207642734050751 ,
"vendor" : "EXCHANGE"
},
{
"type" : "video_completion_rate" ,
"value" : 0.012501807883381844 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"83032532617"
],
"publisher_settings_list_id" : [
"2887317894027751671" ,
"8269939443573722896"
],
"allowed_vendor_type" : [
0 ,
238
],
"ampad" : 2 ,
"creative_enforcement_settings" : {
"policy_enforcement" : 1 ,
"publisher_blocks_enforcement" : 1
},
"is_app_open_ad" : 1 ,
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"ver" : "1.0.14" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-2301631347146208" ,
"ext" : {
"country" : "AE"
}
},
"content" : {
"url" : "https://www.google.com" ,
"language" : "en"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "102.78.236.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "MAR" ,
"region" : "MA-11" ,
"city" : "Marrakech" ,
"zip" : "40000" ,
"type" : 2 ,
"utcoffset" : 0 ,
"accuracy" : 3263 ,
"ext" : {
"geo_criteria_id" : 9197207
}
},
"carrier" : "72009" ,
"language" : "fr" ,
"make" : "Apple" ,
"model" : "iPhone14,3" ,
"os" : "iOS" ,
"osv" : "26.6.1" ,
"connectiontype" : 5 ,
"devicetype" : 4 ,
"ifa" : "df23895d-6a56-41e9-bb8c-f19163328c19" ,
"hwv" : "iPhone14,3" ,
"w" : 428 ,
"h" : 926 ,
"pxratio" : 3.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"605" ,
"1"
]
}
],
"platform" : {
"brand" : "iPhone" ,
"version" : [
"26" ,
"6"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "iPhone" ,
"source" : 3
},
"ext" : {
"atts" : 3 ,
"audioout" : 3 ,
"ifa_type" : "idfa" ,
"scrollposx" : 0 ,
"scrollposy" : 0
}
},
"user" : {
"id" : "kxz2KP24nII51245YrV2AFtsQ72" ,
"ext" : {
"session" : {
"duration" : 137 ,
"depth" : 17 ,
"requestssinceappopen" : 17 ,
"priorclicks" : 0
},
"idage" : 12960000
}
},
"at" : 1 ,
"tmax" : 2000 ,
"cur" : [
"USD"
],
"bcat" : [
"32" ,
"33"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-i-v11.13.0"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-zc08FK-h142dS00t819143TE021SS56r617vV09n09J3OaP354s93vIU300bzJ7e5cG2" ,
"fcap_scope" : 3 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
应用插页式视频广告
OpenRTB Protobuf
显示示例
序列化请求
id : "a7gs668pOD71593174WD18"
imp {
id : "1"
video {
mimes : "video/mp4"
linearity : LINEAR
maxduration : 45
w : 427
h : 875
startdelay : 0
playbackmethod : CLICK_TO_PLAY
pos : AD_POSITION_FULLSCREEN
companionad {
w : 427
h : 875
mimes : "text/css"
mimes : "image/png"
format {
w : 427
h : 875
}
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 : 40
plcmt : PLCMT_INTERSTITIAL
[ com . google . doubleclick . video ] {
inferredplcmt : PLCMT_INTERSTITIAL
}
}
displaymanager : "NextGenGoogleMobileAds-Android"
displaymanagerver : "1.1.1"
instl : true
tagid : "9072476229"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.14426924288272858
vendor : "EXCHANGE"
}
metric {
type : "video_completion_rate"
value : 0.42162033915519714
vendor : "EXCHANGE"
}
rwdd : true
[ com . google . doubleclick . imp ] {
billing_id : 61170857882
publisher_settings_list_id : 3465533324312870629
publisher_settings_list_id : 7019420503499415173
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"
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
jsver : "test-sdk_123456789"
highengagement : true
}
}
app {
name : "Test App"
ver : "272"
bundle : "com.google.testapp"
publisher {
id : "pub-3006071972218254"
[ com . google . doubleclick . publisher ] {
country : "BD"
}
}
content {
url : "https://www.google.com"
userrating : "3.7"
language : "en"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "IND"
type : IP
utcoffset : 330
accuracy : 7811
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9197649
}
}
ipv6 : "2409:408c:2892::"
carrier : "70227"
language : "en"
make : "Vivo"
model : "V2125"
os : "android"
osv : "12"
connectiontype : CELL_4G
devicetype : HIGHEND_PHONE
ifa : "a64564f8-330a-4152-9715-86c6873569bf"
w : 427
h : 875
pxratio : 1.688
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "12"
}
mobile : true
bitness : "64"
model : "V2125"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
metereddata : true
chargelevel : 0.4099999964237213
charging : false
diskspace : 4000
audioout : AUDIO_SPEAKER
ifa_type : "aaid"
scrollposx : 0
scrollposy : 0
}
}
user {
id : "743cB1sI4151248Ecs68w1qj5o8"
[ com . google . doubleclick . user ] {
session {
duration : 780
depth : 133
requestssinceappopen : 133
priorclicks : 0
}
idage : 38880000
}
}
at : FIRST_PRICE
tmax : 300
cur : "USD"
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-a-v1.1.1"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zL23dM-K888C926iz54pL02I4wa4sXX04N9233701g8h787afvX78G815DcjFi573537"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : true
}
}
OpenRTB JSON
显示示例
{
"id" : "a7gs668pOD71593174WD18" ,
"imp" : [
{
"id" : "1" ,
"video" : {
"mimes" : [
"video/mp4"
],
"linearity" : 1 ,
"maxduration" : 45 ,
"w" : 427 ,
"h" : 875 ,
"startdelay" : 0 ,
"playbackmethod" : [
3
],
"pos" : 7 ,
"companionad" : [
{
"w" : 427 ,
"h" : 875 ,
"mimes" : [
"text/css" ,
"image/png"
],
"format" : [
{
"w" : 427 ,
"h" : 875
}
],
"vcm" : 1
}
],
"api" : [
3 ,
5
],
"companiontype" : [
1 ,
2
],
"protocols" : [
2 ,
3
],
"skip" : 0 ,
"placement" : 5 ,
"playbackend" : 1 ,
"maxseq" : 2 ,
"poddur" : 40 ,
"plcmt" : 3 ,
"ext" : {
"inferredplcmt" : 3
}
},
"displaymanager" : "NextGenGoogleMobileAds-Android" ,
"displaymanagerver" : "1.1.1" ,
"instl" : 1 ,
"tagid" : "9072476229" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.14426924288272858 ,
"vendor" : "EXCHANGE"
},
{
"type" : "video_completion_rate" ,
"value" : 0.42162033915519714 ,
"vendor" : "EXCHANGE"
}
],
"rwdd" : 1 ,
"ext" : {
"billing_id" : [
"61170857882"
],
"publisher_settings_list_id" : [
"3465533324312870629" ,
"7019420503499415173"
],
"allowed_vendor_type" : [
0 ,
237
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"creative_enforcement_settings" : {
"policy_enforcement" : 1 ,
"publisher_blocks_enforcement" : 1
},
"jsver" : "test-sdk_123456789" ,
"highengagement" : 1
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "272" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-3006071972218254" ,
"ext" : {
"country" : "BD"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "3.7" ,
"language" : "en"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "IND" ,
"type" : 2 ,
"utcoffset" : 330 ,
"accuracy" : 7811 ,
"ext" : {
"geo_criteria_id" : 9197649
}
},
"ipv6" : "2409:408c:2892::" ,
"carrier" : "70227" ,
"language" : "en" ,
"make" : "Vivo" ,
"model" : "V2125" ,
"os" : "android" ,
"osv" : "12" ,
"connectiontype" : 6 ,
"devicetype" : 4 ,
"ifa" : "a64564f8-330a-4152-9715-86c6873569bf" ,
"w" : 427 ,
"h" : 875 ,
"pxratio" : 1.688 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"12"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "V2125" ,
"source" : 3
},
"ext" : {
"metereddata" : 1 ,
"chargelevel" : 0.41 ,
"charging" : 0 ,
"diskspace" : 4000 ,
"audioout" : 1 ,
"ifa_type" : "aaid" ,
"scrollposx" : 0 ,
"scrollposy" : 0
}
},
"user" : {
"id" : "743cB1sI4151248Ecs68w1qj5o8" ,
"ext" : {
"session" : {
"duration" : 780 ,
"depth" : 133 ,
"requestssinceappopen" : 133 ,
"priorclicks" : 0
},
"idage" : 38880000
}
},
"at" : 1 ,
"tmax" : 300 ,
"cur" : [
"USD"
],
"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-a-v1.1.1"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-zL23dM-K888C926iz54pL02I4wa4sXX04N9233701g8h787afvX78G815DcjFi573537" ,
"fcap_scope" : 3 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
应用原生广告
OpenRTB Protobuf
显示示例
序列化请求
id : "a7gs668pOD71593174WD18"
imp {
id : "1"
displaymanager : "GoogleMobileAds-iOS"
displaymanagerver : "13.9.0"
tagid : "4721765816"
bidfloor : 0.69
bidfloorcur : "USD"
secure : true
native {
ver : "1.2"
api : MRAID_1
api : MRAID_2
request_native {
ver : "1.2"
assets {
id : 1
required : true
title {
len : 50
}
}
assets {
id : 2
required : true
data {
type : DESC
len : 150
}
}
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
}
eventtrackers {
event : OMID
methods : JS
}
privacy : true
}
}
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.0010945964604616165
vendor : "EXCHANGE"
}
metric {
type : "video_completion_rate"
value : 0.014000949449837208
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 94483515670
publisher_settings_list_id : 3092446200668875547
publisher_settings_list_id : 5367266321274470711
allowed_vendor_type : 0
allowed_vendor_type : 331
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 : "7dRyc70v"
versions : "2.0"
versions : "2.1"
fidelities : STOREKIT_RENDERED_ADS
fidelities : VIEW_THROUGH_ADS
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
jsver : "test-sdk_123456789"
}
}
app {
name : "Test App"
ver : "15.3.6"
bundle : "com.google.testapp"
publisher {
id : "pub-3006071972218254"
[ com . google . doubleclick . publisher ] {
country : "JP"
}
}
content {
url : "https://www.google.com"
language : "ja"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "JPN"
region : "JP-17"
city : "Komatsu"
type : IP
utcoffset : 540
accuracy : 10872
[ com . google . doubleclick . geo ] {
geo_criteria_id : 1009371
}
}
ipv6 : "2400:2653:f263::"
language : "ja"
make : "Apple"
model : "iPhone18,3"
os : "iOS"
osv : "26.5.2"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
hwv : "iPhone18,3"
w : 402
h : 874
pxratio : 3.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "605"
version : "1"
}
platform {
brand : "iPhone"
version : "26"
version : "5"
}
mobile : true
bitness : "64"
model : "iPhone"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
atts : 2
audioout : AUDIO_SPEAKER
ifv : "792c0b4e-9c08-4a29-8ac4-c0134dd4df27"
scrollposx : 0
scrollposy : 0
}
}
user {
[ com . google . doubleclick . user ] {
session {
duration : 7
depth : 36
requestssinceappopen : 36
priorclicks : 0
}
}
}
at : FIRST_PRICE
tmax : 300
cur : "USD"
bcat : "32"
bcat : "33"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-i-v13.9.0"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zL23dM-K888C926iz54pL02I4wa4sXX04N9233701g8h787afvX78G815DcjFi573537"
fcap_scope : FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection : true
}
}
OpenRTB JSON
显示示例
{
"id" : "a7gs668pOD71593174WD18" ,
"imp" : [
{
"id" : "1" ,
"displaymanager" : "GoogleMobileAds-iOS" ,
"displaymanagerver" : "13.9.0" ,
"tagid" : "4721765816" ,
"bidfloor" : 0.69 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"native" : {
"ver" : "1.2" ,
"api" : [
3 ,
5
],
"request" : "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":50}},{\"id\":2,\"required\":1,\"data\":{\"type\":2,\"len\":150}},{\"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]},{\"event\":555,\"methods\":[2]}],\"privacy\":1}"
},
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0010945964604616165 ,
"vendor" : "EXCHANGE"
},
{
"type" : "video_completion_rate" ,
"value" : 0.014000949449837208 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"94483515670"
],
"publisher_settings_list_id" : [
"3092446200668875547" ,
"5367266321274470711"
],
"allowed_vendor_type" : [
0 ,
331
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"skadn" : {
"sourceapp" : "com.google.testapp" ,
"skadnetids" : [
"7dRyc70v"
],
"versions" : [
"2.0" ,
"2.1"
],
"fidelities" : [
1 ,
0
]
},
"creative_enforcement_settings" : {
"policy_enforcement" : 1 ,
"publisher_blocks_enforcement" : 1
},
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "15.3.6" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-3006071972218254" ,
"ext" : {
"country" : "JP"
}
},
"content" : {
"url" : "https://www.google.com" ,
"language" : "ja"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "JPN" ,
"region" : "JP-17" ,
"city" : "Komatsu" ,
"type" : 2 ,
"utcoffset" : 540 ,
"accuracy" : 10872 ,
"ext" : {
"geo_criteria_id" : 1009371
}
},
"ipv6" : "2400:2653:f263::" ,
"language" : "ja" ,
"make" : "Apple" ,
"model" : "iPhone18,3" ,
"os" : "iOS" ,
"osv" : "26.5.2" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"hwv" : "iPhone18,3" ,
"w" : 402 ,
"h" : 874 ,
"pxratio" : 3.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"605" ,
"1"
]
}
],
"platform" : {
"brand" : "iPhone" ,
"version" : [
"26" ,
"5"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "iPhone" ,
"source" : 3
},
"ext" : {
"atts" : 2 ,
"audioout" : 1 ,
"ifv" : "792c0b4e-9c08-4a29-8ac4-c0134dd4df27" ,
"scrollposx" : 0 ,
"scrollposy" : 0
}
},
"user" : {
"ext" : {
"session" : {
"duration" : 7 ,
"depth" : 36 ,
"requestssinceappopen" : 36 ,
"priorclicks" : 0
}
}
},
"at" : 1 ,
"tmax" : 300 ,
"cur" : [
"USD"
],
"bcat" : [
"32" ,
"33"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-i-v13.9.0"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-zL23dM-K888C926iz54pL02I4wa4sXX04N9233701g8h787afvX78G815DcjFi573537" ,
"fcap_scope" : 4 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
网络视频
OpenRTB Protobuf
显示示例
序列化请求
id : "xljbvz426ttL3x4FOE2GHI"
imp {
id : "1"
video {
mimes : "video/mp4"
linearity : LINEAR
w : 300
h : 300
battr : VIDEO_IN_BANNER_USER_INITIATED
battr : VIDEO_IN_BANNER_AUTO_PLAY
playbackmethod : ENTER_SOUND_OFF
pos : BELOW_THE_FOLD
api : OMID_1
protocols : VAST_2_0
protocols : VAST_3_0
skip : true
skipafter : 5
placement : IN_ARTICLE_PLACEMENT
playbackend : LEAVING_OR_USER
plcmt : PLCMT_NO_CONTENT_STANDALONE
[ com . google . doubleclick . video ] {
inferredplcmt : PLCMT_NO_CONTENT_STANDALONE
}
}
displaymanager : "GOOGLE"
tagid : "1052440414"
bidfloor : 0.02
bidfloorcur : "USD"
secure : true
exp : 3600
metric {
type : "click_through_rate"
value : 0.0008394007454626262
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.16
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 61339160186
billing_id : 19485139317
publisher_settings_list_id : 4926395220064122332
publisher_settings_list_id : 2170079197629701072
allowed_vendor_type : 0
ampad : AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
buyer_generated_request_data {
data : "Test Data"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
allowed_restricted_category : 33
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
gpid : "/7481295/example.com/homepage/image_top"
adlocx : 16
adlocy : 3844
iframeorigin : IFRAME_ORIGIN_CROSS_DOMAIN
}
}
site {
cat : "IAB1-4"
cat : "IAB11"
pagecat : "IAB1-4"
page : "https://www.google.com"
publisher {
id : "pub-1111111111111111"
[ com . google . doubleclick . publisher ] {
country : "US"
}
}
content {
language : "en"
}
mobile : true
cattax : IAB_CONTENT_1_0
[ com . google . doubleclick . site ] {
amp : DIALECT_HTML
page_visibility : VISIBILITY_STATE_VISIBLE
}
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "USA"
region : "TX"
metro : "641"
zip : "78213"
type : IP
utcoffset : - 300
accuracy : 2497
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9028054
}
}
ipv6 : "2600:1700:8e70:a606:997b:b74b:e386:d606"
language : "en"
make : "Samsung"
model : "sm-s901u"
os : "android"
osv : "16"
devicetype : HIGHEND_PHONE
w : 360
h : 780
pxratio : 3.0
sua {
browsers {
brand : "Not:A-Brand"
version : "8"
version : "0"
}
browsers {
brand : "Chromium"
version : "156"
version : "0"
}
platform {
brand : "Android"
version : "16"
version : "0"
}
mobile : true
model : "SM-S901U"
source : CLIENT_HINTS_HIGH_ENTROPY
}
[ com . google . doubleclick . device ] {
chargelevel : 0.4000000059604645
charging : false
memory : 8192
scrollposx : 0
scrollposy : 856
}
}
user {
buyeruid : "868R674mhtSh1Q0820Se707969bigg7W"
customdata : "262F37r207u0H1dgJM3ok893UU0Bv87a50n6N2mNm0353wRr"
[ com . google . doubleclick . user ] {
eids {
source : "OMITTED_SOURCE"
uids {
id : "OMITTED_ID"
}
}
}
}
at : FIRST_PRICE
tmax : 500
cur : "USD"
bcat : "4"
bcat : "5"
regs {
gpp : "OMITTED"
gpp_sid : USPV1
gpp_sid : USNAT
}
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"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
bid_feedback {
request_id : "l72n4cr8T4yhC7i3gkl6O2"
creative_status_code : 80
event_notification_token {
payload : "token"
}
buyer_creative_id : "test_creative_id_578959"
minimum_bid_to_win : 3.58
}
google_query_id : "ANy-z88L87-64Z116olgj51Z973322723c7h971w813985fd8o3iw2N13ZVX453i2900b23H"
fcap_scope : FREQUENCY_CAPPING_SCOPE_NONE
privacy_treatments {
ip : IP_FULL
allow_user_data_collection : true
}
}
OpenRTB JSON
显示示例
{
"id" : "xljbvz426ttL3x4FOE2GHI" ,
"imp" : [
{
"id" : "1" ,
"video" : {
"mimes" : [
"video/mp4"
],
"linearity" : 1 ,
"w" : 300 ,
"h" : 300 ,
"battr" : [
7 ,
6
],
"playbackmethod" : [
6
],
"pos" : 3 ,
"api" : [
7
],
"protocols" : [
2 ,
3
],
"skip" : 1 ,
"skipafter" : 5 ,
"placement" : 3 ,
"playbackend" : 2 ,
"plcmt" : 4 ,
"ext" : {
"inferredplcmt" : 4
}
},
"displaymanager" : "GOOGLE" ,
"tagid" : "1052440414" ,
"bidfloor" : 0.02 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0008394007454626262 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.16 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"61339160186" ,
"19485139317"
],
"publisher_settings_list_id" : [
"4926395220064122332" ,
"2170079197629701072"
],
"allowed_vendor_type" : [
0
],
"ampad" : 3 ,
"buyer_generated_request_data" : [
{
"data" : "Test Data"
}
],
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"allowed_restricted_category" : [
33
],
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"gpid" : "/7481295/example.com/homepage/image_top" ,
"adlocx" : 16 ,
"adlocy" : 3844 ,
"iframeorigin" : 2
}
}
],
"site" : {
"cat" : [
"IAB1-4" ,
"IAB11"
],
"pagecat" : [
"IAB1-4"
],
"page" : "https://www.google.com" ,
"publisher" : {
"id" : "pub-1111111111111111" ,
"ext" : {
"country" : "US"
}
},
"content" : {
"language" : "en"
},
"mobile" : 1 ,
"cattax" : 1 ,
"ext" : {
"amp" : 0 ,
"page_visibility" : 1
}
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "USA" ,
"region" : "TX" ,
"metro" : "641" ,
"zip" : "78213" ,
"type" : 2 ,
"utcoffset" : - 300 ,
"accuracy" : 2497 ,
"ext" : {
"geo_criteria_id" : 9028054
}
},
"ipv6" : "2600:1700:8e70:a606:997b:b74b:e386:d606" ,
"language" : "en" ,
"make" : "Samsung" ,
"model" : "sm-s901u" ,
"os" : "android" ,
"osv" : "16" ,
"devicetype" : 4 ,
"w" : 360 ,
"h" : 780 ,
"pxratio" : 3.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Not:A-Brand" ,
"version" : [
"8" ,
"0"
]
},
{
"brand" : "Chromium" ,
"version" : [
"156" ,
"0"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"16" ,
"0"
]
},
"mobile" : 1 ,
"model" : "SM-S901U" ,
"source" : 2
},
"ext" : {
"chargelevel" : 0.4 ,
"charging" : 0 ,
"memory" : 8192 ,
"scrollposx" : 0 ,
"scrollposy" : 856
}
},
"user" : {
"buyeruid" : "868R674mhtSh1Q0820Se707969bigg7W" ,
"customdata" : "262F37r207u0H1dgJM3ok893UU0Bv87a50n6N2mNm0353wRr" ,
"ext" : {
"eids" : [
{
"source" : "OMITTED_SOURCE" ,
"uids" : [
{
"id" : "OMITTED_ID"
}
]
}
]
}
},
"at" : 1 ,
"tmax" : 500 ,
"cur" : [
"USD"
],
"bcat" : [
"4" ,
"5"
],
"regs" : {
"gpp" : "OMITTED" ,
"gpp_sid" : [
6 ,
7
]
},
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
},
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
},
"cattax" : 500 ,
"ext" : {
"bid_feedback" : [
{
"request_id" : "l72n4cr8T4yhC7i3gkl6O2" ,
"creative_status_code" : 80 ,
"event_notification_token" : {
"payload" : "token"
},
"buyer_creative_id" : "test_creative_id_578959" ,
"minimum_bid_to_win" : 3.58
}
],
"google_query_id" : "ANy-z88L87-64Z116olgj51Z973322723c7h971w813985fd8o3iw2N13ZVX453i2900b23H" ,
"fcap_scope" : 1 ,
"privacy_treatments" : {
"ip" : 1 ,
"allow_user_data_collection" : 1
}
}
}
面向广告交易平台出价功能的移动网站横幅
OpenRTB Protobuf
显示示例
序列化请求
id : "a7gs668pOD71593174WD18"
imp {
id : "1"
banner {
w : 970
h : 90
pos : ABOVE_THE_FOLD
format {
w : 970
h : 90
}
format {
w : 950
h : 90
}
[ com . google . doubleclick . banner_ext ] {
flexslot {
wmin : 728
wmax : 970
hmin : 90
hmax : 90
}
}
}
tagid : "3889241961"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
exp : 3600
metric {
type : "click_through_rate"
value : 0.0011694123968482018
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.06
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 79775275767
publisher_settings_list_id : 8825410584249136395
publisher_settings_list_id : 4368309502124126995
allowed_vendor_type : 0
dfp_ad_unit_code : "/9908766/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
}
allowed_restricted_category : 32
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
adlocx : 283
adlocy : 1109
iframeorigin : IFRAME_ORIGIN_CROSS_DOMAIN
}
}
site {
cat : "IAB1-1"
cat : "IAB12"
pagecat : "IAB11"
pagecat : "IAB12"
page : "https://www.google.com"
publisher {
id : "pub-1111111111111111"
[ com . google . doubleclick . publisher ] {
country : "BG"
}
}
content {
language : "tr"
}
cattax : IAB_CONTENT_1_0
[ com . google . doubleclick . site ] {
amp : DIALECT_HTML
page_visibility : VISIBILITY_STATE_HIDDEN
ntype : NAVIGATION_TYPE_RELOAD
}
}
device {
ua : "OMITTED"
ip : "212.174.9.0"
geo {
lat : 0.0
lon : 0.0
country : "TUR"
region : "TR-34"
city : "Istanbul"
zip : "34149"
type : IP
utcoffset : 180
accuracy : 1973
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9073387
}
}
language : "tr"
os : "Windows"
devicetype : PERSONAL_COMPUTER
w : 1536
h : 864
pxratio : 1.25
sua {
browsers {
brand : "Google Chrome"
version : "155"
version : "0"
}
browsers {
brand : "Chromium"
version : "155"
version : "0"
}
platform {
brand : "Windows"
version : "10"
version : "0"
}
mobile : false
architecture : "x86"
bitness : "64"
source : CLIENT_HINTS_HIGH_ENTROPY
}
[ com . google . doubleclick . device ] {
memory : 8192
scrollposx : 0
scrollposy : 500
}
}
user {
id : "0i00L70sOg40C0338Oy67QTn970"
buyeruid : "7419Fp33ZjKqfO762L6A1260sE283I22"
customdata : "dk9A1326Z0gHs1816L4p6b8tb46zS520b3T34Q1j1uKF26k5"
[ com . google . doubleclick . user ] {
idage : 7776000
}
}
at : FIRST_PRICE
tmax : 350
cur : "USD"
bcat : "IAB7-39"
bcat : "IAB7-44"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
}
cattax : IAB_CONTENT_1_0
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zL23dM-K888C926iz54pL02I4wa4sXX04N9233701g8h787afvX78G815DcjFi573537"
fcap_scope : FREQUENCY_CAPPING_SCOPE_BROWSER
}
OpenRTB JSON
显示示例
{
"id" : "a7gs668pOD71593174WD18" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 970 ,
"h" : 90 ,
"pos" : 1 ,
"format" : [
{
"w" : 970 ,
"h" : 90
},
{
"w" : 950 ,
"h" : 90
}
],
"ext" : {
"flexslot" : {
"wmin" : 728 ,
"wmax" : 970 ,
"hmin" : 90 ,
"hmax" : 90
}
}
},
"tagid" : "3889241961" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0011694123968482018 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.06 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"79775275767"
],
"publisher_settings_list_id" : [
"8825410584249136395" ,
"4368309502124126995"
],
"allowed_vendor_type" : [
0
],
"dfp_ad_unit_code" : "/9908766/google/test" ,
"ampad" : 3 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"open_bidding" : {
"is_open_bidding" : 1
},
"allowed_restricted_category" : [
32
],
"creative_enforcement_settings" : {
"policy_enforcement" : 1 ,
"publisher_blocks_enforcement" : 1
},
"adlocx" : 283 ,
"adlocy" : 1109 ,
"iframeorigin" : 2
}
}
],
"site" : {
"cat" : [
"IAB1-1" ,
"IAB12"
],
"pagecat" : [
"IAB11" ,
"IAB12"
],
"page" : "https://www.google.com" ,
"publisher" : {
"id" : "pub-1111111111111111" ,
"ext" : {
"country" : "BG"
}
},
"content" : {
"language" : "tr"
},
"cattax" : 1 ,
"ext" : {
"amp" : 0 ,
"page_visibility" : 2 ,
"ntype" : 2
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "212.174.9.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "TUR" ,
"region" : "TR-34" ,
"city" : "Istanbul" ,
"zip" : "34149" ,
"type" : 2 ,
"utcoffset" : 180 ,
"accuracy" : 1973 ,
"ext" : {
"geo_criteria_id" : 9073387
}
},
"language" : "tr" ,
"os" : "Windows" ,
"devicetype" : 2 ,
"w" : 1536 ,
"h" : 864 ,
"pxratio" : 1.25 ,
"sua" : {
"browsers" : [
{
"brand" : "Google Chrome" ,
"version" : [
"155" ,
"0"
]
},
{
"brand" : "Chromium" ,
"version" : [
"155" ,
"0"
]
}
],
"platform" : {
"brand" : "Windows" ,
"version" : [
"10" ,
"0"
]
},
"mobile" : 0 ,
"architecture" : "x86" ,
"bitness" : "64" ,
"source" : 2
},
"ext" : {
"memory" : 8192 ,
"scrollposx" : 0 ,
"scrollposy" : 500
}
},
"user" : {
"id" : "0i00L70sOg40C0338Oy67QTn970" ,
"buyeruid" : "7419Fp33ZjKqfO762L6A1260sE283I22" ,
"customdata" : "dk9A1326Z0gHs1816L4p6b8tb46zS520b3T34Q1j1uKF26k5" ,
"ext" : {
"idage" : 7776000
}
},
"at" : 1 ,
"tmax" : 350 ,
"cur" : [
"USD"
],
"bcat" : [
"IAB7-39" ,
"IAB7-44"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
},
"cattax" : 1 ,
"ext" : {
"google_query_id" : "ANy-zL23dM-K888C926iz54pL02I4wa4sXX04N9233701g8h787afvX78G815DcjFi573537" ,
"fcap_scope" : 2
}
}
OpenRTB Protobuf
显示示例
序列化请求
id : "S2qA4hJS1n221Vw73up012"
imp {
id : "1"
video {
mimes : "video/mp4"
linearity : LINEAR
w : 300
h : 600
battr : VIDEO_IN_BANNER_AUTO_PLAY
battr : VIDEO_IN_BANNER_USER_INITIATED
playbackmethod : ENTER_SOUND_OFF
pos : ABOVE_THE_FOLD
api : OMID_1
protocols : VAST_2_0
protocols : VAST_3_0
skip : true
skipafter : 5
placement : IN_ARTICLE_PLACEMENT
playbackend : LEAVING_OR_USER
plcmt : PLCMT_NO_CONTENT_STANDALONE
[ com . google . doubleclick . video ] {
inferredplcmt : PLCMT_NO_CONTENT_STANDALONE
embeddedoffsite : true
}
}
displaymanager : "GOOGLE"
tagid : "7858457472"
bidfloor : 1.0
bidfloorcur : "JPY"
secure : true
native {
ver : "1.2"
battr : VIDEO_IN_BANNER_USER_INITIATED
battr : VIDEO_IN_BANNER_AUTO_PLAY
request_native {
ver : "1.2"
assets {
id : 1
required : true
title {
len : 50
}
}
assets {
id : 2
data {
type : CTATEXT
len : 15
}
}
assets {
id : 3
required : true
data {
type : SPONSORED
len : 25
}
}
assets {
id : 4
required : true
img {
type : MAIN
wmin : 1200
hmin : 627
}
}
assets {
id : 5
img {
type : ICON
}
}
eventtrackers {
event : IMPRESSION
methods : IMG
}
privacy : true
[ com . google . doubleclick . native_ext ] {
style_height : 250
style_width : 300
pos : ABOVE_THE_FOLD
}
}
}
exp : 3600
metric {
type : "click_through_rate"
value : 0.0001810694084269926
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.89
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 89729918050
billing_id : 53896910998
publisher_settings_list_id : 6828753821632622411
publisher_settings_list_id : 9406265749274240546
allowed_vendor_type : 0
ampad : AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
buyer_generated_request_data {
data : "Test Data"
}
buyer_generated_request_data {
data : "Test Data"
}
allowed_restricted_category : 32
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
adlocx : 45
adlocy : 352
iframeorigin : IFRAME_ORIGIN_SAME_DOMAIN
}
}
site {
pagecat : "IAB5"
pagecat : "IAB5-1"
page : "https://www.google.com"
publisher {
id : "pub-1111111111111111"
[ com . google . doubleclick . publisher ] {
country : "JP"
}
}
content {
language : "ja"
}
mobile : true
cattax : IAB_CONTENT_1_0
[ com . google . doubleclick . site ] {
amp : DIALECT_HTML
page_visibility : VISIBILITY_STATE_VISIBLE
}
}
device {
ua : "OMITTED"
ip : "122.152.77.121"
geo {
lat : 0.0
lon : 0.0
country : "JPN"
region : "JP-44"
city : "Oita"
type : IP
utcoffset : 540
accuracy : 12627
[ com . google . doubleclick . geo ] {
geo_criteria_id : 1009769
}
}
language : "ja"
make : "Apple"
model : "iphone"
os : "iOS"
osv : "18.7"
devicetype : HIGHEND_PHONE
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 : "7"
}
mobile : true
bitness : "64"
model : "iPhone"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
scrollposx : 0
scrollposy : 0
}
}
user {
eids {
source : "doubleclick.net"
uids {
id : "OMITTED_1P_WEB_ID"
[ com . google . doubleclick . uids ] {
stype : "sco"
}
}
}
[ com . google . doubleclick . user ] {
eids {
source : "OMITTED_SOURCE"
uids {
id : "OMITTED_ID"
}
}
eids {
source : "OMITTED_SOURCE"
uids {
id : "OMITTED_ID"
}
}
}
}
at : FIRST_PRICE
tmax : 350
cur : "JPY"
cur : "USD"
bcat : "3"
bcat : "4"
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"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-z07rzd-08kr3H9d1ctxT230uFK1H736A292Mr9P723t3R3v3tm00N97hW5qy405ww4T8"
fcap_scope : FREQUENCY_CAPPING_SCOPE_NONE
privacy_treatments {
ip : IP_FULL
allow_user_data_collection : true
}
}
OpenRTB JSON
显示示例
{
"id" : "S2qA4hJS1n221Vw73up012" ,
"imp" : [
{
"id" : "1" ,
"video" : {
"mimes" : [
"video/mp4"
],
"linearity" : 1 ,
"w" : 300 ,
"h" : 600 ,
"battr" : [
6 ,
7
],
"playbackmethod" : [
6
],
"pos" : 1 ,
"api" : [
7
],
"protocols" : [
2 ,
3
],
"skip" : 1 ,
"skipafter" : 5 ,
"placement" : 3 ,
"playbackend" : 2 ,
"plcmt" : 4 ,
"ext" : {
"inferredplcmt" : 4 ,
"embeddedoffsite" : 1
}
},
"displaymanager" : "GOOGLE" ,
"tagid" : "7858457472" ,
"bidfloor" : 1.0 ,
"bidfloorcur" : "JPY" ,
"secure" : 1 ,
"native" : {
"ver" : "1.2" ,
"battr" : [
7 ,
6
],
"request" : "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":50}},{\"id\":2,\"data\":{\"type\":12,\"len\":15}},{\"id\":3,\"required\":1,\"data\":{\"type\":1,\"len\":25}},{\"id\":4,\"required\":1,\"img\":{\"type\":3,\"wmin\":1200,\"hmin\":627}},{\"id\":5,\"img\":{\"type\":1}}],\"eventtrackers\":[{\"event\":1,\"methods\":[1]}],\"privacy\":1,\"ext\":{\"style_height\":250,\"style_width\":300,\"pos\":1}}"
},
"exp" : 3600 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0001810694084269926 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.89 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"89729918050" ,
"53896910998"
],
"publisher_settings_list_id" : [
"6828753821632622411" ,
"9406265749274240546"
],
"allowed_vendor_type" : [
0
],
"ampad" : 3 ,
"buyer_generated_request_data" : [
{
"data" : "Test Data"
},
{
"data" : "Test Data"
}
],
"allowed_restricted_category" : [
32
],
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"adlocx" : 45 ,
"adlocy" : 352 ,
"iframeorigin" : 1
}
}
],
"site" : {
"pagecat" : [
"IAB5" ,
"IAB5-1"
],
"page" : "https://www.google.com" ,
"publisher" : {
"id" : "pub-1111111111111111" ,
"ext" : {
"country" : "JP"
}
},
"content" : {
"language" : "ja"
},
"mobile" : 1 ,
"cattax" : 1 ,
"ext" : {
"amp" : 0 ,
"page_visibility" : 1
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "122.152.77.121" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "JPN" ,
"region" : "JP-44" ,
"city" : "Oita" ,
"type" : 2 ,
"utcoffset" : 540 ,
"accuracy" : 12627 ,
"ext" : {
"geo_criteria_id" : 1009769
}
},
"language" : "ja" ,
"make" : "Apple" ,
"model" : "iphone" ,
"os" : "iOS" ,
"osv" : "18.7" ,
"devicetype" : 4 ,
"w" : 390 ,
"h" : 844 ,
"pxratio" : 3.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"605" ,
"1"
]
}
],
"platform" : {
"brand" : "iPhone" ,
"version" : [
"18" ,
"7"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "iPhone" ,
"source" : 3
},
"ext" : {
"scrollposx" : 0 ,
"scrollposy" : 0
}
},
"user" : {
"eids" : [
{
"source" : "doubleclick.net" ,
"uids" : [
{
"id" : "OMITTED_1P_WEB_ID" ,
"ext" : {
"stype" : "sco"
}
}
]
}
],
"ext" : {
"eids" : [
{
"source" : "OMITTED_SOURCE" ,
"uids" : [
{
"id" : "OMITTED_ID"
}
]
},
{
"source" : "OMITTED_SOURCE" ,
"uids" : [
{
"id" : "OMITTED_ID"
}
]
}
]
}
},
"at" : 1 ,
"tmax" : 350 ,
"cur" : [
"JPY" ,
"USD"
],
"bcat" : [
"3" ,
"4"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
},
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-z07rzd-08kr3H9d1ctxT230uFK1H736A292Mr9P723t3R3v3tm00N97hW5qy405ww4T8" ,
"fcap_scope" : 1 ,
"privacy_treatments" : {
"ip" : 1 ,
"allow_user_data_collection" : 1
}
}
}