آزمایش با استفاده از کروم

برای آماده‌سازی برای لغو کوکی‌های شخص ثالث، حالت‌های آزمایشی با تسهیل Chrome را ارائه می‌کنیم که به سایت‌ها اجازه می‌دهد تا نحوه عملکرد و ویژگی‌های سایت را بدون کوکی‌های شخص ثالث پیش‌نمایش کنند. این راهنما یک نمای کلی از حالت‌های آزمایشی که Chrome قصد دارد ارائه کند و نحوه دسترسی به برچسب‌های گروه آزمایش را ارائه می‌دهد.

مرورگر کروم در این زمینه به یک کلاینت کروم اشاره دارد: نصب کروم در دستگاه. هر دایرکتوری اطلاعات کاربر فردی یک کلاینت مجزا را تشکیل می دهد.

گروه آزمایش : مجموعه‌ای از مرورگرهای Chrome که ویژگی‌های خاصی برای آن‌ها فعال، غیرفعال یا پیکربندی شده‌اند. در زمینه آزمایش با تسهیل کروم، مجموعه‌ای از مرورگرها که برچسب‌ها برای آنها تنظیم شده است.

برچسب : در این زمینه، یک مقدار سرصفحه درخواست که برای مرورگری که به یک گروه آزمایشی تعلق دارد، تنظیم می‌شود. هر مرورگر در یک گروه آزمایشی در طول دوره آزمایش با تسهیل Chrome در آن گروه باقی می‌ماند و اطمینان حاصل می‌کند که برچسب یک مرورگر در بین آزمایش‌کنندگان ثابت می‌ماند.

ما دو حالت متمایز ارائه کرده ایم:

  • حالت A: از نوامبر 2023، سازمان‌هایی که APIهای PS R&M را آزمایش می‌کنند، می‌توانند برچسب‌های ثابتی را روی زیرمجموعه‌ای از مرورگرهای Chrome دریافت کنند تا امکان آزمایش هماهنگ بین آزمایش‌کنندگان مختلف را فراهم کنند.
  • حالت B: از 4 ژانویه 2024، Chrome کوکی های شخص ثالث را برای بخشی از مرورگرهای Chrome به صورت جهانی غیرفعال کرد.

در صورتی که کوکی‌های شخص ثالث در حالت B غیرفعال می‌شوند، در مرحله کامل حذف کوکی‌های شخص ثالث غیرفعال می‌مانند.

ما با CMA کار کرده‌ایم تا اطمینان حاصل کنیم که این حالت‌های تست با چارچوب تست (و جدول زمانی) برای اشخاص ثالث مطابقت دارد، همانطور که در راهنمای آن در مورد آزمایش صنعت ارائه شده است. در نتیجه، CMA پیش‌بینی می‌کند که نتایج آزمایش در این حالت‌ها می‌تواند در ارزیابی خود از جعبه ایمنی حریم خصوصی استفاده شود. CMA نشان داده است که آنها احتمالاً وزن بیشتری روی نتایج طراحی آزمایشی 2 می‌گذارند که از برچسب‌های حالت B و برچسب‌های کنترل حالت A استفاده می‌کند. برای اطلاعات بیشتر در مورد طراحی آزمایشی 2 ، راهنمای CMA در 26 اکتبر را ببینید.

برچسب‌ها را می‌توان با استفاده از مقدار موقت Cookie-Deprecation موجود از سرصفحه HTTP یا JavaScript API دسترسی داشت. برای جزئیات پیاده سازی، بخش بعدی دسترسی به برچسب ها با استفاده از مقدار Cookie-Deprecation را ببینید.

ما همچنین این پیشنهاد را از طریق فرآیند معمول توسعه Blink ارسال خواهیم کرد، جایی که طراحی فنی و نقطه عطف انتشار Chrome نهایی خواهد شد. در حالی که این پیاده‌سازی است که ما می‌خواهیم ارسال کنیم، بحث و تأیید بیشتر به این معنی است که این جزئیات هنوز در معرض تغییر هستند. با پیشرفت برنامه‌ها به به‌روزرسانی این صفحه ادامه می‌دهیم و شما می‌توانید به ارائه بازخورد یا سؤالات خود ادامه دهید.

حالت A: گروه های مرورگر برچسب دار

سازمان‌هایی که در آزمایش شرکت می‌کنند، می‌توانند مجموعه‌ای از برچسب‌ها را برای زیرمجموعه‌ای از مرورگرهای کروم دریافت کنند، که امکان آزمایش‌های هماهنگ بین فناوری‌های تبلیغاتی مختلف را در مجموعه‌ای از مرورگرها فراهم می‌کند. برای مثال، اگر یک مرورگر در گروه آزمایش label_only_3 قرار گیرد (همانطور که در جدول زیر نشان داده شده است)، همه فن‌آوران تبلیغات شرکت‌کننده می‌توانند همان برچسب label_only_3 را ببینند و مطابق با آن هماهنگ کنند: از APIهای PS R&M استفاده کنید، اما از استفاده از سوم خودداری کنید. کوکی های مهمانی ما از شرکت‌کنندگان در صفحه انتظار داریم که اطمینان حاصل کنند که برچسب‌ها به سایر شرکت‌کنندگان ارسال می‌شوند تا امکان آزمایش مداوم در کل فرآیند انتخاب و اندازه‌گیری آگهی را فراهم کنند.

برای مثال، این به چندین شرکت‌کننده اجازه می‌دهد حراج‌های مخاطب محافظت‌شده را بدون کوکی‌های شخص ثالث در یک گروه ثابت از مرورگرها اجرا کنند. شرکت کنندگان فروشنده حراج برچسب مشاهده شده را برای تسهیل تست هماهنگ برای خریداران ارسال می کنند.

برچسب‌ها بر هیچ رفتاری در آن نمونه‌های Chrome تأثیر نمی‌گذارند، از جمله در دسترس بودن کوکی‌های شخص ثالث. برچسب‌ها گروه‌بندی آزمایش‌های مستقل و هماهنگ را ارائه می‌کنند، اما این به طرف‌های شرکت‌کننده است که پارامترهای مربوطه را برای آزمایش اعمال کنند. اگر در حال آزمایش اثر حذف کوکی‌های شخص ثالث هستید، هر شرکت‌کننده مسئول حذف داده‌های کوکی شخص ثالث برای مرورگرهایی با آن برچسب است.

هدف این است که گروه هایی داشته باشیم که نماینده ترافیک عادی کروم باشند. این بدان معناست که هم کوکی‌های شخص ثالث و هم APIهای PS R&M باید در دسترس باشند، اگرچه ممکن است برخی از کاربران از تنظیمات یا برنامه‌های افزودنی برای تغییر یا غیرفعال کردن ویژگی‌ها استفاده کرده باشند.

برچسب‌ها معمولاً در طول یک جلسه مرور در Chrome و در بین جلسات ثابت خواهند بود. با این حال، این تضمین نمی شود، زیرا سناریوهای نادری وجود دارد که در آن بازنشانی کامل یک مرورگر ممکن است برچسب فعلی را نیز بازنشانی کند.

ما قصد داریم 8.5٪ از مرورگرهای Chrome Stable را برای حالت A در نظر بگیریم، و پیشنهاد اولیه ما این جمعیت را به 9 گروه تقسیم می کند. زیرگروه‌های کوچک‌تر در نظر گرفته شده‌اند تا به فن‌آوری‌های آگهی انعطاف‌پذیری در ترکیب برچسب‌ها برای ایجاد آزمایش‌های خود در اندازه‌های مختلف اجازه دهند. گروه ها با هم همپوشانی ندارند

توجه داشته باشید که برچسب‌های control_1.* به‌عنوان «کنترل 1» در نظر گرفته شده‌اند که در راهنمای CMA در مورد آزمایش صنعت ذکر شده است، بنابراین شرکت‌کنندگان در آزمایش نباید از Topics API استفاده کنند یا حراج‌های مخاطبان محافظت‌شده را برای این ترافیک اجرا کنند. از آنجایی که برچسب‌ها بر رفتار مرورگر تأثیر نمی‌گذارند، شرکت‌کنندگان نباید هنگام شناسایی برچسب‌های گروه control_1.* موضوعات مشاهده شده را پاس کنند یا حراج‌های مخاطب محافظت شده را اجرا کنند.

ما از بازخورد در مورد اینکه آیا این انتخاب از گروه ها نیازهای سازمان های شرکت کننده را برآورده می کند، استقبال می کنیم.

برچسب بزنید درصد ترافیک پایدار
control_1.1 0.25
control_1.2 0.25
control_1.3 0.25
control_1.4 0.25
label_only_1 1.5
label_only_2 1.5
label_only_3 1.5
label_only_4 1.5
label_only_5 1.5

گروه‌های مرورگر label_only_ Mode A از نوامبر 2023 در دسترس هستند و گروه‌های Mode A control_1_* از 4 ژانویه 2024 در دسترس قرار گرفتند.

حالت B: 1٪ از کوکی های شخص ثالث را غیرفعال کنید

Chrome کوکی‌های شخص ثالث را برای تقریباً ۱٪ از مرورگرهای Chrome Stable از ۴ ژانویه ۲۰۲۴ غیرفعال کرد (و همچنین در مرورگرهای Dev، Canary و Beta در طول سه ماهه چهارم ۲۰۲۳). سازمان‌هایی که APIهای PS R&M را آزمایش می‌کنند، نیازی به انتخاب این حالت ندارند، زیرا به طور یکسان در کل جمعیت مرورگر اعمال می‌شود. البته این احتمال وجود دارد که برخی از ویژگی های سایت تحت تأثیر قرار گیرند اگر سایت هنوز راه حل جایگزینی مانند CHIPS یا مجموعه های وب سایت مرتبط را اتخاذ نکرده باشد.

علاوه بر این، ما قصد داریم بخش کوچکی از ترافیک را در حالت B ارائه کنیم که API های PS R&M غیرفعال است. سایر APIها، مانند Related Website Sets، CHIPS و FedCM غیرفعال نخواهند شد. ما پیش‌بینی می‌کنیم که این ترکیب برای ایجاد یک خط پایه عملکرد برای مرورگرهای بدون کوکی‌های شخص ثالث و بدون APIهای PS R&M مفید باشد.

به عنوان بخشی از حالت B، ما همچنین برچسب هایی را برای مرورگرهای آسیب دیده ارائه می دهیم. برچسب ها همزمان با غیرفعال شدن API ها در دسترس هستند. ما پیشنهاد می‌کنیم جمعیت را به سه treatment_1.* تقسیم کنیم که کوکی‌های شخص ثالث غیرفعال هستند، اما APIهای PS R&M در دسترس هستند، و یک گروه control_2 که هم کوکی‌های شخص ثالث و هم APIهای PS R&M غیرفعال هستند.

برای کمک به اشکال‌زدایی API Reporting Attribution و ادغام‌های API Aggregation خصوصی و کمک به شرکت‌کنندگان در آزمایش درک بهتر تأثیر نویز، گزارش‌های اشکال‌زدایی ARA و گزارش‌های اشکال‌زدایی Private Aggregation همچنان برای مرورگرها در حالت B در دسترس خواهند بود، تا زمانی که کاربر به طور صریح این کار را نکرده باشد. کوکی های شخص ثالث مسدود شده است. گزارش‌های اشکال‌زدایی در control_2 در دسترس نخواهد بود، زیرا APIهای PS R&M در آن بخش در دسترس نیستند. گزارش‌های اشکال‌زدایی همچنان همراه با حذف تدریجی کوکی‌های شخص ثالث حذف خواهند شد.

  • برای Attribution Reporting API، از آنجایی که کوکی‌های شخص ثالث غیرفعال هستند، منبع گزارش نمی‌تواند کوکی ar_debug را تنظیم کند و باید به تنظیم فیلدهای debug_key (برای گزارش‌های مربوط به موفقیت) و فیلدهای debug_reporting (برای گزارش‌های پرمخاطب) تکیه کند. برای انتخاب یا عدم دریافت گزارش های اشکال زدایی.
  • برای Private Aggregation API، مبدأ گزارش باید بر فراخوانی enableDebugMode() تکیه کند تا امکان دریافت گزارش‌های اشکال‌زدایی را کنترل کند. شرکت‌ها باید به بررسی نحوه اعمال تعهدات نظارتی برای استفاده از API گزارش Attribute و API جمع‌آوری خصوصی، از جمله گزارش‌های اشکال‌زدایی، ادامه دهند.

حالت A به کار خود ادامه می‌دهد و این گروه‌ها از گروه‌های حالت A متمایز هستند، زیرا در یک کاربر یا در حالت A، ​​حالت B، یا هیچکدام نخواهد بود. شرکت‌کنندگان در آزمایش باید از control_1.* به عنوان یک گروه کنترلی استفاده کنند که وضعیت موجود را با کوکی‌های شخص ثالث نشان می‌دهد.

برچسب بزنید درصد ترافیک پایدار
treatment_1.1 0.25
treatment_1.2 0.25
treatment_1.3 0.25
control_2 0.25

Chrome همچنین کوکی‌ها را برای 20٪ از مشتریان Chrome Canary، Dev و Beta محدود کرده است.

برچسب بزنید % ترافیک از پیش پایدار
prestable_treatment_1 10%
prestable_control_2 10%

گنجاندن در یکی از این بازوهای آزمایشی همان اثر را برای معادل های پایدار آنها خواهد داشت.

مانند حالت A، ​​API های PS R&M تضمینی برای در دسترس بودن نیستند، زیرا کاربران می توانند آنها را از تنظیمات حریم خصوصی و امنیتی Chrome غیرفعال کنند. به همین ترتیب، غیرفعال شدن کوکی‌های شخص ثالث برای همه اعضای گروه control_2 تضمین نمی‌شود، زیرا کاربران ممکن است برای اجازه دادن به کوکی‌های شخص ثالث برای یک سایت، به رابط کاربری مرورگر دسترسی داشته باشند.

نظارت بر آزمایش

مطمئن شوید که حجم ترافیک نسبی هر برچسب درمان و کنترل را کنترل کنید. treatment_1.1 باید تقریباً همان مقدار ترافیک را با treatment_1.2 و treatment_1.3 داشته باشد.

توصیه می‌کنیم در مورد ترافیک حاوی برچسب‌هایی که از نسخه‌های Chrome قبل از نسخه 120 می‌آیند، از احتیاط استفاده کنید. اگر تیم شما که معمولاً ترافیک نامعتبر را مدیریت می‌کند، عوامل کاربری را شناسایی می‌کند که ویژگی‌های ترافیک نامعتبر را نشان می‌دهند، منطقی است که اینها را از نتایج آزمایش حذف کنید.

برچسب های قبل از دوره

تا ژانویه 2024، ما دوره‌های پیش‌دوره‌ای را برای چند بازه آزمایشی اجرا می‌کردیم: دوره‌ای زمانی که به Chrome اجازه می‌داد تا اندازه دقیق و انتخاب گروه‌های آماری بی‌طرفانه را داشته باشد. این پیش‌دوره‌ها برای همه بازوهایی که قرار بود در ژانویه شروع شوند اجرا می‌شد: بازوهای Mode B و بازوهای Control_1.*. در اینجا نیازی به اقدام توسعه‌دهنده یا سایت نیست - این بازوهای قبل از دوره هیچ تغییری در رفتار یا در دسترس بودن API را تجربه نمی‌کنند - اما باید توجه داشته باشید که ممکن است در برخی شرایط برچسب preperiod را مشاهده کنید. در حالی که مرورگرهایی که برچسب preperiod را دریافت می‌کنند ممکن است به یکی از گروه‌های آزمایشی منتقل شوند، این تضمین‌شده نیست، بنابراین توصیه می‌شود مرورگرهای دارای این برچسب را تضمینی در آزمایش فرض نکنید.

یک بازوی آزمایشی زیرمجموعه ای از جمعیت مورد مطالعه است: در این مورد، یکی از گروه های برچسب گذاری شده است.

برای مدت زمان حالت A و حالت B، یک مقدار موقت Cookie-Deprecation را معرفی کرده‌ایم که با استفاده از یک هدر HTTP انتخابی و API جاوا اسکریپت قابل دسترسی است، که برچسب گروه آزمایشی حالت A یا B قابل اجرا مرورگر را ارائه می‌کند (مطابق با درصدها تعریف شده است). در بالا)، اگر در یکی از این موارد قرار گیرد.

دسترسی به برچسب ها شامل دسترسی به اطلاعات ذخیره شده در دستگاه کاربر است. در برخی از حوزه‌های قضایی (مانند اتحادیه اروپا و بریتانیا)، می‌دانیم که این فعالیت مشابه استفاده از کوکی‌ها است و بنابراین دسترسی به برچسب‌ها احتمالاً مستلزم رضایت کاربر نهایی است. قبل از شروع درخواست برچسب‌ها، توصیه می‌کنیم در مورد اینکه آیا این تعهد رضایت در مورد شما اعمال می‌شود یا خیر، از مشاوره حقوقی استفاده کنید.

برای دریافت هدر درخواست Sec-Cookie-Deprecation ، یک سایت باید ابتدا کوکی receive-cookie-deprecation تنظیم کند. این کوکی باید از ویژگی Partitioned استفاده کند، به این معنی که انتخاب کردن برای دریافت هدر باید در هر سایت سطح بالا انجام شود.

برای مثال، اگر 3p-example.site بخواهد سرصفحه Sec-Cookie-Deprecation در منابع خود که در example.com تعبیه شده است دریافت کند، 3p-example.site باید کوکی زیر را در آن زمینه تنظیم کند.

Set-Cookie: receive-cookie-deprecation=1; Secure; HttpOnly; Path=/; SameSite=None; Partitioned;  Max-Age=15552000

ویژگی‌های کوکی Secure ، HttpOnly ، SameSite و Partitioned اجباری هستند. سایر ویژگی‌ها: Domain ، Path ، Expires ، و Max-Age ممکن است مطابق با نیازهای شما تنظیم شوند، اگرچه Path=/ یک پیش‌فرض خوب است. مثال در اینجا Max-Age=15552000 را تنظیم می کند تا کوکی تا 180 روز منقضی نشود.

ممکن است بخواهید قبل از شروع دوره آزمایشی با تسهیل Chrome، تنظیم receive-cookie-deprecation=1 شروع کنید، تا مطمئن شوید که مرورگرهای یک گروه آزمایشی، سرصفحه درخواست Sec-Cookie-Deprecation به محض دردسترس شدن، شامل می‌شوند.

به عنوان مثال، با فرض قرار گرفتن مرورگر در گروه example_label_1 ، درخواست‌های بعدی که شامل این کوکی می‌شوند، هدر Sec-Cookie-Deprecation نیز شامل می‌شوند.

Sec-Cookie-Deprecation: example_label_1

اگر مرورگر بخشی از یک گروه نباشد، هیچ عنوانی ارسال نخواهد شد. برچسب‌ها با وجود کوکی مرتبط هستند، بنابراین اگر کوکی حذف شود، به طور کامل مسدود شود یا برای سایت خاصی مسدود شود، برچسب‌ها ارسال نمی‌شوند. از آنجایی که ویژگی Partitioned برای ادامه استفاده پس از منسوخ شدن کامل کوکی‌های شخص ثالث در نظر گرفته شده است، این بدان معناست که کوکی‌های Partitioned ممکن است زمانی که کوکی‌های شخص ثالث مسدود می‌شوند تنظیم شوند.

به CookieDeprecationLabel JavaScript API دسترسی پیدا کنید

مقدار Cookie-Deprecation همچنین با استفاده از navigator.cookieDeprecationLabel.getValue() JavaScript API قابل دسترسی است. این یک وعده را برمی گرداند که به رشته ای حاوی برچسب گروه قابل اجرا حل می شود. به عنوان مثال، اگر مرورگر در گروه example_label_1 بود:

// Feature detect temporary API first
if ('cookieDeprecationLabel' in navigator) {
 // Request value and resolve promise
 navigator.cookieDeprecationLabel.getValue().then((label) => {
   console.log(label);
   // Expected output: "example_label_1"
 });
}

اگر مرورگر بخشی از یک گروه نباشد، API یا در دسترس نخواهد بود یا مقدار آن یک رشته خالی خواهد بود، بنابراین مطمئن شوید که تشخیص ویژگی را انجام می دهید.

API جاوا اسکریپت ممکن است بدون توجه به وجود receive-cookie-deprecation فراخوانی شود. با این حال، اگر کوکی ها به طور کامل یا به طور خاص برای سایت مسدود شوند، API دوباره یا در دسترس نخواهد بود یا یک رشته خالی برمی گرداند.

مانند هر مقدار ارائه شده توسط سرویس گیرنده، اطمینان حاصل کنید که قبل از استفاده، مقدار را از سربرگ یا API جاوا اسکریپت پاکسازی و تأیید کنید.

نسخه ی نمایشی و تست

از Chrome 120 به بعد، پرچم‌هایی برای فعال کردن آزمایش برنامه‌نویس محلی برای درخواست و خواندن برچسب‌ها وجود دارد.

پرچم chrome://flags/#tpc-phase-out-facilitated-testing به شما امکان می دهد مجموعه ای از برچسب های آزمایشی را فعال کنید. این برچسب‌ها با پیشوند fake_ می‌شوند تا از برچسب‌های واقعی متمایز شوند. فعال کردن پرچم، مرورگر را در هیچ یک از گروه‌های آزمایشی انتخاب نمی‌کند.

می‌توانید برچسب‌ها را در عمل در goo.gle/cft-demo ببینید.

از آنجایی که ثبت‌نام برای APIهای مربوط به Sandbox حریم خصوصی و اندازه‌گیری اعمال می‌شود، ممکن است لازم باشد با استفاده از chrome://flags/#privacy-sandbox-enrollment-overrides و ارائه مبدا نسخه‌ای، اجرای آزمایش محلی را لغو کنید. اگر Chrome را از ترمینال اجرا می کنید، پرچم خط فرمان زیر را اضافه کنید: --args --disable-features=EnforcePrivacySandboxAttestations

chrome://flags/#tpc-phase-out-facilitated-testing
تنظیمات پرچم تست با تسهیل کروم

کشویی پرچم شامل چندین گزینه است. آزمایش‌کننده‌ها در درجه اول به ورودی‌هایی با علامت «Force» علاقه‌مند خواهند بود، زیرا این موارد اطمینان می‌دهند که رفتار آزمایش بدون توجه به سایر پیکربندی‌های دستگاه فعال است.

برای آزمایش فقط برچسب‌های گروه آزمایش، "Enabled Force Control 1" یا "Enabled Force LabelOnly" را انتخاب کنید. این موارد باعث می‌شود که مرورگر برچسب‌های "fake_control_1.1" یا "fake_label_only_1.1" را ارسال کند.

در کروم M120 یا جدیدتر می‌توانید از ورودی‌های زیر نیز استفاده کنید.

برای آزمایش مسدود کردن کوکی های شخص ثالث، "Enabled Force Treatment" را انتخاب کنید. با این کار برچسب گروه آزمایشی "fake_treatment_1.1" ارسال می‌شود، اما همچنین صفحه تنظیمات کوکی و تنظیم فعلی کوکی را برای مسدود کردن کوکی‌های شخص ثالث تغییر می‌دهد.

برای آزمایش مسدود کردن کوکی‌های شخص ثالث بدون APIهای تبلیغات خصوصی، «Force Control 2» را انتخاب کنید. با این کار برچسب گروه آزمایشی "fake_control_2" ارسال می‌شود، صفحه تنظیمات کوکی را به‌روزرسانی می‌کند، کوکی‌های شخص ثالث را مسدود می‌کند و همچنین APIهای جدید تبلیغات خصوصی را سرکوب می‌کند.

توجه داشته باشید، مشکلی وجود دارد که در آن مرورگر با صفحه تنظیمات کوکی جدید و تنظیماتی که کوکی‌های شخص ثالث را مسدود می‌کند، باقی می‌ماند، حتی اگر پرچم را غیرفعال کنید. ما در حال کار برای رفع این مشکل هستیم، اما در عین حال می‌توانید با راه‌اندازی Chrome با پرچم خط فرمان --user-data-dir=<new dir> این مقادیر پرچم‌ها را در یک فهرست اطلاعاتی جداگانه Chrome آزمایش کنید.

بازخورد

ما از برچسب "Chrome-testing" در مخزن پشتیبانی توسعه دهندگان در GitHub برای مدیریت سوالات استفاده می کنیم. ما از نظرات و بحث شما در مورد سوالات اولیه استقبال می کنیم:

همچنین می‌توانید با استفاده از الگوی «تست با تسهیل Chrome» سؤالات یا بحث‌های جدیدی را در مخزن مطرح کنید .