एग्रीगेशन कुंजियां क्या होती हैं, Attribution Reporting API में इनका इस्तेमाल कैसे किया जाता है, और लक्ष्यों को कुंजियों में कैसे बदला जा सकता है.
विज्ञापन टेक्नोलॉजी से जुड़ी सेवा देने वाली कंपनी के तौर पर, आपको अलग-अलग प्रॉडक्ट कैटगरी के लिए कई जगहों पर कैंपेन चलाने हैं. आपको विज्ञापन देने वाले लोगों या कंपनियों को इन सवालों के जवाब देने में मदद करनी है:
- मेरे हर कैंपेन ने हर भौगोलिक क्षेत्र में, हर प्रॉडक्ट कैटगरी के कितने खरीदारी जनरेट किए?
- मेरे हर कैंपेन से, हर देश/इलाके में हर प्रॉडक्ट कैटगरी के लिए कितना रेवेन्यू जनरेट हुआ?
कई विज्ञापन टेक्नोलॉजी कंपनियां, विज्ञापन देने वाले लोगों या कंपनियों को अलग-अलग तरह के कन्वर्ज़न कॉन्फ़िगर करने के लिए कहती हैं. हालांकि, खरीदारी जैसे सबसे अहम कन्वर्ज़न पर फ़ोकस करना, यह पुष्टि करने का एक अच्छा तरीका है कि इन अहम इवेंट के लिए खास जानकारी वाले नतीजे सटीक हैं.
इसके लिए, आपको यह सोचना होगा कि डेटा इकट्ठा करने से पहले, आपको किन सवालों के जवाब चाहिए.
डाइमेंशन, कुंजियां, और वैल्यू
इन सवालों के जवाब देने के लिए, आइए डाइमेंशन, कुंजियों, और वैल्यू पर एक नज़र डालें.
आयाम
यहां बताए गए तरीके से, यह समझने के लिए कि आपके कैंपेन से कितना रेवेन्यू जनरेट हो रहा है, आपको इन डाइमेंशन को ट्रैक करना होगा:
- विज्ञापन कैंपेन आईडी: यह किसी कैंपेन का आइडेंटिफ़ायर होता है.
- जगह का आईडी: वह भौगोलिक क्षेत्र जहां विज्ञापन दिखाया गया था.
- प्रॉडक्ट कैटगरी: यह आपके तय किए गए प्रॉडक्ट का टाइप है.
विज्ञापन दिखाए जाने के समय (विज्ञापन दिखाने का समय), कैंपेन आईडी और इलाके के आईडी डाइमेंशन के बारे में पता चल जाता है. हालांकि, प्रॉडक्ट कैटगरी के बारे में ट्रिगर इवेंट से पता चलेगा. ऐसा तब होगा, जब उपयोगकर्ता कन्वर्ज़न पूरा करेगा (कन्वर्ज़न का समय).
इस उदाहरण के लिए, आपको जिन डाइमेंशन को ट्रैक करना है वे इस इमेज में दिखाए गए हैं:
एग्रीगेशन कुंजियां (बकेट) क्या होती हैं?
एग्रीगेशन की और बकेट, दोनों का मतलब एक ही है. एग्रीगेशन कुंजी का इस्तेमाल, रिपोर्ट को कॉन्फ़िगर करने के लिए इस्तेमाल किए जाने वाले ब्राउज़र एपीआई में किया जाता है. बकेट शब्द का इस्तेमाल, एग्रीगेट की जा सकने वाली और खास जानकारी वाली रिपोर्ट में किया जाता है. साथ ही, इसका इस्तेमाल एग्रीगेशन सेवा के एपीआई में भी किया जाता है.
एग्रीगेशन की (इसे छोटा करके की भी कहा जाता है), डेटा का एक ऐसा हिस्सा होता है जो ट्रैक किए जा रहे डाइमेंशन की वैल्यू दिखाता है. इसके बाद, डेटा को हर एग्रीगेशन की के हिसाब से एग्रीगेट किया जाता है.
उदाहरण के लिए, मान लें कि आपको प्रॉडक्ट कैटगरी, देश या इलाके का आईडी, और कैंपेन आईडी डाइमेंशन को ट्रैक करना है.
जब Geography ID 7 में मौजूद कोई उपयोगकर्ता, Campaign ID 12 के लिए विज्ञापन देखता है और बाद में Product category 25 में मौजूद कोई प्रॉडक्ट खरीदकर कन्वर्ज़न करता है, तो आपके पास एग्रीगेशन कुंजी सेट करने का विकल्प होता है. यह कुंजी, यहां दी गई इमेज में दिख रही कुंजी की तरह दिखती है:
आपको बाद में पता चलेगा कि एग्रीगेशन कुंजी, असल में इस तरह की नहीं दिखती. हालांकि, फ़िलहाल हम कुंजी में मौजूद जानकारी पर ध्यान देते हैं.
एग्रीगेट की जा सकने वाली वैल्यू क्या होती हैं?
हमने जिन डाइमेंशन के बारे में बताया है उनसे जुड़े सवालों के जवाब पाने के लिए, आपको यह जानकारी चाहिए:
- खरीदारी की संख्या (खरीदारी की गिनती). एग्रीगेट किए जाने और खास जानकारी वाली रिपोर्ट में उपलब्ध होने के बाद, यह खरीदारी की कुल संख्या (खास जानकारी वाली वैल्यू) होगी.
- हर खरीदारी से मिलने वाला रेवेन्यू (खरीदारी की वैल्यू). एकत्रित करने और खास जानकारी वाली रिपोर्ट में उपलब्ध कराने के बाद, यह कुल रेवेन्यू (खास जानकारी वाली वैल्यू) होगा.
इनमें से हर एक वैल्यू को एग्रीगेट किया जा सकता है. जैसे, एक कन्वर्ज़न के लिए खरीदारी की संख्या और एक कन्वर्ज़न के लिए खरीदारी की वैल्यू. एग्रीगेट की जा सकने वाली वैल्यू को, मेज़रमेंट के लक्ष्यों की वैल्यू के तौर पर देखा जा सकता है.
| सवाल | जोड़ी जा सकने वाली वैल्यू = मेज़रमेंट का लक्ष्य |
|---|---|
| कितनी खरीदारी… | खरीदारी की संख्या |
| मुझे कितना रेवेन्यू… | परचेज़ कन्वर्ज़न का कुल मान |
जब Geography ID 7 में मौजूद कोई उपयोगकर्ता, Campaign ID 12 का विज्ञापन देखता है और बाद में 12,000 रुपये (मान लें कि आपकी मुद्रा भारतीय रुपया है) में प्रॉडक्ट कैटगरी 25 का कोई प्रॉडक्ट खरीदता है, तो आपके पास एग्रीगेशन कुंजी और एग्रीगेट की जा सकने वाली वैल्यू सेट करने का विकल्प होता है. ये इस तरह दिखती हैं:
कुल मिलाकर इनसाइट जनरेट करने के लिए, कई उपयोगकर्ताओं के लिए हर कुंजी के हिसाब से एग्रीगेट की जा सकने वाली वैल्यू को जोड़ा जाता है. ये वैल्यू, खास जानकारी वाली रिपोर्ट में खास जानकारी वाली वैल्यू के तौर पर दिखती हैं.
मेज़रमेंट के लक्ष्यों के लिए, इकट्ठा की गई अहम जानकारी जनरेट करने के लिए, इकट्ठा की जा सकने वाली वैल्यू को जोड़ा जाता है.
ध्यान दें कि इस डायग्राम में डिक्रिप्ट करने की प्रोसेस को शामिल नहीं किया गया है. साथ ही, इसमें नॉइज़ को हटाकर एक आसान उदाहरण दिखाया गया है. अगले सेक्शन में, हम इस उदाहरण को नॉइज़ के साथ दिखाएंगे.
की और वैल्यू से लेकर रिपोर्ट तक
अब बात करते हैं कि एग्रीगेट की जा सकने वाली कुंजियां और वैल्यू, रिपोर्ट से कैसे जुड़ी होती हैं.
एग्रीगेट की जा सकने वाली रिपोर्ट
जब कोई उपयोगकर्ता किसी विज्ञापन पर क्लिक करता है या उसे देखता है और बाद में ग्राहक में बदल जाता है, तो ब्राउज़र को {aggregation key, aggregatable value} पेयर सेव करने का निर्देश दिया जाता है.
हमारे उदाहरण में, जब कोई उपयोगकर्ता किसी विज्ञापन पर क्लिक करता है या उसे देखता है और बाद में ग्राहक में बदल जाता है, तो ब्राउज़र को दो योगदान जनरेट करने का निर्देश दिया जाता है. हर मेज़रमेंट लक्ष्य के लिए एक योगदान जनरेट किया जाता है.
आपको बाद में पता चलेगा कि {aggregation key, aggregatable value} एग्रीगेट की जा सकने वाली रिपोर्ट, ठीक ऐसी नहीं दिखती. हालांकि, फ़िलहाल रिपोर्ट में मौजूद जानकारी पर ध्यान दें.
जब ब्राउज़र को दो कॉन्ट्रिब्यूशन जनरेट करने का निर्देश दिया जाता है, तो ब्राउज़र एक एग्रीगेट की जा सकने वाली रिपोर्ट जनरेट करता है. ऐसा तब होता है, जब वह कन्वर्ज़न को पिछली व्यू या क्लिक से मैच कर पाता है.
एग्रीगेट की जा सकने वाली रिपोर्ट में यह जानकारी शामिल होती है:
- आपके कॉन्फ़िगर किए गए योगदान.
- क्लिक या व्यू इवेंट और कन्वर्ज़न इवेंट के बारे में मेटाडेटा: वह साइट जहां कन्वर्ज़न हुआ और अन्य जानकारी. एग्रीगेट की जा सकने वाली रिपोर्ट में मौजूद सभी फ़ील्ड देखें.
एग्रीगेट की जा सकने वाली रिपोर्ट, JSON फ़ॉर्मैट में होती हैं. इनमें अन्य चीज़ों के साथ-साथ एक पेलोड फ़ील्ड भी शामिल होता है. इस फ़ील्ड का इस्तेमाल, फ़ाइनल खास जानकारी वाली रिपोर्ट के लिए डेटा इनपुट के तौर पर किया जाएगा.
इस पेलोड में योगदान की सूची होती है. इसमें हर योगदान, {aggregation key, aggregatable value} पेयर होता है:
bucket: एग्रीगेशन कुंजी, जिसे बाइटस्ट्रिंग के तौर पर कोड में बदला गया है.value: यह मेज़रमेंट के उस लक्ष्य के लिए एग्रीगेट की जा सकने वाली वैल्यू होती है. इसे बाइटस्ट्रिंग के तौर पर कोड किया जाता है.
यहां एक उदाहरण दिया गया है:
{
"data": [
{
"bucket": "111001001",
"value": "11111010000",
}
],
"operation": "histogram"
}
असल में, एग्रीगेट की जा सकने वाली रिपोर्ट को इस तरह से कोड किया जाता है कि बकेट और वैल्यू, पिछले उदाहरण से अलग दिखें. इसका मतलब है कि बकेट \u0000\u0000\x80\u0000 की तरह दिख सकती है. बकेट और वैल्यू, दोनों बाइटस्ट्रिंग हैं.
खास जानकारी वाली रिपोर्ट
एग्रीगेट की जा सकने वाली रिपोर्ट को कई ब्राउज़र और डिवाइसों (उपयोगकर्ताओं) पर इस तरह से एग्रीगेट किया जाता है:
- विज्ञापन से जुड़ी टेक्नोलॉजी कंपनी, कुंजियों के किसी सेट और एग्रीगेट की जा सकने वाली रिपोर्ट के किसी सेट के लिए खास जानकारी वाली रिपोर्ट का अनुरोध करती है. ये रिपोर्ट, कई अलग-अलग ब्राउज़र (उपयोगकर्ताओं) से मिलती हैं.
- एग्रीगेट की जा सकने वाली रिपोर्ट को एग्रीगेशन सेवा डिक्रिप्ट करती है.
- हर कुंजी के लिए, एग्रीगेट की जा सकने वाली रिपोर्ट से एग्रीगेट की जा सकने वाली वैल्यू को जोड़ा जाता है.
- जवाब में कुछ और जानकारी जोड़ दी जाती है.
इसका नतीजा, खास जानकारी वाली रिपोर्ट होती है. इसमें {एग्रीगेशन कुंजी, खास जानकारी वाली वैल्यू} पेयर का सेट होता है.
खास जानकारी वाली रिपोर्ट में, की-वैल्यू पेयर का JSON डिक्शनरी स्टाइल वाला सेट होता है. हर पेयर में ये शामिल होते हैं:
bucket: एग्रीगेशन कुंजी, जिसे बाइटस्ट्रिंग के तौर पर कोड में बदला गया है.value: यह किसी मेज़रमेंट लक्ष्य के लिए, दशमलव में दिखाई गई खास जानकारी वाली वैल्यू होती है. इसे एग्रीगेट की जा सकने वाली सभी उपलब्ध रिपोर्ट से जोड़ा जाता है. साथ ही, इसमें कुछ नॉइज़ भी जोड़ा जाता है.
उदाहरण:
[
{"bucket": "111001001", "value": "2558500"},
{"bucket": "111101001", "value": "3256211"},
{...}
]
असल में, खास जानकारी वाली रिपोर्ट को इस तरह से कोड किया जाता है कि बकेट और वैल्यू, उदाहरण में बताई गई वैल्यू से अलग दिखें. इसका मतलब है कि बकेट \u0000\u0000\x80\u0000 की तरह दिख सकती है. बकेट और वैल्यू, दोनों बाइटस्ट्रिंग हैं.
एग्रीगेशन कुंजियों का इस्तेमाल करना
एग्रीगेशन कुंजियां (बकेट) एक विज्ञापन टेक्नोलॉजी कंपनी तय करती है. आम तौर पर, ऐसा दो चरणों में किया जाता है: जब किसी विज्ञापन पर क्लिक किया जाता है या उसे देखा जाता है और जब कोई उपयोगकर्ता कन्वर्ज़न करता है.
कुंजी का स्ट्रक्चर
हम कुंजी का स्ट्रक्चर शब्द का इस्तेमाल करेंगे. इससे यह पता चलेगा कि कुंजी में डाइमेंशन का कौनसा सेट कोड में बदला गया है.
उदाहरण के लिए, कैंपेन आईडी × GeoID × प्रॉडक्ट कैटगरी एक मुख्य स्ट्रक्चर है.
कुंजी के टाइप
एक जैसी वैल्यू को कई उपयोगकर्ताओं/ब्राउज़र के लिए, किसी दी गई कुंजी के हिसाब से जोड़ा जाता है. हालांकि, हमने देखा है कि एग्रीगेट की जा सकने वाली वैल्यू, अलग-अलग मेज़रमेंट लक्ष्यों को ट्रैक कर सकती हैं. जैसे, खरीदारी की वैल्यू या खरीदारी की संख्या. आपको यह पुष्टि करनी है कि एग्रीगेशन सेवा, एक ही तरह की एग्रीगेट की जा सकने वाली वैल्यू को जोड़ेगी.
इसके लिए, हर कुंजी में डेटा का एक ऐसा हिस्सा कोड करें जिससे आपको पता चले कि खास जानकारी वाली वैल्यू क्या दिखाती है. यानी, यह कुंजी किस मेज़रमेंट लक्ष्य के बारे में बता रही है. इसके लिए, अपने मुख्य डाइमेंशन के लिए एक और डाइमेंशन बनाएं. यह डाइमेंशन, मेज़रमेंट के लक्ष्य के टाइप को दिखाता है.
ऊपर दिए गए उदाहरण के हिसाब से, इस मेज़रमेंट गोल टाइप की दो अलग-अलग वैल्यू हो सकती हैं:
- खरीदारी की संख्या, मेज़रमेंट के लक्ष्य का पहला टाइप है.
- परचेज़ कन्वर्ज़न की कुल वैल्यू, मेज़रमेंट के लक्ष्य का दूसरा टाइप है.
अगर आपके पास n मेज़रमेंट लक्ष्य हैं, तो मेज़रमेंट लक्ष्य टाइप में n अलग-अलग तरह की वैल्यू होंगी.
किसी कुंजी के डाइमेंशन को मेट्रिक के तौर पर देखा जा सकता है. उदाहरण के लिए, "हर कैंपेन और हर इलाके के हिसाब से, किसी प्रॉडक्ट की खरीदारी की संख्या".
कुंजी का साइज़, डाइमेंशन का साइज़
कुंजी का ज़्यादा से ज़्यादा साइज़ बिट में तय किया जाता है. इसका मतलब है कि पूरी कुंजी बनाने के लिए, बाइनरी में शून्य और एक की संख्या. एपीआई, 128 बिट की कुंजी की अनुमति देता है.
इस साइज़ से बहुत छोटी कुंजियां बनाई जा सकती हैं. हालांकि, छोटी कुंजियों से ज़्यादा नॉइज़ी वैल्यू मिलने की संभावना बढ़ जाती है. नॉइज़ (ग़ैर-ज़रूरी आवाज़) को समझना लेख में, नॉइज़ के बारे में ज़्यादा जानकारी दी गई है.
जैसा कि पहले बताया गया है, डाइमेंशन को एग्रीगेशन की में कोड में बदला जाता है. हर डाइमेंशन की कार्डिनैलिटी अलग-अलग होती है. इसका मतलब है कि डाइमेंशन में अलग-अलग वैल्यू की संख्या अलग-अलग होती है. कार्डिनलिटी के आधार पर, हर डाइमेंशन को कुछ बिट से दिखाया जाता है. n बिट की मदद से, 2n अलग-अलग विकल्प दिखाए जा सकते हैं.
उदाहरण के लिए, देश के डाइमेंशन की कार्डिनैलिटी 200 हो सकती है, क्योंकि दुनिया में करीब 200 देश हैं. इस डाइमेंशन को कोड में बदलने के लिए, कितने बिट की ज़रूरत होती है?
सात बिट में सिर्फ़ 27 = 128 अलग-अलग विकल्प सेव किए जा सकते हैं. यह ज़रूरी 200 विकल्पों से कम है.
आठ बिट में 28 = 256 अलग-अलग विकल्प सेव किए जा सकते हैं. यह ज़रूरी 200 विकल्पों से ज़्यादा है. इसलिए, इस डाइमेंशन को कोड में बदलने के लिए, n=8 बिट का इस्तेमाल किया जा सकता है.
कुंजी को कोड में बदलना
ब्राउज़र में कुंजियां सेट करते समय, उन्हें हेक्साडेसिमल में कोड में बदला जाना चाहिए. खास जानकारी वाली रिपोर्ट में, कुंजियां बाइनरी फ़ॉर्मैट में दिखेंगी. इन्हें बकेट कहा जाएगा.
पूरी कुंजी के लिए दो मुख्य हिस्से सेट करना
मान लें कि आपने इन डाइमेंशन को ट्रैक करने के लिए, किसी कुंजी का इस्तेमाल किया है:
- कैंपेन आईडी
- देश या इलाके का आईडी
- प्रॉडक्ट कैटगरी
विज्ञापन दिखाए जाने के समय (विज्ञापन दिखाने का समय), कैंपेन आईडी और इलाके के आईडी डाइमेंशन के बारे में पता चल जाता है. हालांकि, प्रॉडक्ट कैटगरी के बारे में तब पता चलेगा, जब उपयोगकर्ता कन्वर्ज़न पूरा करेगा (कन्वर्ज़न का समय).
असल में, इसका मतलब है कि आपको दो चरणों में एक कुंजी सेट करनी होगी:
- क्लिक या व्यू के समय, कुंजी का एक हिस्सा सेट किया जाएगा. यह हिस्सा, कैंपेन आईडी × जगह का आईडी होगा.
- आपको कन्वर्ज़न के समय, कुंजी का दूसरा हिस्सा यानी प्रॉडक्ट कैटगरी सेट करनी होगी.
कुंजियों के इन अलग-अलग हिस्सों को कुंजी के हिस्से कहा जाता है.
किसी कुंजी का हिसाब लगाने के लिए, उसके मुख्य हिस्सों का OR (v) लिया जाता है.
उदाहरण:
- सोर्स-साइड की पीस =
0x159 - ट्रिगर-साइड की का हिस्सा =
0x400 - Key =
0x159 v 0x400 = 0x559
मुख्य कॉम्पोनेंट को अलाइन करना
दो 64-बिट की कुंजियों को 128 बिट तक बढ़ाया गया है. इसके लिए, 64-बिट के फ़िलर या ऑफ़सेट (16 शून्य) का इस्तेमाल किया गया है. कुंजियों को OR-ing करने का मतलब है कि उन्हें एक साथ जोड़ना. इससे, यह समझना और पुष्टि करना आसान हो जाता है:
- सोर्स-साइड की पीस =
0xa7e297e7c8c8d0540000000000000000 - ट्रिगर-साइड की का हिस्सा =
0x0000000000000000674fbe308a597271 - Key =
0xa7e297e7c8c8d0540000000000000000 v 0x0000000000000000674fbe308a597271 = 0xa7e297e7c8c8d054674fbe308a597271
विज्ञापन पर क्लिक या व्यू के हिसाब से कई कुंजियां
हालांकि, एट्रिब्यूशन सोर्स इवेंट (विज्ञापन पर क्लिक या व्यू) के हिसाब से एक से ज़्यादा कुंजियां सेट की जा सकती हैं. उदाहरण के लिए, ये सेटिंग सेट की जा सकती हैं:
- यह एक ऐसी कुंजी है जो इलाके के आईडी × कैंपेन आईडी को ट्रैक करती है.
- यह एक और मुख्य कुकी है, जो क्रिएटिव टाइप × कैंपेन आईडी को ट्रैक करती है.
एक और उदाहरण के लिए, रणनीति B देखें.
डाइमेंशन को कुंजियों में कोड करना
खास जानकारी वाली रिपोर्ट का अनुरोध करते समय, आपको एग्रीगेशन सेवा को यह बताना होगा कि आपको किन मेट्रिक का ऐक्सेस चाहिए. इसके लिए, आपको एग्रीगेशन कुंजियों के किसी सेट के लिए खास जानकारी वाली रिपोर्ट का अनुरोध करना होगा.
खास जानकारी वाली रिपोर्ट में, {key, summary value} पेयर का रॉ डेटा होता है. साथ ही, इसमें कुंजी के बारे में कोई अतिरिक्त जानकारी नहीं होती. इसका मतलब है कि:
- जब कोई उपयोगकर्ता विज्ञापन देखता है या उस पर क्लिक करता है और बाद में कन्वर्ज़न करता है, तब आपको कुंजियां सेट करनी होती हैं. आपको उन डाइमेंशन की वैल्यू के आधार पर कुंजियां सेट करनी होंगी जिन्हें वे डाइमेंशन दिखाते हैं.
- जिन कुंजियों के लिए आपको खास जानकारी वाली रिपोर्ट का अनुरोध करना है उन्हें तय करते समय, आपको उन कुंजियों को तुरंत जनरेट करना होगा या ऐक्सेस करना होगा जो उपयोगकर्ता के विज्ञापन देखने या उस पर क्लिक करने और कन्वर्ज़न करने के दौरान सेट की गई थीं. ऐसा उन डाइमेंशन की वैल्यू के आधार पर किया जाता है जिनके लिए आपको एग्रीगेट किया गया डेटा देखना है.
की स्ट्रक्चर मैप का इस्तेमाल करके डाइमेंशन को कोड में बदलना
डाइमेंशन को कुंजियों में कोड में बदलने के लिए, कुंजियों को तय करने के बाद (विज्ञापन दिखाने से पहले), कुंजी स्ट्रक्चर मैप बनाया और मैनेज किया जा सकता है.
मुख्य स्ट्रक्चर मैप में, आपके हर डाइमेंशन और मुख्य स्ट्रक्चर में उनकी पोज़िशन को दिखाया जाता है.
असल में, मुख्य स्ट्रक्चर मैप बनाने और उन्हें मैनेज करने का मतलब है कि आपको डिकोडर लॉजिक को लागू करना होगा और उसे मैनेज करना होगा. अगर आपको ऐसा तरीका चाहिए जिसमें यह ज़रूरी न हो, तो इसके बजाय हैश पर आधारित तरीका इस्तेमाल करें.
यहां एक उदाहरण दिया गया है:
मान लें कि आपको कुछ कैंपेन, इलाकों, और प्रॉडक्ट के लिए खरीदारी और खरीदारी की वैल्यू, दोनों को ट्रैक करना है.
आपकी कुंजियों में प्रॉडक्ट कैटगरी, इलाके का आईडी, और कैंपेन आईडी डाइमेंशन होने चाहिए. इसके अलावा, आपको मेज़रमेंट के दो अलग-अलग लक्ष्यों—खरीदारी की संख्या और खरीदारी की वैल्यू—को ट्रैक करना है. इसलिए, आपको अपनी कुंजी में एक ऐसा डाइमेंशन जोड़ना होगा जो कुंजी के टाइप को ट्रैक करता हो. इससे यह तय किया जा सकेगा कि खास जानकारी वाली रिपोर्ट में {key, aggregatable value} पेयर मिलने पर, एग्रीगेट की जा सकने वाली वैल्यू असल में क्या दिखाती है.
मेज़रमेंट के इन लक्ष्यों के साथ, आपकी कुंजी में ये डाइमेंशन होते हैं:
- प्रॉडक्ट कैटगरी
- मेज़रमेंट लक्ष्य का टाइप
- देश या इलाके का आईडी
- कैंपेन आईडी
अब हर डाइमेंशन को देखते हुए, मान लें कि आपको इस्तेमाल के उदाहरण के लिए, इन चीज़ों को ट्रैक करना है:
- 29 अलग-अलग प्रॉडक्ट कैटगरी.
- आठ अलग-अलग भौगोलिक क्षेत्र: उत्तरी अमेरिका, मध्य अमेरिका, दक्षिण अमेरिका, यूरोप, अफ़्रीका, एशिया, कैरेबियन, और ओशनिया.
- 16 अलग-अलग कैंपेन.
यहां बताया गया है कि आपको अपनी कुंजी में हर डाइमेंशन को कोड में बदलने के लिए कितने बिट की ज़रूरत होगी:
- प्रॉडक्ट कैटगरी: 5 बिट (25 = 32 > 29).
- मेज़रमेंट के लक्ष्य का टाइप: 1 बिट. मेज़रमेंट का लक्ष्य, खरीदारी की संख्या या खरीदारी की वैल्यू में से कोई एक होता है. इसका मतलब है कि दो अलग-अलग संभावनाएं हैं. इसलिए, इसे सेव करने के लिए एक बिट काफ़ी है.
देश या इलाके का आईडी: 3 बिट (23 = 8). आपको Geography ID के लिए डाइमेंशन मैप भी तय करना होगा, ताकि यह पता चल सके कि हर बाइनरी वैल्यू किस भौगोलिक क्षेत्र को दिखाती है. आपके भौगोलिक आईडी डाइमेंशन के लिए डाइमेंशन मैप कुछ ऐसा दिख सकता है:
कुंजी में बाइनरी वैल्यू भूगोल 000 उत्तरी अमेरिका 001 मध्य अमेरिका 010 दक्षिण अमेरिका 011 यूरोप 100 अफ़्रीका 101 एशिया 110 कैरिबियन 111 ओशीनिया कैंपेन आईडी: 4 बिट (24 = 16)
इस स्ट्रक्चर के हिसाब से, कुंजियों की लंबाई 13 बिट (5 + 1 + 3 + 4) होगी.
इस उदाहरण के लिए, इन कुंजियों का मुख्य स्ट्रक्चर मैप कुछ ऐसा दिखेगा:
कुंजी में डाइमेंशन का क्रम तय करना आपके हाथ में होता है.
डाइमेंशन, मुख्य स्ट्रक्चर कैसे बनाते हैं, यह दिखाने के लिए हम बाइनरी प्रज़ेंटेशन का इस्तेमाल करेंगे. इसलिए, कैंपेन आईडी (पहले बिट) सबसे दाईं ओर है और प्रॉडक्ट कैटगरी (आखिरी बिट) सबसे बाईं ओर है.
हर डाइमेंशन में, सबसे अहम बिट—वह बिट जिसकी सबसे बड़ी संख्यात्मक वैल्यू होती है—सबसे बाईं ओर की बिट होती है. सबसे कम अहम बिट, वह बिट होती है जिसकी संख्यात्मक वैल्यू सबसे कम होती है. यह सबसे दाईं ओर वाली बिट होती है.
आइए, देखते हैं कि किसी कुंजी को डिकोड करने के लिए, कुंजी के स्ट्रक्चर वाले मैप का इस्तेमाल कैसे किया जाता है.
मान लें कि 0b1100100111100 एक उदाहरण कुंजी है. साथ ही, मान लें कि आपके पास यह जानने का कोई तरीका है कि यह कुंजी, पिछली इमेज में दिखाए गए कुंजी स्ट्रक्चर मैप के मुताबिक है.
मुख्य स्ट्रक्चर मैप के मुताबिक, यह कुंजी इस तरह से डिकोड होगी:
`11001 0 011 1100`
इसलिए, कुंजी 0b1100100111100, यूरोप में लॉन्च किए गए कैंपेन आईडी 12 के लिए, प्रॉडक्ट कैटगरी 25 की खरीदारी की संख्या को दिखाती है.
हैश फ़ंक्शन का इस्तेमाल करके डाइमेंशन को एन्कोड करना
की स्ट्रक्चर मैप का इस्तेमाल करने के बजाय, हैशिंग फ़ंक्शन का इस्तेमाल किया जा सकता है. इससे, कुंजियों को लगातार और भरोसेमंद तरीके से डाइनैमिक तौर पर जनरेट किया जा सकता है.
यह इस तरह काम करता है:
- हैशिंग एल्गोरिदम चुनें.
- विज्ञापन दिखाने के समय, एक ऐसी स्ट्रिंग जनरेट करें जिसमें वे सभी डाइमेंशन और उनकी वैल्यू शामिल हों जिन्हें आपको ट्रैक करना है. सोर्स-साइड की का मुख्य हिस्सा जनरेट करने के लिए, इस स्ट्रिंग को हैश करें. साथ ही, इसे ट्रिगर-साइड की के मुख्य हिस्से के साथ अलाइन करने के लिए, इसमें 64-बिट वाला ज़ीरो का सफ़िक्स जोड़ें. इससे OR को समझना आसान हो जाएगा.
- सोर्स-साइड कुंजी का हिस्सा
=<64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…> - ध्यान दें कि मुख्य स्ट्रक्चर मैप के तरीके में,
COUNTवही काम करता है जोmeasurementGoalType=0करता है.COUNTको थोड़ा छोटा और ज़्यादा साफ़ तौर पर बताया गया है.
- सोर्स-साइड कुंजी का हिस्सा
- कन्वर्ज़न के समय, एक ऐसी स्ट्रिंग जनरेट करें जिसमें आपको ट्रैक करने के लिए सभी डाइमेंशन और उनकी वैल्यू शामिल हों. ट्रिगर-साइड की का हिस्सा जनरेट करने के लिए, इस स्ट्रिंग को हैश करें और इसमें 64-बिट वाला ज़ीरो का प्रीफ़िक्स जोड़ें:
- Trigger-side key piece
=
<64-bit 00000000…><64-bit hex hash("productCategory=25")>
- Trigger-side key piece
=
- ब्राउज़र, कुंजी जनरेट करने के लिए इन मुख्य हिस्सों को OR करता है.
- 128-बिट एग्रीगेशन कुंजी
=<64-bit hex source-side key piece hash><64-bit hex source-side key piece hash>
- 128-बिट एग्रीगेशन कुंजी
- बाद में, जब आपको इस कुंजी के लिए खास जानकारी वाली रिपोर्ट का अनुरोध करना हो, तब इसे तुरंत जनरेट करें:
- अपनी पसंद के डाइमेंशन के आधार पर, सोर्स-साइड और ट्रिगर-साइड की का एक हिस्सा जनरेट करें. ठीक वैसे ही जैसे आपने पहले किया था.
- सोर्स-साइड कुंजी का हिस्सा
=<64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…> - ट्रिगर-साइड की का हिस्सा
=<64-bit 00000000…><64-bit hex hash("productCategory=25")> - trigger-side key piece =
toHex(hash("productCategory=25"))
- सोर्स-साइड कुंजी का हिस्सा
- ब्राउज़र की तरह ही, इन मुख्य हिस्सों को OR करें, ताकि वही कुंजी जनरेट हो सके जो ब्राउज़र ने पहले जनरेट की थी.
- 128-बिट एग्रीगेशन कुंजी
=<64-bit source-side key piece hash><64-bit source-side key piece hash>
- 128-बिट एग्रीगेशन कुंजी
- अपनी पसंद के डाइमेंशन के आधार पर, सोर्स-साइड और ट्रिगर-साइड की का एक हिस्सा जनरेट करें. ठीक वैसे ही जैसे आपने पहले किया था.
अगर हैश पर आधारित इस तरीके का इस्तेमाल किया जा रहा है, तो यहां कुछ काम की सलाह दी गई है:
- डाइमेंशन को हमेशा एक ही क्रम में रखें. इससे यह पक्का किया जाता है कि आपके हैश को भरोसेमंद तरीके से फिर से जनरेट किया जा सके. (
"COUNT, CampaignID=12, GeoID=7"से जनरेट किया गया हैश,"COUNT, GeoID=7, CampaignID=12"से जनरेट किए गए हैश से अलग होगा). ऐसा करने का एक आसान तरीका यह है कि डाइमेंशन को वर्णों और अंकों के हिसाब से क्रम में लगाया जाए. हम उदाहरण में यही करेंगे. हालांकि, हम डाइमेंशन में हमेशाCOUNTयाVALUEको पहले आइटम के तौर पर रखेंगे. ऐसा इसलिए, ताकि जानकारी को आसानी से पढ़ा जा सके. इसकी वजह यह है किCOUNTयाVALUE, अन्य सभी डाइमेंशन से थोड़ी अलग जानकारी को कोड करता है. - कुंजियों में इस्तेमाल किए जा रहे डाइमेंशन के सेट को ट्रैक करें. आपको ऐसे डाइमेंशन के आधार पर कुंजियां जनरेट नहीं करनी हैं जिनका आपने कभी इस्तेमाल नहीं किया है.
- अगर सही हैश फ़ंक्शन का इस्तेमाल किया जाता है, तो हैश टकराव कम ही होते हैं. हालांकि, पहले इस्तेमाल किए गए हैश की जांच करके (जिन्हें एग्रीगेशन सेवा से मिले नतीजों को समझने के लिए सेव किया जाना चाहिए) ऐसी नई कुंजियां इस्तेमाल करने से बचा जा सकता है जो पुरानी कुंजियों से टकराती हैं.
हर क्लिक या व्यू पर एक कन्वर्ज़न के उदाहरण में, हैश पर आधारित कुंजियों को इस्तेमाल करने का तरीका देखें.
कुल वैल्यू में शामिल की जा सकने वाली वैल्यू
जब कोई उपयोगकर्ता कन्वर्ज़न करता है, तो विज्ञापन टेक्नोलॉजी कंपनी, एग्रीगेट की जा सकने वाली वैल्यू सेट करती है.
उपयोगकर्ता की निजता को सुरक्षित रखने के लिए, हर उपयोगकर्ता के योगदान की एक सीमा तय की गई है. एक ही सोर्स (विज्ञापन पर क्लिक या व्यू) से जुड़ी सभी एग्रीगेट की जा सकने वाली वैल्यू में से कोई भी वैल्यू, योगदान की तय सीमा से ज़्यादा नहीं हो सकती.
हम इस सीमा को CONTRIBUTION_BUDGET कहेंगे. एक्सप्लेनर में, इस सीमा को L1 बजट कहा जाता है. हालांकि, यह CONTRIBUTION_BUDGET के बराबर ही होता है.
योगदान बजट के बारे में ज़्यादा जानने के लिए, खास जानकारी वाली रिपोर्ट के लिए योगदान बजट लेख पढ़ें.
उदाहरण: हर क्लिक या व्यू पर एक कन्वर्ज़न
उदाहरण के लिए, मान लें कि आपको इन सवालों के जवाब चाहिए:
- हर इलाके में, कौनसी प्रॉडक्ट कैटगरी सबसे ज़्यादा अहम हैं?
- हर इलाके में, कैंपेन की कौनसी रणनीतियां सबसे असरदार हैं?
यह भी मान लें कि आपको हर हफ़्ते की अहम जानकारी चाहिए.
आपको इन चीज़ों को भी ट्रैक करना होगा:
- 16 अलग-अलग कैंपेन.
- आठ अलग-अलग भौगोलिक क्षेत्र: उत्तरी अमेरिका, मध्य अमेरिका, दक्षिण अमेरिका, यूरोप, अफ़्रीका, एशिया, कैरेबियन, और ओशनिया.
- 29 अलग-अलग प्रॉडक्ट कैटगरी.
किसका आकलन करें
विज्ञापन टेक्नोलॉजी से जुड़ी कई कंपनियां, विज्ञापन देने वाले लोगों या कंपनियों को अलग-अलग तरह के कन्वर्ज़न कॉन्फ़िगर करने के लिए कहती हैं. हालांकि, खरीदारी जैसे सबसे अहम कन्वर्ज़न पर फ़ोकस करना, यह पुष्टि करने का एक अच्छा तरीका है कि इन अहम कन्वर्ज़न इवेंट के लिए एग्रीगेट किए गए नतीजे, ज़्यादा जानकारी वाले और सटीक हैं. दरअसल, जितनी ज़्यादा मेट्रिक मेज़र की जाती हैं, हर मेट्रिक के लिए आपका कॉन्ट्रिब्यूशन बजट उतना ही कम होता है. इसलिए, हर वैल्यू में नॉइज़ (अनचाहा डेटा) होने की संभावना उतनी ही ज़्यादा होती है. इसलिए, आपको यह ध्यान से चुनना होगा कि आपको क्या मेज़र करना है.
इस उदाहरण में, हम ऐसे कैंपेन सेटअप पर फ़ोकस करेंगे जो हर क्लिक या व्यू पर सिर्फ़ एक कन्वर्ज़न को मेज़र करते हैं: खरीदारी.
आपके पास अब भी खरीदारी की संख्या और खरीदारी की वैल्यू, दोनों को मेज़र करने का विकल्प होगा. साथ ही, कुल खरीदारी की वैल्यू और भौगोलिक आधार पर खरीदारी की वैल्यू जैसे कई अहम एग्रीगेट आंकड़ों को ऐक्सेस किया जा सकेगा. इससे, आपके योगदान के बजट के लिए आसान स्केलिंग के तरीके की पुष्टि करते समय, शोर को असरदार तरीके से मैनेज किया जाता है.
मुद्राओं के बारे में क्या जानकारी है?
अलग-अलग देशों/इलाकों में कैंपेन चलाने का मतलब है कि मुद्राओं को ध्यान में रखा जाना चाहिए. इसके लिए, ऐसा कुछ किया जा सकता है:
- एग्रीगेशन कुंजियों में मुद्रा को एक खास डाइमेंशन के तौर पर इस्तेमाल करें.
- इसके अलावा, कैंपेन आईडी से मुद्रा का पता लगाया जा सकता है और सभी मुद्राओं को रेफ़रंस मुद्राओं में बदला जा सकता है.
इस उदाहरण में, हम यह मान लेंगे कि कैंपेन आईडी से मुद्रा का पता लगाया जा सकता है. इससे, खरीदारी की किसी भी वैल्यू को उपयोगकर्ता की स्थानीय मुद्रा से आपकी पसंद की रेफ़रंस मुद्रा में बदला जा सकता है. उपयोगकर्ता के आइटम खरीदने पर, कन्वर्ज़न को तुरंत भी पूरा किया जा सकता है.
इस तकनीक की मदद से, एग्रीगेट की जा सकने वाली सभी वैल्यू एक ही रेफ़रंस मुद्रा में होती हैं. इसलिए, इन्हें जोड़कर खरीदारी की कुल एग्रीगेट वैल्यू जनरेट की जा सकती है. इसे खरीदारी की खास जानकारी वाली वैल्यू भी कहा जाता है.
लक्ष्यों को कुंजियों में बदलना
मेज़रमेंट के लक्ष्यों और मेट्रिक की मदद से, आपके पास अपनी मुख्य रणनीति के लिए कई विकल्प होते हैं. आइए, इनमें से दो रणनीतियों पर फ़ोकस करते हैं:
- रणनीति A: एक ग्रेन्यूलर की स्ट्रक्चर.
- रणनीति B: दो मोटे तौर पर तय की गई मुख्य संरचनाएं.
रणनीति A: एक डीप ट्री (एक ग्रेन्यूलर की स्ट्रक्चर)
रणनीति A में, एक ग्रेन्यूलर की स्ट्रक्चर का इस्तेमाल किया जाता है. इसमें वे सभी डाइमेंशन शामिल होते हैं जिनकी आपको ज़रूरत होती है:
आपकी सभी कुंजियां इसी स्ट्रक्चर का इस्तेमाल करती हैं.
आपने इस मुख्य स्ट्रक्चर को दो मुख्य टाइप में बांटा है, ताकि मेज़रमेंट के दो लक्ष्यों को पूरा किया जा सके.
- मुख्य टाइप 0: मेज़रमेंट के लक्ष्य का टाइप = 0. इसे खरीदारी की संख्या के तौर पर तय किया जाता है.
- मुख्य टाइप 1: मेज़रमेंट लक्ष्य का टाइप = 1. इसे आपको खरीदारी की वैल्यू के तौर पर तय करना है.
खास जानकारी वाली रिपोर्ट इस तरह दिखती हैं:
रणनीति A को "एक डीप ट्री" रणनीति के तौर पर देखा जा सकता है:
- खास जानकारी वाली रिपोर्ट में मौजूद हर वैल्यू, उन सभी डाइमेंशन से जुड़ी होती है जिन्हें ट्रैक किया जा रहा है.
- इन खास जानकारी वाली वैल्यू को, इन डाइमेंशन के साथ रोल अप किया जा सकता है. इसलिए, ये रोलअप उतने ही ज़्यादा हो सकते हैं जितने आपके पास डाइमेंशन हैं.
रणनीति A के तहत, आपको अपने सवालों के जवाब इस तरह देने होंगे:
| सवाल | जवाब दें |
|---|---|
| हर इलाके में, कौनसी प्रॉडक्ट कैटगरी सबसे ज़्यादा अहम हैं? | सभी कैंपेन के लिए, खास जानकारी वाली रिपोर्ट में मौजूद खरीदारी की कुल संख्या और वैल्यू को जोड़ता है. इससे आपको हर भौगोलिक आईडी × प्रॉडक्ट कैटगरी के हिसाब से खरीदारी की संख्या और वैल्यू मिलती है. हर इलाके के लिए, अलग-अलग प्रॉडक्ट कैटगरी की खरीदारी की वैल्यू और संख्या की तुलना करें. |
| हर इलाके में, कैंपेन की कौनसी रणनीतियां सबसे असरदार हैं? | सभी प्रॉडक्ट कैटगरी के लिए, खास जानकारी वाली रिपोर्ट में मौजूद खास जानकारी वाले परचेज़ की संख्या और वैल्यू का योग करें. इससे आपको कैंपेन आईडी × भौगोलिक आईडी के हिसाब से, खरीदारी की संख्या और वैल्यू मिलती है. हर क्षेत्र के लिए, अलग-अलग कैंपेन की खरीदारी की वैल्यू और संख्या की तुलना करें. |
रणनीति A का इस्तेमाल करके, इस तीसरे सवाल का जवाब भी सीधे तौर पर दिया जा सकता है:
"मेरे हर कैंपेन से, हर प्रॉडक्ट के लिए हर भौगोलिक क्षेत्र में कितना रेवेन्यू मिला?"
हालांकि, खास जानकारी में मौजूद वैल्यू में नॉइज़ हो सकता है. इसके बावजूद, यह पता लगाया जा सकता है कि हर कैंपेन के बीच मेज़र की गई वैल्यू में अंतर, सिर्फ़ नॉइज़ की वजह से नहीं है. नॉइज़ को समझना लेख में, ऐसा करने का तरीका जानें.
रणनीति B: दो छोटे ट्री (दो मोटे तौर पर मुख्य स्ट्रक्चर)
रणनीति B में, दो मोटे तौर पर तय किए गए मुख्य स्ट्रक्चर का इस्तेमाल किया जाता है. इनमें से हर एक में, आपके काम के डाइमेंशन का सबसेट शामिल होता है:
आपने इन मुख्य स्ट्रक्चर में से हर एक को दो मुख्य टाइप में बांटा है, ताकि मेज़रमेंट के दो लक्ष्यों को पूरा किया जा सके.
- मेज़रमेंट लक्ष्य का टाइप = 0. इसे खरीदारी की संख्या के तौर पर तय किया जाता है.
- मेज़रमेंट के लक्ष्य का टाइप = 1. इसे खरीदारी का वैल्यू के तौर पर तय किया जाता है.
आपको चार तरह की कुंजियां मिलती हैं:
- कुंजी का टाइप I-0: कुंजी का स्ट्रक्चर I, खरीदारी की संख्या.
- की टाइप I-1: की स्ट्रक्चर I, परचेज़ कन्वर्ज़न की कुल वैल्यू.
- मुख्य टाइप II-0: मुख्य स्ट्रक्चर II, खरीदारी की संख्या.
- कुंजी का टाइप II-1: कुंजी का स्ट्रक्चर II, परचेज़ कन्वर्ज़न की वैल्यू.
खास जानकारी वाली रिपोर्ट इस तरह दिखती हैं:
रणनीति B को "दो छोटे ट्री" वाली रणनीति माना जा सकता है:
- समरी रिपोर्ट में मौजूद खास जानकारी वाली वैल्यू, डाइमेंशन के दो छोटे सेट में से किसी एक पर मैप होती हैं.
- इन सेट में मौजूद हर डाइमेंशन के साथ, इन खास जानकारी वाली वैल्यू को रोल अप किया जा सकता है. इसका मतलब है कि ये रोलअप, विकल्प A की तरह ज़्यादा जानकारी वाले नहीं होते. ऐसा इसलिए, क्योंकि रोल अप करने के लिए कम डाइमेंशन होते हैं.
रणनीति B का इस्तेमाल करके, अपने सवालों के जवाब इस तरह दिए जा सकते हैं:
| सवाल | जवाब दें |
|---|---|
| हर इलाके में, कौनसी प्रॉडक्ट कैटगरी सबसे ज़्यादा अहम हैं? | खास जानकारी वाली रिपोर्ट में मौजूद, खरीदारी की गिनती और वैल्यू को सीधे तौर पर ऐक्सेस करें. |
| हर इलाके में, कैंपेन की कौनसी रणनीतियां सबसे असरदार हैं? | खास जानकारी वाली रिपोर्ट में मौजूद, खरीदारी की गिनती और वैल्यू को सीधे तौर पर ऐक्सेस करें. |
फ़ैसला: रणनीति A
रणनीति A ज़्यादा आसान है. इसमें सभी डेटा एक ही मुख्य स्ट्रक्चर के हिसाब से होता है. इसका मतलब यह भी है कि आपको सिर्फ़ एक मुख्य स्ट्रक्चर को बनाए रखना होता है.
हालांकि, रणनीति A में, आपको कुछ सवालों के जवाब देने के लिए, खास जानकारी वाली रिपोर्ट में मिली खास जानकारी वाली वैल्यू को जोड़ना होगा. खास जानकारी की इन वैल्यू में से हर एक में नॉइज़ है. उस डेटा को जोड़ने का मतलब है कि शोर को भी जोड़ा जा रहा है.
हालांकि, रणनीति B में ऐसा नहीं है. इसमें खास जानकारी वाली रिपोर्ट में दिखाई गई खास जानकारी की वैल्यू से ही आपको ज़रूरी जानकारी मिल जाती है. इसका मतलब है कि रणनीति B से, रणनीति A की तुलना में नॉइज़ का असर कम पड़ेगा.
आपको यह कैसे तय करना चाहिए कि किस रणनीति का इस्तेमाल करना है? विज्ञापन देने वाले मौजूदा लोगों या कंपनियों या कैंपेन के लिए, पुराने डेटा का इस्तेमाल करके यह तय किया जा सकता है कि कन्वर्ज़न की संख्या, रणनीति A या रणनीति B के लिए ज़्यादा सही है. हालांकि, नए विज्ञापन देने वाले लोगों या कंपनियों या कैंपेन के लिए, आपके पास ये विकल्प होते हैं:
- ज़्यादा जानकारी वाली कुंजियों (रणनीति A) की मदद से, एक महीने का डेटा इकट्ठा करें. डेटा इकट्ठा करने की अवधि बढ़ाने पर, खास जानकारी वाली वैल्यू ज़्यादा होंगी और गै़र-ज़रूरी डेटा कम होगा.
- हर हफ़्ते के कन्वर्ज़न की संख्या और खरीदारी की वैल्यू का सही अनुमान लगाएं.
इस उदाहरण में, मान लें कि हर हफ़्ते की खरीदारी की संख्या और खरीदारी की वैल्यू इतनी ज़्यादा है कि रणनीति A से मिलने वाले डेटा में नॉइज़ का प्रतिशत इतना ज़्यादा होगा कि आपको लगेगा कि यह आपके इस्तेमाल के उदाहरण के लिए सही है.
रणनीति A आसान है और इससे नॉइज़ का असर पड़ता है. हालांकि, इससे फ़ैसले लेने की आपकी क्षमता पर कोई असर नहीं पड़ता. इसलिए, आपने रणनीति A को चुना.
हैशिंग एल्गोरिदम चुनें
आपने कुंजियां जनरेट करने के लिए, हैश पर आधारित तरीका अपनाने का फ़ैसला किया है. इसके लिए, आपको हैशिंग एल्गोरिदम चुनना होगा, ताकि उस तरीके का इस्तेमाल किया जा सके.
मान लें कि आपने SHA-256 को चुना है. MD5 जैसे आसान और कम सुरक्षित एल्गोरिदम का भी इस्तेमाल किया जा सकता है.
ब्राउज़र में: कुंजियां और वैल्यू सेट करना
अब जब आपने कुंजी के स्ट्रक्चर और हैशिंग एल्गोरिदम का फ़ैसला कर लिया है, तो अब उपयोगकर्ताओं के विज्ञापन पर क्लिक करने या उन्हें देखने और बाद में कन्वर्ज़न करने पर, कुंजियां और वैल्यू रजिस्टर करने के लिए तैयार रहें.
इसके बाद, उन हेडर की खास जानकारी दी गई है जिन्हें आपको ब्राउज़र में कुकी और वैल्यू रजिस्टर करने के लिए सेट करना होगा:
सोर्स-साइड के मुख्य कॉम्पोनेंट सेट अप करना
जब कोई उपयोगकर्ता किसी विज्ञापन पर क्लिक करता है या उसे देखता है, तो Attribution-Reporting-Register-Aggregatable-Source हेडर में एग्रीगेशन कुंजियां सेट करें.
इस चरण में, हर कुंजी के लिए, सिर्फ़ कुंजी का वह हिस्सा सेट किया जा सकता है या कुंजी का वह हिस्सा सेट किया जा सकता है जो विज्ञापन दिखाने के समय पता होता है.
आइए, मुख्य जानकारी जनरेट करते हैं:
| कुंजी के आईडी… के लिए सोर्स-साइड कुंजी का हिस्सा | स्ट्रिंग, जिसमें वे डाइमेंशन वैल्यू शामिल हैं जिन्हें सेट करना है | इस स्ट्रिंग का हैश, हेक्स के तौर पर. इसे पहले 64 बिट (64/4 = 16 वर्ण1) तक काटा गया है | यह हेक्स हैश है. इसमें OR-ing को आसान बनाने के लिए, शून्य जोड़े गए हैं. यह सोर्स-साइड का मुख्य हिस्सा है. |
|---|---|---|---|
key_purchaseCount |
COUNT, CampaignID=12, GeoID=7 |
0x3cf867903fbb73ec | 0x3cf867903fbb73ec0000000000000000 |
key_purchaseValue |
VALUE, CampaignID=12, GeoID=7 |
0x245265f432f16e73 | 0x245265f432f16e730000000000000000 |
अब हम मुख्य जानकारी सेट करते हैं:
// Upon receiving the request from the publisher site
res.set(
"Attribution-Reporting-Register-Aggregatable-Source",
JSON.stringify([
{
"id": "key_purchaseCount",
"key_piece": "0x3cf867903fbb73ec0000000000000000"
},
{
"id": "key_purchaseValue",
"key_piece": "0x245265f432f16e730000000000000000"
}
])
);
ध्यान दें कि मुख्य आईडी, फ़ाइनल रिपोर्ट में नहीं दिखेंगे. इनका इस्तेमाल सिर्फ़ ब्राउज़र में कुंजियां सेट करते समय किया जाता है, ताकि सोर्स-साइड और ट्रिगर-साइड की कुंजी के हिस्सों को एक-दूसरे के साथ मैप किया जा सके और उन्हें एक पूरी कुंजी में जोड़ा जा सके.
ज़रूरी नहीं: इवेंट-लेवल की रिपोर्ट
अगर आपको एग्रीगेट की जा सकने वाली रिपोर्ट के साथ-साथ इवेंट-लेवल की रिपोर्ट का इस्तेमाल करना है, तो पुष्टि करें कि किसी दिए गए सोर्स के लिए, इवेंट-लेवल का डेटा (सोर्स इवेंट आईडी और ट्रिगर डेटा) और एग्रीगेशन कुंजी को मैच किया जा सकता है.
उदाहरण के लिए, अगर आपको इवेंट-लेवल की रिपोर्ट का इस्तेमाल करके ऐसे मॉडल चलाने हैं जिनसे यह पता चल सके कि किस तरह के विज्ञापन से सबसे ज़्यादा खरीदारी होती है, तो दोनों रिपोर्ट का इस्तेमाल किया जा सकता है.
उपयोगकर्ता ग्राहक में बदलता है
जब कोई उपयोगकर्ता कन्वर्ज़न करता है, तो आम तौर पर विज्ञापन टेक्नोलॉजी से जुड़े सर्वर को पिक्सल का अनुरोध भेजा जाता है. यह अनुरोध मिलने के बाद:
- कुंजी को पूरा करने के लिए, कन्वर्ज़न-साइड (ट्रिगर-साइड) के मुख्य हिस्से सेट करें.
इन मुख्य हिस्सों को हेडर
Attribution-Reporting-Register-Aggregatable-Trigger-Dataका इस्तेमाल करके सेट किया जाएगा. - हेडर
Attribution-Reporting-Register-Aggregatable-Valuesका इस्तेमाल करके, उस कन्वर्ज़न के लिए एग्रीगेट की जा सकने वाली वैल्यू सेट करें.
कुंजी को पूरा करने के लिए, ट्रिगर-साइड के मुख्य हिस्से सेट करें
आइए, मुख्य जानकारी जनरेट करते हैं:
| कुंजी आईडी… के लिए ट्रिगर-साइड कुंजी का हिस्सा | स्ट्रिंग, जिसमें वे डाइमेंशन वैल्यू शामिल हैं जिन्हें सेट करना है | इस स्ट्रिंग का हैश, हेक्स के तौर पर. इसे पहले 64 बिट (64/4 = 16 वर्ण1) तक काटा गया है | OR-ing को आसान बनाने के लिए, हेक्स हैश में शून्य जोड़े गए हैं. यह सोर्स-साइड की का मुख्य हिस्सा है. |
|---|---|---|---|
key_purchaseCount |
ProductCategory=25 |
0x1c7ce88c4904bbe2 | 0x0000000000000000f9e491fe37e55a0c |
key_purchaseValue |
(एक जैसा) | (एक जैसा) | (एक जैसा) |
अब हम मुख्य जानकारी सेट करते हैं:
// Upon receiving the pixel request from the advertiser site
res.set(
"Attribution-Reporting-Register-Aggregatable-Trigger-Data",
JSON.stringify([
// Each dictionary independently adds pieces to multiple source keys
{
"key_piece": "0x0000000000000000f9e491fe37e55a0c",
"source_keys": ["key_purchaseCount", "key_purchaseValue"]
},
])
);
ध्यान दें कि एक ही मुख्य हिस्से को कई कुंजियों में कैसे जोड़ा जा रहा है. इसके लिए, source_keys में कई कुंजी आईडी की सूची बनाएं. मुख्य हिस्सा, दोनों कुंजियों में जोड़ दिया जाएगा.
जोड़ी जा सकने वाली वैल्यू सेट करना
एग्रीगेट की जा सकने वाली वैल्यू सेट करने से पहले, आपको उन्हें बढ़ाना होगा, ताकि नॉइज़ कम हो सके.
मान लें कि प्रॉडक्ट टाइप 25 के लिए 52 डॉलर में एक खरीदारी की गई.
इन्हें सीधे तौर पर, एग्रीगेट की जा सकने वाली वैल्यू के तौर पर सेट नहीं किया जा सकता:
key_purchaseCount: 1 कन्वर्ज़नkey_purchaseValue: 52 डॉलर
इसके बजाय, एग्रीगेट की जा सकने वाली इन वैल्यू को रजिस्टर करने से पहले, आपको इन्हें स्केल करना होगा, ताकि नॉइज़ को कम किया जा सके.
आपको अपने योगदान बजट को दो लक्ष्यों के हिसाब से खर्च करना है. इसलिए, आपके पास योगदान बजट को दो हिस्सों में बांटने का विकल्प है.
इस मामले में, हर लक्ष्य को ज़्यादा से ज़्यादा CONTRIBUTION_BUDGET/2
(=65,536/2=32,768) असाइन किया जाता है.
मान लें कि साइट के सभी उपयोगकर्ताओं के खरीदारी के इतिहास के आधार पर, किसी एक उपयोगकर्ता के लिए खरीदारी की ज़्यादा से ज़्यादा वैल्यू 1,500 डॉलर है. ऐसा हो सकता है कि कुछ उपयोगकर्ता, तय की गई रकम से ज़्यादा खर्च करें. हालांकि, आपके पास इन उपयोगकर्ताओं को अनदेखा करने का विकल्प होता है.
खरीदारी की वैल्यू के लिए आपका स्केलिंग फ़ैक्टर यह होना चाहिए:
((CONTRIBUTION_BUDGET/2) / 1,500) = 32,768/1,500 = 21.8 ≈ 22
खरीदारी की संख्या के लिए आपका स्केलिंग फ़ैक्टर 32,768/1 = 32,768 है, क्योंकि आपने विज्ञापन पर क्लिक या व्यू (सोर्स इवेंट) के हिसाब से ज़्यादा से ज़्यादा एक खरीदारी को ट्रैक करने का फ़ैसला किया है.
अब इन वैल्यू को सेट किया जा सकता है:
key_purchaseCount: 1 × 32,768 = 32,768key_purchaseValue: 52 × 22 = 1,144
इनको इस तरह सेट किया जा सकता है. इसके लिए, खास हेडर
Attribution-Reporting-Register-Aggregatable-Values का इस्तेमाल करें:
// Instruct the browser to schedule-send a report
res.set(
"Attribution-Reporting-Register-Aggregatable-Values",
JSON.stringify({
"key_purchaseCount": 32768,
"key_purchaseValue": 1144,
})
);
एग्रीगेट की जा सकने वाली रिपोर्ट जनरेट की जाती है
ब्राउज़र, कन्वर्ज़न को पिछले व्यू या क्लिक से मैच करता है. इसके बाद, एग्रीगेट की जा सकने वाली रिपोर्ट जनरेट करता है. इसमें रिपोर्ट के मेटाडेटा के बगल में एन्क्रिप्ट (सुरक्षित) किया गया पेलोड शामिल होता है.
अगर एग्रीगेट की जा सकने वाली रिपोर्ट को सादे टेक्स्ट में पढ़ा जा सकता है, तो उसके पेलोड में मौजूद डेटा का एक उदाहरण यहां दिया गया है:
[
{
key: 0x3cf867903fbb73ecf9e491fe37e55a0c, // = source-side key piece OR conversion-side key piece for the key key_purchaseCount
value: 32768 // the scaled value for 1 conversion, in the context of [CONTRIBUTION_BUDGET/2]
},
{
key: 0x245265f432f16e73f9e491fe37e55a0c, // source-side key piece OR conversion-side key piece for the key key_purchaseValue
value: 1144 // the scaled value for $52, in the context of [CONTRIBUTION_BUDGET/2]
},
]
यहां, एक ही रिपोर्ट में दो अलग-अलग योगदान देखे जा सकते हैं.
खास जानकारी वाली रिपोर्ट का अनुरोध करना
- बैच में एग्रीगेट की जा सकने वाली रिपोर्ट. बैचिंग में दिए गए सुझावों का पालन करें.
- उन कुंजियों को जनरेट करें जिनके लिए आपको डेटा देखना है. उदाहरण के लिए, कैंपेन आईडी 12 × देश/इलाके का आईडी 7 × प्रॉडक्ट कैटगरी 25 के लिए,
COUNT(खरीदारी की कुल संख्या) औरVALUE(खरीदारी की कुल वैल्यू) का खास जानकारी वाला डेटा देखने के लिए:- सोर्स-साइड की का वह हिस्सा जनरेट करें जिसे आपने ब्राउज़र में सेट करते समय जनरेट किया था.
- ट्रिगर-साइड की का वह हिस्सा जनरेट करें जो आपने ब्राउज़र में सेट करते समय किया था.
| वह मेट्रिक जिसके लिए आपको अनुरोध करना है1 | सोर्स-साइड की का हिस्सा | ट्रिगर-साइड की मुख्य जानकारी | एग्रीगेशन सेवा से अनुरोध करने की कुंजी2 |
|---|---|---|---|
खरीदारी की कुल संख्या (COUNT) |
0x3cf867903fbb73ec 0000000000000000 |
0x00000000000000 00f9e491fe37e55a0c |
0x3cf867903fbb73 ecf9e491fe37e55a0c |
परचेज़ कन्वर्ज़न की कुल वैल्यू (VALUE) |
0x245265f432f16e73 0000000000000000 |
0x0000000000000000 f9e491fe37e55a0c |
0x245265f432f16e73 f9e491fe37e55a0c |
- इन कुंजियों के लिए, एग्रीगेशन सेवा से खास जानकारी वाले डेटा का अनुरोध करें.
खास जानकारी वाली रिपोर्ट को मैनेज करना
आखिर में, आपको खास जानकारी वाली एक रिपोर्ट मिलती है. यह कुछ ऐसी दिख सकती है:
[
{"bucket": "00111100111110000110011110010000001111111011101101110011111011001111100111100100100100011111111000110111111001010101101000001100",
"value": "2558500"},
{"bucket": "00100100010100100110010111110100001100101111000101101110011100111111100111100100100100011111111000110111111001010101101000001100",
"value": "687060"},
…
]
पहला बकेट, बाइनरी में COUNT कुंजी है. दूसरी बकेट, बाइनरी में VALUE कुंजी है.
ध्यान दें कि कुंजियां अलग-अलग हैं (COUNT बनाम VALUE). हालांकि, ये एक ही रिपोर्ट में शामिल हैं.
वैल्यू को कम करना
- 25,58,500 का मतलब है कि इस कुंजी के लिए की गई खरीदारी की संख्या को, पहले से कैलकुलेट किए गए स्केलिंग फ़ैक्टर से बढ़ाया गया है. खरीदारी की संख्या के लिए स्केलिंग फ़ैक्टर 32,768 था. लक्ष्य के योगदान वाले बजट को 25,58,500 से भाग दें: 25,58,500/32,768 = 156.15 खरीदारी.
- 6,87,060 → 6,87,060/22 = 31,230 डॉलर, परचेज़ कन्वर्ज़न की कुल वैल्यू.
इस वजह से, खास जानकारी वाली रिपोर्ट से आपको यह अहम जानकारी मिलती है:
- Within the reporting time period, campaign #12
run in Europe drove about 156 purchases (± noise)
for the product category #25
```
```text
- Within the reporting time period, campaign #12
run in Europe drove $31,230 of purchases (± noise)
for the product category #25.