Spec-Zone.ru › Web APIs

API отслеживания атрибуции

Ограниченная доступность

Эта функция не относится к Baseline, так как не работает в некоторых из наиболее распространённых браузеров.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Экспериментальная: Это экспериментальная технология.Подробнее
Перед использованием в продакшене внимательно ознакомьтесь с таблицей совместимости с браузерами.

Безопасный контекст: Данная функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.

API отслеживания атрибуции позволяет разработчикам измерять конверсии — например, когда пользователь кликает на объявление, встроенное на одном сайте, а затем совершает покупку на сайте продавца — и затем получать отчеты об этих конверсиях. Это делается без использования сторонних файлов cookie отслеживания.

Концепции и использование

Рекламодатели часто хотят отслеживать, сколько пользователей видят объявление и затем просматривают и покупают продукт (конверсии). Это позволяет им определить, какие рекламные размещения приносят наибольшую отдачу от инвестиций (ROI), чтобы соответствующим образом скорректировать свою рекламную стратегию. Процесс измерения конверсий обычно включает в себя сбор таких данных:

  • Какие пользователи совершили конверсию (например, купили товар или подписались на услугу) и сколько.
  • Географические регионы, в которых они находятся.
  • На каких сайтах были размещены объявления.
  • Сколько товаров было продано, услуг было подписано и т. д.
  • Какой доход был получен.

Традиционно в интернете конверсии измерялись с помощью сторонних файлов cookie отслеживания. Объявление обычно встраивается на веб-страницу в <iframe>, которое может устанавливать cookie с информацией о пользователе и его взаимодействии с объявлением.

Позже, когда пользователь переходит на сайт рекламодателя, при условии, что это происходит с того же домена, что и объявление, этот сайт может получить доступ к стороннему cookie, установленный ранее объявлением. Рекламодатель может затем связать данные из объявления со своими собственными данными первого уровня, чтобы ответить на вопросы, такие как «совершил ли пользователь покупку после взаимодействия с объявлением о продукте с другого сайта?»

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

API отслеживания атрибуции предоставляет способ измерения конверсий объявлений таким образом, который защищает конфиденциальность пользователей.

Как это работает?

Давайте проиллюстрируем, как работает API отслеживания атрибуции, используя пример.

Допустим, у нас есть интернет-магазин, shop.example (также известный как рекламодатель), который размещает объявление для одного из своих продуктов на сайте с контентом, news.example (также известный как издатель). Контент объявления находится по адресу ad.shop.example.

Владельцы интернет-магазина хотят измерить, сколько конверсий они получают от пользователей, взаимодействующих с объявлением, просматривающих страницу продукта на их сайте и добавляющих продукт в корзину.

Image representation of the steps described below

Последовательность действий:

  1. Когда пользователь посещает сайт news.example, может быть зарегистрирован источник атрибуции для определённых взаимодействий пользователя с встроенным объявлением. Существует несколько способов взаимодействия пользователя с объявлениями на странице. Для регистрации источника атрибуции при взаимодействии с объявлением, объявление должно отправить запрос с заголовком Attribution-Reporting-Eligible, чтобы указать, что ответ пригоден для регистрации источника атрибуции. Регистрация будет завершена, если ответ содержит соответствующий заголовок Attribution-Reporting-Register-Source. Источник атрибуции может быть, например:
    • Ссылка. В этом случае взаимодействие — это клик пользователя по ссылке (непосредственно через элемент <a> или через вызов Window.open()). Источник регистрируется через ответ на запрос навигации.
    • Изображение, такое как рекламный баннер или прозрачный трекинг-пиксель 1x1. В этом случае взаимодействие — это посещение страницы пользователем. Источник регистрируется при загрузке изображения, т. е. при ответе сервера на запрос изображения.
    • Запрос fetch (т. е. fetch() или XMLHttpRequest). В этом случае взаимодействие может быть указано как любой подходящий для вашего приложения — например, запрос fetch может быть вызван событием click или submit. Источник регистрируется после получения ответа.
  2. Когда происходит взаимодействие с источником атрибуции, данные источника, возвращённые в заголовке Attribution-Reporting-Register-Source, хранятся в частном локальном кэше, доступном только браузеру. Эти данные включают контекстные и данные первого уровня, доступные странице и рекламодателю, источник компании по технологиям рекламы, собирающей данные о конверсиях, и одну или несколько точек назначения (eTLD+1), где ожидается конверсия от этого объявления (например, сайт(ы) рекламодателя, например shop.example).
  3. Когда пользователь позже посещает shop.example, этот сайт может зарегистрировать триггер атрибуции, когда взаимодействие указывает на то, что произошла конверсия (например, пользователь нажимает кнопку «Добавить в корзину» на shop.example). Затем браузер отправит запрос вместе с заголовком Attribution-Reporting-Eligible, чтобы указать, что ответ пригоден для регистрации триггера атрибуции, и регистрация будет завершена, если ответ содержит соответствующий заголовок Attribution-Reporting-Register-Trigger. Триггер атрибуции может быть, например:
    • Изображение, такое как значок корзины или прозрачный трекинг-пиксель 1x1. В этом случае взаимодействие — это посещение страницы пользователем. Триггер регистрируется при загрузке изображения, т. е. при ответе сервера на запрос изображения.
    • Запрос fetch (т. е. fetch() или XMLHttpRequest). В этом случае взаимодействие может быть указано как любой подходящий для вашего приложения — например, запрос fetch может быть вызван событием click или submit. Триггер регистрируется после получения ответа.
  4. После завершения атрибуции триггера браузер пытается сопоставить данные из заголовка Attribution-Reporting-Register-Trigger со входными данными источника, сохранёнными в частном локальном кэше (см. п. 2). См. Регистрация триггеров атрибуции для методологии сопоставления и требований.
  5. Если сопоставление выполнено, браузер отправляет данные отчета на конечную точку на сервере отчётов, обычно принадлежащем поставщику рекламных технологий, где данные могут быть надёжно проанализированы. В отличие от файлов cookie, данные доступны только для конкретного сайта, на который вы их отправляете — данные нигде не будут разделены. Эти отчёты могут быть:
    • Отчёты на уровне события: Отчёты, основанные на событии источника атрибуции, где подробные данные источника ассоциированы с общими данными триггера. Например, отчёт может выглядеть следующим образом: «Идентификатор клика 200498 на ad.shop.example привёл к покупке на shop.example», где «Идентификатор клика 200498» — подробные данные источника, а «покупка» — общие данные триггера. Подробные данные источника могут кодировать данные первого уровня или контекстные данные со страницы источника, а данные триггера могут кодировать событие со страницы триггера.
    • Сводные отчёты: Более подробные отчёты, которые объединяют данные от нескольких конверсий как со стороны источника, так и со стороны триггера. Например, «Идентификатор кампании 774653 на news.example привёл к 654 продажам гаджетов на shop.example от пользователей из Италии с общим доходом в 9540 долларов США». Для составления сводного отчёта требуется использование агрегирующей службы (см., например, сервис агрегирования Google).

Для получения дополнительной информации о реализации функциональности, необходимой для выполнения вышеперечисленных шагов, см.:

  1. Регистрация источников атрибуции
  2. Регистрация триггеров атрибуции
  3. Генерация отчётов

Интерфейсы

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 отчётности об атрибуции для примера реализации (и посмотрите также исходный код).

Спецификации

Спецификация
Отчётность об атрибуции
# element-attrdef-a-attributionsrc

Совместимость с браузерами

Рабочий стол Мобильные устройства
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API