ดูโครงสร้างการประมูลของบริการเสนอราคาและประมูล
ภาพรวม
บริการเสนอราคาและประมูล (B&A) มีชุดบริการสําหรับผู้ซื้อและผู้ขายโฆษณาที่ทํางานในสภาพแวดล้อมการเรียกใช้ที่เชื่อถือได้ (TEE) เพื่ออำนวยความสะดวกในการประมูล Protected Audience (PA) หน้านี้อธิบายการกําหนดค่าการประมูลต่างๆ ที่สามารถใช้ B&A ในการประมูล PA ได้
คำจำกัดความ
| คำศัพท์ | คำอธิบาย |
|---|---|
| การประมูลที่ใช้ Protected Audience API | การประมูลโฆษณาที่เกี่ยวข้องกับข้อมูลข้ามเว็บไซต์ |
| การประมูลตามบริบท | การประมูลโฆษณาที่ไม่เกี่ยวข้องกับข้อมูลข้ามเว็บไซต์ การประมูลนี้เป็นไปตามเส้นทางการประมูลการเสนอราคาแบบเรียลไทม์ (RTB) ที่มีอยู่ |
| คำขอการประมูลแบบรวม | คําขอที่ส่งโดยโค้ด JavaScript ของผู้ขายจากเบราว์เซอร์ซึ่งมีเพย์โหลดสําหรับทั้งการประมูลกลุ่มเป้าหมายที่ได้รับการคุ้มครองและการประมูลตามบริบท |
| บริการโฆษณาสำหรับผู้ขาย (SAS) | บริการที่รับผิดชอบในการจัดการคําขอการประมูลแบบรวมจากเบราว์เซอร์ ซึ่งอาจเป็นเซิร์ฟเวอร์โฆษณา RTB ที่มีอยู่ของผู้ขาย SAS มีหน้าที่จัดการการประมูลทั้งแบบตามบริบทและ Protected Audience |
| บริการโฆษณาสำหรับผู้ซื้อ | บริการที่รับผิดชอบในการส่งราคาเสนอสำหรับการประมูลตามบริบท ซึ่งอาจเป็นเซิร์ฟเวอร์โฆษณา ORTB ที่มีอยู่ของผู้ซื้อ |
บริการสำหรับผู้ซื้อและผู้ขาย
บริการ B&A ประกอบด้วยบริการ 4 รายการสำหรับผู้ซื้อและผู้ขาย ดังนี้
- สําหรับผู้ซื้อ บริการการเสนอราคาและบริการหน้าเว็บสําหรับผู้ซื้อ (BFE) พร้อมให้ใช้งาน
- ผู้ขายสามารถใช้บริการประมูลและบริการส่วนหน้าสำหรับผู้ขาย (SFE)
| ผู้เข้าร่วม | บริการ | คำอธิบาย |
|---|---|---|
| ผู้ซื้อ | บริการส่วนหน้าสำหรับผู้ซื้อ (BFE) | บริการจะจัดการคำขอ GetBids จาก SFE ของผู้ขาย โดยมีหน้าที่ในการถอดรหัสเพย์โหลด ดึงข้อมูลสัญญาณ K/V และเรียก GenerateBids ของ Bidding Service |
| บริการเสนอราคา | บริการจัดการคําขอ GenerateBids จาก BFE โดยมีหน้าที่รับผิดชอบในการใช้ตรรกะการเสนอราคาของผู้ซื้อและสร้างราคาเสนอ |
|
| ผู้ขาย | บริการส่วนหน้าสำหรับผู้ขาย (SFE) | บริการจะจัดการคําขอ SelectAd จากบริการโฆษณาของผู้ขาย โดยมีหน้าที่รับผิดชอบในการถอดรหัสเพย์โหลด การเรียกใช้การดำเนินการ GetBids ของ BFE ดึงข้อมูลสัญญาณ K/V การเรียกใช้การดำเนินการ ScoreAd ของ Auction Service จากนั้นแสดงผลลัพธ์การประมูล B&A ที่เข้ารหัสไปยัง SAS
เมื่อบริการเป็นส่วนหนึ่งของสแต็กของผู้ขายระดับบนสุดในการประมูลแบบหลายผู้ขายที่จัดการโดยเซิร์ฟเวอร์ บริการจะจัดการคำขอ |
| บริการประมูล | บริการจัดการคําขอ ScoreAd จาก SFE โดยมีหน้าที่เรียกใช้ตรรกะการให้คะแนนของผู้ขาย รวมถึงระบุคะแนนความน่าพึงพอใจของราคาเสนอ |
สถาปัตยกรรมการประมูล B&A ของ PA สําหรับเว็บ
แผนภาพต่อไปนี้อธิบายการประมูลกลุ่มเป้าหมายที่ได้รับการคุ้มครองขั้นพื้นฐานด้วยบริการ B&A กับผู้ขายรายเดียวและผู้ซื้อรายเดียว กล่องที่มีเส้นขอบสีแดงหนาแสดงถึงบริการที่ทำงานใน TEE
- โค้ด JavaScript ของ SSP ในหน้าผู้เผยแพร่โฆษณาจะสร้างข้อมูลการประมูลโฆษณา B&A ที่เข้ารหัสโดยการเรียกใช้
navigator.getInterestGroupAdAuctionData()- เพย์โหลดที่เข้ารหัสนี้มีข้อมูลของผู้ซื้อและจะถอดรหัสได้ภายใน SFE ใน TEE เท่านั้น
- โค้ด JavaScript ของ SSP จะส่งคําขอการประมูลแบบรวมไปยังบริการโฆษณาของผู้ขาย
- คำขอการประมูลแบบรวมมีทั้งเพย์โหลดการประมูลตามบริบท ORTB แบบข้อความธรรมดาและเพย์โหลดการประมูล B&A ที่เข้ารหัส
- บริการโฆษณาของผู้ขายคือเซิร์ฟเวอร์โฆษณาที่มีอยู่ของคุณ และไม่ได้ทำงานใน TEE
- บริการโฆษณาของผู้ขายจะเรียกบริการ RTB ของ DSP เพื่อขอราคาเสนอในการประมูลตามบริบทและส่งสัญญาณผู้ซื้อไปยังการประมูล PA ในภายหลัง
- ขั้นตอนนี้อาจเป็นขั้นตอนที่ผู้ซื้อแสดงเจตนาที่จะเข้าร่วมการประมูล PA
- หลังจากการประมูลตามบริบทเสร็จสิ้น SAS จะส่งคําขอ
SelectAdไปยังบริการ SFE- ระบบจะเพิ่มราคาเสนอที่ชนะการประมูลตามบริบทและสัญญาณผู้ซื้อลงในเพย์โหลดคําขอ
SelectAd
- ระบบจะเพิ่มราคาเสนอที่ชนะการประมูลตามบริบทและสัญญาณผู้ซื้อลงในเพย์โหลดคําขอ
- บริการ SFE ของ SSP จะเรียกบริการ BFE ของ DSP ด้วยคําขอ
GetBids - BFE ของ DSP จะเรียกบริการเสนอราคาด้วยคําขอ
GenerateBids - เมื่อ SFE ได้รับราคาเสนอแล้ว ระบบจะเรียกใช้
ScoreAdกับบริการประมูล- ระบบจะส่งราคาเสนอที่มีคะแนนความพึงพอใจสูงสุดไปยัง SAS แล้วส่งต่อไปยังโค้ด JavaScript ในหน้าเว็บ
- การประมูลจะเสร็จสิ้นในเบราว์เซอร์โดยการส่งผลการประมูล B&A ที่เข้ารหัสไปยังการเรียกใช้
navigator.runAdAuction()
การกําหนดค่าการประมูล
คุณสามารถกําหนดค่าการประมูล Protected Audience ด้วยบริการ B&A ได้ดังนี้
- การประมูลของผู้ขายรายเดียวกับผู้ซื้อ B&A
- การประมูลแบบผสมกับผู้ซื้อบนอุปกรณ์และผู้ซื้อ B&A
- การประมูลแบบผู้ขายหลายรายที่จัดการได้จากอุปกรณ์หรือเซิร์ฟเวอร์
ผู้เข้าร่วม
คู่แข่งต่อไปนี้จะใช้ในการอธิบายการกําหนดค่าการประมูลแต่ละรายการในคู่มือนี้
| ผู้เข้าร่วม | คำอธิบาย |
|---|---|
DSP-A |
ผู้ซื้อในอุปกรณ์ |
DSP-B |
ผู้ซื้อในอุปกรณ์ |
DSP-X |
ผู้ซื้อ B&A |
DSP-Y |
ผู้ซื้อ B&A |
SSP-TOP |
ผู้ขายระดับบนสุด |
SSP-OD |
ผู้ขายในอุปกรณ์เท่านั้น |
SSP-BA |
ผู้ขายเฉพาะสินค้าแบรนด์และสินค้าแอตทริบิวต์เท่านั้น |
SSP-MIX |
ผู้ขายแบบผสม |
DSP มีด้วยกัน 4 ประเภท ดังนี้
DSP-AและDSP-Bจะเข้าร่วมเฉพาะการประมูลในอุปกรณ์เท่านั้นDSP-XและDSP-Yเข้าร่วมทั้งการประมูลบนอุปกรณ์และการประมูล B&A
มี SSP 4 ราย และผู้ขายแต่ละรายใช้การกำหนดค่าการประมูลที่แตกต่างกัน ดังนี้
SSP-ODทำการประมูลในอุปกรณ์เท่านั้นSSP-BAทำการประมูลเฉพาะ B&ASSP-MIXทำการประมูลแบบผสมSSP-TOPดำเนินการประมูลแบบผู้ขายหลายราย โดยมีลักษณะดังนี้SSP-OD/BA/MIXเข้าร่วมในฐานะผู้ขายชิ้นส่วนในการประมูลของผู้ขายหลายรายของSSP-TOP
การประมูลแบบเสนอราคาสูงสุดและต่ำสุดสำหรับผู้ขายรายเดียว
ในการตั้งค่าผู้ขายรายเดียว ผู้ขายรายหนึ่งจะทำการประมูลที่ผู้ซื้อหลายรายเข้าร่วม หากผู้ขายทำการประมูล B&A ผู้ซื้อต้องใช้งานสแต็กผู้ซื้อของบริการ B&A เพื่อส่งราคาเสนอในการประมูล ผู้ซื้อและผู้ขายไม่จำเป็นต้องใช้ผู้ให้บริการระบบคลาวด์รายเดียวกัน
ในการตั้งค่าก่อนหน้านี้ SSP-BA จัดการการประมูล B&A ที่ DSP-X และ DSP-Y เข้าร่วมโดยใช้สแต็กผู้ซื้อของบริการ B&A บริการโฆษณาของผู้ขายจะทำการประมูลตามบริบทสําหรับ DSP-X และ DSP-Y ก่อน จากนั้นจะทำการประมูล Protected Audience โดยส่งคําขอ SelectAd ไปยังบริการ SFE ของผู้ขาย ระบบจะส่งราคาเสนอที่ชนะในการประมูลตามบริบทและสัญญาณสําหรับผู้ซื้อแต่ละรายไปยังการเรียก SelectAd จากนั้นบริการ SFE จะส่งคําขอ GetBids ไปยัง BFE ของ DSP-X และ DSP-Y ซึ่งจะเรียกบริการเสนอราคาเพื่อสร้างราคาเสนอ
ระบบจะแสดงผลการประมูล B&A ที่เข้ารหัสแก่ไคลเอ็นต์ และส่งไปยังการเรียก runAdAuction() การกําหนดค่าการประมูลของผู้ขายรายเดียวมีลักษณะดังนี้
await navigator.runAdAuction({
seller: 'https://ssp-ba.example',
requestId: 'g8312cb2-da2d-4e9b-80e6-e13dec2a581c',
serverResponse: Uint8Array(560) [193, 120, 4, …] // Encrypted B&A auction result
})
ค่า requestId มาจากคอล getInterestGroupAdAuctionData() ในไคลเอ็นต์ และข้อมูล serverResponse มาจากการประมูล B&A ฝั่งเซิร์ฟเวอร์
การประมูลแบบผสม
ในการกำหนดค่าแบบผสม ผู้ซื้อสามารถเข้าร่วมการประมูลของผู้ขายได้จากในอุปกรณ์หรือ B&A รูปลูกศรสีน้ำเงินแสดงเส้นทางการประมูลในอุปกรณ์ และรูปลูกศรสีแดงแสดงเส้นทางการประมูล B&A
ในการตั้งค่านี้ DSP-A และ DSP-B เป็นผู้ซื้อที่ส่งราคาเสนอในอุปกรณ์ ส่วน DSP-X และ DSP-Y เป็นผู้ซื้อที่ส่งราคาเสนอโดยใช้ B&A ผู้ซื้อในอุปกรณ์จะเข้าร่วมการประมูล PA ในอุปกรณ์ในเบราว์เซอร์ และผู้ซื้อ B&A จะเข้าร่วมการตั้งค่าการประมูล B&A ที่อธิบายไว้ในส่วนการประมูลของผู้ขายรายเดียว
ระบบจะเรียกใช้การประมูลตามบริบทก่อนสำหรับผู้ซื้อทุกคนเพื่อรวบรวมราคาเสนอที่ชนะในการประมูลตามบริบทและสัญญาณผู้ซื้อ จากนั้นการประมูล B&A จะทํางานและส่งสัญญาณผู้ซื้อจากการประมูลตามบริบทไปยังคําขอ SelectAd ไปยัง SFE ระบบจะส่งต่อผลการประมูล B&A ที่เข้ารหัสซึ่งแสดงผลจาก SFE ไปยังเบราว์เซอร์ หลังจากการประมูล B&A แล้ว ระบบจะป้อนผลการประมูลไปยังการประมูลในอุปกรณ์ที่ผู้ซื้อในอุปกรณ์เข้าร่วม
การกําหนดค่าการประมูลของผู้ขายรายเดียวแบบผสมสําหรับการประมูลในอุปกรณ์จะมีลักษณะคล้ายกับตัวอย่างต่อไปนี้
await navigator.runAdAuction({
seller: 'https://ssp-mix.example',
decisionLogicURL: 'https://ssp-ba.example/score-ad.js',
componentAuctions: [
// B&A auction
{
seller: 'https://ssp-mix.example',
requestId: 'f5135cb2-da2d-4e9b-80e6-e13dec2a581c',
serverResponse: Uint8Array(560) [133, 20, 14, …]
},
// On-device auction
{
seller: 'https://ssp-mix.example',
interestGroupBuyers: ['https://dsp-a.example', 'https://dsp-b.example'],
decisionLogicURL: 'https://ssp-mix.example/on-device-score-ad.js',
}
]
})
การประมูลบนอุปกรณ์และการประมูลแบบ B&A แบบขนาน
หากไม่มีการขนานกัน การประมูลจะทํางานตามลําดับโดยเริ่มจากการประมูลตามบริบท จากนั้นเป็นการประมูล B&A และสุดท้ายคือการประมูลในอุปกรณ์ เมื่อใช้การทํางานแบบขนานแล้ว การประมูลตามบริบทจะทํางานก่อนอีกครั้ง แต่ระบบจะสตรีมผลลัพธ์และสัญญาณกลับไปยังไคลเอ็นต์เพื่อเริ่มการประมูลในอุปกรณ์แบบขนานก่อนที่การประมูล B&A จะเสร็จสิ้น
โค้ด JavaScript ในไคลเอ็นต์จะส่งคําขอการประมูลแบบรวมไปยัง SAS และ SAS จะเริ่มต้นการประมูลตามบริบทและการประมูล B&A ของ PA เมื่อ SAS ได้รับการตอบกลับจากเซิร์ฟเวอร์ RTB ของผู้ซื้อ ระบบจะสตรีมสัญญาณของผู้ซื้อสำหรับการประมูลในอุปกรณ์กลับไปที่เบราว์เซอร์ พร้อมกับผู้ชนะการประมูลตามบริบทเมื่อได้รับราคาเสนอทั้งหมด ระบบจะใช้สัญญาณของผู้ซื้อที่สตรีมเพื่อสร้างราคาเสนอในอุปกรณ์ และใช้ผู้ชนะการประมูลตามบริบทเป็นราคาเสนอขั้นต่ำเมื่อให้คะแนนราคาเสนอ
ใน SAS ผู้ขายจะสร้าง Nonce UUID ที่ตั้งค่าไว้ในส่วนหัวการตอบกลับ Ad-Auction-Result-Nonce เมื่อสตรีมข้อมูลการประมูลตามบริบทไปยังเบราว์เซอร์ ระบบจะใช้ Nonce เดียวกันในการเรียก SelectAd ไปยัง SFE สำหรับการประมูล B&A และ Nonce ดังกล่าวจะรวมอยู่ในคำตอบ SelectAd ที่ส่งคืนจาก SFE ในระหว่างระยะการประมูลฝั่งไคลเอ็นต์ เบราว์เซอร์จะยืนยันว่า Nonce ในส่วนหัวการตอบกลับ Ad-Auction-Result-Nonce ตรงกับ Nonce ในเพย์โหลดผลการประมูลที่เข้ารหัส
ดูข้อมูลเพิ่มเติมเกี่ยวกับการขนานกันแบบผสมได้จากคำอธิบาย
การประมูลกับผู้ขายหลายราย
การประมูลแบบ PA สำหรับผู้ขายหลายรายที่มี B&A ทําได้ 2 วิธีดังนี้
- การประมูลที่จัดการโดยอุปกรณ์ซึ่งการเรียกใช้บริการโฆษณาของผู้ขายคอมโพเนนต์แต่ละรายมาจากเบราว์เซอร์
- การประมูลที่ประสานงานโดยเซิร์ฟเวอร์ซึ่งการเรียกใช้บริการโฆษณาของผู้ขายคอมโพเนนต์แต่ละรายมาจากบริการโฆษณาของผู้ขายระดับบนสุด
การประมูลแบบหลายผู้ขายที่จัดการโดยอุปกรณ์
ในการประมูลแบบผู้ขายหลายรายที่จัดการโดยอุปกรณ์ ผู้ขายคอมโพเนนต์แต่ละรายจะเรียกใช้การประมูลในการกําหนดค่าที่ตนเลือกได้ ผู้ขายในอุปกรณ์ ผู้ขาย B&A และผู้ขายแบบผสมสามารถเข้าร่วมการประมูลระดับบนสุดได้
ในแผนภาพนี้ SSP-TOP ทำการประมูลแบบผู้ขายหลายรายที่ประสานงานโดยเซิร์ฟเวอร์ ซึ่ง SSP-BA-X และ SSP-BA-Y เข้าร่วม
ระบบจะส่งคําขอการประมูลแบบรวมรายการเดียวซึ่งมีเพย์โหลดการประมูลตามบริบทและ PA ไปยังบริการโฆษณาของผู้ขายระดับบนสุดจากเบราว์เซอร์ จากนั้น SAS จะGetComponentAuctionCiphertextsเรียก SFE ด้วยเพย์โหลด SFE จะถอดรหัสเพย์โหลด แยกเพย์โหลดตามผู้ขายคอมโพเนนต์แต่ละราย และส่งคืนเพย์โหลดที่เข้ารหัสอีกครั้งไปยัง SAS ของผู้ขายระดับบนสุด
คําจํากัดความของโปรโตคอลสําหรับคําขอและคําตอบ GetComponentAuctionCiphertexts มีดังนี้
// Request sent from the top-level seller's ad service to SFE
message GetComponentAuctionCiphertextsRequest {
bytes protected_auction_ciphertext = 1; // Generated in the browser
repeated string component_sellers = 2; // The list of all component sellers
}
// Response returned from SFE to the top-level seller's ad service
message GetComponentAuctionCiphertextsResponse {
// A map of component sellers and their re-encrypted payloads
map<string, bytes> seller_component_ciphertexts = 1;
}
เมื่อใช้เพย์โหลดของผู้ขายคอมโพเนนต์แต่ละราย SAS ของผู้ขายระดับบนสุดจะเรียก SAS ของผู้ขายคอมโพเนนต์ และ SAS ของคอมโพเนนต์แต่ละรายการจะดำเนินการประมูล B&A ของคอมโพเนนต์ จากนั้นระบบจะแสดงผลลัพธ์ของการประมูลคอมโพเนนต์ไปยัง SFE ของผู้ขายระดับบนสุด และบริการประมูลของผู้ขายระดับบนสุดจะเป็นผู้ให้คะแนนราคาเสนอในการประมูลคอมโพเนนต์ ระบบจะส่งราคาเสนอที่มีคะแนนความพึงพอใจสูงสุดไปยัง SFE และส่งเพย์โหลดที่เข้ารหัสไปยัง SAS เพื่อส่งกลับไปยังไคลเอ็นต์ ในเบราว์เซอร์ ผู้ขายระดับบนสุดจะทำการประมูลให้เสร็จโดยเรียกใช้ navigator.runAdAuction() และระบุเพย์โหลดผลการประมูลของเซิร์ฟเวอร์ที่เข้ารหัส
ขั้นตอนถัดไป
หลังจากอ่านคู่มือนี้แล้ว คุณสามารถทำตามขั้นตอนต่อไปนี้
ดูข้อมูลเพิ่มเติม
- หากต้องการทําความเข้าใจวิธีทํางานของ B&A สําหรับกลุ่มเป้าหมายที่ได้รับการคุ้มครองอย่างละเอียดยิ่งขึ้น โปรดดูคําอธิบายต่อไปนี้ใน GitHub
- ทดสอบ Protected Audience ด้วย B&A โดยทําตามCodelab การทดสอบในพื้นที่จากต้นทางถึงปลายทาง
- สำหรับการผสานรวมกับผู้ขาย โปรดดูผสานรวมกับ B&A ในฐานะผู้ขาย
หากมีคำถาม
- ถามคําถามเกี่ยวกับบริการเสนอราคาและบริการประมูลโดยเปิดปัญหาในที่เก็บบริการเสนอราคาและบริการประมูล
- ถามคําถามเกี่ยวกับ Privacy Sandbox โดยทั่วไปโดยเปิดปัญหาในที่เก็บข้อมูล privacy-sandbox-dev-support