बिडिंग और नीलामी से जुड़ी सेवाओं के ऑक्शन आर्किटेक्चर के बारे में जानें
खास जानकारी
बिडिंग और नीलामी (बीएंडए) सेवाएं, विज्ञापन खरीदारों और विज्ञापन देने वाले लोगों या कंपनियों के लिए सेवाओं का एक सेट उपलब्ध कराती हैं. यह सेट, ट्रस्टेड एक्ज़ीक्यूशन एनवायरमेंट (टीईई) में चलता है, ताकि सुरक्षित ऑडियंस (पीए) की नीलामी को आसान बनाया जा सके. इस पेज पर, अलग-अलग ऑक्शन कॉन्फ़िगरेशन के बारे में बताया गया है. इनका इस्तेमाल, पीए ऑक्शन में B&A के साथ किया जा सकता है.
परिभाषाएं
| शब्द | ब्यौरा |
|---|---|
| Protected Audience API से जुड़ी नीलामी | ऐसी विज्ञापन नीलामी जिसमें अलग-अलग साइटों का डेटा शामिल होता है |
| कॉन्टेक्स्ट के हिसाब से नीलामी | ऐसी विज्ञापन नीलामी जिसमें क्रॉस-साइट डेटा शामिल नहीं होता है. यह नीलामी, रीयल-टाइम बिडिंग (आरटीबी) की मौजूदा नीलामी के पाथ के हिसाब से होती है. |
| यूनीफ़ाइड ऑक्शन का अनुरोध | यह ब्राउज़र से सेलर के JavaScript कोड से भेजा गया अनुरोध होता है. इसमें Protected Audience ऑक्शन और कॉन्टेक्स्ट के हिसाब से होने वाली ऑक्शन, दोनों के लिए पेलोड शामिल होता है. |
| सेलर विज्ञापन सेवा (एसएएस) | यह सेवा, ब्राउज़र से मिले यूनिफ़ाइड ऑक्शन के अनुरोध को मैनेज करती है. यह सेलर का मौजूदा आरटीबी विज्ञापन सर्वर हो सकता है. एसएएस, कॉन्टेक्स्ट के हिसाब से और Protected Audience, दोनों तरह की नीलामी को व्यवस्थित करने के लिए ज़िम्मेदार होता है. |
| विज्ञापन इन्वेंट्री खरीदने वाली इकाई के लिए विज्ञापन सेवा | यह कुकी, कॉन्टेक्स्ट के हिसाब से नीलामी की बिड सबमिट करने वाली सेवा के लिए ज़िम्मेदार होती है. यह खरीदार का मौजूदा ORTB विज्ञापन सर्वर हो सकता है. |
खरीदारों और विक्रेताओं के लिए सेवाएं
B&A Services में खरीदारों और विक्रेताओं के लिए चार सेवाएं शामिल हैं:
- खरीदारों के लिए, बिडिंग सेवा और खरीदार के लिए उपलब्ध फ्रंट-एंड (बीएफ़ई) सेवा का इस्तेमाल किया जा सकता है.
- सेलरों के लिए, नीलामी की सेवा और सेलर फ़्रंट-एंड (एसएफ़ई) सेवा उपलब्ध है.
| भागीदार | सेवा | ब्यौरा |
|---|---|---|
| खरीदार | खरीदार के लिए उपलब्ध फ़्रंट-एंड (बीएफ़ई) सेवा | यह सेवा, सेलर के SFE से मिले GetBids अनुरोध को मैनेज करती है. यह पेलोड को डिक्रिप्ट करने, K/V सिग्नल फ़ेच करने, और बिडिंग सेवा के GenerateBids को कॉल करने के लिए ज़िम्मेदार है. |
| बिडिंग सेवा | यह सेवा, BFE से मिले GenerateBids अनुरोध को हैंडल करती है. यह खरीदार के बिडिंग लॉजिक को चलाने और बिड जनरेट करने के लिए ज़िम्मेदार होता है. |
|
| विक्रेता | सेलर फ़्रंट-एंड (एसएफ़ई) सेवा | यह सेवा, सेलर के विज्ञापन दिखाने वाली सेवा से मिले SelectAd अनुरोध को हैंडल करती है. यह पेलोड को डिक्रिप्ट करने, BFE के GetBids ऑपरेशन को कॉल करने, K/V सिग्नल फ़ेच करने, नीलामी सेवा के ScoreAd ऑपरेशन को कॉल करने, और फिर एन्क्रिप्ट किए गए B&A नीलामी के नतीजे को SAS पर वापस भेजने के लिए ज़िम्मेदार है.
जब सेवा, सर्वर-ऑर्केस्ट्रेटेड मल्टी-सेलर नीलामी में टॉप-लेवल सेलर के स्टैक का हिस्सा होती है, तो सेवा एसएएस से मिले |
| नीलामी सेवा | यह सेवा, SFE से मिले ScoreAd अनुरोध को मैनेज करती है. यह सेलर के स्कोरिंग लॉजिक को लागू करने और बिड के लिए, दिलचस्पी के स्कोर को उपलब्ध कराने के लिए ज़िम्मेदार होता है. |
वेब के लिए पीए बीऐंडए नीलामी का आर्किटेक्चर
इस डायग्राम में, एक सेलर और एक खरीदार के साथ, B&A सेवाओं का इस्तेमाल करके की जाने वाली Protected Audience की बुनियादी नीलामी के बारे में बताया गया है. लाल रंग के मोटे बॉर्डर वाले बॉक्स, टीईई में चल रही सेवाओं को दिखाते हैं:
- पब्लिशर पेज पर मौजूद एसएसपी का JavaScript कोड,
navigator.getInterestGroupAdAuctionData()को कॉल करके, B&A की विज्ञापन नीलामी का एन्क्रिप्ट (सुरक्षित) किया गया डेटा जनरेट करता है.- इस एन्क्रिप्ट किए गए पेलोड में खरीदार का डेटा होता है. इसे सिर्फ़ टीईई में मौजूद एसएफ़ई में डिक्रिप्ट किया जा सकता है.
- एसएसपी JavaScript कोड, सेलर विज्ञापन सेवा को यूनिफ़ाइड ऑक्शन का अनुरोध भेजता है.
- यूनीफ़ाइड ऑक्शन अनुरोध में, टेक्स्ट फ़ॉर्मैट वाला ओआरटीबी कॉन्टेक्स्टुअल ऑक्शन पेलोड और एन्क्रिप्ट (सुरक्षित) किया गया बीऐंडए ऑक्शन पेलोड, दोनों शामिल होते हैं.
- सेलर विज्ञापन सेवा, आपका मौजूदा विज्ञापन सर्वर है. यह टीईई में नहीं चलती.
- सेलर की विज्ञापन सेवा, डीएसपी की आरटीबी सेवा को कॉल करती है. इससे कॉन्टेक्स्ट के हिसाब से नीलामी की बिड और खरीदार के किसी भी सिग्नल का अनुरोध किया जाता है, ताकि उन्हें बाद की पीए नीलामी में पास किया जा सके.
- यह ऐसा चरण हो सकता है जहां खरीदार, पीए नीलामी में हिस्सा लेने का इरादा दिखाता है.
- कॉन्टेक्स्ट के हिसाब से नीलामी पूरी होने के बाद, 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-TOPकी मल्टी-सेलर नीलामी में कॉम्पोनेंट सेलर के तौर पर हिस्सा लेंSSP-OD/BA/MIX
एक सेलर के लिए ब्रैंड जागरूकता और पहुंच बढ़ाने वाली नीलामी
एक सेलर वाले सेटअप में, एक सेलर ऐसी नीलामी करता है जिसमें कई खरीदार हिस्सा लेते हैं. अगर सेलर, ब्रैंड और ऐप्लिकेशन (B&A) की नीलामी चला रहा है, तो खरीदारों को नीलामी में बिड सबमिट करने के लिए, B&A सेवाओं का खरीदार स्टैक चलाना होगा. खरीदारों और सेलर को एक ही क्लाउड सेवा देने वाली कंपनी का इस्तेमाल करने की ज़रूरत नहीं है.
ऊपर दिए गए सेटअप में, SSP-BA, B&A ऑक्शन चलाता है. इसमें DSP-X और DSP-Y, B&A सेवाओं के खरीदार स्टैक का इस्तेमाल करके हिस्सा लेते हैं. विज्ञापन देने वाला व्यक्ति या कंपनी, सबसे पहले DSP-X और DSP-Y के लिए कॉन्टेक्स्ट के हिसाब से नीलामी करती है. इसके बाद, Protected Audience की नीलामी करती है. इसके लिए, वह SelectAd अनुरोध को विज्ञापन देने वाले व्यक्ति या कंपनी की SFE सेवा को भेजती है. नीलामी जीतने वाली बिड और हर खरीदार के लिए सिग्नल, SelectAd कॉल में पास किए जाते हैं. इसके बाद, एसएफ़ई सेवा, DSP-X और DSP-Y के बीएफ़ई को GetBids अनुरोध भेजती है. ये अनुरोध, बिड जनरेट करने के लिए अपनी बिडिंग सेवा को कॉल करेंगे.
एन्क्रिप्ट (सुरक्षित) किया गया 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 का इस्तेमाल करके अपनी बिड सबमिट करते हैं. डिवाइस पर मौजूद खरीदार, ब्राउज़र में डिवाइस पर होने वाली पीए नीलामी में हिस्सा लेते हैं. वहीं, B&A खरीदार, एक सेलर वाली नीलामी सेक्शन में बताए गए B&A नीलामी सेटअप में हिस्सा लेते हैं.
कॉन्टेक्स्ट के हिसाब से होने वाली नीलामी, सभी खरीदारों के लिए सबसे पहले की जाती है. इससे कॉन्टेक्स्ट के हिसाब से होने वाली नीलामी की सबसे ज़्यादा बोली और खरीदार के सिग्नल इकट्ठा किए जाते हैं. इसके बाद, B&A ऑक्शन होता है. साथ ही, कॉन्टेक्स्ट के हिसाब से होने वाले ऑक्शन से खरीदार के सिग्नल, SFE को SelectAd अनुरोध में पास किए जाते हैं. एसएफ़ई से मिला एन्क्रिप्ट (सुरक्षित) किया गया B&A नीलामी का नतीजा, ब्राउज़र को भेज दिया जाता है. 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 कॉन्टेक्स्ट के हिसाब से होने वाली ऑक्शन और पीए बीऐंडए ऑक्शन शुरू करता है. जब SAS को खरीदार के आरटीबी सर्वर से जवाब मिलता है, तो खरीदार, डिवाइस पर होने वाली नीलामी के सिग्नल को ब्राउज़र पर वापस स्ट्रीम कर सकता है. साथ ही, सभी बोलियां मिलने के बाद, कॉन्टेक्स्ट के हिसाब से होने वाली नीलामी के विजेता को भी स्ट्रीम कर सकता है. खरीदार के स्ट्रीम किए गए सिग्नल का इस्तेमाल, डिवाइस पर बिड जनरेट करने के लिए किया जाता है. साथ ही, कॉन्टेक्स्ट के हिसाब से नीलामी जीतने वाले व्यक्ति की बिड का इस्तेमाल, बिड को स्कोर करते समय बिड फ़्लोर के तौर पर किया जाता है.
एसएएस में, सेलर एक UUID nonce जनरेट करता है. इसे ब्राउज़र को कॉन्टेक्स्ट के हिसाब से नीलामी का डेटा स्ट्रीम करते समय, Ad-Auction-Result-Nonce रिस्पॉन्स हेडर में सेट किया जाता है. B&A ऑक्शन के लिए, SFE को किए गए SelectAd कॉल में एक ही नॉनस का इस्तेमाल किया जाता है. साथ ही, SFE से मिले SelectAd रिस्पॉन्स में वह नॉनस शामिल हो जाता है. क्लाइंट-साइड ऑक्शन के दौरान, ब्राउज़र यह पुष्टि करता है कि Ad-Auction-Result-Nonce रिस्पॉन्स हेडर में मौजूद नॉनस, एन्क्रिप्ट (सुरक्षित) किए गए ऑक्शन के नतीजे के पेलोड में मौजूद नॉनस से मेल खाता है.
मिक्स-मोड पैरललाइज़ेशन के बारे में ज़्यादा जानने के लिए, एक्सप्लेनर देखें.
एक से ज़्यादा सेलर वाली नीलामी
B&A के साथ, एक से ज़्यादा सेलर के लिए पीए नीलामी को दो तरीकों से चलाया जा सकता है:
- डिवाइस-ऑर्केस्ट्रेटेड नीलामी, जिसमें हर कॉम्पोनेंट सेलर की विज्ञापन सेवा को कॉल करने का अनुरोध ब्राउज़र से किया जाता है
- सर्वर के ज़रिए मैनेज की जाने वाली नीलामी, जिसमें हर कॉम्पोनेंट सेलर की विज्ञापन सेवा को कॉल, टॉप-लेवल सेलर की विज्ञापन सेवा से मिलता है
डिवाइस के ज़रिए मैनेज की जाने वाली, एक से ज़्यादा सेलर वाली नीलामी
डिवाइस की मदद से मैनेज की जाने वाली एक से ज़्यादा सेलर वाली नीलामी में, हर कॉम्पोनेंट सेलर को अपनी पसंद के कॉन्फ़िगरेशन में नीलामी चलाने की अनुमति होती है. डिवाइस पर मौजूद सेलर, 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() को कॉल करके नीलामी पूरी करता है. साथ ही, एन्क्रिप्ट (सुरक्षित) किए गए सर्वर ऑक्शन के नतीजे का पेलोड उपलब्ध कराता है.
अगले चरण
इस गाइड को पढ़ने के बाद, ये काम किए जा सकते हैं:
ज़्यादा जानें
- Protected Audience के लिए B&A के काम करने के तरीके के बारे में ज़्यादा जानने के लिए, GitHub पर मौजूद इन संसाधनों को देखें:
- शुरू से आखिर तक लोकल टेस्टिंग कोडलैब को फ़ॉलो करके, B&A की मदद से Protected Audience को आज़माएं.
- विक्रेता के तौर पर इंटिग्रेट करने के लिए, B&A के साथ विक्रेता के तौर पर इंटिग्रेट करना लेख पढ़ें.
क्या आपका कोई सवाल है?
- B&A Services की रिपॉज़िटरी में कोई समस्या सबमिट करके, Bidding और Auction Services के बारे में सवाल पूछें.