विक्रेता गाइड: विज्ञापन नीलामियां करें

Protected Audience API की मदद से होने वाली विज्ञापन की नीलामी के लिए, सेलर एपीआई गाइड और रेफ़रंस.

इस लेख में, आपको विज्ञापन की नीलामी के लिए तकनीकी जानकारी मिलेगी. इसका इस्तेमाल, Protected Audience API के मौजूदा एक्सपेरिमेंट में किया जाता है.

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

क्या आप डेवलपर नहीं हैं? Protected Audience API की खास जानकारी देखें.

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

Protected Audience API की मदद से होने वाली विज्ञापन नीलामी, छोटे-छोटे JavaScript प्रोग्राम का एक कलेक्शन होती है. ब्राउज़र, उपयोगकर्ता के डिवाइस पर इन प्रोग्राम को चलाता है, ताकि विज्ञापन चुना जा सके. निजता बनाए रखने के लिए, सेलर और खरीदारों के सभी विज्ञापन नीलामी कोड को अलग किए गए JavaScript वर्कलेट में चलाया जाता है. ये वर्कलेट, बाहरी दुनिया से कम्यूनिकेट नहीं कर सकते.

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

नीलामी कब होती है?

Protected Audience API को अकेले या प्रोग्रामैटिक नीलामी के साथ चलाया जा सकता है. एक से ज़्यादा सेलर वाली, प्रोग्रामैटिक नीलामी में:

  1. उपयोगकर्ता, इस प्रोग्राम में शामिल किसी साइट पर जाता है.
  2. प्रोग्रामैटिक नीलामी, किसी दूसरे सेलर की ओर से की जाती है. इसका मकसद, उपलब्ध विज्ञापन स्लॉट के लिए कॉन्टेक्स्ट के हिसाब से विज्ञापन ढूंढना होता है.
  3. Protected Audience API की मदद से नीलामी की जाती है.
  4. scoreAd()खरीदार की बिड की तुलना, पहली नीलामी के नतीजों से करता है.

कॉन्टेक्स्ट के हिसाब से सबसे ज़्यादा बिड लगाने वाले व्यक्ति की बिड से कम बिड को अस्वीकार कर दिया जाता है.

Protected Audience API की मदद से होने वाली विज्ञापन नीलामी को कौन मैनेज करता है?

विज्ञापन स्पेस बेचने के लिए, कई कंपनियां नीलामी कर सकती हैं.

उदाहरण के लिए:

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

Protected Audience API की मदद से, सेलर को ये तीन काम करने होते हैं:

  • पब्लिशर के नियमों को लागू करना: कौनसे खरीदार और कौनसी बिड ज़रूरी शर्तें पूरी करती हैं.
  • नीलामी का लॉजिक लागू करना: JavaScript, वर्कलेट में चलती है. इससे हर बिड के लिए, पसंद किए जाने का स्कोर कैलकुलेट किया जाता है.
  • नीलामी के नतीजे की शिकायत करें.

ये काम प्रोग्राम के हिसाब से किए जाते हैं. इसके लिए, सेलर ने जो कोड दिया है उसका इस्तेमाल किया जाता है. सेलर, JavaScript फ़ंक्शन navigator.runAdAuction() को कॉल करके विज्ञापन नीलामी शुरू करता है.

एपीआई फ़ंक्शन

runAdAuction()

सेलर, उपयोगकर्ता के ब्राउज़र से विज्ञापन नीलामी शुरू करने का अनुरोध करता है. इसके लिए, वह navigator.runAdAuction() को कॉल करता है.

उदाहरण के लिए:

const auctionConfig = {
  seller: 'https://ssp.example',
  decisionLogicUrl: ...,
  trustedScoringSignalsUrl: ...,
  interestGroupBuyers: ['https://dsp.example', 'https://buyer2.example', ...],
  auctionSignals: {...},
  sellerSignals: {...},
  sellerTimeout: 100,
  perBuyerSignals: {
    'https://dsp.example': {...},
    'https://another-buyer.example': {...},
    ...
  },
  perBuyerTimeouts: {
    'https://dsp.example': 50,
    'https://another-buyer.example': 200,
    '*': 150,
    ...
  },
  componentAuctions: [
    {
      'seller': 'https://some-other-ssp.example',
      'decisionLogicUrl': ...,
      ...
    },
    ...
  ]
};

try {
  const auctionResultPromise = navigator.runAdAuction(auctionConfig);
} catch (error) {
  // Handle error.
}

runAdAuction() एक प्रॉमिस दिखाता है. यह प्रॉमिस, विज्ञापन नीलामी के नतीजे को दिखाने वाले URN (urn:uuid:<something>) में बदल जाता है. इसे ब्राउज़र सिर्फ़ तब डिकोड कर सकता है, जब इसे रेंडर करने के लिए फ़ेंस्ड फ़्रेम में पास किया जाता है. पब्लिशर पेज, जीतने वाले विज्ञापन की जांच नहीं कर सकता.

decisionLogicUrl स्क्रिप्ट, हर विज्ञापन को एक-एक करके देखती है. साथ ही, उससे जुड़ी बिड और मेटाडेटा को भी देखती है. इसके बाद, वह विज्ञापन को एक संख्यात्मक स्कोर असाइन करती है.

auctionConfig प्रॉपर्टी

seller
ज़रूरी है
उदाहरण: 'https://ssp.example'
भूमिका: सेलर का मूल देश.
decisionLogicUrl
ज़रूरी है
उदाहरण: 'https://ssp.example/auction-decision-logic.js'
भूमिका: ऑक्शन वर्कलेट JavaScript के लिए यूआरएल.
trustedScoringSignalsUrl
ज़रूरी नहीं
उदाहरण: 'https://ssp.example/scoring-signals'
भूमिका: सेलर के भरोसेमंद सर्वर का यूआरएल.
interestGroupBuyers
ज़रूरी है
उदाहरण: ['https://dsp.example', 'https://buyer2.example', ...]
भूमिका: दिलचस्पी वाले सभी ग्रुप के मालिकों के ओरिजन, जिन्हें नीलामी में बिड करने के लिए कहा गया है.
ध्यान दें: सेलर, interestGroupBuyers: वैल्यू सेट करके सभी दिलचस्पी वाले ग्रुप को बिड करने की अनुमति दे सकता है. इसके बाद, दिलचस्पी वाले ग्रुप के मालिक को शामिल करने के अलावा, अन्य शर्तों के आधार पर विज्ञापनों को स्वीकार या अस्वीकार किया जाता है. उदाहरण के लिए, सेलर अपने विज्ञापन क्रिएटिव की समीक्षा करके यह पुष्टि कर सकता है कि वे उसकी नीतियों का पालन करते हैं.
auctionSignals
ज़रूरी नहीं
उदाहरण: {...}
भूमिका: पेज के कॉन्टेक्स्ट, नीलामी के टाइप वगैरह के बारे में सेलर की जानकारी
sellerSignals
ज़रूरी नहीं है
उदाहरण: {...}
भूमिका: पब्लिशर की सेटिंग, कॉन्टेक्स्ट के हिसाब से विज्ञापन अनुरोध करना वगैरह के आधार पर जानकारी.
sellerTimeout
ज़रूरी नहीं
उदाहरण: 100
भूमिका: सेलर की scoreAd() स्क्रिप्ट के ज़्यादा से ज़्यादा रनटाइम (मिलीसेकंड) की जानकारी.
perBuyerSignals
ज़रूरी नहीं है
उदाहरण:
{'https://dsp.example': {...}, 'https://another-buyer.example': {...}, ... }
भूमिका: हर खरीदार के लिए पेज के बारे में कॉन्टेक्स्ट के हिसाब से सिग्नल. ये सिग्नल, खरीदार के सर्वर से मिलते हैं.
perBuyerTimeouts
ज़रूरी नहीं है
उदाहरण: 50
भूमिका: खरीदार की generateBid() स्क्रिप्ट के चलने का ज़्यादा से ज़्यादा समय (मिलीसेकंड में).
componentAuctions
ज़रूरी नहीं है
उदाहरण:
[{'seller': 'https://www.some-other-ssp.com', 'decisionLogicUrl': ..., ...}, ...]
भूमिका: कॉम्पोनेंट ऑक्शन के लिए अतिरिक्त कॉन्फ़िगरेशन.



decisionLogicUrl

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

scoreAd(adMetadata, bid, auctionConfig, trustedScoringSignals, browserSignals) {
  ...
  return desirabilityScoreForThisAd;
}

browserSignals

browserSignals एक ऐसा ऑब्जेक्ट है जिसे ब्राउज़र बनाता है. इसमें ऐसी जानकारी शामिल होती है जिसके बारे में ब्राउज़र को पता होता है. साथ ही, सेलर की ऑक्शन स्क्रिप्ट इसकी पुष्टि करना चाहती है:

{
  topWindowHostname: 'publisher.example',
  interestGroupOwner: 'https://dsp.example',
  renderUrl: 'https://cdn.example/render',
  adComponents: ['https://cdn.com/ad-component-1', ...],
  biddingDurationMsec: 12,
  dataVersion: 1 /* DValue from the seller's Key/Value service response. */
}

नीलामी शुरू होने से पहले, विक्रेता उपलब्ध विज्ञापन स्लॉट के लिए सबसे सही कॉन्टेक्स्ट के हिसाब से विज्ञापन ढूंढता है. scoreAd() लॉजिक का हिस्सा, ऐसे किसी भी विज्ञापन को अस्वीकार कर देता है जो कॉन्टेक्स्ट के हिसाब से सबसे अच्छा परफ़ॉर्म करने वाले विज्ञापन से बेहतर परफ़ॉर्म नहीं कर सकता.

scoreAd()

scoreAd() ये तर्क लेता है:

आर्ग्यूमेंट भूमिका
adMetadata खरीदार की ओर से दिया गया कोई भी मेटाडेटा.
auctionConfig नीलामी के कॉन्फ़िगरेशन ऑब्जेक्ट को navigator.runAdAuction() में पास किया गया.
bid बिड की वैल्यू अंकों में.
trustedScoringSignals नीलामी के समय, सेलर के भरोसेमंद सर्वर से वैल्यू वापस पाई जाती हैं. ये वैल्यू, विज्ञापन के बारे में सेलर की राय दिखाती हैं.

अक्सर पूछे जाने वाले सवाल

नीलामी जीतने वाले व्यक्ति का फ़ैसला कैसे किया जाता है और उसे कौन चुनता है?

सेलर, स्कोरिंग लॉजिक उपलब्ध कराता है. इससे हर विज्ञापन का स्कोर तय किया जाता है. ब्राउज़र, सबसे ज़्यादा स्कोर वाले विज्ञापन को विजेता के तौर पर चुनता है.

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

Protected Audience API के सभी रेफ़रंस

एपीआई रेफ़रंस गाइड उपलब्ध हैं:

Protected Audience API के बारे में जानकारी देने वाला टूल , सुविधाओं के इस्तेमाल और पाबंदियों के बारे में भी जानकारी देता है.