Protected Audience API की नीलामी की रिपोर्टिंग

Protected Audience API की नीलामी का डेटा और नतीजे मेज़र करना

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

विज्ञापन नीलामी से इकट्ठा की जाने वाली अहम मेट्रिक की रिपोर्ट बनाने के लिए, Protected Audience API इनके साथ काम करता है:

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

Protected Audience API की रिपोर्टिंग की खास जानकारी

सुरक्षित ऑडियंस का पूरा वर्कफ़्लो
सुरक्षित ऑडियंस से जुड़ा पूरा वर्कफ़्लो

Protected Audience API की नीलामी फ़्लो का डेटा, आपके सर्वर को रिपोर्ट किया जा सकता है. ये तीन मुख्य समयावधियां होती हैं: पब्लिशर की साइट से नीलामी शुरू होने का समय, विज्ञापन को फ़ेंस किए गए फ़्रेम या पब्लिशर साइट पर iframe में रेंडर करने का समय, और उपयोगकर्ता की ओर से नीलामी के लिए इस्तेमाल की जा सकने वाली किसी दूसरी साइट पर कोई कार्रवाई करने पर कन्वर्ज़न का समय.

नीलामी के दौरान, रिपोर्टिंग वर्कलेट का इस्तेमाल करके नीलामी डेटा को रिपोर्ट किया जा सकता है. रेंडर होने के दौरान, किसी iframe या फ़ेंस किए गए फ़्रेम से, यूज़र ऐक्टिविटी के डेटा की रिपोर्ट की जा सकती है. कन्वर्ज़न के दौरान, Attribution Reporting API का इस्तेमाल करके, डेस्टिनेशन पेज से एट्रिब्यूशन डेटा को रिपोर्ट किया जा सकता है.

जगह की जानकारी की रिपोर्टिंग

नीलामी में, खरीदार generateBid() और reportWin() वर्कलेट में उपलब्ध सिग्नल की रिपोर्ट कर सकते हैं. साथ ही, सेलर scoreAd() और reportResult() में उपलब्ध सिग्नल की रिपोर्ट कर सकते हैं. नीलामी के बाहर, खरीदार और विक्रेता, विज्ञापन को रेंडर करने वाले फ़्रेम और उस साइट के डेटा की रिपोर्ट कर सकते हैं जिससे कन्वर्ज़न किया गया था.

अवधि डेस्टिनेशन जगह डेटा उपलब्ध है रिपोर्टिंग एपीआई उपलब्ध हैं
नीलामी खरीदार generateBid() सिग्नल, नीलामी के नतीजे, और नीलामी की परफ़ॉर्मेंस निजी एग्रीगेशन एपीआई
reportWin() निजी एग्रीगेशन एपीआई
Ads Reporting API
विक्रेता scoreAd() निजी एग्रीगेशन एपीआई
reportResult() निजी एग्रीगेशन एपीआई
Ads Reporting API
इमेज बनाएं खरीदार / विक्रेता पब्लिशर की साइट पर दिया गया फ़्रेम विज्ञापन फ़्रेम में इवेंट-लेवल का डेटा निजी एग्रीगेशन एपीआई
Ads Reporting API
कन्वर्ज़न खरीदार / विक्रेता कन्वर्ज़न साइट कन्वर्ज़न साइट से मिला कन्वर्ज़न और इवेंट-लेवल का डेटा Attribution Reporting API
प्राइवेट एग्रीगेशन एपीआई
Ads Reporting API

सूची में दी गई हर समयावधि के दौरान, खरीदारों और सेलर के पास, रिपोर्ट करने के लिए उपलब्ध अलग-अलग रिपोर्टिंग एपीआई का ऐक्सेस होगा. जैसे, नीलामी के सिग्नल, इवेंट-लेवल का डेटा, और कन्वर्ज़न डेटा.

Protected Audience API की नीलामी में उपलब्ध डेटा

नीलामी के दौरान, Protected Audience API वर्कलेट से यह डेटा रिपोर्ट किया जा सकता है.

सिग्नल

सिग्नल, नीलामी के हिसाब से डेटा, उपयोगकर्ता का डेटा, रीयल-टाइम डेटा, और ब्राउज़र डेटा होता है. यह डेटा, वर्कलेट में खरीदारों और विक्रेताओं को बिड जनरेट करने, विज्ञापन को स्कोर देने, और नीलामी के नतीजों की रिपोर्ट करने के लिए उपलब्ध होता है.

सिग्नल जानकारी जगह की जानकारी सेट करें उपयोगकर्ता उपलब्धता
auctionSignals नीलामी की जगह के हिसाब से उपलब्ध डेटा. इस डेटा में, पेज के कॉन्टेंट की जानकारी, पहले पक्ष (ग्राहक) का डेटा वगैरह शामिल हो सकता है. इसे नीलामी के कॉन्फ़िगरेशन में, पब्लिशर साइट पर मौजूद सेलर ने सेट किया है. खरीदार
विक्रेता
बिड स्कोर जनरेट करें विज्ञापन रिपोर्ट जीत की रिपोर्ट का नतीजा
directFromSellerSignals auctionSignals, perBuyerSignals, sellerSignals के लिए डेटा एक जैसा है. हालांकि, इस बात की गारंटी है कि सिग्नल, सेलर से मिलेंगे. विक्रेता के एचटीटीपी रिस्पॉन्स हेडर के ज़रिए सेट करें खरीदार
विक्रेता
बिड स्कोर जनरेट करें विज्ञापन रिपोर्ट जीत की रिपोर्ट का नतीजा
browserSignals ब्राउज़र से मिला अलग-अलग डेटा (topWindowHostname, interestGroupOwner, renderUrl, adComponents, biddingDurationMsec, IGJoinCount, IGRecency, modelingSignals). ब्राउज़र ने सेट किया. खरीदार
विक्रेता
बिड स्कोर जनरेट करें विज्ञापन रिपोर्ट जीत की रिपोर्ट का नतीजा
sellerSignals विज्ञापन की स्कोरिंग के लिए सेलर को दिए गए सिग्नल. इसे नीलामी के कॉन्फ़िगरेशन में, पब्लिशर साइट पर मौजूद सेलर ने सेट किया है. विक्रेता ScoreAd
reportWin
reportनतीजे
trustedScoringSignals विज्ञापन की स्कोरिंग के लिए सेलर को दिए जाने वाले रीयल-टाइम सिग्नल. यूआरएल को सेलर, नीलामी के कॉन्फ़िगरेशन में पब्लिशर साइट से सेट करता है. विक्रेता स्कोरविज्ञापन रिपोर्ट का नतीजा
perBuyerSignals खास खरीदारों को दिया गया, नीलामी से जुड़ा डेटा. सेलर, नीलामी शुरू होने से पहले, खरीदारों के लिए कीमतें वापस ला सकता है. यह विज्ञापन के अवसर के बारे में खरीदार की जानकारी है. इसे नीलामी के कॉन्फ़िगरेशन में, पब्लिशर साइट पर मौजूद सेलर ने सेट किया है. खरीदार बिड स्कोर जनरेट करें विज्ञापन रिपोर्ट जीत की रिपोर्ट का नतीजा
trustedBiddingSignals विज्ञापन बिडिंग के लिए, खरीदारों को दिए गए रीयल-टाइम सिग्नल. इंटरेस्ट ग्रुप सेट होने पर, खरीदार यह यूआरएल विज्ञापन देने वाले की साइट से सेट करता है. खरीदार generateBid
userBiddingSignals खरीदार की ओर से दिया गया उपयोगकर्ता डेटा. इंटरेस्ट ग्रुप सेट होने पर, इसे विज्ञापन देने वाली कंपनी की साइट से खरीदार तय करता है . खरीदार generateBid

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

अन्य उपलब्ध डेटा

  • नतीजों का डेटा, जो नीलामी में जीतने और हारने के डेटा से जुड़ा होता है. जैसे, बिड जीतने की कीमत और बिड अस्वीकार होने की वजह.
  • ऐसा परफ़ॉर्मेंस डेटा जिसमें इंतज़ार के समय की जानकारी होती है. जैसे, बिडिंग वर्कलेट को फ़ेच और लागू करने में कितना समय लगा.

Protected Audience API नीलामी के बाहर उपलब्ध डेटा

Protected Audience API की नीलामी के अलावा, दो ऐसी समयावधि होती हैं जिनमें डेटा, रिपोर्ट करने के लिए उपलब्ध होता है.

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

कन्वर्ज़न के दौरान, जब कोई उपयोगकर्ता क्लिक मिलने वाले पेज पर कोई ऐसी कार्रवाई करता है जिसे नीलामी के लिए एट्रिब्यूट किया गया है, तो कन्वर्ज़न पेज से इवेंट-लेवल के डेटा को Protected Audience API नीलामी के डेटा से जोड़ा जा सकता है और आपके सर्वर को रिपोर्ट किया जा सकता है.

इवेंट-लेवल की रिपोर्टिंग

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

sendReportTo() के साथ, इवेंट-लेवल की नीलामी में जीतने की रिपोर्टिंग

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

उदाहरण के लिए, कोई खरीदार बिलिंग के मकसद से, reportWin() वर्कलेट से बोली की रकम जीतने की रिपोर्ट कर सकता है:

// Buyer reporting worklet
function reportWin(auctionSignals, perBuyerSignals, sellerSignals, browserSignals, directFromSellerSignals) {
  sendReportTo(`https://buyer-reporting-server.example/reporting?bid=${browserSignals.bid}`);
}

reportResult() से कॉल किए जाने पर sendReportTo() फ़ंक्शन का इस्तेमाल, विक्रेता के लिए जीतने की रिपोर्ट जनरेट करने के लिए किया जा सकता है. साथ ही, reportWin() से कॉल करने पर, खरीदार के लिए 'जीत की रिपोर्ट' जनरेट किया जा सकता है. sendReportTo() फ़ंक्शन कम से कम 2026 तक उपलब्ध है,

जुड़ाव रिपोर्ट

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

ऊपर बताए गए sendReportTo() फ़ंक्शन का इस्तेमाल, नीलामी डेटा को iframe के इवेंट-लेवल के डेटा से जोड़ने के लिए किया जा सकता है. हालांकि, यह फ़ेंस किए गए फ़्रेम के लिए काम नहीं करता, क्योंकि एम्बेडर से यूनीक आईडी पास नहीं किया जा सकता. ऐसा इसलिए, क्योंकि एम्बेडर और फ़ेंस किए गए फ़्रेम के बीच कम्यूनिकेशन नहीं है. फ़ेंस किए गए फ़्रेम वाले विज्ञापन के इवेंट-लेवल डेटा के साथ नीलामी डेटा को जोड़ने के लिए, Ads Reporting API का इस्तेमाल किया जा सकता है.

फ़ेंस किए गए फ़्रेम और iframe के लिए Ads Reporting API

फ़ेंस किए गए फ़्रेम और iframe के लिए, Ads Reporting API की मदद से, किसी विज्ञापन फ़्रेम से उपयोगकर्ता के इवेंट-लेवल के डेटा को, Protected Audience की नीलामी के सिग्नल के साथ जोड़ा जा सकता है.

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

registerAdBeacon() फ़ंक्शन सिर्फ़ रिपोर्टिंग फ़ंक्शन में उपलब्ध होता है. साथ ही, यह खरीदार के बिडिंग लॉजिक और सेलर के स्कोरिंग लॉजिक में उपलब्ध नहीं होता.

यहां दिए गए उदाहरण में, कैंपेन आईडी को क्लिक कोऑर्डिनेट के साथ इवेंट-लेवल पेलोड से जोड़ा गया है:

// Protected Audience API buyer win reporting worklet
function reportWin(auctionSignals) {
  const { campaignId } = auctionSignals

  registerAdBeacon({
    click: `https://buyer-server.example/report/click?campaignId=${campaignId}`
  })
}
// Protected Audience API seller reporting worklet
function reportResult(auctionConfig) {
  const { campaignId } = auctionConfig.auctionSignals;

  registerAdBeacon({
    click: `https://seller-server.example/report/click?campaignId=${campaignId}`
  })
}
// Ad frame
window.fence.reportEvent({
  eventType: 'click',
  eventData: JSON.stringify({'clickX': '123', 'clickY': '456'}),
  destination:['buyer', 'seller']
});

फ़ेंस किए गए फ़्रेम का Ads Reporting API भी कम से कम 2026 तक उपलब्ध रहेगा. हालांकि, यह विनिंग रिपोर्टिंग की तरह ही उपलब्ध रहेगा.

ज़्यादा जानकारी के लिए, जानकारी देखें.

नेटवर्क ऐक्सेस पर पाबंदी नहीं लगाई गई है

फ़ेंस किए गए फ़्रेम, नेटवर्क के रिसॉर्स को उसी तरह लोड करने देंगे जैसे iframe करता. साथ ही, आपके पास अपने सर्वर पर फ़ेंस किए गए फ़्रेम में इवेंट-लेवल का डेटा भेजने का विकल्प होता है. बाद में, सर्वर साइड पर इवेंट-लेवल की रिपोर्ट जनरेट की जा सकती हैं. इसके लिए, आपको फ़ेंस किए गए फ़्रेम से इवेंट-लेवल के डेटा को, नीलामी के उस डेटा के साथ जोड़ना होगा जो sendReportTo() को भेजा गया था. इस डेटा के बारे में ऊपर नीलामी के इवेंट-लेवल पर रिपोर्टिंग के तरीके सेक्शन में बताया गया था.

तीसरे पक्ष की कुकी के बंद होने के बाद, नेटवर्क का ऐक्सेस सीमित किया जा सकेगा.

Protected Audience API में, इवेंट-लेवल पर रिपोर्टिंग के जो तरीके अभी मौजूद हैं वे ट्रांज़िशन मैकेनिज़्म हैं. साथ ही, इस्तेमाल के मौजूदा उदाहरणों की बेहतर तरीके से मदद करने के लिए, एक अन्य समाधान तैयार किया जाएगा.

एट्रिब्यूशन रिपोर्ट

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

हम एक ज़्यादा स्थायी समाधान बनाते हैं. हालांकि, एट्रिब्यूशन रिपोर्टिंग की मदद से, इवेंट-लेवल और एग्रीगेट की जा सकने वाली रिपोर्ट जनरेट करने के लिए, फ़ेंस किए गए फ़्रेम के लिए Ads Reporting API का इस्तेमाल, ट्रांज़िशनल तरीके के तौर पर किया जा सकता है. ध्यान दें कि ये रिपोर्ट कन्वर्ज़न को मेज़र करने के लिए हैं. साथ ही, ये नीलामी और विज्ञापन फ़्रेम से जनरेट की गई, इवेंट-लेवल और इकट्ठा की जा सकने वाली यूज़र ऐक्टिविटी की रिपोर्ट से अलग होती हैं. जब आपका अनुरोध स्थायी तौर पर हो जाएगा, तब हम इसके बारे में जानकारी देने वाला मैसेज पब्लिश करेंगे.

ट्रांज़िशनल मैकेनिज़्म

विज्ञापन बीकन को रजिस्टर करते समय, कीवर्ड reserved.top_navigation का इस्तेमाल किया जा सकता है, जो एट्रिब्यूशन सोर्स के तौर पर रजिस्टर होने के लिए, बीकन का Attribution-Reporting-Eligible हेडर अपने-आप जोड़ देगा.

registerAdBeacon({
 'reserved.top_navigation': 'https://adtech.example/click?buyer_event_id=123',
});

रजिस्टर किए गए बीकन में इवेंट-लेवल डेटा अटैच करने के लिए, इवेंट पेलोड के साथ फ़ेंस किए गए फ़्रेम से setReportEventDataForAutomaticBeacons() को कॉल किया जा सकता है.

window.fence.setReportEventDataForAutomaticBeacons({
  eventType: 'reserved.top_navigation',
  eventData: 'data from the frame',
  destination:['seller', 'buyer']
})

ज़्यादा जानने के लिए, Ads Reporting API के बारे में जानकारी देने वाले टूल का एट्रिब्यूशन रिपोर्टिंग सेक्शन देखें.

यूज़र ऐक्टिविटी और कन्वर्ज़न रिपोर्टिंग का उदाहरण

इस उदाहरण में, हम इसे खरीदार के नज़रिए से देखेंगे, जिसकी दिलचस्पी नीलामी, विज्ञापन फ़्रेम, और कन्वर्ज़न साइट के डेटा को एक साथ जोड़ने में है.

इस वर्कफ़्लो में खरीदार, नीलामी में यूनीक आईडी भेजने के लिए सेलर के साथ संपर्क करता है. नीलामी के दौरान, खरीदार यह यूनीक आईडी, नीलामी के डेटा के साथ भेजता है. रेंडर और कन्वर्ज़न के समय, फ़ेंस किए गए फ़्रेम या iframe का डेटा भी उसी यूनीक आईडी से भेजा जाता है. बाद में, इस यूनीक आईडी का इस्तेमाल करके इन रिपोर्ट को एक साथ जोड़ा जा सकता है.

वर्कफ़्लो:

  1. नीलामी शुरू होने से पहले, खरीदार अपने प्रोग्राम के हिसाब से, रीयल-टाइम बिडिंग ("आरटीबी") बिड रिस्पॉन्स के तौर पर विक्रेता को एक यूनीक आईडी भेजता है. आईडी को auctionId जैसे वैरिएबल के तौर पर सेट किया जा सकता है. आईडी को auctionConfig में perBuyerSignals के तौर पर पास किया जाता है और यह खरीदार के वर्कलेट में उपलब्ध हो जाता है.
  2. नीलामी के दौरान, खरीदार एक विज्ञापन बीकन रजिस्टर कर सकता है, जिसे विज्ञापन रेंडर करने के समय और कन्वर्ज़न के समय (registerAdBeacon()) के दौरान ट्रिगर किया जा सके.
    1. किसी विज्ञापन फ़्रेम इवेंट के लिए नीलामी सिग्नल जोड़ने के लिए, auctionId को बीकन यूआरएल के क्वेरी पैरामीटर के तौर पर सेट करें.
    2. किसी कन्वर्ज़न इवेंट के लिए नीलामी के सिग्नल जोड़ने के लिए, बीकन यूआरएल में auctionId सेट करें.
  3. विज्ञापन रेंडर करते समय, नीलामी के दौरान रजिस्टर किए गए बीकन को इवेंट-लेवल डेटा की मदद से ट्रिगर या बेहतर किया जा सकता है.
    1. फ़्रेम इवेंट को reportEvent() से ट्रिगर करें और इवेंट-लेवल के डेटा में पास करें.
    2. setReportEventDataForAutomaticBeacons() की मदद से, एट्रिब्यूशन बीकन में इवेंट-लेवल पेलोड जोड़ें
    3. Attribution-Reporting-Register-Source हेडर की मदद से विज्ञापन बीकन के अनुरोधों का जवाब देकर, Attribution Reporting API के साथ विज्ञापन को रजिस्टर करें.
  4. कन्वर्ज़न के दौरान, उस सोर्स को ट्रिगर किया जा सकता है जिसे आपने नीलामी के दौरान रजिस्टर किया था.

ऊपर दी गई प्रक्रिया के बाद, खरीदार के पास एक नीलामी रिपोर्ट, जुड़ाव रिपोर्ट, और कन्वर्ज़न रिपोर्ट होगी. ये सभी एक यूनीक कुंजी के ज़रिए एक साथ जुड़े होंगे, जिसका इस्तेमाल एक-दूसरे से जोड़ने के लिए किया जा सकेगा.

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

सुरक्षित ऑडियंस का डेटा एग्रीगेट करना

Private एग्रीगेशन एपीआई का इस्तेमाल करके, Protected Audience से जुड़े डेटा को रिपोर्ट करके खास जानकारी वाली रिपोर्ट जनरेट की जाती है. यह रिपोर्ट, बकेट में इकट्ठा किए गए डेटा की ग़ैर-ज़रूरी और इकट्ठा की गई जानकारी होती है. बकेट को एग्रीगेशन कुंजी से दिखाया जाता है और कुछ जानकारी को कुंजी में कोड में बदला जा सकता है.

उदाहरण के लिए, किसी विज्ञापन इंप्रेशन इवेंट को अलग-अलग बकेट में गिना जा सकता है, जहां हर बकेट एक अलग विज्ञापन कैंपेन को दिखाती है. खास जानकारी वाली रिपोर्ट, इवेंट-लेवल की रिपोर्ट से अलग होती है. इसमें हर इवेंट की जानकारी नहीं होती. इवेंट-लेवल की रिपोर्ट से यह पता लगाया जा सकता है कि उपयोगकर्ताओं A, B, और C ने कैंपेन 123 देखा है. खास जानकारी वाली रिपोर्ट की मदद से, उन उपयोगकर्ताओं की संख्या को मेज़र किया जा सकता है जिन्होंने कैंपेन 123 देखा है. साथ ही, उपयोगकर्ता की निजता को सुरक्षित रखने के लिए, ग़ैर-ज़रूरी आवाज़ें कम की गई हैं.

एपीआई के बारे में ज़्यादा जानकारी के लिए, प्राइवेट एग्रीगेशन लेख पढ़ें.

नीलामी के सिग्नल को एग्रीगेट करना

प्राइवेट एग्रीगेशन का इस्तेमाल करके, अपने सर्वर पर वर्कलेट में उपलब्ध सिग्नल को एग्रीगेट किया जा सकता है. सिग्नल एग्रीगेशन के लिए, खरीदार के बिडिंग वर्कलेट, विक्रेता स्कोरिंग वर्कलेट , और खरीदार/सेलर रिपोर्टिंग वर्कलेट में उपलब्ध privateAggregation.contributeToHistogram() तरीके का इस्तेमाल किया जा सकता है.

इस उदाहरण में, जीतने वाली बिड को इंटरेस्ट ग्रुप के मालिक के बकेट में एग्रीगेट किया जाता है:

function convertBuyerToBucket(igOwner) {}
function convertWinningBidToValue(winningBid) {}

function reportResult(auctionConfig, browserSignals) {
  privateAggregation.contributeToHistogram({
    bucket: convertBuyerToBucket(browserSignals.interestGroupOwner),
    value: convertWinningBidToValue(browserSignals.bid)
  });
} 

इस सामान्य तरीके का इस्तेमाल तब किया जाता है, जब आपको जिन सिग्नल को इकट्ठा करना है वे इवेंट-लेवल के डेटा से नहीं जुड़े होते हैं और नीलामी के बाहर के किसी इवेंट से ट्रिगर नहीं होते हैं. नीलामी के सिग्नल की रिपोर्टिंग के बारे में ज़्यादा जानने के लिए, जानकारी लेख पढ़ें.

नीलामी के सिग्नल को इवेंट डेटा के साथ एग्रीगेट करना

किसी विज्ञापन फ़्रेम में होने वाले इवेंट के बारे में सीमित जानकारी के साथ, नीलामी के सिग्नल को इकट्ठा किया जा सकता है. उदाहरण के लिए, किसी कैंपेन और क्लिक इवेंट को दिखाने वाली एक बकेट बनाकर, यह मेज़र किया जा सकता है कि किसी कैंपेन के विज्ञापन को कितने क्लिक मिले. ध्यान दें कि विज्ञापन फ़्रेम से, यह तय किया जा सकता है कि कौनसा इवेंट हो गया है. हालांकि, इवेंट-लेवल पेलोड अटैच नहीं किया जा सकता.

इवेंट के हिसाब से नीलामी के सिग्नल को एग्रीगेट करने के लिए, privateAggregation.contributeToHistogramOnEvent(eventType, contribution) का इस्तेमाल किया जा सकता है. यह एक ऐसी स्ट्रिंग होती है जो इवेंट टाइप और उस इवेंट के ट्रिगर होने पर, रिपोर्ट किए जाने वाले योगदान की जानकारी देती है. कस्टम इवेंट टाइप के साथ तरीके को कॉल किया जा सकता है. इसके बाद, विज्ञापन फ़्रेम से window.fence.reportEvent(eventType) को कॉल करके, रिपोर्ट सबमिट करने के लिए ट्रिगर किया जा सकता है.

मान लें कि आपको मेज़र करना है कि किसी कैंपेन के विज्ञापन को कितने क्लिक मिले.

// Protected Audience API worklet
function getClickReportBucketForCampaign(campaignId) {
  // return a bucket for the campaign ID and the click event
}

function generateBid(interestGroup) {
  privateAggregation.contributeToHistogramOnEvent('click', {
    bucket: getClickReportBucketForCampaign(interestGroup.ads.metadata.campaignId), 
    value: 1
  });
}

बिड जनरेट करने वाले फ़ंक्शन में, कैंपेन आईडी और क्लिक इवेंट के कॉम्बिनेशन के तौर पर किसी बकेट को सेट किया जा सकता है. इसके बाद, हर बार इवेंट ट्रिगर होने पर उस बकेट की वैल्यू को 1 तक बढ़ाया जा सकता है.

// Ad frame
window.fence.reportEvent('click');

इसके बाद, बाद में विज्ञापन फ़्रेम से, reportEvent(eventType) को कॉल करके रिपोर्ट सबमिशन को ट्रिगर किया जा सकता है:

एक्सप्लेनेशंस की मदद से, किसी फ़्रेम से निजी एग्रीगेशन योगदान को ट्रिगर करने के बारे में ज़्यादा जानें.

नीलामी के नतीजों और परफ़ॉर्मेंस की रिपोर्टिंग करना

रिज़र्व इवेंट टाइप कीवर्ड (reserved.win, reserved.loss, और reserved.always) में पास करने पर contributeToHistogramOnEvent(eventType, contribution) की मदद से, नीलामी में जीतने या हारने के इवेंट से ट्रिगर होने पर भी नीलामी के नतीजों को इकट्ठा किया जा सकता है.

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

जब बिड जीतने वाली बिड की रकम जैसी कोई बेस वैल्यू दी जाती है, तो यह सेट की जा सकती है कि उस वैल्यू में कितना जोड़ना या घटाना है. इसके बाद, आखिरी वैल्यू की रिपोर्ट दी जा सकती है. उदाहरण के लिए, अगर 5 डॉलर की जीतने वाली बिड को बेस वैल्यू के तौर पर दिया गया है, तो 3 डॉलर की असल वैल्यू का पता लगाने के लिए, दो डॉलर की बिड को घटाएं. इससे, नीलामी हारने की रकम का पता लगाया जा सकेगा.

नीलामी के नतीजों की रिपोर्टिंग

आइए एक उदाहरण देखें, जहां आप नीलामी हार गए हैं और आपको यह जानना है कि नीलामी क्लियरिंग कीमत के मुकाबले आपकी बिड कितनी दूर थी.

नीलामी में हारने की संख्या जानने के लिए, बोली की कीमत को जीतने वाली बिड की कीमत से घटाया जा सकता है:

function generateBid() {
  const bid = calculateBidAmount();

  privateAggregation.contributeToHistogramOnEvent('reserved.loss', {
    bucket: getBucketForCampaign(interestGroup.ads.metadata.campaignId),
    value: {
      baseValue: 'winning-bid',
      scale: 1 // Scale the value to minimize noise-to-signal ratio 
      offset: -bid, // Numbers added to browser value after scaling 
    }
  });
}

रिपोर्ट सबमिट करने के बाद, रिपोर्ट की गई असल वैल्यू को baseValue की वैल्यू के तौर पर बदलकर, offset की वैल्यू पर शिफ़्ट कर दिया जाएगा. ज़्यादा जानने के लिए, पूरी जानकारी देखें.

परफ़ॉर्मेंस की रिपोर्टिंग

खरीदार और सेलर, यह रिपोर्ट कर सकते हैं कि किसी स्क्रिप्ट को लागू होने में कितना समय लगा है और भरोसेमंद सिग्नल पाने में कितना समय लगा है. विक्रेता, हर खरीदार की अनुमति से बिड जनरेट करने के समय और भरोसेमंद बिडिंग सिग्नल का समय इकट्ठा कर सकते हैं.

ज़्यादा जानने के लिए, एक्सप्लेनेशंस देखें.

शेयर किए गए स्टोरेज में नीलामी के सिग्नल सेव करना

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

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

Protected Audience API वर्कलेट से, शेयर किए गए स्टोरेज के लिए कोई भी पासकोड और वैल्यू लिखी जा सकती है:

// Protected Audience API worklet
function generateBid() {
  sharedStorage.set('test-bucket', 123);
}

बाद में, आपके पास शेयर किया गया स्टोरेज वर्कलेट लोड करने का विकल्प होता है, ताकि उस वैल्यू को निजी एग्रीगेशन के साथ पढ़ा और भेजा जा सके:

// Shared Storage worklet
class SendReachReport{
  async run() {
    const testBucket = await this.sharedStorage.get('test-bucket');

    privateAggregation.contributeToHistogram({
      bucket: testBucket,
      value: 1
    });
  }
}

register('send-report', SendReachReport);

Shared Storage के बारे में ज़्यादा जानने के लिए, Protected Audience API रिपोर्टिंग डेवलपर गाइड का 'शेयर किया गया स्टोरेज' सेक्शन देखें. साथ ही, एक्सप्लेनेशंस, लाइव डेमो, और GitHub पर डेमो कोड पर जाएं.

आगे क्या करना है?

हम आपके साथ मिलकर ऐसा एपीआई बनाना चाहते हैं जो सभी के काम आ सके.

एपीआई पर चर्चा करें

दूसरे प्राइवसी सैंडबॉक्स एपीआई की तरह, इस एपीआई को भी दस्तावेज़ के तौर पर दिखाया जाता है और सार्वजनिक तौर पर इस पर चर्चा की जाती है.

एपीआई के साथ प्रयोग करें

Protected Audience API के बारे में बातचीत में, एक्सपेरिमेंट किया जा सकता है और इसमें हिस्सा लिया जा सकता है.