محدوده Attribution به تماسگیرندگان API اجازه میدهد تا لیستی از رشتهها را در حین ثبت منبع و راهاندازی که میتوانند برای فیلتر کردن قبل از انجام انتساب مورد استفاده قرار دهند، مشخص کنند. این به فیلتر دانه ریزتر اجازه می دهد تا کارایی API را افزایش دهد و انعطاف پذیری بیشتری را ارائه دهد. به عنوان مثال، ردیابی آگهی دهندگان جداگانه در همان سایت را به طور مشخص امکان پذیر می کند. همچنین ردیابی کمپین ها یا محصولات متعدد را در یک بنر تبلیغاتی تسهیل می کند.
محدودههای Attribution فیلدهای اختیاری هستند که میتوانند در هنگام ثبت منبع و ماشه تنظیم شوند. در طول انتساب، تنها منابعی که مقادیر دامنه اسناد آنها حاوی حداقل یکی از مقادیر محدوده اسناد محرک باشد، برای انتساب در نظر گرفته میشوند. اگر هیچ محدوده ای در ماشه مشخص نشده باشد، همه منابع در نظر گرفته می شوند. قبل از ادامه، باید با API گزارش Attribution و فیلترهای سطح بالا آشنا باشید.
در حین ثبت منبع
یک پارامتر اختیاری attribution_scopes
به سربرگ Attribution-Reporting-Register-Source
اضافه می شود که شامل دو پارامتر مورد نیاز است: مقادیر و limit. و یک پارامتر اختیاری: max_event_states.
- limit: تعداد کل محدوده های مجزا مجاز در هر مقصد برای مبدا گزارش منبع را نشان می دهد. هر منبع ثبت شده موجود با مبدا و مقصد گزارش یکسان، اما محدودیت کمتر، حذف خواهد شد.
- مقادیر: فهرستی از محدوده های انتساب برای یک منبع خاص را نشان می دهد. این مقادیر باید رشته هایی با طول حداکثر 50 باشند.
- max_event_states (اختیاری): نشاندهنده حداکثر تعداد حالتهای رویدادی است که یک تماسگیرنده API قصد دارد در تمام ثبتهای منبع رویداد بعدی استفاده کند. توجه داشته باشید که هر منبع ثبت شده موجود با مبدا و مقصد گزارش یکسان اما
max_event_states value
متفاوت حذف خواهد شد. مقدار پیش فرض این فیلد اختیاری 3 است.
نمونه ثبت منبع
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>,
...
}
نمونه دامنه اسناد
مثال زیر حالتی را نشان میدهد که یک ماشه در حین استفاده از دامنههای انتساب به منبعی نسبت داده میشود.
ثبت منبع شماره 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"],
...
}
هنگامی که ثبت ماشه اتفاق می افتد، API منابعی را برای انتساب در نظر می گیرد که دارای مقادیر attribution_scopes هستند که با مقادیر موجود در ثبت ماشه تلاقی می کنند. ثبت منبع منطبق با بقیه جریان انتساب ادامه خواهد یافت. در این مثال، تماسگیرنده API گزارشی را دریافت میکند که ثبت ماشه را به ثبت منبع اول نسبت میدهد.
محدوده اسناد در مقابل فیلترها
در حالی که عملکرد محدودههای انتساب و فیلترها ممکن است مشابه به نظر برسد، عامل متمایزکننده جایی است که آنها در جریان ثبت ماشه اعمال میشوند. فیلتر کردن محدوده های انتساب قبل از انتساب اتفاق می افتد. این به این معنی است که مجموعه منابع نامزد و منقضی نشده را کاهش می دهد که دارای سایت مقصد و مبدا گزارش یکسانی هستند، که بر اساس آن منابع دارای محدوده هایی هستند که با محدوده های موجود در ماشه تقاطع دارند. با این حال، فیلترهای سطح بالا پس از منتسب شدن یک ماشه به یک منبع واحد اعمال می شوند. اگر فیلترهای منبع و ماشه با هم تلاقی نداشته باشند، هیچ گزارشی تولید نمی شود.
تصویر زیر گروهی از منابع و یک ماشه را نشان می دهد که دارای سایت مقصد و مبدا گزارش یکسان هستند و تاریخ مصرف آنها منقضی نشده است. ما به طور مختصر در مورد نحوه استفاده از محدوده های انتساب و فیلترها و اینکه آیا گزارشی بر اساس منابع و محرک های موجود ایجاد می شود صحبت خواهیم کرد.

قبل از انتساب
- منبع شماره 1 فیلتر شده است زیرا محدوده اسناد آن با محدوده
casualwear
مطابقت ندارد. داشتن بالاترین اولویت در بین همه منابع موجود مانع از فیلتر شدن آن نمی شود زیرا فیلتر قبل از انتساب قبل از بررسی اولویت ها رخ می دهد. - منبع شماره 2 نیز به دلیل نداشتن محدوده مشابه با ماشه فیلتر شده است. این منبع همچنین فیلتری مشابه با ماشه دارد، اما فیلترهای سطح بالا تا پس از انتساب اعمال نمیشوند.
در طول انتساب
- منبع شماره 3 برای انتساب انتخاب نشده است زیرا اولویت کمتری نسبت به منبع شماره 4 دارد.
- منبع شماره 4 از آنجایی انتخاب شده است که دارای دامنه اسناد منطبق با ماشه است و بالاترین اولویت را دارد. فیلترهای سطح بالا در پست انتساب اعمال می شوند بنابراین در طول فرآیند انتساب فاکتور نمی گیرند.
انتساب پست
- هیچ گزارشی تولید نمی شود زیرا فیلترهای سطح بالا برای منبع انتخابی (منبع شماره 4) و ماشه با هم قطع نمی شوند.
مثال قبلی منجر به ایجاد گزارش نمی شود. با این حال، اگر منبع چهارم به طور کامل حذف شود:

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

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