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

Protected Audience API की नीलामी के फ़्लो का डेटा, आपके सर्वर को तीन मुख्य समयावधि में रिपोर्ट किया जा सकता है: पब्लिशर साइट से नीलामी होने का समय, पब्लिशर साइट पर फ़ेंस किए गए फ़्रेम या iframe में विज्ञापन रेंडर होने का समय, और कन्वर्ज़न का समय. कन्वर्ज़न का समय तब होता है, जब उपयोगकर्ता किसी दूसरी साइट पर कोई ऐसी कार्रवाई करता है जिसे नीलामी को एट्रिब्यूट किया जा सकता है.
नीलामी के दौरान, रिपोर्टिंग वर्कलेट का इस्तेमाल करके नीलामी के डेटा की रिपोर्ट की जा सकती है. रेंडर होने के दौरान, किसी iframe या फ़ेंस किए गए फ़्रेम से यूज़र ऐक्टिविटी का डेटा रिपोर्ट किया जा सकता है. कन्वर्ज़न के समय, एट्रिब्यूशन रिपोर्टिंग एपीआई का इस्तेमाल करके, डेस्टिनेशन पेज से एट्रिब्यूशन डेटा की रिपोर्ट की जा सकती है.
जगह की जानकारी की शिकायत करना
नीलामी में, खरीदार generateBid()
और reportWin()
वर्कलेट में उपलब्ध सिग्नल की रिपोर्ट कर सकते हैं. वहीं, सेलर scoreAd()
और reportResult()
वर्कलेट में उपलब्ध सिग्नल की रिपोर्ट कर सकते हैं. नीलामी के बाहर, खरीदार और सेलर उस फ़्रेम से डेटा रिपोर्ट कर सकते हैं जिसने विज्ञापन रेंडर किया था. साथ ही, उस साइट से भी डेटा रिपोर्ट किया जा सकता है जिससे कन्वर्ज़न हुआ था.
समयावधि | मंज़िल | जगह | डेटा उपलब्ध है | रिपोर्टिंग एपीआई उपलब्ध हैं |
नीलामी | खरीदार | generateBid() |
सिग्नल, नीलामी के नतीजे, और नीलामी की परफ़ॉर्मेंस | Private Aggregation API |
reportWin() |
Private Aggregation API Ads Reporting API |
|||
विक्रेता | scoreAd() |
Private Aggregation API | ||
reportResult() |
Private Aggregation API Ads Reporting API |
|||
प्रस्तुत करें | खरीदार / सेलर | पब्लिशर की साइट पर फ़्रेम | विज्ञापन फ़्रेम में इवेंट-लेवल का डेटा | Private Aggregation API Ads Reporting API |
कन्वर्ज़न | खरीदार / सेलर | कन्वर्ज़न साइट | कन्वर्ज़न साइट से मिला कन्वर्ज़न और इवेंट-लेवल का डेटा | Attribution Reporting API Private Aggregation API Ads Reporting API |
सूची में दी गई हर समयावधि के दौरान, खरीदारों और सेलर के पास डेटा रिपोर्ट करने के लिए, अलग-अलग रिपोर्टिंग एपीआई का ऐक्सेस होगा. जैसे, नीलामी के सिग्नल, इवेंट-लेवल का डेटा, और कन्वर्ज़न डेटा.
Protected Audience API की नीलामी में उपलब्ध डेटा
नीलामी के दौरान, Protected Audience API वर्कलेट से रिपोर्ट करने के लिए, यहां दिया गया डेटा उपलब्ध होता है.
सिग्नल
सिग्नल, नीलामी के संदर्भ में डेटा, उपयोगकर्ता का डेटा, रीयल-टाइम डेटा, और ब्राउज़र डेटा होता है. यह डेटा, बिड जनरेट करने, विज्ञापन को स्कोर करने, और नीलामी के नतीजों की रिपोर्ट करने के लिए, वर्कलेट में खरीदारों और सेलर के लिए उपलब्ध होता है.
सिग्नल | जानकारी | जगह की जानकारी सेट करना | उपयोगकर्ता | उपलब्धता |
auctionSignals | नीलामी की जगह के हिसाब से उपलब्ध डेटा. इस डेटा में पेज के कॉन्टेंट की जानकारी, पहले पक्ष (ग्राहक) के उपयोगकर्ता का डेटा वगैरह शामिल हो सकता है. | इसे सेलर ने पब्लिशर साइट पर, नीलामी कॉन्फ़िगरेशन में सेट किया है. | खरीदार सेलर |
generateBid scoreAd reportWin reportResult |
directFromSellerSignals | auctionSignals , perBuyerSignals , sellerSignals के लिए एक जैसा डेटा, लेकिन यह पक्का है कि सिग्नल, बताए गए सेलर से आए हैं. |
सेलर के एचटीटीपी रिस्पॉन्स हेडर की मदद से सेट किया जाता है | खरीदार सेलर |
generateBid scoreAd reportWin reportResult |
browserSignals | ब्राउज़र से मिलने वाला अलग-अलग डेटा (topWindowHostname , interestGroupOwner , renderUrl , adComponents , biddingDurationMsec , IGJoinCount , IGRecency , modelingSignals ). |
ब्राउज़र से सेट किया जाता है. | खरीदार सेलर |
generateBid scoreAd reportWin reportResult |
sellerSignals | विज्ञापन की स्कोरिंग के लिए, सेलर को दिए गए सिग्नल. | इसे सेलर ने पब्लिशर साइट पर, नीलामी कॉन्फ़िगरेशन में सेट किया है. | विक्रेता | scoreAd reportWin reportResult |
trustedScoringSignals | विज्ञापन स्कोरिंग के लिए, सेलर को रीयल-टाइम सिग्नल दिए जाते हैं. | सेलर, नीलामी कॉन्फ़िगरेशन में पब्लिशर साइट से यूआरएल सेट करता है. | विक्रेता | scoreAd reportResult |
perBuyerSignals | नीलामी के संदर्भ में, खास खरीदारों को दिया जाने वाला डेटा. नीलामी शुरू होने से पहले, सेलर खरीदारों के लिए वैल्यू वापस पा सकता है. यह विज्ञापन के अवसर के बारे में खरीदार की जानकारी है. | इसे सेलर ने पब्लिशर साइट पर, नीलामी कॉन्फ़िगरेशन में सेट किया है. | खरीदार | generateBid scoreAd reportWin reportResult |
trustedBiddingSignals | विज्ञापन बिडिंग के लिए, खरीदारों को दिए जाने वाले रीयल-टाइम सिग्नल. | इंटरेस्ट ग्रुप सेट होने पर, खरीदार, विज्ञापन देने वाले की साइट से यूआरएल सेट करता है. | खरीदार | generateBid |
userBiddingSignals | खरीदार से मिला उपयोगकर्ता डेटा. | जब विज्ञापन देने वाले की साइट पर, दिलचस्पी के ग्रुप को सेट किया जाता है, तो खरीदार इसे सेट करता है . | खरीदार | generateBid |
auction config ऑब्जेक्ट, डेटा का मुख्य सोर्स होता है. यह डेटा, वर्कलेट में सिग्नल के तौर पर उपलब्ध होता है. पब्लिशर और सेलर, नीलामी कॉन्फ़िगरेशन में संदर्भ के हिसाब से डेटा और पहले पक्ष का डेटा दे सकते हैं. साथ ही, इन सिग्नल को खरीदार के इंटरेस्ट ग्रुप के डेटा, विज्ञापन रेंडरिंग फ़्रेम के इवेंट-लेवल के डेटा, और क्लिक मिलने वाले पेज के एट्रिब्यूशन डेटा से बेहतर बनाया जा सकता है. रिपोर्ट किए गए डेटा का इस्तेमाल, खरीदार/सेलर की रिपोर्टिंग, बिलिंग, बजट तय करने, एमएल मॉडल को ट्रेनिंग देने वगैरह के लिए किया जा सकता है.
अन्य उपलब्ध डेटा
- नीलामी में जीतने और हारने से जुड़ा नतीजों का डेटा. जैसे, जीतने वाली बिड की कीमत और बिड अस्वीकार होने की वजह.
- परफ़ॉर्मेंस डेटा, जिसमें इंतज़ार का समय शामिल होता है. जैसे, बिडिंग वर्कलेट को फ़ेच और लागू करने में कितना समय लगा.
Protected Audience API की नीलामी के बाहर उपलब्ध डेटा
Protected Audience API नीलामी के अलावा, डेटा को रिपोर्ट करने के लिए दो समयावधि उपलब्ध हैं.
विज्ञापन को पब्लिशर साइट पर रेंडर करने के दौरान, iframe या फ़ेंस किए गए फ़्रेम में मौजूद इवेंट-लेवल का डेटा, Protected Audience API की नीलामी के डेटा से जोड़ा जा सकता है. साथ ही, इसकी शिकायत आपके सर्वर पर की जा सकती है. इवेंट-लेवल के डेटा के उदाहरण में, विज्ञापन इंप्रेशन, क्लिक मिलने की दर, कर्सर घुमाना, और फ़्रेम में होने वाले अन्य इवेंट शामिल हैं.
कन्वर्ज़न के समय, जब कोई उपयोगकर्ता क्लिक मिलने के बाद दिखने वाले पेज पर कोई ऐसी कार्रवाई करता है जिसे नीलामी को एट्रिब्यूट किया जाता है, तो कन्वर्ज़न पेज के इवेंट-लेवल के डेटा को Protected Audience API की नीलामी के डेटा से जोड़ा जा सकता है और आपके सर्वर को रिपोर्ट किया जा सकता है.
इवेंट-लेवल की रिपोर्टिंग
इवेंट-लेवल की रिपोर्ट में, एक या उससे ज़्यादा इवेंट की जानकारी होती है. इवेंट, नीलामी में जीतना, विज्ञापन इंप्रेशन या कन्वर्ज़न हो सकता है. कम से कम 2026 तक, इवेंट-लेवल पर नीलामी जीतने की रिपोर्टिंग जारी रहेगी. साथ ही, सुरक्षित ऑडियंस वाले विज्ञापन को रेंडर करने के लिए, फ़ेंस किए गए फ़्रेम की ज़रूरत नहीं होगी. साथ ही, इवेंट-लेवल की रिपोर्टिंग के लिए, बिना किसी पाबंदी वाले नेटवर्क ऐक्सेस वाले iframe का इस्तेमाल किया जा सकता है. साथ ही, Ads Reporting API, फ़ेंस किए गए फ़्रेम और iframe में उपलब्ध है. इससे, नीलामी और कन्वर्ज़न डेटा को फ़्रेम के इवेंट-लेवल के डेटा से जोड़ा जा सकता है. इसे इस तरह से डिज़ाइन किया गया है कि इससे पारिस्थितिक तंत्र को माइग्रेशन के लिए आसानी से रास्ता मिल सके. ऐसा इसलिए है, क्योंकि अपने सिस्टम को Protected Audience पर माइग्रेट करते समय, कम से कम 2026 तक अपने मौजूदा रिपोर्टिंग इन्फ़्रास्ट्रक्चर का इस्तेमाल जारी रखा जा सकता है.
sendReportTo()
की मदद से, इवेंट-लेवल पर नीलामी में जीतने की रिपोर्टिंग
नीलामी जीतने पर sendReportTo() function
, Protected Audience नीलामी में इवेंट-लेवल के डेटा को रिपोर्ट करने के लिए उपलब्ध एक तरीका है. यह फ़ंक्शन, खरीदार और सेलर रिपोर्टिंग वर्कलेट में उपलब्ध है. साथ ही, विज्ञापन रेंडरिंग शुरू होने पर ब्राउज़र, दी गई यूआरएल स्ट्रिंग के लिए GET
अनुरोध करता है. अपने वर्कलेट में मौजूद किसी भी सिग्नल को, यूआरएल के क्वेरी पैरामीटर के तौर पर एन्कोड किया जा सकता है.
उदाहरण के लिए, बिलिंग के मकसद से कोई खरीदार, reportWin()
वर्कलेट से जीतने वाली बिड की रकम की शिकायत कर सकता है:
// Buyer reporting worklet
function reportWin(auctionSignals, perBuyerSignals, sellerSignals, browserSignals, directFromSellerSignals) {
sendReportTo(`https://buyer-reporting-server.example/reporting?bid=${browserSignals.bid}`);
}
sendReportTo()
फ़ंक्शन का इस्तेमाल, reportResult()
से कॉल करने पर सेलर के लिए और reportWin()
से कॉल करने पर खरीदार के लिए, जीत की रिपोर्ट जनरेट करने के लिए किया जा सकता है. sendReportTo()
फ़ंक्शन कम से कम 2026 तक उपलब्ध रहेगा,
यूज़र ऐक्टिविटी की रिपोर्ट
यूज़र ऐक्टिविटी रिपोर्ट में, विज्ञापन क्रिएटिव का इवेंट-लेवल डेटा होता है. जैसे, इंप्रेशन या क्लिक डेटा, जो विज्ञापन को रेंडर करने वाली Protected Audience API नीलामी के सिग्नल से जुड़ा होता है. नीलामी खत्म होने के बाद विज्ञापन रेंडर होता है. इसलिए, विज्ञापन को रेंडर करने वाले फ़्रेम में नीलामी के सिग्नल उपलब्ध नहीं होते. अलग-अलग समयावधि के इस डेटा को जोड़ने के लिए, हम आपको यूज़र ऐक्टिविटी की रिपोर्ट जनरेट करने के लिए, ट्रांज़िशन के दो तरीके उपलब्ध कराते हैं.
ऊपर बताए गए sendReportTo()
फ़ंक्शन का इस्तेमाल, नीलामी के डेटा को iframe से मिले इवेंट-लेवल के डेटा से जोड़ने के लिए किया जा सकता है. हालांकि, यह फ़ेंस्ड फ़्रेम के लिए काम नहीं करता, क्योंकि एम्बेड करने वाले टूल से यूनीक आईडी पास नहीं किया जा सकता. इसकी वजह यह है कि एम्बेड करने वाले टूल और फ़ेंस्ड फ़्रेम के बीच कम्यूनिकेशन सीमित होता है. फ़ेंस किए गए फ़्रेम वाले विज्ञापन से, नीलामी के डेटा को इवेंट-लेवल के डेटा से जोड़ने के लिए, Ads Reporting API का इस्तेमाल किया जा सकता है.
फ़ेंस किए गए फ़्रेम और iframe के लिए Ads Reporting API
फ़ेंस किए गए फ़्रेम और iframe के लिए Ads Reporting API, आपको एक ऐसा तरीका उपलब्ध कराता है जिससे किसी विज्ञापन फ़्रेम से उपयोगकर्ता के इवेंट-लेवल के डेटा को, सुरक्षित ऑडियंस नीलामी में सिग्नल से जोड़ा जा सकता है.
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']
});
फ़ेंस किए गए फ़्रेम वाले विज्ञापनों की रिपोर्टिंग एपीआई, कम से कम 2026 तक उपलब्ध रहेगी. ऐसा विजय की रिपोर्टिंग की वजहों से किया जाएगा.
ज़्यादा जानकारी के लिए, एक्सप्लेनर देखें.
बिना किसी पाबंदी के नेटवर्क ऐक्सेस
फ़ेंस्ड फ़्रेम, नेटवर्क रिसॉर्स को उसी तरह लोड करेगा जिस तरह iframe करता है. साथ ही, फ़ेंस्ड फ़्रेम में इवेंट-लेवल का डेटा अपने सर्वर पर भेजा जा सकता है. फ़ेंस किए गए फ़्रेम से इवेंट-लेवल के डेटा को, sendReportTo()
के साथ भेजे गए नीलामी डेटा से जोड़कर, सर्वर-साइड पर इवेंट-लेवल की रिपोर्ट बाद में जनरेट की जा सकती हैं. sendReportTo()
के बारे में ऊपर नीलामी के इवेंट-लेवल की रिपोर्टिंग के तरीके सेक्शन में बताया गया है.
आने वाले समय में, नेटवर्क का ऐक्सेस सीमित कर दिया जाएगा.
एट्रिब्यूशन रिपोर्ट
एट्रिब्यूशन रिपोर्ट की मदद से, किसी वेबसाइट पर हुए कन्वर्ज़न को Protected Audience API की नीलामी से चुने गए विज्ञापन से जोड़ा जा सकता है. उदाहरण के लिए, हो सकता है कि कोई उपयोगकर्ता आपके दिखाए गए प्रॉडक्ट विज्ञापन पर क्लिक करके, विज्ञापन देने वाले की साइट पर रीडायरेक्ट हो जाए और वहां से खरीदारी करे. ऐसे में, आपको खरीदारी को दिखाए गए विज्ञापन को एट्रिब्यूट करना हो. Attribution Reporting API को Protected Audience API के साथ इंटिग्रेट किया जाएगा. इससे पब्लिशर साइट के ऑक्शन डेटा और विज्ञापन देने वाले की साइट के कन्वर्ज़न डेटा को जोड़ा जा सकेगा.
हम इस समस्या का एक बेहतर समाधान तैयार कर रहे हैं. इस बीच, फ़ेंस किए गए फ़्रेम के लिए Ads Reporting API का इस्तेमाल किया जा सकता है. यह एक ट्रांज़िशन मैकेनिज्म है, जिसकी मदद से Attribution Reporting की मदद से इवेंट-लेवल की रिपोर्ट और इकट्ठा की जा सकने वाली रिपोर्ट जनरेट की जा सकती है. ध्यान दें कि ये रिपोर्ट, कन्वर्ज़न को मेज़र करने के लिए हैं. ये रिपोर्ट, इवेंट-लेवल और दर्शकों के जुड़ाव की उन रिपोर्ट से अलग होती हैं जो नीलामी और विज्ञापन फ़्रेम से जनरेट होती हैं. इस समस्या को हमेशा के लिए ठीक करने के लिए, हम एक खास लेख पब्लिश करेंगे.
ट्रांज़िशनल मैकेनिज्म
विज्ञापन बीकन को रजिस्टर करते समय, 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 का डेटा भी उसी यूनीक आईडी के साथ भेजा जाता है. बाद में, इन रिपोर्ट को एक साथ जोड़ने के लिए यूनीक आईडी का इस्तेमाल किया जा सकता है.
वर्कफ़्लो:
- नीलामी शुरू होने से पहले, खरीदार अपने प्रोग्रामैटिक रीयल-टाइम बिडिंग ("RTB") बिड रिस्पॉन्स के हिस्से के तौर पर, सेलर को एक यूनीक आईडी भेजता है. आईडी को
auctionId
जैसे वैरिएबल के तौर पर सेट किया जा सकता है. आईडी कोauctionConfig
मेंperBuyerSignals
के तौर पर पास किया जाता है और यह खरीदार के वर्कलेट में उपलब्ध हो जाता है. - नीलामी के दौरान, खरीदार विज्ञापन रेंडर होने के समय और कन्वर्ज़न के समय (
registerAdBeacon()
) ट्रिगर होने के लिए, विज्ञापन बीकन रजिस्टर कर सकता है.- विज्ञापन फ़्रेम इवेंट के लिए नीलामी के सिग्नल जोड़ने के लिए,
auctionId
को बीकन यूआरएल के क्वेरी पैरामीटर के तौर पर सेट करें. - किसी कन्वर्ज़न इवेंट के लिए ऑक्शन सिग्नल जोड़ने के लिए, बीकन यूआरएल में
auctionId
सेट करें.
- विज्ञापन फ़्रेम इवेंट के लिए नीलामी के सिग्नल जोड़ने के लिए,
- विज्ञापन रेंडर होने के दौरान, नीलामी के समय रजिस्टर किए गए बीकन, इवेंट-लेवल के डेटा से ट्रिगर या बेहतर किए जा सकते हैं.
reportEvent()
की मदद से फ़्रेम इवेंट को ट्रिगर करें और इवेंट-लेवल का डेटा पास करें.setReportEventDataForAutomaticBeacons()
की मदद से एट्रिब्यूशन बीकन में इवेंट-लेवल का पेलोड जोड़नाAttribution-Reporting-Register-Source
हेडर की मदद से विज्ञापन बीकन के अनुरोधों का जवाब देकर, विज्ञापन को Attribution Reporting API के साथ रजिस्टर करें.
- कन्वर्ज़न के समय, नीलामी के समय रजिस्टर किए गए सोर्स को ट्रिगर किया जा सकता है.
ऊपर बताई गई प्रोसेस के बाद, खरीदार के पास नीलामी रिपोर्ट, यूज़र ऐक्टिविटी रिपोर्ट, और कन्वर्ज़न रिपोर्ट होगी. ये सभी रिपोर्ट एक यूनीक पासकोड से जुड़ी होंगी. इसका इस्तेमाल, एक-दूसरे से जोड़ने के लिए किया जा सकता है.
अगर किसी सेलर को एट्रिब्यूशन डेटा का ऐक्सेस चाहिए, तो उस पर भी यह वर्कफ़्लो लागू होता है. साथ ही, सेलर registerAdBeacon()
के साथ भेजने के लिए यूनीक आईडी का इस्तेमाल भी कर सकता है. फ़्रेम में, reportEvent()
कॉल में एक डेस्टिनेशन प्रॉपर्टी होती है. इसका इस्तेमाल, खरीदार और सेलर, दोनों को रिपोर्ट भेजने के लिए किया जा सकता है. ध्यान दें कि ट्रिगर को सोर्स को एट्रिब्यूट करने के लिए, लैंडिंग पेज पर एसएसपी भी मौजूद होना चाहिए.
Protected Audience API का डेटा इकट्ठा करना
Private Aggregation API, खास ऑडियंस के डेटा की रिपोर्ट बनाने के लिए इस्तेमाल किया जाने वाला तरीका है. इससे बकेट में इकट्ठा किए गए डेटा की ज़्यादा जानकारी वाली रिपोर्ट जनरेट होती है. बकेट को एग्रीगेशन पासकोड से दिखाया जाता है. साथ ही, कुछ जानकारी को पासकोड में बदला जा सकता है.
उदाहरण के लिए, किसी विज्ञापन इंप्रेशन इवेंट की गिनती अलग-अलग बकेट में की जा सकती है. हर बकेट किसी अलग विज्ञापन कैंपेन को दिखाता है. खास जानकारी वाली रिपोर्ट, इवेंट-लेवल की रिपोर्ट से अलग होती है. इसमें हर इवेंट की जानकारी नहीं दिखती. इवेंट-लेवल की रिपोर्ट की मदद से, यह पता लगाया जा सकता है कि उपयोगकर्ता 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)
को कॉल करके रिपोर्ट सबमिट करने की प्रोसेस को ट्रिगर किया जा सकता है:
एक्सप्लेनर में दिए गए फ़्रेम से, निजी एग्रीगेशन के योगदान को ट्रिगर करने के बारे में ज़्यादा जानें.
नीलामी के नतीजों और परफ़ॉर्मेंस की रिपोर्टिंग
contributeToHistogramOnEvent(eventType, contribution)
के साथ नीलामी में जीत या हार के इवेंट से ट्रिगर होने पर, नीलामी के नतीजों को भी इकट्ठा किया जा सकता है. ऐसा तब किया जा सकता है, जब आपने रिज़र्व किए गए इवेंट टाइप के कीवर्ड (reserved.win, reserved.loss
और reserved.always
) डाले हों.
निजी एग्रीगेशन, बुनियादी वैल्यू की सूची उपलब्ध कराता है. इस सूची की मदद से, अपने योगदान की बकेट और वैल्यू का हिसाब लगाया जा सकता है. ऑक्शन के नतीजों के लिए उपलब्ध बुनियादी वैल्यू में, जीतने वाले विज्ञापन की बिड वैल्यू, दूसरी सबसे ज़्यादा बिड वैल्यू, और ऑक्शन से किसी बिड को अस्वीकार किए जाने की वजह शामिल होती है.
जब कोई बुनियादी वैल्यू दी जाती है, जैसे कि जीतने वाली बिड की रकम, तो उस वैल्यू में कितना जोड़ना या घटाना है, यह सेट किया जा सकता है. इसके बाद, आखिरी वैल्यू की रिपोर्ट की जा सकती है. उदाहरण के लिए, अगर जीतने वाली बिड को बुनियादी वैल्यू के तौर पर 500 रुपये दिया गया है, तो असल वैल्यू का हिसाब लगाने के लिए, अपनी बिड को घटाएं. इससे आपको असल वैल्यू 500 रुपये से 300 रुपये कम मिलेगी.
नीलामी के नतीजों की रिपोर्टिंग
चलिए, एक उदाहरण देखते हैं. इसमें आपने नीलामी में हिस्सा नहीं लिया है और आपको यह जानना है कि आपकी बिड, नीलामी की क्लीयरिंग कीमत से कितनी अलग थी.
यह जानने के लिए कि आपने नीलामी में कितनी कम बिड लगाई है, अपनी बिड की कीमत को जीतने वाली बिड की कीमत से घटाएं:
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 में नीलामी के सिग्नल सेव करना
शेयर किया गया स्टोरेज, बिना सेगमेंट वाला और क्रॉस-ऑरिजिन स्टोरेज होता है. इसमें आसानी से डेटा डाला जा सकता है. हालांकि, सेव की गई वैल्यू को पढ़ने और प्रोसेस करने के दौरान, इसे गेट की मदद से सुरक्षित रखा जाता है. शेयर किए गए स्टोरेज के एपीआई के लिए उपलब्ध गेट में से एक, निजी एग्रीगेशन है. शेयर किए गए स्टोरेज में मौजूद वैल्यू को सिर्फ़ वर्कलेट में जाकर पढ़ा जा सकता है. साथ ही, वर्कलेट में निजी एग्रीगेशन का इस्तेमाल करके, उन वैल्यू की रिपोर्ट की जा सकती है.
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);
शेयर किए गए स्टोरेज के बारे में ज़्यादा जानने के लिए, Protected Audience API की डेवलपर गाइड में शेयर किए गए स्टोरेज सेक्शन को देखें. साथ ही, एक्सप्लेनर, लाइव डेमो, और GitHub पर डेमो कोड देखें.
आगे क्या करना है?
हम आपके साथ मिलकर ऐसा एपीआई बनाना चाहते हैं जो सभी के काम आ सके.
एपीआई पर चर्चा करें
दूसरे प्राइवसी सैंडबॉक्स एपीआई की तरह, इस एपीआई को भी दस्तावेज़ के तौर पर दिखाया जाता है और सार्वजनिक तौर पर इस पर चर्चा की जाती है.
एपीआई के साथ प्रयोग करें
Protected Audience API के बारे में बातचीत में, एक्सपेरिमेंट किया जा सकता है और इसमें हिस्सा लिया जा सकता है.