एट्रिब्यूशन रिपोर्टिंग के लिए एग्रीगेशन कुंजियों को समझना

एग्रीगेशन कुंजियां क्या होती हैं, Attribution Reporting API में उनका इस्तेमाल कैसे होता है, और लक्ष्यों को कुंजियों में कैसे बदला जा सकता है.

विज्ञापन टेक्नोलॉजी से जुड़ी सेवा देने वाली एक कंपनी होने के नाते, आप कई जगहों पर अलग-अलग प्रॉडक्ट कैटगरी के लिए कैंपेन चला रही हैं. आप चाहें, तो विज्ञापन देने वाले लोगों या कंपनियों को इन सवालों के जवाब दें:

  1. हर इलाके में, मेरे हर कैंपेन से हर प्रॉडक्ट कैटगरी की कितनी खरीदारी हुई?
  2. हर इलाके में, मेरे हर कैंपेन से हर प्रॉडक्ट कैटगरी के लिए कितना रेवेन्यू हुआ?

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

इसके लिए, आपको डेटा इकट्ठा करने से पहले यह सोचना होगा कि आपको किन सवालों के जवाब देने हैं.

डाइमेंशन, कुंजियां, और वैल्यू

इन सवालों के जवाब के लिए, चलिए डाइमेंशन, कुंजियों, और वैल्यू पर एक नज़र डालते हैं.

डाइमेंशन

जैसा कि यहां बताया गया है, आपके कैंपेन से मिलने वाले रेवेन्यू को समझने के लिए, आपको इन डाइमेंशन को ट्रैक करना होगा:

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

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

इस उदाहरण के लिए, जिन डाइमेंशन को ट्रैक करना है उन्हें नीचे दी गई इमेज में दिखाया गया है:

कैंपेन आईडी, देश या इलाका आईडी, और प्रॉडक्ट कैटगरी.
ट्रैक करने वाले डाइमेंशन

एग्रीगेशन कुंजियां (बकेट) क्या होती हैं?

एग्रीगेशन कुंजी और बकेट एक ही चीज़ को दिखाते हैं. एग्रीगेशन कुंजी का इस्तेमाल उन ब्राउज़र एपीआई में किया जाता है जिनका इस्तेमाल रिपोर्ट कॉन्फ़िगर करने के लिए किया जाता है. बकेट शब्द का इस्तेमाल, एग्रीगेशन सेवा और खास जानकारी वाली रिपोर्ट के साथ-साथ एग्रीगेशन सेवा एपीआई में किया जाता है.

एग्रीगेशन कुंजी (कम शब्दों में कुंजी) डेटा का वह हिस्सा होती है जो ट्रैक किए जा रहे डाइमेंशन की वैल्यू दिखाती है. बाद में, डेटा को एग्रीगेशन की हर कुंजी के साथ एग्रीगेट किया जाता है.

उदाहरण के लिए, मान लें कि आपको प्रॉडक्ट कैटगरी, देश या इलाके का आईडी, और कैंपेन आईडी डाइमेंशन ट्रैक करने हैं.

जब 'जियोग्राफ़ी आईडी 7' में मौजूद कोई उपयोगकर्ता, कैंपेन आईडी 12 का विज्ञापन देखता है और बाद में प्रॉडक्ट कैटगरी 25 में कोई प्रॉडक्ट खरीदकर ग्राहक में बदलता है, तो आपके पास ऐसी एग्रीगेशन कुंजी सेट करने का विकल्प होता है जो नीचे दी गई इमेज में दिख रही एग्रीगेशन कुंजी से मेल खाती हो:

कन्वर्ज़न के लिए एग्रीगेशन कुंजी.

आप बाद में देखेंगे कि एग्रीगेशन कुंजी बिलकुल वैसी नहीं दिखती जैसी असल में दिखती है, लेकिन अभी के लिए आइए कुंजी में शामिल जानकारी पर फ़ोकस करते हैं.

एग्रीगेट की जा सकने वाली वैल्यू क्या होती हैं?

हमने जो डाइमेंशन बताए हैं उनसे जुड़े अपने सवालों के जवाब पाने के लिए, आपको यह जानकारी चाहिए:

  • खरीदारी की संख्या (खरीदारी की संख्या). इकट्ठा किए जाने और खास जानकारी वाली रिपोर्ट में उपलब्ध कराए जाने के बाद, यह खरीदारी की कुल संख्या (खास जानकारी वाली वैल्यू) होगी.
  • हर खरीदारी से मिलने वाला रेवेन्यू (परचेज़ कन्वर्ज़न की कुल वैल्यू). इकट्ठा किए जाने और खास जानकारी वाली रिपोर्ट में उपलब्ध होने के बाद, यह कुल रेवेन्यू (खास जानकारी की वैल्यू) होगा.

इनमें से हर एक कन्वर्ज़न के लिए खरीदारी की संख्या और एक कन्वर्ज़न के लिए परचेज़ वैल्यू—इकट्ठा की जा सकने वाली वैल्यू होती है. एग्रीगेट की जा सकने वाली वैल्यू को मेज़रमेंट के लक्ष्यों की वैल्यू माना जा सकता है.

सवाल एग्रीगेट की जा सकने वाली वैल्यू = मेज़रमेंट का लक्ष्य
कितनी खरीदारी... खरीदारी की संख्या
कितना रेवेन्यू... खरीदारी की वैल्यू

जब भूगोल आईडी 7 में मौजूद कोई उपयोगकर्ता कैंपेन आईडी 12 का विज्ञापन देखता है और बाद में 120 डॉलर में प्रॉडक्ट कैटगरी 25 का प्रॉडक्ट खरीदकर (यह मानते हुए कि आपकी मुद्रा डॉलर है) तो ग्राहक में बदलने के लिए, ऐसी एग्रीगेशन कुंजी और एग्रीगेट की जा सकने वाली वैल्यू सेट की जा सकती हैं, जो कुछ इस तरह दिखती हैं:

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

कई उपयोगकर्ताओं की इकट्ठा की जा सकने वाली वैल्यू को हर कुंजी के साथ जोड़ा जाता है, ताकि एग्रीगेट की गई इनसाइट जनरेट की जा सके. ये वैल्यू, खास जानकारी वाली रिपोर्ट में खास जानकारी के तौर पर दिखती हैं.

एग्रीगेट की गई इनसाइट जनरेट की जा रही हैं.

आपके मेज़रमेंट लक्ष्यों के लिए एग्रीगेट की गई इनसाइट जनरेट करने के लिए, इकट्ठा की जा सकने वाली वैल्यू को जोड़ा जाता है.

ध्यान दें कि इस डायग्राम में डिक्रिप्शन को छोड़ दिया गया है. साथ ही, बिना किसी शोर के एक आसान उदाहरण को दिखाया गया है. अगले सेक्शन में, हम इस उदाहरण के बारे में ज़्यादा जानकारी देंगे.

कुंजियों और वैल्यू से लेकर रिपोर्ट तक

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

इकट्ठा की जा सकने वाली रिपोर्ट

जब कोई उपयोगकर्ता किसी विज्ञापन पर क्लिक करता है या उसे देखने के बाद ग्राहक में बदलता है, तो आपको ब्राउज़र को एक {agregation key, aggregatable value} जोड़ी स्टोर करने का निर्देश देना होता है.

हमारे उदाहरण में, जब कोई उपयोगकर्ता किसी विज्ञापन पर क्लिक करता है या उसे देखने के बाद ग्राहक में बदलता है, तो आपने ब्राउज़र को दो योगदान (हर मेज़रमेंट लक्ष्य के लिए एक) जनरेट करने का निर्देश दिया है.

दो योगदान जनरेट किए जा रहे हैं.

बाद में आपको दिखेगा कि {agregation key, aggregatable value} एग्रीगेट की जा सकने वाली रिपोर्ट बिलकुल ऐसी नहीं दिखती—लेकिन अभी के लिए, आइए रिपोर्ट में शामिल जानकारी पर फ़ोकस करते हैं.

जब ब्राउज़र को दो योगदान जनरेट करने का निर्देश दिया जाता है, तो ब्राउज़र एक एग्रीगेट की जा सकने वाली रिपोर्ट जनरेट करता है. ऐसा तब होता है, जब कन्वर्ज़न किसी पिछले व्यू या क्लिक से मैच हो सकता हो.

इकट्ठा की जा सकने वाली रिपोर्ट में ये चीज़ें शामिल होती हैं:

नतीजे के तौर पर तैयार की गई ऐसी रिपोर्ट जिसे एग्रीगेट किया जा सकता है.

एग्रीगेट की जा सकने वाली रिपोर्ट, JSON फ़ॉर्मैट में होती हैं. इनमें अन्य चीज़ों के अलावा, एक पेलोड फ़ील्ड भी होता है. इसका इस्तेमाल खास जानकारी वाली फ़ाइनल रिपोर्ट में डेटा इनपुट के तौर पर किया जाएगा.

पेलोड में योगदान की एक सूची होती है. हर योगदान, {agregation key, aggregatable value} की जोड़ी होता है:

  • bucket: एग्रीगेशन कुंजी, जिसे बाइट स्ट्रिंग के तौर पर एन्कोड किया जाता है.
  • value: उस मेज़रमेंट लक्ष्य के लिए एग्रीगेट की जा सकने वाली वैल्यू, जिसे बाइट स्ट्रिंग के तौर पर एन्कोड किया जाता है.

यहां एक उदाहरण दिया गया है:

{
  "data": [
    {
      "bucket": "111001001",
      "value": "11111010000",
    }
  ],
  "operation": "histogram"
}

व्यावहारिक तौर पर, एग्रीगेट की जा सकने वाली रिपोर्ट को इस तरह एन्कोड किया जाता है कि बकेट और वैल्यू, पिछले उदाहरण (यानी बकेट \u0000\u0000\x80\u0000 की तरह दिख सकती हैं) से अलग दिखेंगी. बकेट और वैल्यू, दोनों बाइटस्ट्रिंग हैं.

खास जानकारी वाली रिपोर्ट

एग्रीगेट की जा सकने वाली रिपोर्ट, कई ब्राउज़र और डिवाइसों (उपयोगकर्ताओं) से इस तरह इकट्ठा की जाती हैं:

  • विज्ञापन टेक्नोलॉजी, दिए गए पासकोड के सेट के लिए खास जानकारी वाली रिपोर्ट का अनुरोध करती है. साथ ही, इसमें इकट्ठा की जा सकने वाली ऐसी रिपोर्ट भी होती हैं जो कई अलग-अलग ब्राउज़र (उपयोगकर्ताओं) से मिलती हैं.
  • एग्रीगेशन सेवा, एग्रीगेशन की सुविधा वाली रिपोर्ट डिक्रिप्ट करती है.
  • हर कुंजी के लिए, एग्रीगेट की जा सकने वाली रिपोर्ट से एग्रीगेट की जा सकने वाली वैल्यू जोड़ दी जाती हैं.
  • खास जानकारी की वैल्यू में नॉइज़ को जोड़ा जाता है.
खास जानकारी वाली रिपोर्ट में एग्रीगेशन रिपोर्ट के साथ-साथ एग्रीगेशन, डिक्रिप्शन, और नॉइज़ के नतीजे दिखते हैं.

नतीजा, एक खास जानकारी वाली रिपोर्ट होती है जिसमें {aggregation key, Summary value} पेयर का सेट होता है.

खास जानकारी वाली रिपोर्ट में, की-वैल्यू पेयर का JSON डिक्शनरी की स्टाइल वाला सेट होता है. हर पेयर में ये शामिल होते हैं:

  • bucket: एग्रीगेशन कुंजी, जिसे बाइट स्ट्रिंग के तौर पर एन्कोड किया जाता है.
  • value: किसी मेज़रमेंट लक्ष्य के लिए दशमलव में खास जानकारी. यह वैल्यू, इकट्ठा की जा सकने वाली सभी उपलब्ध रिपोर्ट से जुड़ी होती है. इसमें ज़्यादा गै़र-ज़रूरी डेटा भी शामिल होता है.

उदाहरण:

[
  {"bucket": "111001001", "value": "2558500"},
  {"bucket": "111101001", "value": "3256211"},
  {...}
]

व्यावहारिक तौर पर, खास जानकारी वाली रिपोर्ट को इस तरह एन्कोड किया जाता है कि बकेट और वैल्यू, उदाहरण में बताए गए तरीके से अलग दिख जाएंगी (यानी, बकेट \u0000\u0000\x80\u0000 की तरह दिख सकती है). बकेट और वैल्यू, दोनों बाइटस्ट्रिंग हैं.

एग्रीगेशन कुंजियां इस्तेमाल की जा रही हैं

एग्रीगेशन कुंजियां (बकेट) विज्ञापन टेक्नोलॉजी से जुड़ी सेवा देने वाली कोई कंपनी तय करती हैं. आम तौर पर, ये दो चरणों में तय की जाती हैं: किसी विज्ञापन पर क्लिक करने या उसे देखने के बाद और उपयोगकर्ता के ग्राहक में बदलने पर.

कुंजी का स्ट्रक्चर

हम कुंजी के तौर पर एन्कोड किए गए डाइमेंशन के सेट को तय करने के लिए, मुख्य स्ट्रक्चर शब्द का इस्तेमाल करेंगे.

उदाहरण के लिए, कैंपेन आईडी × GeoID × प्रॉडक्ट कैटगरी एक मुख्य स्ट्रक्चर है.

कुंजी का स्ट्रक्चर.

कुंजी के टाइप

एक से ज़्यादा उपयोगकर्ताओं/ब्राउज़र में मौजूद किसी कुंजी के लिए, एग्रीगेट की जा सकने वाली वैल्यू जोड़ी जाती हैं. हालांकि, हमने देखा है कि एग्रीगेट की जा सकने वाली वैल्यू, मेज़रमेंट के अलग-अलग लक्ष्यों को ट्रैक कर सकती हैं. जैसे, परचेज़ वैल्यू या परचेज़ काउंट. आपको यह पक्का करना है कि एग्रीगेशन सेवा में एक ही टाइप की एग्रीगेट की जा सकने वाली वैल्यू शामिल हों.

ऐसा करने के लिए, हर कुंजी में डेटा के उस हिस्से को कोड में बदलें जो आपको यह बताता है कि खास जानकारी वाली वैल्यू क्या बताती है. मेज़रमेंट का वह लक्ष्य जिससे यह पता चलता है कि यह कुंजी किस मेज़रमेंट लक्ष्य की जानकारी दे रही है. ऐसा करने का एक तरीका यह है कि आप अपनी कुंजी के लिए एक ऐसा अतिरिक्त डाइमेंशन बनाएं जो मेज़रमेंट के लक्ष्य का टाइप दिखाता हो.

हमारे पिछले उदाहरण में देखें कि मेज़रमेंट के इस लक्ष्य टाइप में दो अलग-अलग वैल्यू हो सकती हैं:

  • खरीदारी की संख्या, मेज़रमेंट के पहले तरह के लक्ष्य को दिखाती है.
  • खरीदारी की वैल्यू, मेज़रमेंट के दूसरे लक्ष्य का टाइप है.
मेज़रमेंट के लक्ष्य और मेज़रमेंट के लक्ष्य के टाइप.

अगर आपके पास n मेज़रमेंट लक्ष्य थे, तो मेज़रमेंट लक्ष्य टाइप में अलग-अलग तरह की वैल्यू n होगी.

कुंजी के डाइमेंशन को मेट्रिक माना जा सकता है. उदाहरण के लिए, "हर देश/इलाके में हर कैंपेन पर किसी खास प्रॉडक्ट की खरीदारी की संख्या".

कुंजी का साइज़, डाइमेंशन का साइज़

कुंजी का ज़्यादा से ज़्यादा साइज़ बिट में तय होता है—पूरी कुंजी बनाने के लिए शून्य और बाइनरी में मौजूद संख्याओं की संख्या. एपीआई 128 बिट की मुख्य लंबाई की अनुमति देता है.

इस साइज़ में बहुत बारीकी से जानकारी देने वाली कुंजियों का इस्तेमाल किया जा सकता है. हालांकि, अगर ज़्यादा जानकारी वाली कुंजियों की मदद से, ग़ैर-ज़रूरी वैल्यू ली जाती हैं, तो ज़्यादा ग़ैर-ज़रूरी वैल्यू मिल सकती हैं. शोर के बारे में ज़्यादा जानने के लिए, शोर को समझना लेख पढ़ें.

जैसा कि पहले बताया जा चुका है, डाइमेंशन को एग्रीगेशन कुंजी में एन्कोड किया जाता है. हर डाइमेंशन के लिए एक तय संख्या होती है. इसका मतलब है कि डाइमेंशन कितनी अलग-अलग वैल्यू ले सकता है. एलिमेंट की संख्या के आधार पर, हर डाइमेंशन को बिट की एक तय संख्या से दिखाया जाना चाहिए. n बिट की मदद से, 2n अलग-अलग विकल्प दिखाए जा सकते हैं.

उदाहरण के लिए, देश वाले डाइमेंशन में एलिमेंट की संख्या 200 हो सकती है, जबकि दुनिया में करीब 200 देश हैं. इस डाइमेंशन को कितने बिट की ज़रूरत है?

7 बिट में सिर्फ़ 27 = 128 अलग-अलग विकल्प सेव होंगे, जो ज़रूरी 200 से कम हैं.

8 बिट, 28 = 256 अलग-अलग विकल्पों को सेव करेंगे, जो कि ज़रूरी 200 से ज़्यादा हैं. इसलिए, इस डाइमेंशन को कोड में बदलने के लिए n=8 बिट का इस्तेमाल किया जा सकता है.

कुंजी एन्कोडिंग

ब्राउज़र में कुंजियां सेट करते समय, उन्हें हेक्साडेसिमल में एन्कोड किया जाना चाहिए. खास जानकारी वाली रिपोर्ट में, कुंजियां बाइनरी में दिखेंगी (और इन्हें बकेट के नाम से जाना जाएगा).

पूरी कुंजी बनाने के लिए दो मुख्य चीज़ें सेट करना

मान लें कि इन डाइमेंशन को ट्रैक करने के लिए, किसी पासकोड का इस्तेमाल किया जाता है:

  • कैंपेन का आईडी
  • देश या इलाका आईडी
  • प्रॉडक्ट कैटगरी

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

इसका मतलब है कि व्यावहारिक तौर पर, कुंजी को दो चरणों में सेट किया जा सकता है:

  1. आपको क्लिक या देखे जाने के समय पर कुंजी का एक हिस्सा—कैंपेन आईडी × भौगोलिक आईडी—सेट करना होगा.
  2. आपको कन्वर्ज़न के समय, कुंजी के दूसरे हिस्से यानी प्रॉडक्ट कैटगरी को सेट करना होगा.

चाबियों के इन अलग-अलग हिस्सों को की टुकड़े कहा जाता है.

किसी कुंजी की गिनती, उसके मुख्य टुकड़ों के XOR (^) को निकालकर किया जाता है.

XOR-ing कुंजी के टुकड़े.

उदाहरण:

  • सोर्स-साइड कुंजी का टुकड़ा = 0x159
  • ट्रिगर-साइड कुंजी का टुकड़ा = 0x400
  • कुंजी = 0x159 ^ 0x400 = 0x559

अहम हिस्सों को अलाइन करना

ध्यान से रखे गए 64-बिट फ़िलर/ऑफ़सेट (सोलह शून्य) का इस्तेमाल करके, दो 64-बिट कुंजी के हिस्सों को 128 बिट तक बढ़ाया जा सकता है. XOR-ing मुख्य टुकड़ों को जोड़ने के बराबर होता है, जिससे उनके साथ तर्क करना और पुष्टि करना आसान होता है:

  • सोर्स-साइड कुंजी का टुकड़ा = 0xa7e297e7c8c8d0540000000000000000
  • ट्रिगर-साइड कुंजी का टुकड़ा = 0x0000000000000000674fbe308a597271
  • कुंजी = 0xa7e297e7c8c8d0540000000000000000 ^ 0x0000000000000000674fbe308a597271 = 0xa7e297e7c8c8d054674fbe308a597271

हर विज्ञापन पर क्लिक या व्यू के लिए कई कुंजियां

व्यावहारिक तौर पर, हर एट्रिब्यूशन सोर्स इवेंट (विज्ञापन पर क्लिक या व्यू) के लिए एक से ज़्यादा कुंजियां सेट की जा सकती हैं. उदाहरण के लिए, इन्हें सेट किया जा सकता है:

  • भूगोल आईडी × कैंपेन आईडी को ट्रैक करने वाली कुंजी.
  • क्रिएटिव टाइप × कैंपेन आईडी को ट्रैक करने वाली एक और कुंजी.

एक और उदाहरण के लिए रणनीति B देखें.

डाइमेंशन को कुंजियों में एन्कोड करना

खास जानकारी वाली रिपोर्ट का अनुरोध करते समय, आपको एग्रीगेशन सेवा को यह बताना होगा कि आपको किन मेट्रिक का ऐक्सेस चाहिए. इसके लिए, आपको एग्रीगेशन कुंजियों के खास सेट की खास जानकारी वाली रिपोर्ट का अनुरोध करना होगा.

खास जानकारी वाली रिपोर्ट में रॉ {key, Summary value} पेयर होता है और कुंजी के बारे में कोई अतिरिक्त जानकारी नहीं होती है. इसका मतलब है कि:

  • जब उपयोगकर्ता किसी विज्ञापन को देखता है या किसी विज्ञापन पर क्लिक करता है और बाद में ग्राहक में बदलता है, तब कुंजियों को सेट करते समय, उनकी ओर से दिखाए जाने वाले डाइमेंशन की वैल्यू के आधार पर कुंजियां सेट करनी होंगी.
  • आपको जिन कुंजियों के लिए खास जानकारी वाली रिपोर्ट का अनुरोध करना है उन्हें तय करते समय, आपको उन कुंजियों को भरोसेमंद तरीके से जनरेट या ऐक्सेस करना होगा जो उपयोगकर्ता के किसी विज्ञापन को देखने या उस पर क्लिक करने और ग्राहक में बदलने पर सेट की गई थीं. ऐसा उन डाइमेंशन की वैल्यू पर आधारित होता है जिनके लिए आपको कुल डेटा देखना है.

मुख्य संरचना मैप का इस्तेमाल करके डाइमेंशन को कोड में बदलना

डाइमेंशन को कुंजियों में एन्कोड करने के लिए, अपनी कुंजियां तय करने (विज्ञापन दिखाने के समय से पहले) करके, समय से पहले एक 'की स्ट्रक्चर मैप' बनाया और मैनेज किया जा सकता है.

'की स्ट्रक्चर मैप' आपके हर डाइमेंशन और कुंजी में उनकी जगह को दिखाता है.

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

यहां एक उदाहरण दिया गया है:

मान लें कि आपको खास कैंपेन, भौगोलिक क्षेत्रों, और प्रॉडक्ट के लिए, परचेज़ और परचेज़ वैल्यू, दोनों को ट्रैक करना है.

प्रॉडक्ट कैटगरी, देश/इलाके का आईडी, और कैंपेन आईडी, आपकी कुंजियों में डाइमेंशन के तौर पर होने चाहिए. इसके अलावा, अगर आपको मेज़रमेंट के दो अलग-अलग लक्ष्यों यानी खरीदारी की संख्या और परचेज़ वैल्यू को ट्रैक करना है, तो आपको अपनी कुंजी में एक ऐसा डाइमेंशन जोड़ना होगा जो मुख्य टाइप को ट्रैक करता हो. इसकी मदद से, खास जानकारी वाली रिपोर्ट में {key, aggregatable value} जोड़े जाने के बाद, यह तय किया जा सकेगा कि एग्रीगेशन वाली वैल्यू असल में क्या दिखाती है.

मेज़रमेंट के इन लक्ष्यों के साथ, आपकी कुंजी में ये डाइमेंशन होते हैं:

  • प्रॉडक्ट कैटगरी
  • मेज़रमेंट के लक्ष्य का टाइप
  • देश या इलाका आईडी
  • कैंपेन का आईडी

अब, हर डाइमेंशन को देखते हुए, मान लेते हैं कि आपके इस्तेमाल के उदाहरण के लिए आपको नीचे दी गई जानकारी ट्रैक करनी होगी:

  • प्रॉडक्ट की 29 कैटगरी.
  • आठ अलग-अलग भौगोलिक क्षेत्र: उत्तरी अमेरिका, मध्य अमेरिका, दक्षिण अमेरिका, यूरोप, अफ़्रीका, एशिया, कैरेबियन, और ओशिएनिया.
  • 16 अलग-अलग कैंपेन.

अपनी कुंजी के हर डाइमेंशन को कोड में बदलने के लिए ज़रूरी बिट की संख्या यहां दी गई है:

  • प्रॉडक्ट कैटगरी: 5 बिट (25 = 32 > 29).
  • मेज़रमेंट का लक्ष्य टाइप: 1 बिट. मेज़रमेंट का लक्ष्य, खरीदारी की संख्या या परचेज़ वैल्यू है. इसका मतलब है कि दो अलग-अलग संभावनाएं हैं. इसलिए, इसे स्टोर करने के लिए एक बिट काफ़ी होता है.
  • भूगोल आईडी: 3 बिट (23 = 8). हर बाइनरी वैल्यू किस भौगोलिक क्षेत्र को दिखाती है, यह जानने के लिए आपको भूगोल आईडी के लिए डाइमेंशन मैप भी तय करना होगा. आपके देश या इलाके के आईडी वाले डाइमेंशन के लिए डाइमेंशन मैप, ऐसा दिख सकता है:

    कुंजी में बाइनरी वैल्यू देश या इलाका
    000 उत्तरी अमेरिका
    001 मध्य अमेरिका
    010 दक्षिणी अमेरिका
    011 यूरोप
    100 अफ़्रीका
    101 एशिया
    110 कैरिबियन
    111 ओसीनिया

  • कैंपेन आईडी: 4 बिट (24 = 16)

इस स्ट्रक्चर के बाद वाली कुंजियां 13 बिट (5 + 1 + 3 + 4) होंगी.

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

मुख्य स्ट्रक्चर वाला मैप.

कुंजी के डाइमेंशन का क्रम आपके हिसाब से तय होता है.

यह समझाने के लिए कि डाइमेंशन, मुख्य स्ट्रक्चर कैसे बनाते हैं, हम बाइनरी रिप्रज़ेंटेशन का इस्तेमाल करेंगे. इसलिए, कैंपेन आईडी (फ़र्स्ट बिट) सबसे दाईं ओर और प्रॉडक्ट कैटगरी (लास्ट बिट) सबसे बाईं ओर है.

हर डाइमेंशन में, सबसे अहम बिट—जिसमें सबसे ज़्यादा न्यूमेरिक वैल्यू होती है—यानी सबसे बाईं ओर मौजूद बिट. सबसे कम महत्वपूर्ण बिट—जिसका सबसे छोटा संख्यात्मक मान होता है—सबसे दाईं ओर का बिट होता है.

चलिए देखते हैं कि किसी कुंजी को डिकोड करने के लिए आप की स्ट्रक्चर मैप का इस्तेमाल कैसे करेंगे.

मान लीजिए कि 0b1100100111100 को एक आर्बिट्रेरी उदाहरण कुंजी के रूप में लेते हैं और मान लेते हैं कि आपके पास यह जानने का कोई तरीका है कि यह कुंजी पिछले उदाहरण में मुख्य स्ट्रक्चर मैप का पालन करती है.

की स्ट्रक्चर मैप के मुताबिक, यह बटन 11001 0 011 1100 में डिकोड हो जाएगा.

इसलिए, 0b1100100111100 कुंजी, यूरोप में लॉन्च किए गए कैंपेन आईडी 12 के लिए, प्रॉडक्ट कैटगरी 25 की खरीदारी की संख्या दिखाती है.

हैश फ़ंक्शन का इस्तेमाल करके डाइमेंशन को कोड में बदलना

की स्ट्रक्चर मैप का इस्तेमाल करने के बजाय, डाइनैमिक तौर पर एक समान और भरोसेमंद तरीके से कुंजियां जनरेट करने के लिए हैशिंग फ़ंक्शन का इस्तेमाल किया जा सकता है.

यह इस तरह से काम करता है:

  1. कोई हैशिंग एल्गोरिदम चुनें.
  2. विज्ञापन दिखाते समय, ऐसी स्ट्रिंग जनरेट करें जिसमें वे सभी डाइमेंशन शामिल हों जिन्हें आपको ट्रैक करना है. साथ ही, उनकी वैल्यू भी शामिल करें. सोर्स-साइड की कुंजी जनरेट करने के लिए, इस स्ट्रिंग को हैश करें और शून्यों के 64-बिट सफ़िक्स को जोड़कर देखें, ताकि इसे ट्रिगर-साइड की कुंजी के साथ अलाइन किया जा सके. इससे XOR को हल करना आसान हो जाएगा.
    • सोर्स-साइड कुंजी का टुकड़ा
      = <64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…>
    • ध्यान दें कि COUNT, मुख्य स्ट्रक्चर मैप वाले तरीके में उसी चीज़ को measurementGoalType=0 के तौर पर कोड में बदलता है. COUNT ज़्यादा बेहतर और साफ़ है.
  3. कन्वर्ज़न के समय, ऐसी स्ट्रिंग जनरेट करें जिसमें वे सभी डाइमेंशन शामिल हों जिन्हें आपको ट्रैक करना है. साथ ही, उनकी वैल्यू भी शामिल करें. ट्रिगर-साइड कुंजी का टुकड़ा जनरेट करने के लिए, इस स्ट्रिंग को हैश करके शून्य का 64-बिट प्रीफ़िक्स जोड़ें:
    • ट्रिगर-साइड कुंजी का टुकड़ा = <64-bit 00000000…><64-bit hex hash("productCategory=25")>
  4. ब्राउज़र कुंजी जनरेट करने के लिए, इन कुंजी के हिस्सों को XORs करता है.
    • 128-बिट एग्रीगेशन कुंजी
      = <64-bit hex source-side key piece hash><64-bit hex source-side key piece hash>
  5. बाद में, जब आप इस पासकोड की खास जानकारी वाली रिपोर्ट का अनुरोध करने के लिए तैयार हों, तो उसे तुरंत जनरेट करें:
    • अपनी दिलचस्पी वाले डाइमेंशन के आधार पर, सोर्स-साइड और ट्रिगर-साइड कुंजी जनरेट करें, जैसा कि आपने पहले किया था.
      • सोर्स-साइड कुंजी का टुकड़ा
        = <64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…>
      • ट्रिगर-साइड कुंजी का टुकड़ा
        = <64-bit 00000000…><64-bit hex hash("productCategory=25")>
      • ट्रिगर-साइड कुंजी का टुकड़ा = toHex(hash("productCategory=25"))
    • ब्राउज़र की तरह ही, इन मुख्य हिस्सों को XOR करके वही कुंजी जनरेट करें जिसे ब्राउज़र ने पहले जनरेट किया था.
      • 128-बिट एग्रीगेशन कुंजी
        = <64-bit source-side key piece hash><64-bit source-side key piece hash>

अगर हैश पर आधारित इस तरीके का इस्तेमाल किया जा रहा है, तो ये कुछ सलाह दी गई हैं:

  • डाइमेंशन के लिए हमेशा एक जैसे क्रम का इस्तेमाल करें. इससे यह पक्का होता है कि आपके हैश फिर से जनरेट किए जा सकते हैं. ("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 में, आप दो अनुमानित मुख्य स्ट्रक्चर इस्तेमाल करते हैं. हर स्ट्रक्चर में उन डाइमेंशन का सबसेट शामिल होता है जिनकी आपको ज़रूरत है:

की का स्ट्रक्चर 1 और मुख्य स्ट्रक्चर 2.

मेज़रमेंट के दो लक्ष्यों को पूरा करने के लिए, इनमें से हर मुख्य स्ट्रक्चर को दो मुख्य टाइप में बांटा जाता है.

  • मेज़रमेंट का लक्ष्य टाइप = 0 है, जिसे खरीदारी की संख्या के तौर पर तय किया जाता है.
  • मेज़रमेंट का लक्ष्य टाइप = 1, जिसे परचेज़ वैल्यू के तौर पर तय करने का फ़ैसला लिया जाता है.

आखिर में आपको चार कुंजी टाइप मिलती हैं:

  • कुंजी का टाइप I-0: मुख्य स्ट्रक्चर I, खरीदारी की संख्या.
  • कुंजी का टाइप I-1: मुख्य स्ट्रक्चर I, परचेज़ वैल्यू.
  • कुंजी प्रकार II-0: कुंजी संरचना II, खरीदारी की संख्या.
  • कुंजी प्रकार II-1: कुंजी संरचना II, खरीदारी मूल्य.

खास जानकारी वाली रिपोर्ट इस तरह दिखती हैं:

समरी रिपोर्ट रणनीति B.

रणनीति B को "दो उथले पेड़" की रणनीति माना जा सकता है:

  • समरी रिपोर्ट में मौजूद समरी वैल्यू, डाइमेंशन के दो छोटे सेट में से किसी एक सेट को मैप करती हैं.
  • इन खास जानकारी वाली वैल्यू को इन सेट में मौजूद हर डाइमेंशन के साथ रोल अप किया जा सकता है. इसका मतलब है कि ये रोलअप, विकल्प A की तरह डीप नहीं हैं. इसकी वजह यह है कि रोलअप करने के लिए, इनमें कम डाइमेंशन होते हैं.

रणनीति B के साथ, आपको अपने सवालों के जवाब इस तरह देने होंगे:

सवाल जवाब
हर क्षेत्र में कौनसी प्रॉडक्ट कैटगरी सबसे ज़्यादा अहम हैं? खास जानकारी वाली रिपोर्ट में मौजूद खरीदारी की संख्याओं और वैल्यू को सीधे ऐक्सेस करें.
हर इलाके में कौनसी कैंपेन रणनीतियां सबसे ज़्यादा असरदार हैं? खास जानकारी वाली रिपोर्ट में मौजूद खरीदारी की संख्याओं और वैल्यू को सीधे ऐक्सेस करें.

फ़ैसला: रणनीति A

रणनीति A आसान है; सभी डेटा एक ही कुंजी स्ट्रक्चर का पालन करता है, जिसका यह भी मतलब है कि आपके पास सिर्फ़ एक मुख्य स्ट्रक्चर है.

हालांकि, रणनीति A में, आपको खास जानकारी वाली रिपोर्ट में मिलने वाली खास जानकारी को शामिल करना होगा. इससे आपको अपने कुछ सवालों के जवाब पाने में मदद मिलेगी. इन समरी वैल्यू में ग़ैर-ज़रूरी है. उस डेटा को जोड़कर, आप शोर को भी जोड़ रहे हैं.

रणनीति B के साथ ऐसा नहीं होता, क्योंकि खास जानकारी वाली रिपोर्ट में दिखाए गए समरी वैल्यू से आपको ज़रूरी जानकारी पहले से ही मिल जाती है. इसका मतलब है कि रणनीति B की वजह से, रणनीति A की तुलना में नॉइज़ का असर कम होगा.

आपको कैसे तय करना चाहिए कि किस रणनीति का इस्तेमाल करना चाहिए? मौजूदा विज्ञापन देने वालों या कैंपेन के लिए, पुराने डेटा पर भरोसा करके यह तय किया जा सकता है कि कन्वर्ज़न की संख्या, रणनीति A या रणनीति B के लिए ज़्यादा सही है या नहीं. हालांकि, विज्ञापन देने वाले नए लोगों या कंपनियों या कैंपेन के लिए, ये काम किए जा सकते हैं:

  • विस्तृत कुंजियों (Strategy A) के ज़रिए आप एक महीने का डेटा इकट्ठा कर सकते हैं. डेटा इकट्ठा करने की अवधि को बढ़ाया जा रहा है. इसलिए, खास जानकारी की वैल्यू ज़्यादा होंगी और शोर की अवधि कम होगी.
  • हर हफ़्ते के कन्वर्ज़न की संख्या और खरीदारी की वैल्यू का सही तरीके से आकलन करें.

इस उदाहरण में, मान लें कि हर हफ़्ते की गई खरीदारी की संख्या और परचेज़ वैल्यू काफ़ी ज़्यादा है. इस वजह से, रणनीति A के आधार पर गै़र-ज़रूरी डेटा का प्रतिशत, आपके इस्तेमाल के उदाहरण के हिसाब से सही है.

रणनीति A आसान है और इससे नॉइज़ इंपैक्ट है, जिससे फ़ैसले लेने की आपकी क्षमता पर कोई असर नहीं पड़ता. इसलिए, आपने रणनीति A को अपनाया.

कोई हैशिंग एल्गोरिदम चुनें

पासकोड जनरेट करने के लिए, आपको हैश पर आधारित तरीके का इस्तेमाल करना होगा. ऐसा करने के लिए, आपको उस तरीके का इस्तेमाल करने के लिए एक हैशिंग एल्गोरिदम चुनना होगा.

मान लें कि आपने SHA-256 को चुना है. आसान और कम सुरक्षित एल्गोरिदम, जैसे कि MD5 का भी इस्तेमाल किया जा सकता है.

ब्राउज़र में: कुंजियां और मान सेट करें

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

आगे उन हेडर की खास जानकारी दी गई है जिन्हें ब्राउज़र में कुंजियों और वैल्यू को रजिस्टर करने के लिए सेट किया जाएगा:

किसी व्यू या क्लिक के लिए कुंजियां और वैल्यू रजिस्टर करें.
कन्वर्ज़न के लिए कुंजियां और वैल्यू रजिस्टर करें.

सोर्स-साइड कुंजी के टुकड़े सेट करें

जब कोई उपयोगकर्ता किसी विज्ञापन पर क्लिक करता है या उसे देखता है, तो Attribution-Reporting-Register-Aggregatable-Source हेडर में एग्रीगेशन कुंजियां सेट करें. इस चरण में, हर कुंजी के लिए सिर्फ़ कुंजी या मुख्य हिस्से को सेट किया जा सकता है, जिसके बारे में विज्ञापन दिखाते समय पता चलता है.

आइए, मुख्य हिस्से जनरेट करते हैं:

की आईडी के लिए सोर्स-साइड कुंजी का टुकड़ा... स्ट्रिंग में वे डाइमेंशन वैल्यू शामिल हैं जिन्हें आपको सेट करना है इस स्ट्रिंग के हैश को हेक्स के रूप में, पहले 64 बिट तक छोटा किया गया है (64/4 = 16 वर्ण1) XOR-ing को आसान बनाने के लिए , हेक्स हैश के साथ शून्य जोड़े गए हैं. यह सोर्स-साइड कुंजी का हिस्सा है.
key_purchaseCount COUNT, CampaignID=12, GeoID=7 0x3cf867903fbb73ec 0x3cf867903fbb73ec0000000000000000
key_purchaseValue VALUE, CampaignID=12, GeoID=7 0x245265f432f16e73 0x245265f432f16e730000000000000000
1हर हेक्साडेसिमल अंक, चार बिट (बाइनरी अंक) को दिखाता है.

चलिए, अब अहम हिस्से सेट करते हैं:

// 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) XOR-ing को simplify के लिए, हेक्स हैश के साथ शून्य जोड़े गए. यह सोर्स-साइड की कुंजी है.
key_purchaseCount ProductCategory=25 0x1c7ce88c4904bbe2 0x0000000000000000f9e491fe37e55a0c
key_purchaseValue (एक ही) (एक ही) (एक ही)
1हर हेक्साडेसिमल अंक, चार बिट (बाइनरी अंक) को दिखाता है.

चलिए, अब अहम हिस्से सेट करते हैं:

// 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,768
  • key_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 XOR 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 XOR 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
00000000000000000
0x00000000000000
00f9e491fe37e55a0c
0x3cf867903fbb73
ecf9e491fe37e55a0c
परचेज़ कन्वर्ज़न की कुल वैल्यू (VALUE) 0x245265f432f16e73
0000000000000000
0x0000000000000000
f9e491fe37e55a0c
0x245265f432f16e73
f9e491fe37e55a0c
1ऐसी मेट्रिक जिसके लिए आपको अनुरोध करना है (कैंपेन आईडी 12 × भूगोल आईडी 7 × प्रॉडक्ट कैटगरी 25 के लिए). 2एग्रीगेशन सेवा के लिए अनुरोध करने की कुंजी = सोर्स-साइड कुंजी का टुकड़ा XOR ट्रिगर-साइड कुंजी.
  • इन कुंजियों के लिए एग्रीगेशन सेवा से खास जानकारी वाले डेटा का अनुरोध करें.

खास जानकारी वाली रिपोर्ट मैनेज करना

आखिर में, आपको खास जानकारी वाली रिपोर्ट मिलती है, जो कुछ ऐसी दिख सकती है:

[
  {"bucket": "00111100111110000110011110010000001111111011101101110011111011001111100111100100100100011111111000110111111001010101101000001100",
    "value": "2558500"},
  {"bucket": "00100100010100100110010111110100001100101111000101101110011100111111100111100100100100011111111000110111111001010101101000001100",
    "value": "687060"},
  …
]

पहली बकेट, बाइनरी में COUNT कुंजी होती है. दूसरा बकेट बाइनरी में VALUE कुंजी है. ध्यान रखें कि कुंजियां विषमांगी (COUNT बनाम VALUE) होती हैं, लेकिन वे एक ही रिपोर्ट में मौजूद होती हैं.

वैल्यू को स्केल करना

  • 2,558,500 से इस कुंजी के लिए की जाने वाली खरीदारी की संख्या का पता चलता है. इसे स्केलिंग फ़ैक्टर के हिसाब से बढ़ाया गया है. स्केलिंग फ़ैक्टर के हिसाब से, खरीदारी की संख्या 32,768 थी. 25,58,500 को लक्ष्य के योगदान के बजट से भाग दें: 2,558,500/32,768 = 156.15 खरीदारी.
  • 6,87,060 → 6,87,060/22 = 31,230 डॉलर की कुल खरीदारी.

इस वजह से, खास जानकारी वाली रिपोर्ट से आपको यह अहम जानकारी मिलती है:

  • रिपोर्टिंग समयावधि में, यूरोप में चलाए गए कैंपेन #12 में प्रॉडक्ट कैटगरी #25 के लिए, करीब 156 खरीदारी (± नॉइज़) पाई गईं.
  • रिपोर्टिंग समयावधि में, यूरोप में चलाए गए कैंपेन #12 के तहत प्रॉडक्ट कैटगरी #25 के लिए, 31,230 डॉलर की खरीदारी हुई (± नॉइज़).