Тестирование с помощью Chrome

Мы предоставляем режимы тестирования с поддержкой Chrome, которые позволяют сайтам просматривать, как работает поведение и функции сайта, без сторонних файлов cookie. В этом руководстве представлен обзор режимов тестирования, которые Chrome планирует предоставить, а также способы доступа к меткам экспериментальных групп.

Браузер Chrome в этом контексте относится к клиенту Chrome: установке Chrome на устройстве. Каждый отдельный каталог пользовательских данных представляет собой отдельный клиент.

Экспериментальная группа : набор браузеров Chrome, для которых включены, отключены или настроены определенные функции. В контексте тестирования с помощью Chrome — набор браузеров, для которых установлены метки.

Метка : в данном контексте значение заголовка запроса, установленное для браузера, принадлежащего к экспериментальной группе. Каждый браузер в экспериментальной группе останется в этой группе на протяжении всего периода тестирования с помощью Chrome, обеспечивая единообразие метки браузера для всех тестировщиков.

Мы предложили два различных режима:

  • Режим A: с ноября 2023 года организации, тестирующие API-интерфейсы PS R&M, смогут получать согласованные метки в подмножестве браузеров Chrome, чтобы обеспечить скоординированное тестирование с участием разных тестировщиков.
  • Режим B: начиная с 4 января 2024 года Chrome глобально отключил сторонние файлы cookie для части браузеров Chrome.

Мы работали с CMA , чтобы гарантировать, что эти режимы тестирования соответствуют структуре (и срокам) тестирования для третьих сторон, как изложено в его руководстве по отраслевому тестированию . В результате CMA ожидает, что результаты тестирования в этих режимах могут быть использованы при оценке Privacy Sandbox. CMA указало, что они, вероятно, будут придавать большее значение результатам Экспериментального плана 2, в котором используются метки режима B и метки контроля 1 режима A. Дополнительную информацию об Экспериментальном проекте 2 см. в руководстве CMA от 26 октября .

Доступ к меткам можно получить с помощью временного значения Sec-Cookie-Deprecation доступного из заголовка HTTP или API JavaScript. Подробные сведения о реализации см. в разделе «Метки доступа с использованием значения Sec-Cookie-Deprecation .

Мы также отправим это предложение через обычный процесс разработки Blink , где будет завершен технический проект и этап выпуска Chrome. Хотя это реализация, которую мы хотели бы реализовать, дополнительное обсуждение и утверждение означает, что эти детали все еще могут быть изменены. Мы продолжим обновлять эту страницу по мере реализации планов, и вы сможете продолжать оставлять отзывы или вопросы .

Режим A: Маркированные группы браузеров

Организации, участвующие в тестировании, смогут согласиться на получение постоянного набора меток для подмножества браузеров Chrome, что позволит проводить скоординированные эксперименты с различными рекламными технологиями в одном и том же наборе браузеров. Например, если браузер попадает в экспериментальную группу label_only_3 (как показано в следующей таблице), тогда все участвующие специалисты по рекламе смогут видеть одну и ту же метку label_only_3 и координировать свои действия соответствующим образом: используйте API-интерфейсы PS R&M, но воздержитесь от использования сторонних печенье для вечеринок. Мы ожидаем, что участники страницы будут обеспечивать пересылку ярлыков другим участникам, чтобы обеспечить возможность последовательного экспериментирования на протяжении всего процесса выбора и измерения рекламы.

Например, это позволяет нескольким участникам проводить аукционы Защищенной аудитории без сторонних файлов cookie в единой группе браузеров. Участники аукциона-продавца пересылали обнаруженную этикетку покупателям для облегчения скоординированного тестирования.

Ярлыки не влияют ни на какое поведение этих экземпляров Chrome, включая доступность сторонних файлов cookie. Метки обеспечивают группировку для независимых, скоординированных экспериментов, но обеспечение соблюдения соответствующих параметров эксперимента зависит от участвующих сторон. Если вы тестируете эффект от удаления сторонних файлов cookie, каждый участник несет ответственность за исключение данных сторонних файлов cookie для браузеров с этой меткой.

Цель состоит в том, чтобы создать группы, представляющие обычный трафик Chrome. Это означает, что должны быть доступны как сторонние файлы cookie, так и API-интерфейсы PS R&M, хотя некоторая часть пользователей могла использовать настройки или расширения для изменения или отключения функций.

Метки обычно сохраняются на протяжении всего сеанса просмотра в Chrome и между сеансами. Однако это не гарантируется, поскольку в редких случаях полная перезагрузка браузера может также сбросить текущую метку.

Мы планируем включить 8,5% браузеров Chrome Stable в Режим А, и наше первоначальное предложение делит эту группу на девять групп. Меньшие подгруппы предназначены для того, чтобы рекламные специалисты могли гибко комбинировать ярлыки для создания собственных экспериментов разного масштаба. Группы не пересекаются.

Обратите внимание, что метки 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

Группы браузера в режиме A label_only_ доступны с ноября 2023 года, а группы режима A control_1_* стали доступны с 4 января 2024 года.

Режим B: отключить 1% сторонних файлов cookie.

С 4 января 2024 года Chrome отключил сторонние файлы cookie примерно для 1% браузеров Chrome Stable (а также в браузерах для разработчиков, Canary и бета-версий в четвертом квартале 2023 года). Организациям, тестирующим API-интерфейсы PS R&M, не обязательно включать этот режим, поскольку он применяется единообразно для всех браузеров. Некоторые функции сайта могут быть затронуты, если на сайте еще не принято альтернативное решение, такое как CHIPS или наборы связанных веб-сайтов .

Кроме того, мы планируем обеспечить небольшую часть трафика в режиме B, для которого отключены API-интерфейсы PS R&M. Другие API, такие как наборы связанных веб-сайтов, CHIPS и FedCM, не будут отключены. Мы ожидаем, что эта комбинация будет полезна для установления базового уровня производительности для браузеров без сторонних файлов cookie и без API-интерфейсов PS R&M.

В рамках режима B мы также предоставляем ярлыки для затронутых браузеров. Метки доступны одновременно с отключением API. Мы предлагаем разделить население на три группы treatment_1.* , в которых сторонние файлы cookie отключены, но доступны API-интерфейсы PS R&M, и одну группу control_2 , в которой отключены как сторонние файлы cookie, так и API-интерфейсы PS R&M.

Чтобы помочь в отладке интеграции API отчетов об атрибуции и API частной агрегации, а также помочь участникам тестирования лучше понять влияние шума, отчеты об отладке ARA и отчеты об отладке частной агрегации по-прежнему будут доступны для браузеров в режиме B, пока пользователь не сделает это явным образом. заблокировали сторонние файлы cookie. Отчеты об отладке не будут доступны в control_2 , поскольку API-интерфейсы PS R&M недоступны в этом срезе.

  • Для API отчетов об атрибуции, поскольку сторонние файлы cookie отключены, источник отчетов не сможет установить файл cookie ar_debug и должен полагаться на настройку полей debug_key (для отчетов об успешной атрибуции) и полей debug_reporting (для подробных отчетов). согласиться или отказаться от получения отчетов об отладке.
  • Для API частного агрегирования источник отчетов должен полагаться на вызов enableDebugMode() для управления согласием на получение отчетов об отладке. Компаниям следует продолжать учитывать, как нормативные обязательства могут применяться к использованию API отчетов об атрибуции и API частного агрегирования, включая отчеты об отладке.

Режим A продолжает работать, и эти группы отличаются от групп режима A, поскольку пользователь будет находиться либо в режиме A, либо в режиме B, либо ни в одном из них. Участники тестирования должны использовать трафик control_1.* в качестве контрольной группы, представляющей статус-кво со сторонними файлами cookie.

Этикетка % стабильного трафика
treatment_1.1 0,25
treatment_1.2 0,25
treatment_1.3 0,25
control_2 0,25

Chrome также ограничил использование файлов cookie для 20% клиентов Chrome Canary, Dev и Beta.

Этикетка % трафика до стабильной версии
prestable_treatment_1 10%
prestable_control_2 10%

Включение в одну из этих экспериментальных групп будет иметь тот же эффект, что и их стабильные эквиваленты.

Как и в случае с режимом A, доступность API-интерфейсов PS R&M не гарантируется, поскольку пользователи могут отключить их в настройках конфиденциальности и безопасности Chrome. Аналогично, не гарантируется отключение сторонних файлов cookie для каждого члена группы control_2 , поскольку пользователи могут получить доступ к пользовательскому интерфейсу браузера, чтобы разрешить использование сторонних файлов cookie для сайта.

Мониторинг эксперимента

Обязательно отслеживайте относительный объем трафика каждого препарата и контрольной этикетки. treatment_1.1 должен иметь примерно такой же объем трафика, как и treatment_1.2 и treatment_1.3 .

Мы рекомендуем проявлять осмотрительность в отношении трафика, содержащего метки, исходящего из версий Chrome до версии 120. Если ваша команда, которая обычно обрабатывает недействительный трафик, определяет пользовательские агенты, обладающие характеристиками недействительного трафика, то имеет смысл исключить их из результатов тестирования.

Этикетки перед менструацией

До января 2024 года мы проводили предварительные периоды для нескольких групп экспериментов. Это время до начала периода позволило Chrome точно определить размер и выбрать статистически объективные группы. Эти предварительные периоды применялись для всех рукавов, начало которых было запланировано на январь: для режимов B и для Control_1.*. Здесь нет необходимости предпринимать какие-либо действия со стороны разработчика или сайта — в этих компонентах предварительного периода не будет никаких изменений в поведении или доступности API, — но вы должны знать, что в некоторых ситуациях вы можете увидеть возвращаемую метку preperiod . Хотя браузеры, получившие метку preperiod могут перейти в одну из экспериментальных групп, это не гарантируется, поэтому не рекомендуется предполагать, что браузеры с этой меткой гарантированно будут участвовать в эксперименте.

Экспериментальная группа представляет собой подгруппу исследуемой популяции; в данном случае одна из помеченных групп.

На время действия режима A и режима B мы ввели временное значение Sec-Cookie-Deprecation доступное с помощью HTTP-заголовка согласия и JavaScript API, которое предоставляет метку для соответствующей экспериментальной группы режима A или B браузера (как определено проценты выше), если он попадает в один из них.

Доступ к меткам предполагает доступ к информации, хранящейся на устройстве пользователя. Мы понимаем, что в некоторых юрисдикциях (например, в ЕС и Великобритании) эта деятельность аналогична использованию файлов cookie, и поэтому для доступа к меткам, вероятно, потребуется согласие конечного пользователя. Прежде чем вы начнете запрашивать маркировку, мы рекомендуем вам обратиться за юридической консультацией относительно того, распространяется ли на вас это обязательство по согласию.

Чтобы получить заголовок запроса Sec-Cookie-Deprecation , сайт должен сначала установить файл cookie receive-cookie-deprecation . Этот файл cookie должен использовать атрибут Partitioned , что означает, что согласие на получение заголовка должно быть сделано для каждого сайта верхнего уровня.

Например, если 3p-example.site хочет получать заголовок Sec-Cookie-Deprecation на своих ресурсах, встроенных в example.com , то 3p-example.site должен установить следующий файл cookie в этом контексте.

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

Атрибуты cookie Secure , HttpOnly , SameSite и Partitioned являются обязательными. Вы можете установить атрибуты Domain , Path , Expires и Max-Age так, как лучше всего соответствует вашим потребностям, хотя Path=/ является хорошим значением по умолчанию. В приведенном здесь примере задается Max-Age=15552000 , чтобы срок действия файла cookie истекал только через 180 дней.

Возможно, вы захотите начать установку файла cookie receive-cookie-deprecation=1 до начала периода тестирования с поддержкой Chrome, чтобы гарантировать, что браузеры в экспериментальной группе включают заголовок запроса Sec-Cookie-Deprecation как только он станет доступным.

Например, если браузер находится в группе example_label_1 , последующие запросы, включающие этот файл cookie, также будут включать заголовок Sec-Cookie-Deprecation .

Sec-Cookie-Deprecation: example_label_1

Если браузер не входит в группу, заголовок не будет отправлен. Метки привязаны к наличию файла cookie, поэтому, если файл cookie удален, полностью заблокирован или заблокирован для определенного сайта, метки не будут отправлены. Поскольку атрибут Partitioned предназначен для дальнейшего использования после того, как сторонние файлы cookie полностью устарели, это означает, что Partitioned файлы cookie могут быть установлены, когда сторонние файлы cookie заблокированы.

Доступ к API JavaScript cookieDeprecationLabel

Доступ к значению Sec-Cookie-Deprecation также можно получить с помощью JavaScript API navigator.cookieDeprecationLabel.getValue() . Это возвращает обещание, которое преобразуется в строку, содержащую соответствующую метку группы. Например, если браузер находился в группе 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 JavaScript может быть вызван независимо от наличия файла cookie receive-cookie-deprecation cookie. Однако если файлы cookie заблокированы полностью или специально для сайта, API снова либо будет недоступен, либо вернет пустую строку.

Как и в случае с любым значением, предоставленным клиентом, перед использованием убедитесь, что вы очистили и проверили значение из заголовка или API JavaScript.

Демо и тестирование

Начиная с Chrome 120, доступны флаги, позволяющие локальному разработчику тестировать запрос и чтение меток.

Флаг chrome://flags/#tpc-phase-out-facilitated-testing позволяет включить выбор тестовых меток. Эти метки имеют префикс fake_ чтобы отличать их от настоящих меток. Включение флага не включает браузер ни в одну из экспериментальных групп.

Вы можете увидеть ярлыки в действии на странице goo.gle/cft-demo .

Поскольку регистрация обязательна для API-интерфейсов релевантности и измерения Privacy Sandbox, вам может потребоваться отменить принудительное выполнение для локального тестирования, используя chrome://flags/#privacy-sandbox-enrollment-overrides и указав источник демонстрационной версии. Альтернативно, включите следующий флаг командной строки, если вы запускаете Chrome с терминала: --args --disable-features=EnforcePrivacySandboxAttestations

chrome://flags/#tpc-phase-out-facilitated-testing
Настройки флагов тестирования с поддержкой Chrome

Раскрывающийся список флагов включает в себя несколько вариантов. Тестировщиков в первую очередь будут интересовать записи с пометкой «Принудительно», поскольку они гарантируют, что поведение эксперимента будет включено независимо от других конфигураций устройства.

Чтобы протестировать только ярлыки групп экспериментов, выберите «Включено принудительное управление 1» или «Включено принудительное управление только меткой». Это приведет к тому, что браузер отправит метки «fake_control_1.1» или «fake_label_only_1.1».

В Chrome M120 или более поздней версии вы также можете использовать следующие записи.

Чтобы протестировать блокировку сторонних файлов cookie, выберите «Включено принудительное лечение». При этом будет отправлен ярлык экспериментальной группы «fake_treatment_1.1», а также изменена страница настроек файлов cookie и текущие настройки файлов cookie для блокировки сторонних файлов cookie.

Чтобы протестировать блокировку сторонних файлов cookie без API частной рекламы, выберите «Принудительный контроль 2». При этом будет отправлен ярлык экспериментальной группы "fake_control_2", обновится страница настроек файлов cookie, заблокируются сторонние файлы cookie, а также будут отключены новые API частной рекламы.

Обратите внимание: существует проблема, из-за которой браузер останется с новой страницей настройки файлов cookie и настройкой, блокирующей сторонние файлы cookie, даже если вы отключите этот флаг. Мы работаем над решением этой проблемы, но пока вы можете проверить значения этих флагов в отдельном каталоге данных Chrome, запустив Chrome с флагом командной строки --user-data-dir=<new dir> .

Обратная связь

Для управления вопросами мы используем метку «chrome-testing» в репозитории поддержки разработчиков на GitHub. Мы будем рады вашим отзывам и обсуждениям по первоначальным вопросам:

Вы также можете поднимать новые вопросы или обсуждать в репозитории, используя шаблон «Тестирование с помощью Chrome».