एट्रिब्यूशन स्कोप की मदद से, एपीआई कॉल करने वाले लोग सोर्स और ट्रिगर रजिस्ट्रेशन के दौरान स्ट्रिंग की सूची तय कर सकते हैं. इस सूची का इस्तेमाल, एट्रिब्यूशन से पहले फ़िल्टर करने के लिए किया जा सकता है. इससे, एपीआई की परफ़ॉर्मेंस को बेहतर बनाने और ज़्यादा आसानी से इस्तेमाल करने के लिए, फ़िल्टर करने की सुविधा मिलती है. उदाहरण के लिए, यह एक ही साइट पर अलग-अलग विज्ञापन देने वाले लोगों या कंपनियों को अलग-अलग ट्रैक करने की सुविधा देता है. इससे एक ही विज्ञापन बैनर में कई कैंपेन या प्रॉडक्ट को ट्रैक करने में भी मदद मिलती है.
एट्रिब्यूशन स्कोप, ऐसे फ़ील्ड होते हैं जिन्हें सोर्स और ट्रिगर रजिस्टर करते समय सेट किया जा सकता है. एट्रिब्यूशन के दौरान, सिर्फ़ उन सोर्स को एट्रिब्यूशन के लिए माना जाएगा जिनके एट्रिब्यूशन स्कोप की वैल्यू में, ट्रिगर के एट्रिब्यूशन स्कोप की कम से कम एक वैल्यू शामिल हो. अगर ट्रिगर में कोई स्कोप नहीं दिया गया है, तो सभी सोर्स को ध्यान में रखा जाएगा. आगे बढ़ने से पहले, आपको Attribution Reporting API और हाई-लेवल फ़िल्टर के बारे में जानकारी होनी चाहिए.
सोर्स रजिस्टर करते समय
हेडर Attribution-Reporting-Register-Source में एक वैकल्पिक पैरामीटर attribution_scopes जोड़ा जाता है. इसमें दो ज़रूरी पैरामीटर शामिल होते हैं: वैल्यू और सीमा. साथ ही, एक वैकल्पिक पैरामीटर: max_event_states.
- सीमा: इससे पता चलता है कि सोर्स रिपोर्टिंग ओरिजिन के लिए, हर डेस्टिनेशन पर अनुमति दिए गए अलग-अलग स्कोप की कुल संख्या कितनी है. अगर एक ही रिपोर्टिंग ऑरिजिन और डेस्टिनेशन वाले ऐसे सोर्स पहले से रजिस्टर हैं जिनकी सीमा कम है, तो उन्हें मिटा दिया जाएगा.
- values: यह किसी सोर्स के लिए एट्रिब्यूशन स्कोप की सूची दिखाता है. ये वैल्यू, ज़्यादा से ज़्यादा 50 वर्णों वाली स्ट्रिंग होनी चाहिए.
- max_event_states (ज़रूरी नहीं): इससे इवेंट की उन स्थितियों की ज़्यादा से ज़्यादा संख्या के बारे में पता चलता है जिनका इस्तेमाल एपीआई कॉलर, इवेंट सोर्स के सभी बाद के रजिस्ट्रेशन के लिए करना चाहता है. ध्यान दें कि एक ही रिपोर्टिंग ऑरिजिन और डेस्टिनेशन वाले, लेकिन अलग-अलग
max_event_states valueवाले सभी मौजूदा रजिस्टर किए गए सोर्स मिटा दिए जाएंगे. इस ज़रूरी नहीं फ़ील्ड के लिए डिफ़ॉल्ट वैल्यू 3 है.
सोर्स रजिस्ट्रेशन का सैंपल
Attribution-Reporting-Register-source: {
//optional
"attribution_scopes":{
"limit": <int>,
"values": <list of strings>,
// optional
"max_event_states": <int>
},
...
}
ट्रिगर रजिस्टर करने के दौरान
ट्रिगर रजिस्टर करते समय, हेडर Attribution-Reporting-Register-Trigger में एक वैकल्पिक पैरामीटर attribution_scopes जोड़ा जाता है. पक्का करें कि पैरामीटर की वैल्यू, स्ट्रिंग की एक ऐसी सूची हो जो ट्रिगर के स्कोप को दिखाती हो. ट्रिगर सिर्फ़ उन सोर्स से मैच करेगा जिनके attribution_scopes वैल्यू पैरामीटर में, ट्रिगर के attribution_scopes में से कम से कम एक वैल्यू मौजूद हो. हालांकि, ऐसा तब होगा, जब attribution_scopes पैरामीटर की वैल्यू तय की गई हो.
ट्रिगर रजिस्ट्रेशन का सैंपल
Attribution-Reporting-Register-Trigger: {
//optional
"attribution_scopes": <list of strings>,
...
}
एट्रिब्यूशन के स्कोप का उदाहरण
यहां दिए गए उदाहरण में, एट्रिब्यूशन स्कोप का इस्तेमाल करते समय, किसी ट्रिगर को सोर्स एट्रिब्यूट करने का तरीका दिखाया गया है.
सोर्स रजिस्ट्रेशन #1
Attribution-Reporting-Register-source: {
"destination": "https://trigger.example",
"attribution_scopes": {
"limit": 2,
"values": ["advertiser1"],
"max_event_states": 3
},
...
}
सोर्स का रजिस्ट्रेशन #2
Attribution-Reporting-Register-source: {
"destination": "https://trigger.example",
"attribution_scopes": {
"limit": 2,
"values": ["advertiser2"],
"max_event_states": 3
},
...
}
ट्रिगर रजिस्ट्रेशन
Attribution-Reporting-Register-Trigger: {
"attribution_scopes": ["advertiser1"],
...
}
ट्रिगर रजिस्टर होने पर, एपीआई उन सोर्स को चुनता है जिन्हें एट्रिब्यूशन के लिए इस्तेमाल किया जाना है. इन सोर्स के लिए, attribution_scopes की वैल्यू ऐसी होती हैं जो ट्रिगर रजिस्टर करने के दौरान दी गई वैल्यू से मिलती-जुलती हैं. मिलान करने वाले सोर्स रजिस्ट्रेशन, एट्रिब्यूशन फ़्लो के बाकी हिस्से के साथ जारी रहेंगे. इस उदाहरण में, एपीआई कॉलर को एक एट्रिब्यूशन रिपोर्ट मिलेगी. इसमें ट्रिगर रजिस्ट्रेशन को पहले सोर्स रजिस्ट्रेशन के लिए एट्रिब्यूट किया जाएगा.
एट्रिब्यूशन के दायरे और फ़िल्टर में अंतर
एट्रिब्यूशन स्कोप और फ़िल्टर की सुविधाएं एक जैसी लग सकती हैं. हालांकि, इनमें अंतर यह है कि इन्हें ट्रिगर रजिस्ट्रेशन फ़्लो में कहां लागू किया जाता है. एट्रिब्यूशन स्कोप को फ़िल्टर करने की प्रोसेस, एट्रिब्यूशन से पहले होती है. इसका मतलब है कि यह उन सोर्स के पूल को कम करता है जिनकी समयसीमा खत्म नहीं हुई है और जिनमें एक ही डेस्टिनेशन साइट और रिपोर्टिंग ऑरिजिन है. यह इस आधार पर किया जाता है कि किन सोर्स के स्कोप, ट्रिगर में मिले स्कोप से मेल खाते हैं. हालांकि, टॉप-लेवल के फ़िल्टर तब लागू होते हैं, जब किसी ट्रिगर को एक सोर्स से एट्रिब्यूट किया जाता है. अगर सोर्स और ट्रिगर फ़िल्टर एक-दूसरे से मेल नहीं खाते हैं, तो कोई रिपोर्ट जनरेट नहीं होती है.
नीचे दी गई इमेज में, सोर्स और ट्रिगर का एक ग्रुप दिखाया गया है. इन सभी का डेस्टिनेशन साइट और रिपोर्टिंग ओरिजिन एक ही है. साथ ही, इनकी समयसीमा खत्म नहीं हुई है. हम इस बारे में कम शब्दों में बताएंगे कि एट्रिब्यूशन स्कोप और फ़िल्टर का इस्तेमाल कैसे किया जाता है. साथ ही, यह भी बताएंगे कि उपलब्ध सोर्स और ट्रिगर के आधार पर रिपोर्ट जनरेट होगी या नहीं.
एट्रिब्यूशन से पहले
- सोर्स #1 को फ़िल्टर किया गया है, क्योंकि इसका एट्रिब्यूशन स्कोप, ट्रिगर के
casualwearस्कोप से मेल नहीं खाता. सभी उपलब्ध सोर्स में सबसे ज़्यादा प्राथमिकता होने के बावजूद, इसे फ़िल्टर किया जा सकता है. ऐसा इसलिए, क्योंकि प्राथमिकताएं तय करने से पहले प्री-एट्रिब्यूशन फ़िल्टरिंग होती है. - सोर्स #2 को भी फ़िल्टर कर दिया गया है, क्योंकि इसका स्कोप ट्रिगर के स्कोप से मेल नहीं खाता. इस सोर्स में भी ट्रिगर के जैसा ही फ़िल्टर है. हालांकि, एट्रिब्यूशन के बाद ही हाई लेवल फ़िल्टर लागू होते हैं.
एट्रिब्यूशन के दौरान
- सोर्स #3 को एट्रिब्यूशन के लिए नहीं चुना गया है, क्योंकि इसकी प्राथमिकता सोर्स #4 से कम है.
- सोर्स #4 को चुना गया है, क्योंकि इसका एट्रिब्यूशन स्कोप, ट्रिगर से मेल खाता है और इसे सबसे ज़्यादा प्राथमिकता दी गई है. ऊपर वाले लेवल के फ़िल्टर, एट्रिब्यूशन के बाद लागू होते हैं. इसलिए, एट्रिब्यूशन प्रोसेस के दौरान इन्हें ध्यान में नहीं रखा जाता.
पोस्ट एट्रिब्यूशन
- कोई रिपोर्ट जनरेट नहीं की गई है, क्योंकि चुने गए सोर्स (सोर्स #4) और ट्रिगर के लिए, हाई लेवल के फ़िल्टर एक-दूसरे से नहीं मिलते.
पिछले उदाहरण से रिपोर्ट जनरेट नहीं होती है. हालांकि, अगर चौथे सोर्स को पूरी तरह से हटा दिया जाता है, तो:
एट्रिब्यूशन के दौरान
- सोर्स #3 को चुना गया है, क्योंकि इसका एट्रिब्यूशन स्कोप, ट्रिगर के एट्रिब्यूशन स्कोप से मेल खाता है.
पोस्ट एट्रिब्यूशन
- सोर्स #3 को अस्वीकार नहीं किया गया है, क्योंकि इसका फ़िल्टर, ट्रिगर में मौजूद फ़िल्टर से मेल खाता है. इसके बाद, एट्रिब्यूशन की जांच की जाएगी. अगर एट्रिब्यूशन की जांच में कोई समस्या नहीं मिलती है, तो रिपोर्ट जनरेट की जाएगी.
एट्रिब्यूशन स्कोप की मदद से, एट्रिब्यूशन के लिए इस्तेमाल किए जाने वाले सोर्स की संख्या कम की जा सकती है. इसके बाद, एट्रिब्यूशन के बाकी चरण, सोर्स के इस छोटे पूल पर लागू किए जाते हैं. इससे रिपोर्ट जनरेट हो सकती है.
एट्रिब्यूशन फ़्लो में एट्रिब्यूशन स्कोप की जगह
एट्रिब्यूशन के लिए सोर्स चुनने से पहले, एट्रिब्यूशन स्कोप लागू किए जाते हैं. यह टॉप-लेवल के फ़िल्टर और कस्टम रिपोर्ट विंडो फ़िल्टरिंग से पहले भी होता है. यहां दिए गए डायग्राम में, एट्रिब्यूशन के पूरे फ़्लो का आसान वर्शन दिखाया गया है. इसमें एट्रिब्यूशन स्कोप, एट्रिब्यूशन और एट्रिब्यूशन की अन्य जांचों से पहले होता है.
एट्रिब्यूशन फ़्लो की कार्रवाइयां
एट्रिब्यूशन फ़्लो के दौरान की गई अलग-अलग कार्रवाइयों के बारे में यहां बताया गया है:
- सोर्स रजिस्ट्रेशन: जब कोई उपयोगकर्ता, विज्ञापन देने वाले व्यक्ति या कंपनी की साइट पर किसी विज्ञापन से इंटरैक्ट करता है, तो सोर्स इवेंट रजिस्टर होता है. इसके बाद, डिवाइस रिपोर्टिंग ऑरिजिन के एंडपॉइंट को एक अनुरोध भेजता है. यह एंडपॉइंट, सोर्स इवेंट का डेटा देने वाले हेडर के साथ जवाब देता है.
- ट्रिगर रजिस्टर करना: जब विज्ञापन देने वाले व्यक्ति या कंपनी की साइट पर कोई कन्वर्ज़न होता है, तो एक ट्रिगर इवेंट रजिस्टर किया जाता है. इसके बाद, डिवाइस रिपोर्टिंग ऑरिजिन को एक और अनुरोध भेजता है. इसके जवाब में, रिपोर्टिंग ऑरिजिन एक हेडर भेजता है. इसमें ट्रिगर इवेंट का डेटा होता है.
- सोर्स मैचिंग: डिवाइस, डेस्टिनेशन साइट, रिपोर्टिंग ओरिजिन, और समयसीमा खत्म होने की तारीख जैसे मानदंडों के आधार पर, सोर्स और ट्रिगर इवेंट को मैच करता है.
- एट्रिब्यूशन स्कोप की जांच: सोर्स और ट्रिगर के attribution_scopes की वैल्यू के इंटरसेक्शन के आधार पर, सोर्स फ़िल्टर किए जाते हैं.
- एट्रिब्यूशन: अगर एक से ज़्यादा सोर्स मैच करते हैं, तो डिवाइस एट्रिब्यूशन के लिए सबसे ज़्यादा प्राथमिकता वाला सोर्स चुनता है. अगर प्राथमिकताएं बराबर हैं, तो सबसे नई प्राथमिकता को चुना जाता है.
- फ़िल्टर की जांच: डिवाइस, सोर्स और ट्रिगर फ़िल्टर की तुलना करके यह पता लगाता है कि वे मेल खाते हैं या नहीं. अगर फ़िल्टर मेल नहीं खाते हैं, तो एट्रिब्यूशन हटा दिया जाता है.
- अन्य सोर्स बंद करना: अगर चुने गए सोर्स के फ़िल्टर मेल खाते हैं, तो डिवाइस उन सोर्स को बंद कर देता है जो सोर्स मैचिंग के चरण के दौरान मेल खाते हैं. बंद किए गए सोर्स में वे सोर्स शामिल होंगे जिनके एट्रिब्यूशन स्कोप, ट्रिगर स्कोप से मेल नहीं खाते.
- एट्रिब्यूशन के बाद की जांच: डिवाइस, चुने गए एट्रिब्यूशन की ज़्यादा जांच करता है. जैसे, यह जांच करना कि सोर्स में फ़र्ज़ी रिपोर्ट की वजह से कोई गड़बड़ी तो नहीं है, डुप्लीकेट एट्रिब्यूशन की जांच करने के लिए डिडप्लिकेशन कुंजियों का इस्तेमाल करना, यह जांच करना कि ट्रिगर, सोर्स की रिपोर्ट विंडो में आता है या नहीं, और दर की सीमाओं की जांच करना.
- रिपोर्ट जनरेट करना: अगर सभी जांचें पास हो जाती हैं, तो डिवाइस एट्रिब्यूशन रिपोर्ट जनरेट करता है. साथ ही, इसे रिपोर्टिंग ऑरिजिन के एंडपॉइंट पर भेजने के लिए शेड्यूल करता है.
अगले चरण
- प्री-एट्रिब्यूशन फ़िल्टरिंग के बारे में बताने वाले GitHub लेख में, एट्रिब्यूशन स्कोप के बारे में ज़्यादा पढ़ें.
- फ़िल्टर का इस्तेमाल करके ग्राहक से जुड़े नियम तय करना लेख में, फ़िल्टर के बारे में ज़्यादा पढ़ें.