बिडिंग और ऑक्शन सर्विसेज़ के ऑक्शन आर्किटेक्चर के बारे में जानें
खास जानकारी
बिडिंग और नीलामी (बीएंडए) सेवाएं, विज्ञापन खरीदारों और विज्ञापन बेचने वालों के लिए सेवाओं का एक सेट उपलब्ध कराती हैं. ये सेवाएं, सुरक्षित ऑडियंस (पीए) नीलामी की सुविधा देने के लिए, भरोसेमंद एक्सीक्यूशन एनवायरमेंट (टीईई) में चलती हैं. इस पेज पर, नीलामी के अलग-अलग कॉन्फ़िगरेशन के बारे में बताया गया है. इनका इस्तेमाल, पीए नीलामी में B&A के लिए किया जा सकता है.
परिभाषाएं
शब्द | ब्यौरा |
---|---|
Protected Audience API से जुड़ी नीलामी | ऐसी विज्ञापन नीलामी जिसमें अलग-अलग साइटों का डेटा शामिल होता है |
कॉन्टेक्स्ट के हिसाब से ऑप्टिमाइज़ की गई नीलामी | ऐसी विज्ञापन नीलामी जिसमें क्रॉस-साइट डेटा शामिल नहीं होता. यह नीलामी, रीयल-टाइम बिडिंग (आरटीबी) की मौजूदा नीलामी प्रक्रिया का पालन करती है. |
यूनिफ़ाइड नीलामी का अनुरोध | ब्राउज़र से सेलर के JavaScript कोड से भेजा गया अनुरोध. इसमें, Protected Audience नीलामी और कॉन्टेक्स्ट के हिसाब से होने वाली नीलामी, दोनों के लिए पेलोड शामिल होता है. |
सेलर विज्ञापन सेवा (एसएएस) | यह सेवा, ब्राउज़र से यूनिफ़ाइड नीलामी के अनुरोध को मैनेज करने के लिए ज़िम्मेदार होती है. यह सेलर का मौजूदा आरटीबी विज्ञापन सर्वर हो सकता है. कॉन्टेक्स्ट और Protected Audience, दोनों तरह की नीलामियों को ऑर्केस्ट्रेट करने की ज़िम्मेदारी SAS की है. |
Buyer Ad Service | संदर्भ के हिसाब से ऑक्शन बिड सबमिट करने वाली सेवा. यह खरीदार का मौजूदा ORTB विज्ञापन सर्वर हो सकता है. |
खरीदारों और विक्रेताओं के लिए सेवाएं
B&A Services में, खरीदारों और सेलर के लिए चार सेवाएं शामिल हैं:
- खरीदारों के लिए, बिडिंग सेवा और खरीदार के लिए फ़्रंट-एंड (BFE) सेवा का इस्तेमाल किया जा सकता है.
- सेलर के लिए, नीलामी सेवा और सेलर फ़्रंट-एंड (एसएफ़ई) सेवा का इस्तेमाल किया जा सकता है.
भागीदार | सेवा | ब्यौरा |
---|---|---|
खरीदार | Buyer Front-End (BFE) Service | यह सेवा, किसी सेलर के SFE से मिले GetBids अनुरोध को मैनेज करती है. इसकी ज़िम्मेदारी, पेलोड को डिक्रिप्ट करना, K/V सिग्नल फ़ेच करना, और बिडिंग सेवा के GenerateBids को कॉल करना है. |
बिडिंग सेवा | यह सेवा, BFE से मिले GenerateBids अनुरोध को मैनेज करती है. यह बिडिंग लॉजिक चलाने और बिड जनरेट करने के लिए ज़िम्मेदार है. |
|
विक्रेता | सेलर फ़्रंट-एंड (एसएफ़ई) सेवा | यह सेवा, सेलर विज्ञापन सेवा से मिले SelectAd अनुरोध को मैनेज करती है. यह पेलोड को डिक्रिप्ट करने, BFE के GetBids ऑपरेशन को कॉल करने, K/V सिग्नल फ़ेच करने, ऑक्शन सर्विस के ScoreAd ऑपरेशन को कॉल करने, और फिर एन्क्रिप्ट किए गए B&A ऑक्शन के नतीजे को SAS को दिखाने के लिए ज़िम्मेदार है.
जब यह सेवा, सर्वर की ओर से ऑर्केस्ट्रेट की गई कई सेलर वाली नीलामी में टॉप-लेवल सेलर के स्टैक का हिस्सा होती है, तो यह सेवा SAS से मिले |
नीलामी सेवा | यह सेवा, SFE से मिले ScoreAd अनुरोध को मैनेज करती है. यह सेलर के स्कोरिंग लॉजिक को चलाने और बिड के लिए, खरीदार की दिलचस्पी का स्कोर देने के लिए ज़िम्मेदार है. |
वेब के लिए, पीए की बिडिंग और नीलामी की सुविधा का आर्किटेक्चर
इस डायग्राम में, B&A Services की मदद से, एक सेलर और एक खरीदार के साथ सुरक्षित ऑडियंस की बुनियादी नीलामी के बारे में बताया गया है. लाल रंग की मोटी लाइन वाले बॉक्स, टीईई में चल रही सेवाओं को दिखाते हैं:

- पब्लिशर पेज पर एसएसपी का JavaScript कोड,
navigator.getInterestGroupAdAuctionData()
को कॉल करके, एन्क्रिप्ट (सुरक्षित) किया गया B&A विज्ञापन नीलामी डेटा जनरेट करता है.- इस एन्क्रिप्ट किए गए पेलोड में खरीदार का डेटा होता है. इसे सिर्फ़ टीईई में एसएफ़ई के अंदर डिक्रिप्ट किया जा सकता है.
- एसएसपी JavaScript कोड, सेलर विज्ञापन सेवा को एकीकृत नीलामी का अनुरोध भेजता है.
- यूनिफ़ाइड ऑक्शन रिक्वेस्ट में, ORTB कॉन्टेक्स्ट ऑक्शन पेलोड और एन्क्रिप्ट (सुरक्षित) किया गया B&A ऑक्शन पेलोड, दोनों शामिल होते हैं.
- सेलर विज्ञापन सेवा आपका मौजूदा विज्ञापन सर्वर है और यह टीईई में नहीं चलता.
- सेलर विज्ञापन सेवा, डीएसपी की आरटीबी सेवा को कॉल करती है, ताकि कॉन्टेक्स्ट के हिसाब से नीलामी की बिड का अनुरोध किया जा सके. साथ ही, बाद में होने वाली पीए नीलामी में भेजे जाने वाले किसी भी खरीदार सिग्नल का अनुरोध किया जा सके.
- यह वह चरण हो सकता है जहां खरीदार, पीए नीलामी में हिस्सा लेने के अपने इंटेंट का सिग्नल देता है.
- संदर्भ के हिसाब से नीलामी पूरी होने के बाद, SAS, SFE सेवा को
SelectAd
अनुरोध भेजता है.SelectAd
रिक्वेस्ट पेलोड में, कॉन्टेक्स्ट के हिसाब से होने वाली नीलामी में जीतने वाली बिड और खरीदार के सिग्नल जोड़े जाते हैं.
- एसएसपी की एसएफ़ई सेवा,
GetBids
अनुरोध के साथ डीएसपी की बीएफ़ई सेवा को कॉल करती है. - डीएसपी का बीएफ़ई,
GenerateBids
अनुरोध के साथ बिडिंग सेवा को कॉल करता है. - SFE को बिड मिलने के बाद,
ScoreAd
कॉल को ऑक्शन सर्विस पर भेजा जाता है.- सबसे ज़्यादा डिज़ायरेबिलिटी स्कोर वाली बिड को SAS में वापस भेजा जाता है. इसके बाद, उसे पेज पर मौजूद JavaScript कोड पर भेजा जाता है.
- एन्क्रिप्ट (सुरक्षित) किए गए B&A नीलामी के नतीजे को
navigator.runAdAuction()
कॉल में भेजकर, ब्राउज़र में नीलामी पूरी की जाती है.
नीलामी के कॉन्फ़िगरेशन
B&A Services की मदद से, Protected Audience API से जुड़ी नीलामी को इन तरीकों से कॉन्फ़िगर किया जा सकता है:
- B&A खरीदारों के साथ एक सेलर की नीलामी
- डिवाइस पर मौजूद खरीदारों और B&A खरीदारों के साथ, अलग-अलग मोड वाली नीलामी
- एक से ज़्यादा सेलर की नीलामी, जिसे डिवाइस या सर्वर से ऑर्केस्ट्रेट किया जा सकता है
पार्टी में शामिल लोग
हर नीलामी कॉन्फ़िगरेशन के बारे में बताने के लिए, इस गाइड में इन लोगों का इस्तेमाल किया गया है:
भागीदार | ब्यौरा |
---|---|
DSP-A |
उपयोगकर्ता के डिवाइस पर खरीदारी करने वाला व्यक्ति |
DSP-B |
उपयोगकर्ता के डिवाइस पर खरीदारी करने वाला व्यक्ति |
DSP-X |
B&A का खरीदार |
DSP-Y |
B&A का खरीदार |
SSP-TOP |
टॉप लेवल सेलर |
SSP-OD |
सिर्फ़ डिवाइस पर मौजूद सेलर |
SSP-BA |
सिर्फ़ B&A सेलर |
SSP-MIX |
अलग-अलग तरीकों से प्रॉडक्ट बेचने वाला सेलर |
चार डीएसपी हैं:
DSP-A
औरDSP-B
सिर्फ़ डिवाइस पर होने वाली नीलामियों में हिस्सा लेते हैंDSP-X
औरDSP-Y
, डिवाइस पर होने वाली नीलामियों और B&A नीलामियों, दोनों में हिस्सा लेते हैं
चार एसएसपी हैं और हर सेलर एक अलग नीलामी कॉन्फ़िगरेशन चलाता है:
SSP-OD
, सिर्फ़ डिवाइस पर होने वाली नीलामी चलाता हैSSP-BA
सिर्फ़ B&A नीलामी चलाता हैSSP-MIX
मिक्स्ड-मोड नीलामी चलाता हैSSP-TOP
कई सेलर वाली नीलामी करता है:SSP-OD/BA/MIX
,SSP-TOP
की मल्टी-सेलर नीलामी में कॉम्पोनेंट सेलर के तौर पर हिस्सा लेते हैं
एक सेलर वाली बिडिंग ऐंड ऑप्टिमाइज़ेशन (बीए) नीलामी
एक सेलर वाले सेटअप में, एक सेलर नीलामी करता है. इसमें कई खरीदार हिस्सा लेते हैं. अगर सेलर, बिडिंग ऐंड ऑप्टिमाइज़ेशन (बीए) नीलामी चला रहा है, तो नीलामी में बिड सबमिट करने के लिए, खरीदारों को बीए सेवाओं का खरीदार स्टैक चलाना होगा. खरीदारों और सेलर को एक ही क्लाउड सेवा देने वाली कंपनी का इस्तेमाल करने की ज़रूरत नहीं है.

पिछले सेटअप में, SSP-BA
एक B&A नीलामी चलाता है. इसमें DSP-X
और DSP-Y
, B&A सेवाओं के खरीदार स्टैक का इस्तेमाल करके हिस्सा लेते हैं. सेलर की विज्ञापन सेवा, पहले DSP-X
और DSP-Y
के लिए कॉन्टेक्स्ट ऑक्शन चलाती है. इसके बाद, सेलर की SFE सेवा को SelectAd
अनुरोध भेजकर, सुरक्षित ऑडियंस ऑक्शन चलाती है. काम के सिग्नल के हिसाब से नीलामी में जीतने वाली बिड और हर खरीदार के लिए सिग्नल, SelectAd
कॉल में भेजे जाते हैं. इसके बाद, SFE सेवा, DSP-X
और DSP-Y
के बीएफ़ई को GetBids
अनुरोध भेजती है. ये अनुरोध, बिड जनरेट करने के लिए बिडिंग सेवा को कॉल करेंगे.
एन्क्रिप्ट (सुरक्षित) की गई बिडिंग और ऑप्टिमाइज़ेशन (बीए) नीलामी का नतीजा, क्लाइंट को दिखाया जाता है और 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 का इस्तेमाल करके बिड सबमिट करते हैं. डिवाइस पर मौजूद खरीदार, ब्राउज़र में डिवाइस पर होने वाली पीए ऑक्शन में हिस्सा लेते हैं. वहीं, B&A खरीदार, सिंगल-सेलर ऑक्शन सेक्शन में बताए गए B&A ऑक्शन सेटअप में हिस्सा लेते हैं.
सभी खरीदारों के लिए, पहले संदर्भ के हिसाब से ऑक्शन चलाया जाता है, ताकि संदर्भ के हिसाब से ऑक्शन में जीतने वाली बिड और खरीदार के सिग्नल इकट्ठा किए जा सकें. इसके बाद, B&A नीलामी चलती है और संदर्भ के हिसाब से होने वाली नीलामी से मिले खरीदार के सिग्नल, SFE को भेजे गए SelectAd
अनुरोध में भेजे जाते हैं. SFE से मिला एन्क्रिप्ट किया गया बिडिंग और विज्ञापन नीलामी का नतीजा, ब्राउज़र को भेजा जाता है. बिडिंग और ऑप्टिमाइज़ेशन (बीए) नीलामी के बाद, इसका नतीजा डिवाइस पर होने वाली नीलामी में डाला जाता है. इसमें, डिवाइस पर खरीदारी करने वाले लोग हिस्सा लेते हैं.
नीलामी के डिवाइस पर होने वाले हिस्से के लिए, एक सेलर वाली मिक्स्ड-मोड नीलामी का कॉन्फ़िगरेशन कुछ ऐसा दिखता है:
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, कॉन्टेक्स्ट के हिसाब से नीलामी और PA B&A नीलामी शुरू करता है. जब SAS को खरीदार के आरटीबी सर्वर से जवाब मिलता है, तो सभी बिड मिलने के बाद, कॉन्टेक्स्ट के हिसाब से होने वाली नीलामी के विजेता के साथ-साथ, डिवाइस पर होने वाली नीलामी के लिए खरीदार के सिग्नल को ब्राउज़र पर वापस स्ट्रीम किया जा सकता है. स्ट्रीम किए गए खरीदार सिग्नल का इस्तेमाल, डिवाइस पर बिड जनरेट करने के लिए किया जाता है. साथ ही, बिड को स्कोर करते समय, काम के सिग्नल वाली नीलामी में जीतने वाले को बिड फ़्लोर के तौर पर इस्तेमाल किया जाता है.
SAS में, सेलर एक UUID नॉन्स जनरेट करता है. यह ब्राउज़र पर कॉन्टेक्स्टुअल नीलामी का डेटा स्ट्रीम करते समय, Ad-Auction-Result-Nonce
रिस्पॉन्स हेडर में सेट होता है. बिडिंग और नीलामी के लिए, SFE को भेजे गए SelectAd
कॉल में उसी नॉन्स का इस्तेमाल किया जाता है. साथ ही, SFE से मिले SelectAd
रिस्पॉन्स में भी वह नॉन्स शामिल हो जाता है. क्लाइंट-साइड नीलामी के दौरान, ब्राउज़र यह पुष्टि करता है कि Ad-Auction-Result-Nonce
रिस्पॉन्स हेडर में मौजूद नॉन्स, एन्क्रिप्ट किए गए नीलामी के नतीजे के पेलोड में मौजूद नॉन्स से मेल खाता है या नहीं.
अलग-अलग मोड में पैरलल प्रोसेसिंग के बारे में ज़्यादा जानने के लिए, एक्सप्लेनर देखें.
एक से ज़्यादा सेलर वाली नीलामी
B&A के साथ PA मल्टी-सेलर नीलामी चलाने के दो तरीके हैं:
- डिवाइस से ऑर्केस्ट्रेट की गई नीलामी, जहां हर कॉम्पोनेंट सेलर की विज्ञापन सेवा के लिए कॉल, ब्राउज़र से शुरू होता है
- सर्वर से ऑर्केस्ट्रेट की गई नीलामी, जहां हर कॉम्पोनेंट सेलर की विज्ञापन सेवा के लिए कॉल, टॉप-लेवल सेलर की विज्ञापन सेवा से शुरू होता है
डिवाइस के हिसाब से ऑर्केस्ट्रेट की गई एक से ज़्यादा सेलर वाली नीलामी
डिवाइस के हिसाब से ऑर्केस्ट्रेट की गई एक से ज़्यादा सेलर वाली नीलामी में, हर कॉम्पोनेंट सेलर अपनी पसंद के कॉन्फ़िगरेशन में अपनी नीलामी चला सकता है. डिवाइस पर मौजूद सेलर, B&A सेलर, और अलग-अलग मोड में काम करने वाले सेलर, टॉप-लेवल नीलामी में हिस्सा ले सकते हैं.


इस डायग्राम में, SSP-TOP
एक सर्वर से ऑर्केस्ट्रेट की गई मल्टी-सेलर नीलामी चलाता है. इसमें SSP-BA-X
और SSP-BA-Y
हिस्सा लेते हैं.
सभी हिस्सा लेने वालों के लिए, कॉन्टेक्स्ट और पीए नीलामियों का पेलोड शामिल करने वाला एक यूनिफ़ाइड नीलामी अनुरोध, ब्राउज़र से टॉप-लेवल सेलर की विज्ञापन सेवा को भेजा जाता है. इसके बाद, SAS, पेलोड के साथ SFE को GetComponentAuctionCiphertexts
कॉल करता है. 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;
}
हर कॉम्पोनेंट सेलर के पेलोड के साथ, टॉप-लेवल सेलर का एसएएस, कॉम्पोनेंट सेलर के एसएएस को कॉल करता है. साथ ही, हर कॉम्पोनेंट एसएएस अपने कॉम्पोनेंट की बीएंडए नीलामी करता है. इसके बाद, कॉम्पोनेंट की नीलामियों के नतीजे, टॉप लेवल सेलर के SFE को दिखाए जाते हैं. साथ ही, कॉम्पोनेंट की नीलामी की बिड को टॉप लेवल सेलर की नीलामी सेवा से स्कोर दिया जाता है. सबसे ज़्यादा डिज़ायरेबिलिटी स्कोर वाली बिड को SFE को दिखाया जाता है. साथ ही, एन्क्रिप्ट (सुरक्षित) किए गए उस पेलोड को SAS को भेजा जाता है, ताकि उसे क्लाइंट को दिखाया जा सके. ब्राउज़र में, टॉप-लेवल सेलर navigator.runAdAuction()
को कॉल करके और एन्क्रिप्ट (सुरक्षित) किए गए सर्वर की नीलामी के नतीजे के पेलोड को उपलब्ध कराकर, नीलामी पूरी करता है.
अगले चरण
इस गाइड को पढ़ने के बाद, ये काम किए जा सकते हैं:
ज़्यादा जानें
- सुरक्षित ऑडियंस के लिए, बीएंडए के काम करने के तरीके के बारे में ज़्यादा जानने के लिए, GitHub पर ये एक्सप्लेनर देखें:
- एंड-टू-एंड लोकल टेस्टिंग कोडलैब में दिया गया तरीका अपनाकर, B&A के साथ Protected Audience का इस्तेमाल करके एक्सपेरिमेंट करें.
- सेलर इंटिग्रेशन के लिए, सेलर के तौर पर B&A के साथ इंटिग्रेट करना लेख पढ़ें.
कोई सवाल पूछना चाहते हैं?
- बिडिंग और नीलामी सेवाओं के रिपॉज़िटरी में कोई समस्या दर्ज करके, बिडिंग और नीलामी सेवाओं के बारे में सवाल पूछें.
- privacy-sandbox-dev-support रिपॉज़िटरी में कोई समस्या दर्ज करके , Privacy Sandbox के बारे में सामान्य तौर पर सवाल पूछें.