دامنههای تخصیص به فراخوانیکنندگان API اجازه میدهد تا در طول ثبت منبع و تریگر، فهرستی از رشتهها را مشخص کنند که میتوانند برای فیلتر کردن قبل از تخصیص استفاده شوند. این امر امکان فیلترینگ دقیقتر را فراهم میکند تا کارایی API را افزایش داده و انعطافپذیری بیشتری را فراهم کند. به عنوان مثال، امکان ردیابی تبلیغکنندگان جداگانه در همان سایت را به طور مجزا فراهم میکند. همچنین ردیابی چندین کمپین یا محصول را در یک بنر تبلیغاتی واحد تسهیل میکند.
دامنههای انتساب، فیلدهای اختیاری هستند که میتوانند در طول ثبت منبع و تریگر تنظیم شوند. در طول انتساب، فقط منابعی که مقادیر دامنه انتساب آنها حداقل شامل یکی از مقادیر دامنه انتساب تریگر باشد، برای انتساب در نظر گرفته میشوند. اگر هیچ دامنهای در تریگر مشخص نشده باشد، همه منابع در نظر گرفته میشوند. قبل از ادامه، باید با API گزارشدهی انتساب و فیلترهای سطح بالا آشنا باشید.
در طول ثبت منبع
یک پارامتر اختیاری attribution_scopes به سربرگ Attribution-Reporting-Register-Source اضافه شده است که شامل دو پارامتر الزامی: values و limit؛ و یک پارامتر اختیاری: max_event_states است.
- محدودیت: تعداد کل محدودههای مجزای مجاز برای هر مقصد برای مبدأ گزارشدهنده منبع را نشان میدهد. هر منبع ثبتشدهی موجود با مبدأ و مقصد گزارشدهندهی یکسان، اما با محدودیت کمتر، حذف خواهد شد.
- مقادیر: فهرست دامنههای انتساب برای یک منبع خاص را نشان میدهد. این مقادیر باید رشتههایی با حداکثر طول ۵۰ باشند.
- max_event_states (اختیاری): حداکثر تعداد حالتهای رویدادی را نشان میدهد که یک فراخوانیکننده API قصد دارد در تمام ثبتهای منبع رویداد بعدی استفاده کند. توجه داشته باشید که هر منبع ثبتشدهی موجود با مبدا و مقصد گزارشدهی یکسان اما
max_event_states valueمتفاوت، حذف خواهد شد. مقدار پیشفرض برای این فیلد اختیاری ۳ است.
نمونه ثبت منبع
Attribution-Reporting-Register-source: {
//optional
"attribution_scopes":{
"limit": <int>,
"values": <list of strings>,
// optional
"max_event_states": <int>
},
...
}
در طول ثبت تریگر
یک پارامتر اختیاری attribution_scopes در طول ثبت تریگر به سربرگ Attribution-Reporting-Register-Trigger اضافه میشود. مطمئن شوید که مقدار پارامتر، فهرستی از رشتهها باشد که نشاندهندهی حوزههای تریگر هستند. تریگر فقط با منابعی مطابقت دارد که پارامتر مقادیر attribution_scopes آنها، در صورت مشخص شدن، حداقل شامل یکی از attribution_scopesهای تریگر باشد.
نمونه ثبت ماشه
Attribution-Reporting-Register-Trigger: {
//optional
"attribution_scopes": <list of strings>,
...
}
مثال دامنههای انتساب
مثال زیر موردی را نشان میدهد که در آن یک تریگر هنگام استفاده از محدودههای انتساب به یک منبع نسبت داده میشود.
ثبت منبع شماره ۱
Attribution-Reporting-Register-source: {
"destination": "https://trigger.example",
"attribution_scopes": {
"limit": 2,
"values": ["advertiser1"],
"max_event_states": 3
},
...
}
ثبت منبع شماره ۲
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"],
...
}
وقتی ثبت تریگر اتفاق میافتد، API منابعی را برای انتساب انتخاب میکند که مقادیر attribution_scopes آنها با مقادیر موجود در ثبت تریگر تلاقی داشته باشد. ثبتهای منبع منطبق با بقیه جریان انتساب ادامه خواهند یافت. در این مثال، فراخوانیکننده API یک گزارش انتساب دریافت میکند که ثبت تریگر را به اولین ثبت منبع نسبت میدهد.
دامنههای انتساب در مقابل فیلترها
اگرچه ممکن است عملکرد محدودههای انتساب و فیلترها مشابه به نظر برسد، اما عامل متمایزکننده، محل اعمال آنها در جریان ثبت تریگر است. فیلتر کردن محدودههای انتساب قبل از انتساب انجام میشود. این بدان معناست که مجموعه منابع کاندید و منقضی نشدهای را که دارای سایت مقصد و مبدا گزارش یکسانی هستند، کاهش میدهد، که بر اساس آن منابع دارای محدودههایی هستند که با محدودههای موجود در تریگر تلاقی دارند. با این حال، فیلترهای سطح بالا پس از انتساب یک تریگر به یک منبع واحد اعمال میشوند. اگر فیلترهای منبع و تریگر تلاقی نداشته باشند، هیچ گزارشی ایجاد نمیشود.
تصویر زیر گروهی از منابع و یک تریگر را نشان میدهد که سایت مقصد و مبدا گزارش یکسانی دارند و منقضی نشدهاند. ما به طور خلاصه در مورد نحوه استفاده از محدودههای انتساب و فیلترها و اینکه آیا گزارشی بر اساس منابع و تریگرهای موجود تولید میشود یا خیر، صحبت خواهیم کرد.

قبل از انتساب
- منبع شماره ۱ فیلتر میشود زیرا دامنه انتساب آن با دامنه
casualwearمحرک مطابقت ندارد. داشتن بالاترین اولویت در بین تمام منابع موجود مانع از فیلتر شدن آن نمیشود زیرا فیلترینگ پیش از انتساب قبل از بررسی اولویتها انجام میشود. - منبع شماره ۲ نیز به دلیل نداشتن دامنه مشابه با تریگر، فیلتر شده است. این منبع نیز فیلتری مشابه تریگر دارد، اما فیلترهای سطح بالا تا پس از انتساب اعمال نمیشوند.
در طول انتساب
- منبع شماره ۳ برای انتساب انتخاب نشده است زیرا اولویت کمتری نسبت به منبع شماره ۴ دارد.
- منبع شماره ۴ به این دلیل انتخاب شده است که دامنه انتساب آن با تریگر مطابقت دارد و بالاترین اولویت را دارد. فیلترهای سطح بالا پس از انتساب اعمال میشوند، بنابراین در طول فرآیند انتساب در نظر گرفته نمیشوند.
انتساب پست
- هیچ گزارشی ایجاد نمیشود زیرا فیلترهای سطح بالا برای منبع انتخاب شده (منبع شماره ۴) و تریگر با هم تلاقی ندارند.
مثال قبلی منجر به تولید گزارش نمیشود. با این حال، اگر منبع چهارم به طور کامل حذف شود:

در طول انتساب
- منبع شماره ۳ انتخاب شده است زیرا دارای محدوده انتساب متقاطع با تریگر است.
انتساب پست
- منبع شماره ۳ رد نمیشود زیرا فیلتر آن با فیلتر موجود در تریگر تلاقی میکند. سپس این انتساب، بقیه بررسیهای انتساب پست را طی میکند و در صورت قبولی در تمام بررسیها، گزارشی تولید میشود.
دامنههای انتساب، تعداد منابع در نظر گرفته شده برای انتساب را کاهش میدهند. سپس مراحل انتساب باقیمانده بر روی این مجموعه کوچکتر از منابع اعمال میشود که ممکن است منجر به یک گزارش شود.
جایگاه حوزههای انتساب در جریان انتساب
دامنههای انتساب قبل از انتخاب منبع برای انتساب اعمال میشوند. این همچنین قبل از فیلترهای سطح بالا و فیلتر کردن پنجره گزارش سفارشی انجام میشود. نمودار زیر نسخه سادهشدهای از جریان کلی انتساب را نشان میدهد که در آن دامنه انتساب قبل از انتساب و بقیه بررسیهای انتساب اتفاق میافتد.

عملیات جریان تخصیص
در ادامه خلاصهای از عملیات مختلف انجام شده در جریان تخصیص آمده است:
- ثبت منبع: وقتی کاربری با یک تبلیغ در سایت تبلیغکننده تعامل میکند، یک رویداد منبع ثبت میشود. سپس دستگاه درخواستی را به نقطه پایانی مبدا گزارشدهنده ارسال میکند که با یک هدر حاوی دادههای رویداد منبع پاسخ میدهد.
- ثبت تریگر: وقتی تبدیلی در سایت تبلیغکننده رخ میدهد، یک رویداد تریگر ثبت میشود. درخواست دیگری توسط دستگاه به مبدا گزارشدهنده ارسال میشود که با یک هدر حاوی دادههای رویداد تریگر پاسخ میدهد.
- تطبیق منبع: دستگاه، منبع را تطبیق میدهد و رویدادها را بر اساس معیارهایی مانند سایت مقصد، مبدا گزارش و تاریخ انقضا، فعال میکند.
- بررسی محدودههای تخصیص: منابع بر اساس تقاطع بین مقادیر attribution_scopes منبع و تریگر فیلتر میشوند.
- انتساب: اگر چندین منبع با هم مطابقت داشته باشند، دستگاه منبعی را که بالاترین اولویت را دارد برای انتساب انتخاب میکند. اگر اولویتها برابر باشند، جدیدترین منبع انتخاب میشود.
- بررسی فیلترها: دستگاه، فیلترهای منبع و محرک را مقایسه میکند تا مشخص شود که آیا با هم مطابقت دارند یا خیر. اگر فیلترها مطابقت نداشته باشند، انتساب حذف میشود.
- غیرفعال کردن سایر منابع: اگر فیلترهای منبع انتخاب شده مطابقت داشته باشند، دستگاه منابعی را که در مرحله تطبیق منبع مطابقت دارند غیرفعال میکند. منابع غیرفعال شده شامل منابعی میشوند که دامنههای انتساب آنها با دامنههای تریگر مطابقت ندارد.
- بررسیهای پس از انتساب: دستگاه بررسیهای بیشتری روی انتساب انتخابشده انجام میدهد، مانند بررسی اینکه آیا منبع با گزارشهای جعلی نویز دارد یا خیر، بررسی انتسابهای تکراری با استفاده از کلیدهای حذف دادههای تکراری، بررسی اینکه آیا تریگر در پنجره گزارش منبع قرار میگیرد یا خیر، و بررسی محدودیتهای نرخ.
- تولید گزارش: اگر همه بررسیها با موفقیت انجام شوند، دستگاه یک گزارش انتساب تولید و زمانبندی میکند تا به نقطه پایانی مبدا گزارشدهی ارسال شود.
مراحل بعدی
- برای اطلاعات بیشتر در مورد محدودههای انتساب، به توضیح فیلترینگ پیش از انتساب در گیتهاب مراجعه کنید.
- برای اطلاعات بیشتر در مورد فیلترها، به بخش «تعریف قوانین مشتری با استفاده از فیلترها» مراجعه کنید.