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

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 की विज्ञापन नीलामी के हर चरण के बारे में बताया गया है.
  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 के सभी रेफ़रंस

API reference guides are available:

The Protected Audience API explainer also provides detail about feature support and constraints.