API отслеживания атрибуции
Ограниченная доступность
Эта функция не относится к Baseline, так как не работает в некоторых из наиболее распространённых браузеров.
Экспериментальная: Это экспериментальная технология.Подробнее
Перед использованием в продакшене внимательно ознакомьтесь с таблицей совместимости с браузерами.
Безопасный контекст: Данная функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
API отслеживания атрибуции позволяет разработчикам измерять конверсии — например, когда пользователь кликает на объявление, встроенное на одном сайте, а затем совершает покупку на сайте продавца — и затем получать отчеты об этих конверсиях. Это делается без использования сторонних файлов cookie отслеживания.
Концепции и использование
Рекламодатели часто хотят отслеживать, сколько пользователей видят объявление и затем просматривают и покупают продукт (конверсии). Это позволяет им определить, какие рекламные размещения приносят наибольшую отдачу от инвестиций (ROI), чтобы соответствующим образом скорректировать свою рекламную стратегию. Процесс измерения конверсий обычно включает в себя сбор таких данных:
- Какие пользователи совершили конверсию (например, купили товар или подписались на услугу) и сколько.
- Географические регионы, в которых они находятся.
- На каких сайтах были размещены объявления.
- Сколько товаров было продано, услуг было подписано и т. д.
- Какой доход был получен.
Традиционно в интернете конверсии измерялись с помощью сторонних файлов cookie отслеживания. Объявление обычно встраивается на веб-страницу в <iframe>, которое может устанавливать cookie с информацией о пользователе и его взаимодействии с объявлением.
Позже, когда пользователь переходит на сайт рекламодателя, при условии, что это происходит с того же домена, что и объявление, этот сайт может получить доступ к стороннему cookie, установленный ранее объявлением. Рекламодатель может затем связать данные из объявления со своими собственными данными первого уровня, чтобы ответить на вопросы, такие как «совершил ли пользователь покупку после взаимодействия с объявлением о продукте с другого сайта?»
Это плохо сказывается на конфиденциальности пользователя. Подробнее. В этот момент любая страница с того же домена может получить доступ к этому cookie, а также к информации с сайтов, которые внедряют эти страницы. Удивительно большое количество сторон получит доступ к этим данным и может сделать выводы об устройстве пользователя на основе его привычек просмотра.
API отслеживания атрибуции предоставляет способ измерения конверсий объявлений таким образом, который защищает конфиденциальность пользователей.
Как это работает?
Давайте проиллюстрируем, как работает API отслеживания атрибуции, используя пример.
Допустим, у нас есть интернет-магазин, shop.example (также известный как рекламодатель), который размещает объявление для одного из своих продуктов на сайте с контентом, news.example (также известный как издатель). Контент объявления находится по адресу ad.shop.example.
Владельцы интернет-магазина хотят измерить, сколько конверсий они получают от пользователей, взаимодействующих с объявлением, просматривающих страницу продукта на их сайте и добавляющих продукт в корзину.
Последовательность действий:
- Когда пользователь посещает сайт
news.example, может быть зарегистрирован источник атрибуции для определённых взаимодействий пользователя с встроенным объявлением. Существует несколько способов взаимодействия пользователя с объявлениями на странице. Для регистрации источника атрибуции при взаимодействии с объявлением, объявление должно отправить запрос с заголовкомAttribution-Reporting-Eligible, чтобы указать, что ответ пригоден для регистрации источника атрибуции. Регистрация будет завершена, если ответ содержит соответствующий заголовокAttribution-Reporting-Register-Source. Источник атрибуции может быть, например:- Ссылка. В этом случае взаимодействие — это клик пользователя по ссылке (непосредственно через элемент
<a>или через вызовWindow.open()). Источник регистрируется через ответ на запрос навигации. - Изображение, такое как рекламный баннер или прозрачный трекинг-пиксель 1x1. В этом случае взаимодействие — это посещение страницы пользователем. Источник регистрируется при загрузке изображения, т. е. при ответе сервера на запрос изображения.
- Запрос fetch (т. е.
fetch()илиXMLHttpRequest). В этом случае взаимодействие может быть указано как любой подходящий для вашего приложения — например, запрос fetch может быть вызван событиемclickилиsubmit. Источник регистрируется после получения ответа.
- Ссылка. В этом случае взаимодействие — это клик пользователя по ссылке (непосредственно через элемент
- Когда происходит взаимодействие с источником атрибуции, данные источника, возвращённые в заголовке
Attribution-Reporting-Register-Source, хранятся в частном локальном кэше, доступном только браузеру. Эти данные включают контекстные и данные первого уровня, доступные странице и рекламодателю, источник компании по технологиям рекламы, собирающей данные о конверсиях, и одну или несколько точек назначения (eTLD+1), где ожидается конверсия от этого объявления (например, сайт(ы) рекламодателя, напримерshop.example). - Когда пользователь позже посещает
shop.example, этот сайт может зарегистрировать триггер атрибуции, когда взаимодействие указывает на то, что произошла конверсия (например, пользователь нажимает кнопку «Добавить в корзину» наshop.example). Затем браузер отправит запрос вместе с заголовкомAttribution-Reporting-Eligible, чтобы указать, что ответ пригоден для регистрации триггера атрибуции, и регистрация будет завершена, если ответ содержит соответствующий заголовокAttribution-Reporting-Register-Trigger. Триггер атрибуции может быть, например:- Изображение, такое как значок корзины или прозрачный трекинг-пиксель 1x1. В этом случае взаимодействие — это посещение страницы пользователем. Триггер регистрируется при загрузке изображения, т. е. при ответе сервера на запрос изображения.
- Запрос fetch (т. е.
fetch()илиXMLHttpRequest). В этом случае взаимодействие может быть указано как любой подходящий для вашего приложения — например, запрос fetch может быть вызван событиемclickилиsubmit. Триггер регистрируется после получения ответа.
- После завершения атрибуции триггера браузер пытается сопоставить данные из заголовка Attribution-Reporting-Register-Trigger со входными данными источника, сохранёнными в частном локальном кэше (см. п. 2). См. Регистрация триггеров атрибуции для методологии сопоставления и требований.
- Если сопоставление выполнено, браузер отправляет данные отчета на конечную точку на сервере отчётов, обычно принадлежащем поставщику рекламных технологий, где данные могут быть надёжно проанализированы. В отличие от файлов cookie, данные доступны только для конкретного сайта, на который вы их отправляете — данные нигде не будут разделены. Эти отчёты могут быть:
-
Отчёты на уровне события: Отчёты, основанные на событии источника атрибуции, где подробные данные источника ассоциированы с общими данными триггера. Например, отчёт может выглядеть следующим образом: «Идентификатор клика 200498 на
ad.shop.exampleпривёл к покупке наshop.example», где «Идентификатор клика 200498» — подробные данные источника, а «покупка» — общие данные триггера. Подробные данные источника могут кодировать данные первого уровня или контекстные данные со страницы источника, а данные триггера могут кодировать событие со страницы триггера. -
Сводные отчёты: Более подробные отчёты, которые объединяют данные от нескольких конверсий как со стороны источника, так и со стороны триггера. Например, «Идентификатор кампании 774653 на
news.exampleпривёл к 654 продажам гаджетов наshop.exampleот пользователей из Италии с общим доходом в 9540 долларов США». Для составления сводного отчёта требуется использование агрегирующей службы (см., например, сервис агрегирования Google).
-
Отчёты на уровне события: Отчёты, основанные на событии источника атрибуции, где подробные данные источника ассоциированы с общими данными триггера. Например, отчёт может выглядеть следующим образом: «Идентификатор клика 200498 на
Для получения дополнительной информации о реализации функциональности, необходимой для выполнения вышеперечисленных шагов, см.:
Интерфейсы
API отслеживания атрибуции не определяет собственных отдельных интерфейсов.
Расширения других интерфейсов
-
HTMLAnchorElement.attributionSrc,HTMLImageElement.attributionSrc,HTMLScriptElement.attributionSrc -
Свойство
attributionSrcпозволяет получать и устанавливать атрибутattributionsrcдля элементов<a>,<img>и<script>программно. Оно отражает значение этого атрибута. -
fetch()и конструкторRequest(), опцияattributionReporting -
При создании запроса с помощью
fetch()указывает, что вы хотите, чтобы ответ смог зарегистрировать источник или триггер атрибуции. XMLHttpRequest.setAttributionReporting()-
При создании запроса с помощью
XMLHttpRequestуказывает, что вы хотите, чтобы ответ смог зарегистрировать источник или триггер атрибуции. -
Window.open(), ключевое слово функцииattributionsrc -
Вызывает завершение регистрации источника атрибуции и заставляет браузер сохранить связанные данные источника (как указано в заголовке ответа
Attribution-Reporting-Register-Source) при завершении методаopen(). Обратите внимание, что вызовыWindow.open()не могут использоваться для регистрации триггеров атрибуции.
HTML-элементы
-
<a>,<img>и<script>— атрибутattributionsrc -
Указывает браузеру отправить заголовок
Attribution-Reporting-Eligibleвместе с запрошенным ресурсом. На стороне сервера этот заголовок используется для запуска отправки заголовкаAttribution-Reporting-Register-SourceилиAttribution-Reporting-Register-Triggerв ответе. При регистрации источника атрибуции этот заголовок обязателен; при регистрации триггера атрибуции он обязателен только если нужно указать отдельный сервер регистрации для ресурса, на который указывает атрибутsrc. Обратите внимание, что элементы<a>не могут использоваться для регистрации триггеров атрибуции.
HTTP-заголовки
Attribution-Reporting-Eligible-
HTTP-запрос, указывающий, что соответствующий ответ может зарегистрировать источник или триггер атрибуции.
Attribution-Reporting-Register-Source-
HTTP-ответ, регистрирующий функцию страницы как источник атрибуции. Он включается в ответ на запрос, содержащий заголовок
Attribution-Reporting-Eligible. Attribution-Reporting-Register-Trigger-
HTTP-ответ, регистрирующий функцию страницы как триггер атрибуции. Он включается в ответ на запрос, содержащий заголовок
Attribution-Reporting-Eligible. -
Permissions-Policyдирективаattribution-reporting -
Управляет тем, разрешено ли текущему документу использовать отчётность об атрибуции.
Регистрация и локальные тесты
Чтобы использовать API отчётности об атрибуции на ваших сайтах, необходимо указать его в процессе регистрации в процессе регистрации в песочнице конфиденциальности. Если этого не сделать, поток API блокируется на стадии ответа, т. е. заголовки ответа игнорируются, и источники и триггеры не регистрируются.
Вы всё равно можете протестировать ваш код API отчётности об атрибуции локально без регистрации. Для включения локального тестирования включите следующую флаг разработчика Chrome:
chrome://flags/#privacy-sandbox-enrollment-overrides
Примеры
Посмотрите на Демо: API отчётности об атрибуции для примера реализации (и посмотрите также исходный код).
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
Attribution_Reporting_API |
125 | 125 | Нет | 111 | Нет | 125 | Нет | 83 | Нет | 27.0 | 125 |
См. также
- Инструмент валидации заголовков отчётности об атрибуции
- Отчётность об атрибуции на developers.google.com (2023)
- Включить измерение конверсий на developers.google.com (2023)
- Песочница конфиденциальности на developers.google.com (2023)
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Attribution_Reporting_API