किसी एक सेलर के साथ ब्राउज़र पर आधारित नीलामी चलाना

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

Protected Audience API के पूरे लाइफ़साइकल के बारे में जानने के लिए, डेवलपर गाइड पढ़ें. साथ ही, सेलर के डिवाइस पर होने वाली नीलामियों के बारे में ज़्यादा जानने के लिए, Protected Audience API के बारे में जानकारी देने वाला लेख पढ़ें.

Protected Audience API की मदद से होने वाली विज्ञापन नीलामी की छह स्टेज

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

जब कोई उपयोगकर्ता ऐसे पेज पर जाता है जिस पर विज्ञापन दिखता है, तब नीलामी हो सकती है. नीलामी समय से पहले शुरू की जा सकती हैं, ताकि विज्ञापन स्लॉट दिखने पर विज्ञापन क्रिएटिव तैयार हो.

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

सेलर का मतलब ये हो सकता है:

  • कॉन्टेंट पब्लिशर, जो अपनी वेबसाइट पर विज्ञापन कॉन्टेंट होस्ट करने के लिए खुद काम करता है
  • सप्लाई-साइड प्लैटफ़ॉर्म (एसएसपी), जो विज्ञापन पब्लिशर के साथ काम करते हैं और अन्य सेवाएं देते हैं
  • तीसरे पक्ष की स्क्रिप्ट, पब्लिशर के लिए काम करती हैं, ताकि वे विज्ञापन की नीलामियों में हिस्सा ले सकें.

नीलामी चलाने के लिए ज़रूरी शर्तें

नीलामी चलाने के लिए, सेलर को दो JavaScript फ़ंक्शन तय करने होंगे:

  • scoreAd(), जो विज्ञापन के उम्मीदवार को स्कोर करता है
  • reportResult(), जो सेलर को नीलामी के नतीजे की रिपोर्टिंग करता है

इन स्क्रिप्ट को, सेलर के मालिकाना हक वाले एक ही एंडपॉइंट से दिखाया जाना चाहिए.

scoreAd()

सेलर को एक scoreAd() फ़ंक्शन तय करना होगा. यह फ़ंक्शन, सेलर के मालिकाना हक वाले एंडपॉइंट से दिखाया जाएगा. एंडपॉइंट को नीलामी के कॉन्फ़िगरेशन में decisionLogicUrl के तौर पर बताया गया है. scoreAd() फ़ंक्शन का सिग्नेचर यह है:

scoreAd(
  adMetadata,
  bid,
  auctionConfig,
  trustedScoringSignals,
  browserSignals,
  directFromSellerSignals)

scoreAd() पैरामीटर ये हैं:

  • adMetaData, जो विज्ञापन क्रिएटिव के बारे में खरीदार की ओर से दिया गया मेटाडेटा होता है. यह एक JSON ऑब्जेक्ट है जिसे क्रम से लगाया जा सकता है. सेलर और खरीदारों को इस ऑब्जेक्ट को तय करना होगा और इसके स्ट्रक्चर पर सहमत होना होगा.
  • bid, जो बिड को दिखाने वाली संख्यात्मक वैल्यू है.
  • auctionConfig, जो नीलामी को लागू करने के लिए इस्तेमाल किया गया नीलामी कॉन्फ़िगरेशन है.
  • trustedScoringSignals, जो नीलामी के समय सेलर के मुख्य/वैल्यू सर्वर से पढ़े जाते हैं. प्लैटफ़ॉर्म, इस लुकअप के लिए उम्मीदवार विज्ञापन के renderUrl का इस्तेमाल करेगा.
  • browserSignals, यह ब्राउज़र से बनाया गया एक ऑब्जेक्ट है. इसमें ऐसी जानकारी शामिल होती है जिसके बारे में ब्राउज़र को पता होता है. साथ ही, सेलर की नीलामी स्क्रिप्ट इसकी पुष्टि कर सकती है.
  • directFromSellerSignals एक ऐसा ऑब्जेक्ट है जिसमें ये फ़ील्ड शामिल हो सकते हैं: ** sellerSignals: यह auctionConfig.sellerSignals की तरह होता है, लेकिन इसे directFromSellerSignals मेकेनिज़्म का इस्तेमाल करके पास किया जाता है. ** auctionSignals: यह auctionConfig.auctionSignals की तरह ही होता है, लेकिन इसे directFromSellerSignals मेकेनिज़्म का इस्तेमाल करके पास किया जाता है.

यहां browserSignals का एक उदाहरण दिया गया है. ध्यान दें कि उम्मीदवार विज्ञापन का renderUrl इन सिग्नल से मिलता है:

{ 'topWindowHostname': 'www.example-publisher.com',
  'interestGroupOwner': 'https://www.example-buyer.com',
  'renderURL': 'https://cdn.com/render_url_of_bid',
  'renderSize': {width: 100, height: 200}, /* if specified in the bid */
  'adComponents': ['https://cdn.com/ad_component_of_bid',
                   'https://cdn.com/next_ad_component_of_bid',
                   ...],
  'biddingDurationMsec': 12,
  'bidCurrency': 'USD', /* bidCurrency returned by generateBid, or '???' if none */
  'dataVersion': 1, /* Data-Version value from the trusted scoring signals server's response */
}

reportResult()

कारोबारी या कंपनी को एक reportResult() फ़ंक्शन तय करना होगा. यह फ़ंक्शन, उस एंडपॉइंट से काम करेगा जिसका मालिकाना हक उसके पास है. एंडपॉइंट के बारे में नीलामी के कॉन्फ़िगरेशन में decisionLogicUrl के तौर पर बताया गया है. reportResult() फ़ंक्शन का सिग्नेचर यह है:

reportResult(auctionConfig, browserSignals) {
  ...
  return signalsForWinner;
}

reportResult() पैरामीटर ये हैं:

  • auctionConfig, जो नीलामी को लागू करने के लिए इस्तेमाल किया गया नीलामी कॉन्फ़िगरेशन है.
  • browserSignals, यह ब्राउज़र से बनाया गया एक ऑब्जेक्ट है. इसमें ऐसी जानकारी शामिल होती है जिसके बारे में ब्राउज़र को पता होता है. साथ ही, सेलर की नीलामी स्क्रिप्ट इसकी पुष्टि कर सकती है. यह वही ऑब्जेक्ट है जिसे scoreAds() फ़ंक्शन में पास किया गया था.

reportResult(), signalsForWinner दिखाता है. यह एक आर्बिट्ररी JSON ऑब्जेक्ट है, जिसे बिड जीतने वाले खरीदार के रिपोर्टिंग फ़ंक्शन को पास किया जाता है. इसमें नीलामी से जुड़ी वह सभी ज़रूरी जानकारी शामिल होनी चाहिए जो सेलर, खरीदार को दे सकता है. यह जानकारी, खरीदार को रिपोर्टिंग के लिए चाहिए होती है.

Protected Audience API की नीलामी चलाना

नीलामी करने के लिए, सेलर को ये चार मुख्य चरण पूरे करने होंगे. ध्यान दें कि इन चरणों में यह माना गया है कि सेलर ने एक ऐसा एंडपॉइंट सेट अप किया है जो ज़रूरी JavaScript को वापस भेजता है. इसके बारे में इस गाइड में पहले बताया गया है.

  1. नीलामी को कॉन्फ़िगर करें. इस चरण में, auctionConfig ऑब्जेक्ट बनाया जाता है. इससे सेलर यह तय कर पाता है कि नीलामी में किस खरीदार को शामिल होना चाहिए. साथ ही, वह ऐसे सिग्नल भी दे सकता है जो बिड जनरेट करने या विज्ञापन स्कोरिंग के दौरान काम आ सकते हैं.
  2. पिछले चरण में बनाए गए कॉन्फ़िगरेशन को पास करके, navigator.runAdAuction() को कॉल करके नीलामी करें. इससे खरीदारों की एक चेन शुरू होती है. इसमें खरीदार, बिड जनरेट करते हैं और फिर स्कोर करते हैं. इस चरण का आखिरी नतीजा, विज्ञापन दिखाने के लिए तैयार विज्ञापन होता है.
  3. सबसे अच्छा परफ़ॉर्म करने वाले विज्ञापन को रेंडर करना. इसके लिए, फ़ेन्स्ड फ़्रेम या iframe का इस्तेमाल किया जाता है.
  4. नीलामी के नतीजे की जानकारी दें. एक फ़ंक्शन, navigator.sendReportTo() है, जो रिपोर्टिंग शुरू करेगा. नीलामी के नतीजों की रिपोर्ट, सेलर को हमेशा मिलेगी. नीलामी जीतने वाले खरीदार को ही रिपोर्ट मिलेगी. यह कुकी, सेलर के reportResult() का इस्तेमाल करती है. इसके बारे में इस गाइड में पहले बताया गया है. इसका इस्तेमाल, सेलर के सर्वर को रिपोर्ट करने के लिए किया जाता है.