Области атрибуции позволяют вызывающим API указывать список строк во время регистрации источника и триггера, которые могут использоваться для фильтрации до того, как произойдет атрибуция. Это позволяет выполнять более тонкую фильтрацию для повышения эффективности API и обеспечения большей гибкости. Например, это позволяет отслеживать отдельных рекламодателей на одном сайте по отдельности. Это также облегчает отслеживание нескольких кампаний или продуктов в рамках одного рекламного баннера.
Области атрибуции — это необязательные поля, которые можно задать во время регистрации источника и триггера. Во время атрибуции только источники, значения области атрибуции которых содержат хотя бы одно значение области атрибуции триггера, будут рассматриваться для атрибуции. Если область не указана в триггере, то будут рассматриваться все источники. Прежде чем продолжить, вы должны быть знакомы с API отчетов об атрибуции и высокоуровневыми фильтрами .
Во время регистрации источника
Необязательный параметр attribution_scopes
добавляется в заголовок Attribution-Reporting-Register-Source
, который содержит два обязательных параметра: значения и предел; и один необязательный параметр: 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 values содержит хотя бы одну из 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_scopes.
- Атрибуция: Устройство выбирает источник с наивысшим приоритетом для атрибуции, если совпадают несколько источников. Если приоритеты равны, выбирается самый последний.
- Проверка фильтров: Устройство сравнивает исходные и триггерные фильтры, чтобы определить, совпадают ли они. Если фильтры не совпадают, то атрибуция отбрасывается.
- Деактивация других источников: Если фильтры выбранного источника совпадают, устройство деактивирует источники, сопоставленные на этапе сопоставления источников. Деактивированные источники будут включать источники, чьи области атрибуции не совпадают с областями триггера.
- Проверки после атрибуции: устройство выполняет дополнительные проверки выбранной атрибуции, такие как проверка на наличие поддельных отчетов в источнике, проверка дубликатов атрибуции с использованием ключей дедупликации, проверка попадания триггера в окно отчета источника и проверка ограничений по скорости.
- Формирование отчета: если все проверки пройдены, устройство формирует и планирует отправку отчета об атрибуции на конечную точку источника отчета.
Следующие шаги
- Подробнее об областях атрибуции читайте в объяснении предварительной фильтрации на GitHub .
- Подробнее о фильтрах читайте в статье Определение правил клиентов с помощью фильтров .