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