एट्रिब्यूशन स्कोप की मदद से, एपीआई कॉलर सोर्स और ट्रिगर रजिस्टर करने के दौरान, स्ट्रिंग की सूची तय कर सकते हैं. इस सूची का इस्तेमाल, एट्रिब्यूशन लागू होने से पहले फ़िल्टर करने के लिए किया जा सकता है. इससे, एपीआई की परफ़ॉर्मेंस को बेहतर बनाने और ज़्यादा सुविधाएं देने के लिए, ज़्यादा सटीक तरीके से फ़िल्टर किया जा सकता है. उदाहरण के लिए, इससे एक ही साइट पर विज्ञापन देने वाले अलग-अलग लोगों या कंपनियों को अलग-अलग ट्रैक किया जा सकता है. इससे एक ही विज्ञापन बैनर में कई कैंपेन या प्रॉडक्ट को ट्रैक करने में भी मदद मिलती है.
एट्रिब्यूशन स्कोप, वैकल्पिक फ़ील्ड होते हैं. इन्हें सोर्स और ट्रिगर रजिस्ट्रेशन के दौरान सेट किया जा सकता है. एट्रिब्यूशन के दौरान, सिर्फ़ उन सोर्स को एट्रिब्यूशन के लिए माना जाएगा जिनके एट्रिब्यूशन स्कोप की वैल्यू में, ट्रिगर के एट्रिब्यूशन स्कोप की कम से कम एक वैल्यू शामिल हो. अगर ट्रिगर में कोई स्कोप नहीं दिया गया है, तो सभी सोर्स को ध्यान में रखा जाएगा. आगे बढ़ने से पहले, आपको एट्रिब्यूशन रिपोर्टिंग एपीआई और हाई-लेवल फ़िल्टर के बारे में जानकारी होनी चाहिए.
सोर्स रजिस्टर करने के दौरान
हेडर Attribution-Reporting-Register-Source
में एक वैकल्पिक पैरामीटर attribution_scopes
जोड़ा गया है. इसमें दो ज़रूरी पैरामीटर हैं: वैल्यू और सीमा. साथ ही, एक वैकल्पिक पैरामीटर है: max_event_states.
- limit: यह सोर्स रिपोर्टिंग ऑरिजिन के लिए, हर डेस्टिनेशन के लिए अनुमति वाले अलग-अलग स्कोप की कुल संख्या दिखाता है. रिपोर्टिंग के ऑरिजिन और डेस्टिनेशन की एक ही सीमा वाले, लेकिन कम सीमा वाले रजिस्टर किए गए सभी मौजूदा सोर्स मिटा दिए जाएंगे.
- 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_scope शामिल हों. हालांकि, इसके लिए ज़रूरी है कि attribution_scope की वैल्यू पैरामीटर में कोई वैल्यू दी गई हो.
ट्रिगर रजिस्ट्रेशन का सैंपल
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 वैल्यू होती हैं. मैच होने वाले सोर्स रजिस्ट्रेशन, एट्रिब्यूशन फ़्लो के बाकी हिस्से के साथ जारी रहेंगे. इस उदाहरण में, एपीआई कॉलर को एक एट्रिब्यूशन रिपोर्ट मिलेगी, जिसमें ट्रिगर रजिस्ट्रेशन को पहले सोर्स रजिस्ट्रेशन को एट्रिब्यूट किया जाएगा.
एट्रिब्यूशन के दायरे बनाम फ़िल्टर
एट्रिब्यूशन स्कोप और फ़िल्टर की सुविधाएं एक जैसी दिख सकती हैं. हालांकि, इनमें अंतर यह है कि इन्हें ट्रिगर रजिस्ट्रेशन फ़्लो में कहां लागू किया जाता है. एट्रिब्यूशन से पहले, एट्रिब्यूशन स्कोप फ़िल्टरिंग की जाती है. इसका मतलब है कि यह उन सोर्स के पूल को कम कर देता है जिनकी समयसीमा खत्म नहीं हुई है और जो डेस्टिनेशन साइट और रिपोर्टिंग ऑरिजिन के हिसाब से एक जैसे हैं. इन सोर्स के स्कोप, ट्रिगर में मिले स्कोप से मेल खाते हैं. हालांकि, टॉप-लेवल फ़िल्टर तब लागू होते हैं, जब किसी ट्रिगर को किसी एक सोर्स को एट्रिब्यूट किया गया हो. अगर सोर्स और ट्रिगर फ़िल्टर एक-दूसरे से मेल नहीं खाते, तो कोई रिपोर्ट जनरेट नहीं होती.
नीचे दी गई इमेज में, सोर्स और ट्रिगर का एक ग्रुप दिखाया गया है. इनमें एक ही डेस्टिनेशन साइट और रिपोर्टिंग ऑरिजिन है. साथ ही, इनकी समयसीमा खत्म नहीं हुई है. हम इस बारे में कम शब्दों में बताएंगे कि एट्रिब्यूशन स्कोप और फ़िल्टर का इस्तेमाल कैसे किया जाता है. साथ ही, यह भी बताएंगे कि उपलब्ध सोर्स और ट्रिगर के आधार पर रिपोर्ट जनरेट होगी या नहीं.
<img "activewear"="" "attribution="" "casualwear"="" "casualwear",="" "outerwear"="" "outerwear".="" "outerwear"."="" #1".the="" 1.="" 2.="" alt="An image showing 4 boxes labelled sources numbered 1 through 4 and a single box labelled " and="" attributes="" filter:="" first="" following="" fourth="" has="" priority:="" scope":="" second="" source="" src="/static/assets/images/attribution-scopes-example-1.png" the="" third="" title="Example on how attribution works with attribution scopes and filters" trigger="" />
एट्रिब्यूशन से पहले
- सोर्स #1 को फ़िल्टर किया गया है, क्योंकि उसका एट्रिब्यूशन स्कोप, ट्रिगर के
casualwear
स्कोप से मेल नहीं खाता. सभी उपलब्ध सोर्स में सबसे ज़्यादा प्राथमिकता होने पर भी, उसे फ़िल्टर किया जा सकता है. ऐसा इसलिए होता है, क्योंकि प्राथमिकताएं तय करने से पहले, एट्रिब्यूशन से पहले की फ़िल्टरिंग की जाती है. - सोर्स #2 को भी फ़िल्टर कर दिया जाता है, क्योंकि उसका स्कोप ट्रिगर से मेल नहीं खाता. इस सोर्स में भी ट्रिगर जैसा ही फ़िल्टर होता है. हालांकि, एट्रिब्यूशन के बाद ही हाई लेवल फ़िल्टर लागू होते हैं.
एट्रिब्यूशन के दौरान
- सोर्स #3 को एट्रिब्यूशन के लिए नहीं चुना गया है, क्योंकि इसकी प्राथमिकता सोर्स #4 से कम है.
- सोर्स #4 को इसलिए चुना गया है, क्योंकि इसका ट्रिगर से मैच होने वाला एट्रिब्यूशन स्कोप है और इसकी प्राथमिकता सबसे ज़्यादा है. हाई लेवल फ़िल्टर, एट्रिब्यूशन के बाद लागू होते हैं, ताकि एट्रिब्यूशन की प्रोसेस के दौरान इनका इस्तेमाल न किया जा सके.
पोस्ट का एट्रिब्यूशन
- कोई रिपोर्ट जनरेट नहीं होती, क्योंकि चुने गए सोर्स (सोर्स #4) और ट्रिगर के लिए हाई लेवल फ़िल्टर एक-दूसरे से मेल नहीं खाते.
पिछले उदाहरण में, कोई रिपोर्ट जनरेट नहीं होती. हालांकि, अगर चौथा सोर्स पूरी तरह से हटा दिया जाता है, तो:
एट्रिब्यूशन के दौरान
- सोर्स #3 को इसलिए चुना गया है, क्योंकि इसका एट्रिब्यूशन स्कोप, ट्रिगर के एट्रिब्यूशन स्कोप से मेल खाता है.
पोस्ट का एट्रिब्यूशन
- सोर्स #3 को अस्वीकार नहीं किया गया है, क्योंकि इसका फ़िल्टर, ट्रिगर में मौजूद फ़िल्टर से मेल खाता है. इसके बाद, एट्रिब्यूशन को पोस्ट-एट्रिब्यूशन की बाकी जांचों से गुज़रना होगा. सभी जांचों को पास करने पर, एक रिपोर्ट जनरेट होगी.
एट्रिब्यूशन स्कोप, एट्रिब्यूशन के लिए चुने गए सोर्स की संख्या को कम करते हैं. इसके बाद, सोर्स के इस छोटे पूल पर एट्रिब्यूशन के बाकी चरण लागू किए जाते हैं. इससे आपको एक रिपोर्ट मिल सकती है.
एट्रिब्यूशन फ़्लो में एट्रिब्यूशन स्कोप की जगह
एट्रिब्यूशन के लिए किसी सोर्स को चुनने से पहले, एट्रिब्यूशन स्कोप लागू किए जाते हैं. यह टॉप-लेवल फ़िल्टर और कस्टम रिपोर्ट विंडो फ़िल्टर करने से पहले भी लागू होता है. यहां दिए गए डायग्राम में, एट्रिब्यूशन से पहले होने वाले एट्रिब्यूशन स्कोप और बाकी एट्रिब्यूशन जांच के साथ, पूरे एट्रिब्यूशन फ़्लो का आसान वर्शन दिखाया गया है.
<img "attribution="" "attribution",="" "deactivation="" "filters="" "report="" "source="" "trigger="" alt="An image showing a simplified version of the attribution flow with each step represented as a square linked to the next step by an arrow. क्रम में चरण " और="" जांच",="" जांच"="" जनरेशन"."="" मैचिंग",="" of="" अन्य="" रजिस्ट्रेशन",="" दायरे="" सोर्स="" सोर्स",="" src="/static/assets/images/attribution-scopes-attribution-flow.png" title="सिर्फ़ एट्रिब्यूशन फ़्लो डायग्राम" />
एट्रिब्यूशन फ़्लो के ऑपरेशन
एट्रिब्यूशन फ़्लो के दौरान की गई अलग-अलग कार्रवाइयों के बारे में यहां बताया गया है:
- सोर्स रजिस्ट्रेशन: जब कोई उपयोगकर्ता, विज्ञापन देने वाले की साइट पर किसी विज्ञापन से इंटरैक्ट करता है, तो एक सोर्स इवेंट रजिस्टर होता है. इसके बाद, डिवाइस रिपोर्टिंग ऑरिजिन के एंडपॉइंट को अनुरोध भेजता है. एंडपॉइंट, सोर्स इवेंट डेटा वाले हेडर के साथ जवाब देता है.
- ट्रिगर रजिस्ट्रेशन: जब विज्ञापन देने वाले की साइट पर कोई कन्वर्ज़न होता है, तो एक ट्रिगर इवेंट रजिस्टर होता है. डिवाइस, रिपोर्टिंग ऑरिजिन को एक और अनुरोध भेजता है. ऑरिजिन, ट्रिगर इवेंट के डेटा वाले हेडर के साथ जवाब देता है.
- सोर्स मैचिंग: डिवाइस, डेस्टिनेशन साइट, रिपोर्टिंग ऑरिजिन, और समयसीमा जैसी शर्तों के आधार पर, सोर्स और ट्रिगर इवेंट को मैच करता है.
- एट्रिब्यूशन स्कोप की जांच: सोर्स और ट्रिगर के attribution_scopes की वैल्यू के इंटरसेक्शन के आधार पर, सोर्स फ़िल्टर किए जाते हैं.
- एट्रिब्यूशन: अगर एक से ज़्यादा सोर्स मैच होते हैं, तो डिवाइस एट्रिब्यूशन के लिए सबसे ज़्यादा प्राथमिकता वाले सोर्स को चुनता है. अगर प्राथमिकताएं एक जैसी हैं, तो सबसे नया वर्शन चुना जाता है.
- फ़िल्टर की जांच: डिवाइस, सोर्स और ट्रिगर फ़िल्टर की तुलना करके यह पता लगाता है कि वे मेल खाते हैं या नहीं. अगर फ़िल्टर मेल नहीं खाते हैं, तो एट्रिब्यूशन हटा दिया जाता है.
- अन्य सोर्स बंद करना: अगर चुने गए सोर्स के फ़िल्टर मैच करते हैं, तो डिवाइस, सोर्स मैच करने के दौरान मैच हुए सोर्स बंद कर देता है. बंद किए गए सोर्स में वे सोर्स शामिल होंगे जिनके एट्रिब्यूशन स्कोप, ट्रिगर स्कोप से मेल नहीं खाते.
- एट्रिब्यूशन के बाद की जांच: डिवाइस, चुने गए एट्रिब्यूशन पर और भी जांच करता है. जैसे, यह जांच करना कि सोर्स में नकली रिपोर्ट की वजह से कोई गड़बड़ी तो नहीं हुई है, डुप्लीकेट एट्रिब्यूशन की जांच करने के लिए डुप्लीकेट हटाने वाली कुंजियों का इस्तेमाल करना, यह जांच करना कि ट्रिगर, सोर्स की रिपोर्ट विंडो में आता है या नहीं, और दर की सीमाओं की जांच करना.
- रिपोर्ट जनरेशन: अगर सभी जांच पूरी हो जाती हैं, तो डिवाइस एक एट्रिब्यूशन रिपोर्ट जनरेट करता है और उसे रिपोर्टिंग ऑरिजिन के एंडपॉइंट पर भेजने के लिए शेड्यूल करता है.
अगले चरण
- एट्रिब्यूशन फ़िल्टर करने से पहले की जानकारी देने वाले GitHub लेख में, एट्रिब्यूशन के स्कोप के बारे में ज़्यादा पढ़ें.
- फ़िल्टर का इस्तेमाल करके ग्राहक के नियम तय करना में, फ़िल्टर के बारे में ज़्यादा पढ़ें.