कॉन्टेक्स्ट के हिसाब से विज्ञापन दिखाने वाली नीलामी के साथ क्रम से होने वाली नीलामी का सेटअप

आम तौर पर, पब्लिशर अपनी विज्ञापन मांग के सोर्स को डाइवर्सिफ़ाई करते हैं, ताकि रेवेन्यू को ऑप्टिमाइज़ किया जा सके. साथ ही, वे कई कंपनियों (जैसे कि पब्लिशर के विज्ञापन सर्वर, सप्लाई-साइड प्लैटफ़ॉर्म, और डिमांड-साइड प्लैटफ़ॉर्म) को शामिल करते हैं, ताकि पेज पर मौजूद किसी विज्ञापन स्लॉट के लिए सबसे सही विज्ञापन तय किया जा सके. हेडर बिडिंग की मदद से पब्लिशर, विज्ञापन स्लॉट के लिए अलग-अलग मांग स्रोतों से बिड हासिल कर सकते हैं. सीक्वेंशियल ऑक्शन सेटअप में, कॉन्टेक्स्ट के हिसाब से डेटा के साथ नीलामी चलाने के लिए, हेडर बिडिंग लाइब्रेरी का इस्तेमाल किया जा सकता है. साथ ही, अलग-अलग साइटों से मिले डेटा के साथ नीलामी चलाने के लिए, Protected Audience का इस्तेमाल किया जाता है.

शुरू करने से पहले, Prebid.js के दस्तावेज़ में जाकर, हेडर बिडिंग की बुनियादी बातों के बारे में जानें.

परिभाषाएं

यहां दी गई टेबल में, इस दस्तावेज़ में इस्तेमाल किए गए कुछ शब्दों के बारे में बताया गया है.

नीलामी

नीलामी परिभाषा
Protected Audience API से जुड़ी नीलामी ऐसी विज्ञापन नीलामी जिसमें किसी दूसरी साइट पर बनाए गए दिलचस्पी वाले ग्रुप पर बिडिंग शामिल हो.
Protected Audience API का इस्तेमाल करने वाले कई सेलर की नीलामी Protected Audience API से जुड़ी दो टियर वाली नीलामी. इसमें सबसे पहले, कई पैरलल कॉम्पोनेंट नीलामियां शामिल होती हैं. इसके बाद, ये नीलामियां सबसे ज़्यादा स्कोर करने वाले विज्ञापन को फ़ाइनल टॉप-लेवल की नीलामी में सबमिट करती हैं.
टॉप-लेवल की नीलामी Protected Audience API की मदद से होने वाली मल्टी-सेलर नीलामी में, विज्ञापन की आखिरी नीलामी होती है. इसमें कॉम्पोनेंट नीलामी के विजेताओं को स्कोर दिया जाता है. यह स्कोर, कॉम्पोनेंट नीलामियों से मिलता है.
कॉम्पोनेंट नीलामी Protected Audience API की मदद से, एक से ज़्यादा सेलर के लिए की जाने वाली नीलामी में नेस्ट की गई नीलामी. इसमें कॉम्पोनेंट सेलर, अपनी कॉम्पोनेंट नीलामी को एक साथ चलाते हैं. हर कॉम्पोनेंट नीलामी में सबसे ज़्यादा स्कोर करने वाले विज्ञापनों को टॉप-लेवल की नीलामी में शामिल किया जाता है.

पार्टी में शामिल लोग

भागीदार परिभाषा
विज्ञापन देने वाला वह पार्टी जो विज्ञापन प्लेसमेंट चाहती है और विज्ञापन क्रिएटिव बनाती है.
प्रकाशक वह पार्टी जो नीलामी के लिए विज्ञापन इन्वेंट्री उपलब्ध कराती है.
खरीदार वह पार्टी जो सेलर से विज्ञापन स्पेस खरीदने के लिए, नीलामी में बिड करती है. आम तौर पर, यह डिमांड-साइड प्लैटफ़ॉर्म (डीएसपी) होता है.
पब्लिशर का विज्ञापन सर्वर इस सेवा का इस्तेमाल पब्लिशर, साइट पर रेंडर किए जाने वाले विज्ञापनों को मैनेज करने और उन्हें चुनने के लिए करते हैं. पब्लिशर का विज्ञापन सर्वर, नीलामी के अपने नतीजों, हेडर बिडर के जवाबों, सीधे तौर पर बेची गई इन्वेंट्री वगैरह को मिलाकर यह तय कर सकता है कि पब्लिशर को सबसे ज़्यादा रेवेन्यू किस विज्ञापन से मिलेगा.
पब्लिशर का विज्ञापन सर्वर, सर्वर के साथ इंटरैक्ट करने के लिए क्लाइंट-साइड लाइब्रेरी उपलब्ध करा सकता है.
टॉप-लेवल सेलर यह वह पार्टी होती है जो Protected Audience API की मदद से, एक से ज़्यादा सेलर वाली नीलामी शुरू करती है. साथ ही, टॉप-लेवल की नीलामी में हिस्सा लेती है.
कंपोनेंट सेलर यह वह पार्टी होती है जो Protected Audience की मल्टी-सेलर नीलामी में कॉम्पोनेंट नीलामी करती है. इसका मकसद, खरीदारों को पब्लिशर का विज्ञापन स्पेस बेचना होता है. आम तौर पर, सप्लाई-साइड प्लैटफ़ॉर्म (एसएसपी).

क्रमवार नीलामी का सेटअप

सीक्वेंशियल ऑक्शन सेटअप में, कॉन्टेक्स्ट के हिसाब से नीलामी पहले की जाती है. इसके बाद, Protected Audience API से जुड़ी नीलामी की जाती है. इस सेटअप की मदद से पब्लिशर, कमाई की अपनी क्षमता को बढ़ा सकते हैं. इसके लिए, उन्हें पेज पर उपलब्ध कॉन्टेक्स्ट के हिसाब से डेटा का इस्तेमाल करके नीलामी करनी होती है. साथ ही, उपयोगकर्ताओं की निजता को सुरक्षित रखने के लिए, उन्हें सुरक्षित माहौल में क्रॉस-साइट डेटा का इस्तेमाल करके नीलामी करनी होती है.

हेडर बिडिंग लाइब्रेरी को पेज पर सबसे पहले लागू किया जा सकता है, ताकि पब्लिशर के विज्ञापन सर्वर की कॉन्टेक्स्ट के हिसाब से होने वाली नीलामी के लिए बिड इकट्ठा की जा सकें. इसके बाद, कॉन्टेक्स्ट के हिसाब से की गई नीलामी में जीतने वाली अडजस्ट की गई बिड की कीमत को Protected Audience API की नीलामी में, बिड फ़्लोर के तौर पर डाला जा सकता है. स्कोरिंग के दौरान, टॉप-लेवल सेलर, कॉम्पोनेंट की नीलामी के लिए लगाई गई बिड की कीमतों को बिड फ़्लोर से नीचे कर सकता है. इसके लिए, उसे कॉम्पोनेंट को शून्य स्कोर असाइन करना होगा. ऐसा तब किया जाता है, जब कॉम्पोनेंट के लिए खरीदारों की दिलचस्पी का स्कोर कैलकुलेट किया जाता है. अगर नीलामी में, Protected Audience के किसी कॉम्पोनेंट की बिड, बिड फ़्लोर से ज़्यादा नहीं है, तो कॉन्टेक्स्ट के हिसाब से नीलामी जीतने वाले विज्ञापन को उपयोगकर्ता को दिखाया जाता है. अगर Protected Audience की नीलामी में कोई विज्ञापन जीत जाता है, तो इसका मतलब है कि वह बिड फ़्लोर से ऊपर है. साथ ही, Protected Audience की नीलामी में जीतने वाले विज्ञापन को उपयोगकर्ता को दिखाया जाता है.

नीलामी के इस क्रमवार सेटअप के उदाहरण में, पेज पर तीन मुख्य नीलामी इस क्रम में की जा सकती हैं:

  1. हेडर बिडिंग लाइब्रेरी के ज़रिए कॉन्टेक्स्ट के हिसाब से नीलामी
  2. पब्लिशर के विज्ञापन सर्वर की कॉन्टेक्स्ट के हिसाब से नीलामी
  3. Protected Audience API से जुड़ी नीलामी.
विज्ञापन देने वाले व्यक्ति या कंपनी की साइट पर किसी उपयोगकर्ता को इंटरेस्ट ग्रुप में तब जोड़ा जाता है, जब पब्लिशर की साइट पर कॉन्टेक्स्ट के हिसाब से और Protected Audience नीलामी की जाती है. इसके बाद, पब्लिशर की विज्ञापन सर्वर क्लाइंट-साइड लाइब्रेरी, इन दोनों नीलामियों में से विजेता को चुनती है
हेडर बिडिंग कॉन्टेक्स्ट के साथ, Protected Audience API की मदद से कई सेलर के लिए होने वाली नीलामी की खास जानकारी.

खास जानकारी वाले डायग्राम के बारे में पूरी जानकारी:

  1. नीलामी से पहले, उपयोगकर्ता को विज्ञापन देने वाले व्यक्ति या कंपनी की साइट पर किसी इंटरेस्ट ग्रुप में जोड़ा जाता है.
  2. जब उपयोगकर्ता बाद में पब्लिशर के पेज पर जाता है, तो Prebid.js कॉन्टेक्स्ट के हिसाब से नीलामी करता है. इससे हेडर बिडर से बिड के जवाब इकट्ठा किए जाते हैं. इस चरण के दौरान, खरीदार सिग्नल दे सकते हैं. साथ ही, सेलर कॉम्पोनेंट ऑक्शन कॉन्फ़िगरेशन दे सकते हैं, ताकि इनका इस्तेमाल Protected Audience API से जुड़ी अगली नीलामी में किया जा सके. Prebid.js, इन सिग्नल और कॉन्फ़िगरेशन को Protected Audience API से जुड़ी नीलामी में भेजने के लिए, मॉड्यूल उपलब्ध कराता है.
  3. Prebid.js से इकट्ठा की गई बिड रिस्पॉन्स को, पब्लिशर के विज्ञापन सर्वर को भेजा जाता है. इससे सर्वर-साइड कॉन्टेक्स्ट के हिसाब से नीलामी की जा सकती है.
  4. पब्लिशर का विज्ञापन सर्वर, नीलामी के अपने नतीजों, हेडर बिडिंग के नतीजों, सीधे तौर पर बेची गई इन्वेंट्री वगैरह को मिलाकर यह तय कर सकता है कि कौनसा विज्ञापन पब्लिशर को सबसे ज़्यादा रेवेन्यू देगा. विज्ञापन देने वाले व्यक्ति या कंपनी के विज्ञापन सर्वर की क्लाइंट-साइड लाइब्रेरी को सबसे अच्छा परफ़ॉर्म करने वाला विज्ञापन वापस भेज दिया जाता है.
  5. सदर्भ के हिसाब से की गई नीलामी जीतने वाले व्यक्ति या कंपनी की अडजस्ट की गई बिड की कीमत, खरीदार के सिग्नल (perBuyerSignals), और Prebid.js से इकट्ठा किए गए सेलर के कॉम्पोनेंट की नीलामी के कॉन्फ़िगरेशन को, पब्लिशर के विज्ञापन सर्वर की क्लाइंट-साइड लाइब्रेरी की मदद से, Protected Audience API से जुड़ी नीलामी में पास किया जा सकता है.
  6. Protected Audience API की मदद से, एक से ज़्यादा सेलर के लिए होने वाली नीलामी को टॉप-लेवल सेलर मैनेज करता है. टॉप-लेवल सेलर की स्कोरिंग के दौरान, टॉप-लेवल सेलर हर कॉम्पोनेंट की नीलामी जीतने वाली बोली की कीमत की तुलना, कॉन्टेक्स्ट के हिसाब से अडजस्ट की गई नीलामी जीतने वाली बोली की कीमत से कर सकता है. अगर कॉम्पोनेंट की बिड की कीमत, कॉन्टेक्स्ट के हिसाब से होने वाली नीलामी की बिड की कीमत से कम है, तो टॉप-लेवल सेलर, 0 का डिज़ायरेबिलिटी स्कोर दिखाता है. अगर सभी बिड को 0 का स्कोर मिलता है, तो runAdAuction() कॉल, शून्य वैल्यू दिखाता है. इसका मतलब है कि कॉन्टेक्स्ट के हिसाब से नीलामी जीतने वाले विज्ञापन को रेंडर किया जाना चाहिए.
  7. पब्लिशर के विज्ञापन सर्वर की क्लाइंट-साइड लाइब्रेरी, runAdAuction() कॉल से मिले जवाब के आधार पर, सबसे अच्छा परफ़ॉर्म करने वाले Protected Audience विज्ञापन या कॉन्टेक्स्ट के हिसाब से दिखाए जाने वाले विज्ञापन को रेंडर करती है.
  8. नीलामी जीतने वाले विज्ञापन को उपयोगकर्ता के लिए रेंडर किया जाता है.

Prebid.js और Publisher Ad Server की मदद से कॉन्टेक्स्ट के हिसाब से नीलामी

प्रकाशक की साइट पर कॉन्टेक्स्ट के हिसाब से नीलामी शुरू की जाती है
पब्लिशर पेज पर कॉन्टेक्स्ट के हिसाब से नीलामी के समय का क्रम.

सीक्वेंशियल नीलामी के सेटअप में, कॉन्टेक्स्ट के हिसाब से होने वाली सभी नीलामियां, Protected Audience की नीलामी शुरू होने से पहले पूरी हो जाती हैं. इस दस्तावेज़ में बताए गए सेटअप में, हम Prebid.js की मदद से हेडर बिडिंग कॉन्टेक्स्ट के हिसाब से नीलामी करते हैं. यह नीलामी, Publisher Ad Server की सर्वर-साइड नीलामी में फ़ीड करती है.

पब्लिशर सबसे पहले, हेडर बिडिंग कॉन्टेक्स्ट के हिसाब से नीलामी शुरू करता है. इसके लिए, वह एक फ़्लैग के साथ Prebid.js को कॉल करता है. इससे यह पता चलता है कि इसके बाद, Protected Audience नीलामी की जाएगी. इसके बाद, Prebid.js, बिड के जवाब इकट्ठा करता है और उन्हें सर्वर साइड कॉन्टेक्स्ट के हिसाब से होने वाली नीलामी के लिए, पब्लिशर के विज्ञापन सर्वर को भेजता है. बिड रिस्पॉन्स इकट्ठा करने के चरण के दौरान, खरीदारों और सेलर के पास कॉम्पोनेंट ऑक्शन कॉन्फ़िगरेशन और खरीदारों के सिग्नल (perBuyerSignals) देने का विकल्प होता है. इनका इस्तेमाल, Protected Audience API से जुड़ी अगली नीलामी के लिए किया जाता है. हालांकि, ऐसा सिर्फ़ तब किया जाता है, जब वे नीलामी में हिस्सा लेना चाहते हों. नीलामी के उस कॉम्पोनेंट का कॉन्फ़िगरेशन, आखिर में प्रोटेक्टेड ऑडियंस की अगली नीलामी में पास हो जाएगा.

  1. कॉन्टेक्स्ट के हिसाब से नीलामी शुरू करना उपयोगकर्ता, पब्लिशर पेज पर जाता है.
  2. पब्लिशर पेज, पब्लिशर के विज्ञापन सर्वर की क्लाइंट-साइड लाइब्रेरी लोड करता है और विज्ञापन स्लॉट तय करता है.
  3. पब्लिशर पेज, Prebid को लोड करता है और हेडर बिडिंग कॉन्टेक्स्ट के हिसाब से नीलामी शुरू करता है.
  4. सेलर A की कॉन्टेक्स्ट के हिसाब से नीलामी (यह सेलर B की कॉन्टेक्स्ट के हिसाब से होने वाली नीलामी के साथ-साथ चलती है). Prebid.js, सेलर A को बिड रिक्वेस्ट भेजता है.
  5. सेलर A, खरीदारों से बिड रिस्पॉन्स और perBuyerSignals को फिर से हासिल करता है.
  6. सेलर A, कॉन्टेक्स्ट के हिसाब से नीलामी करता है.
  7. सेलर A, perBuyerSignals को शामिल करके कॉम्पोनेंट ऑक्शन कॉन्फ़िगरेशन बनाता है.
  8. सेलर A, Prebid.js को सबसे ज़्यादा बिड और उसके कॉम्पोनेंट ऑक्शन की कॉन्फ़िगरेशन के साथ जवाब देता है.
  9. सेलर B की कॉन्टेक्स्ट के हिसाब से नीलामी (यह सेलर A की कॉन्टेक्स्ट के हिसाब से होने वाली नीलामी के साथ-साथ चलती है). Prebid.js, सेलर B को बिड अनुरोध भेजता है.
  10. सेलर B, खरीदारों से बिड रिस्पॉन्स और perBuyerSignals को वापस पाता है.
  11. सेलर B, कॉन्टेक्स्ट के हिसाब से नीलामी करता है.
  12. सेलर B, कॉम्पोनेंट ऑक्शन कॉन्फ़िगरेशन बनाता है. इसमें perBuyerSignals included शामिल होता है.
  13. सेलर B, Prebid.js को सबसे ज़्यादा बिड और उसके कॉम्पोनेंट ऑक्शन की कॉन्फ़िगरेशन के साथ जवाब देता है.
  14. पब्लिशर के विज्ञापन सर्वर की कॉन्टेक्स्ट के हिसाब से होने वाली नीलामी Prebid.js से इकट्ठा किए गए बिड रिस्पॉन्स, कॉन्टेक्स्ट के हिसाब से होने वाली नीलामी के लिए पब्लिशर के विज्ञापन सर्वर को भेजे जाते हैं.
  15. खरीदारों के सिग्नल वाले कॉम्पोनेंट ऑक्शन कॉन्फ़िगरेशन को, पब्लिशर के विज्ञापन सर्वर की क्लाइंट-साइड लाइब्रेरी के साथ शेयर किया जाता है
  16. पब्लिशर का विज्ञापन सर्वर, कॉन्टेक्स्ट के हिसाब से नीलामी करता है. इससे यह तय किया जाता है कि सीधे तौर पर बेचे गए कैंपेन, प्रोग्रामैटिक बिड, Prebid की कॉन्टेक्स्ट के हिसाब से बिड, और अन्य इन्वेंट्री में से सबसे अच्छा विज्ञापन कौन सा है.
  17. पब्लिशर का विज्ञापन सर्वर, अडजस्ट की गई सबसे ज़्यादा बिड दिखाता है.

Protected Audience की मदद से विज्ञापन दिखाने की मांग के साथ, कॉन्टेक्स्ट के हिसाब से विज्ञापन दिखाने की मांग पर विचार करना

Publisher Ad Server की क्लाइंट-साइड लाइब्रेरी, उस विज्ञापन को रेंडर करती है जिसे कॉन्टेक्स्ट के हिसाब से होने वाली नीलामी और Protected Audience की नीलामी के बीच चुना गया था
पब्लिशर पेज पर विज्ञापन रेंडर करने का क्रम.

इस समय तक, कॉन्टेक्स्ट के हिसाब से होने वाली नीलामी पूरी हो जाती है. साथ ही, Publisher Ad Server की क्लाइंट-साइड लाइब्रेरी, कॉन्टेक्स्ट के हिसाब से होने वाली नीलामी में जीतने वाले विज्ञापन की अडजस्ट की गई बिड की कीमत, कॉम्पोनेंट ऑक्शन कॉन्फ़िगरेशन, और Protected Audience ऑक्शन में हिस्सा लेने वाले खरीदारों के सिग्नल, टॉप-लेवल सेलर को भेज सकती है. कॉन्टेक्स्ट के हिसाब से नीलामी की बिड की कीमत को फ़्लोर के तौर पर, नीलामी के कॉन्फ़िगरेशन में पास किया जा सकता है. इससे टॉप-लेवल की नीलामी में स्कोरिंग के लिए सिग्नल मिलता है.

  1. ब्राउज़र, सेलर से स्कोरिंग स्क्रिप्ट के साथ-साथ हर विज्ञापन के भरोसेमंद स्कोरिंग सिग्नल फ़ेच करता है.
  2. ब्राउज़र, टॉप-लेवल सेलर के स्कोरिंग लॉजिक को, कॉम्पोनेंट ऑक्शन की हर जीतने वाली बिड के लिए लागू करता है. टॉप-लेवल सेलर की scoreAd() स्क्रिप्ट में, लॉजिक के पास कॉन्टेक्स्ट के हिसाब से नीलामी में अडजस्ट की गई वह बिडिंग कीमत होती है जो नीलामी में सबसे ज़्यादा होती है. इसे नीलामी के कॉन्फ़िगरेशन में sellerSignals के तौर पर पास किया जा सकता है. स्क्रिप्ट, कॉन्टेक्स्ट के हिसाब से लगाई गई सबसे ज़्यादा बोली की कीमत की तुलना, कॉम्पोनेंट के लिए सुरक्षित ऑडियंस की बिड की कीमत से कर सकती है. अगर कॉन्टेक्स्ट के हिसाब से लगाई गई बिड की कीमत ज़्यादा है, तो स्क्रिप्ट 0 का डिज़ायरेबिलिटी स्कोर दिखा सकती है. इसके अलावा, स्क्रिप्ट, दिलचस्पी के स्कोर का हिसाब लगाती है. यह स्कोर, Protected Audience कॉम्पोनेंट की बिड की कीमत के आधार पर तय किया जाता है.
  3. ब्राउज़र, विज्ञापन देने वाले ऐसे व्यक्ति या कंपनी के विज्ञापन को चुनता है जिसका डिज़ायरेबिलिटी स्कोर सबसे ज़्यादा होता है. यह स्कोर, टॉप-लेवल सेलर के स्कोरिंग लॉजिक के हिसाब से तय किया जाता है.
  4. अगर Protected Audience API से जुड़ी नीलामी जीत जाती है, तो Protected Audience API से जुड़ी नीलामी, पब्लिशर के विज्ञापन सर्वर की क्लाइंट-साइड लाइब्रेरी को FencedFrameConfig ऑब्जेक्ट या अपारदर्शी यूआरएन दिखाती है.
  5. क्लाइंट-साइड लाइब्रेरी, फ़ेन्स्ड फ़्रेम के config एट्रिब्यूट को FencedFrameConfig ऑब्जेक्ट पर सेट करती है. इसके अलावा, यह iframe के src एट्रिब्यूट को, Protected Audience की मदद से दिखाए गए विज्ञापन के ओपेक यूआरएन पर सेट करती है.
  6. ब्राउज़र, खरीदार से Protected Audience API से जुड़ी नीलामी जीतने वाला विज्ञापन फ़ेच करता है.
  7. ब्राउज़र, उपयोगकर्ता को विज्ञापन दिखाता है.
  8. अगर कॉन्टेक्स्ट के हिसाब से होने वाली नीलामी जीत जाती है, तो Protected Audience API से जुड़ी नीलामी null दिखाती है.
  9. ब्राउज़र, iframe के src एट्रिब्यूट को, संदर्भ के हिसाब से सबसे ज़्यादा काम के विज्ञापन पर सेट करता है.
  10. ब्राउज़र, खरीदार से कॉन्टेक्स्चुअल नीलामी जीतने वाला विज्ञापन फ़ेच करता है.
  11. ब्राउज़र, उपयोगकर्ता को विज्ञापन दिखाता है.