Выберите URL-адрес с общим хранилищем

Выберите URL-адрес на основе данных, собранных в общем хранилище, и визуализируйте содержимое в изолированном фрейме.

С помощью API общего хранилища вы можете выбрать URL-адрес, который будет отображаться в изолированном фрейме с использованием межсайтовых данных. Используйте JavaScript для чтения и записи межсайтовых данных, а затем выберите URL-адрес из предоставленного списка на основе сохраненных данных. Вы можете визуализировать этот URL в изолированном фрейме .

Выбор URL-адреса может включать в себя любой тип контента: рекламу, статьи, изображения, HTML, призывы к действию (например, кнопки) и многое другое.

Предположим, вы управляете сайтом о путешествиях и проводите рекламную кампанию с тремя разными рекламными объявлениями. Вы хотите упорядочить эти объявления на основе действий пользователя (просмотр или клик).

Три рекламных креатива, которые показываются пользователям на основе их предыдущего взаимодействия.
Первый креатив для нового зрителя гласит: «Отправляйтесь в следующее приключение». Просто просмотрев и не щелкнув мышью, пользователь увидит «Исследуйте места отдыха на выходных». После просмотра или клика третий креатив призывает пользователей «Нажмите, чтобы получить скидку на отель». Если пользователь нажмет на первое объявление, следующее объявление, которое он увидит, будет третьим.

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

Пошаговое руководство по общему хранилищу с тремя рекламными объявлениями и взаимодействием с пользователем.

Ваш JavaScript выполняется в ворлете для получения этой информации, но ваш код не может взаимодействовать или обмениваться данными за пределами iframe или изолированного фрейма на родительской странице.

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

Общее хранилище позволяет вам принимать обоснованные решения на основе межсайтовых данных, не передавая информацию о пользователе (например, историю браузера или другие личные данные) на встраиваемый сайт или не передавая данные на ваши собственные серверы.

Варианты использования

Выбор URL-адреса с помощью общего хранилища поддерживает следующие варианты использования:

  • Чередование рекламных объявлений . Вы можете хранить такие данные, как идентификатор креатива и взаимодействие с пользователем, чтобы определять, какие креативы пользователи видят на разных сайтах.
    • Частота . Счетчики просмотров в браузере могут храниться в общем хранилище и использоваться для принятия решения о том, какой креатив будет показан пользователю.
  • Запустите A/B-тестирование : назначьте пользователя в экспериментальную группу, затем сохраните этот идентификатор группы в общем хранилище для доступа к нему между сайтами.
  • Настройте взаимодействие с пользователем : делитесь персонализированным контентом и призывами к действию на основе статуса регистрации пользователя или других состояний проверки пользователя.

Бюджеты

Чтобы снизить риск утечки данных между сайтами, API выбора URL использует систему бюджетирования с комбинацией долгосрочных и краткосрочных бюджетов:

  • Долгосрочный бюджет : дневной бюджет в размере 12 бит на каждый вызывающий сайт при использовании selectURL() . Этот бюджет взимается только в том случае, если фрейм, содержащий выбранный URL-адрес, выполняет навигацию верхнего уровня, где стоимость рассчитывается как log2(number of URLs) . Итак, если вы предоставляете на выбор 8 URL-адресов, стоимость составит 3 бита. Любой оставшийся бюджет на день рассчитывается как 12 - (sum of bits deducted in the last 24 hours) и если оставшегося бюджета недостаточно, возвращается URL-адрес по умолчанию (первый URL-адрес в списке) и регистрируется 1 бит, если URL-адрес по умолчанию.
  • Краткосрочные бюджеты : дополнительные ограничения в зависимости от загрузки страницы. Существует 6-битный бюджет нагрузки на страницу для каждого вызывающего сайта, ограничивающий объем утечки с одного вызывающего сайта с помощью selectURL() . Существует также 12-битный общий бюджет нагрузки на страницу , который представляет собой совокупный лимит для всех вызывающих сайтов на странице.

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

    Сохраненные запросы можно реализовать, добавив свойство savedQuery с выбранным именем запроса к объекту параметров, как показано в следующем примере.

    const topProductUrls = [
      { url: 'https://ad.example/default-top-product.html' },
      { url: 'https://ad.example/experiment-top-product.html' }];
    const relatedProductUrls = [
      { url: 'https://ad.example/default-related-product.html' },
      { url: 'https://ad.example/experiment-related-product.html' }];
    
    // This is the first call to `selectURL()` with `savedQuery: 'control_or_experiment'`
    // on this page, so it will be charged to both per-page budgets.
    const topProductsConfig = await sharedStorage.selectURL(
      'productExperiment', topProductUrls, {
        savedQuery: 'control_or_experiment',
        keepAlive: true,
        resolveToConfig: true
    });
    document.getElementById('topProductsFencedFrame').config = topProductsConfig;
    
    // This next call with this savedQuery won't charge either of the per-page budgets.
    const relatedProductConfig = await sharedStorage.selectURL(
      'productExperiment', relatedProductUrls, {
        savedQuery: 'control_or_experiment',
        resolveToConfig: true
    });
    document.getElementById("relatedProductFencedFrame").config = relatedProductConfig;
    

Попробуйте выбрать URL

Выбор URL-адреса с помощью API общего хранилища доступен для тестирования в Chrome Canary/Dev/Beta M105+. Чтобы проверить выбор URL-адреса, включите все API конфиденциальности рекламы в разделе chrome://settings/adPrivacy .

Поэкспериментируйте с демо-версией

Доступна демо-версия , и вы можете просмотреть код на GitHub .

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

Привлекайте и делитесь отзывами

Предложение о совместном хранилище находится в стадии активного обсуждения и может быть изменено в будущем. Если вы попробуете этот API и у вас есть отзывы, мы будем рады их услышать.

,

Выберите URL-адрес на основе данных, собранных в общем хранилище, и визуализируйте содержимое в изолированном фрейме.

С помощью API общего хранилища вы можете выбрать URL-адрес, который будет отображаться в изолированном фрейме с использованием межсайтовых данных. Используйте JavaScript для чтения и записи межсайтовых данных, а затем выберите URL-адрес из предоставленного списка на основе сохраненных вами данных. Вы можете визуализировать этот URL в изолированном фрейме .

Выбор URL-адреса может включать в себя любой тип контента: рекламу, статьи, изображения, HTML, призывы к действию (например, кнопки) и многое другое.

Предположим, вы управляете сайтом о путешествиях и проводите рекламную кампанию с тремя разными рекламными объявлениями. Вы хотите упорядочить эти объявления на основе действий пользователя (просмотр или клик).

Три рекламных креатива, которые показываются пользователям на основе их предыдущего взаимодействия.
Первый креатив для нового зрителя гласит: «Отправляйтесь в следующее приключение». Просто просмотрев и не щелкнув мышью, пользователь увидит «Исследуйте места отдыха на выходных». После просмотра или клика третий креатив призывает пользователей «Нажмите, чтобы получить скидку на отель». Если пользователь нажмет на первое объявление, следующее объявление, которое он увидит, будет третьим.

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

Пошаговое руководство по общему хранилищу с тремя рекламными объявлениями и взаимодействием с пользователем.

Ваш JavaScript выполняется в ворлете для получения этой информации, но ваш код не может взаимодействовать или обмениваться данными за пределами iframe или изолированного фрейма на родительской странице.

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

Общее хранилище позволяет вам принимать обоснованные решения на основе межсайтовых данных, не передавая информацию о пользователе (например, историю браузера или другие личные данные) на встраиваемый сайт или не передавая данные на свои собственные серверы.

Варианты использования

Выбор URL-адреса с помощью общего хранилища поддерживает следующие варианты использования:

  • Чередование рекламных объявлений . Вы можете хранить такие данные, как идентификатор креатива и взаимодействие с пользователем, чтобы определять, какие креативы пользователи видят на разных сайтах.
    • Частота . Количество просмотров в браузере может храниться в общем хранилище и использоваться для принятия решения о том, какой креатив будет показан пользователю.
  • Запустите A/B-тестирование : назначьте пользователя в экспериментальную группу, затем сохраните этот идентификатор группы в общем хранилище для доступа к нему между сайтами.
  • Настройте взаимодействие с пользователем : делитесь персонализированным контентом и призывами к действию на основе статуса регистрации пользователя или других состояний проверки пользователя.

Бюджеты

Чтобы снизить риск утечки данных между сайтами, API выбора URL использует систему бюджетирования с комбинацией долгосрочных и краткосрочных бюджетов:

  • Долгосрочный бюджет : дневной бюджет в размере 12 бит на каждый вызывающий сайт при использовании selectURL() . Этот бюджет взимается только в том случае, если фрейм, содержащий выбранный URL-адрес, выполняет навигацию верхнего уровня, где стоимость рассчитывается как log2(number of URLs) . Итак, если вы предоставляете на выбор 8 URL-адресов, стоимость составит 3 бита. Любой оставшийся бюджет на день рассчитывается как 12 - (sum of bits deducted in the last 24 hours) и если оставшегося бюджета недостаточно, возвращается URL-адрес по умолчанию (первый URL-адрес в списке) и регистрируется 1 бит, если URL-адрес по умолчанию.
  • Краткосрочные бюджеты : дополнительные ограничения в зависимости от загрузки страницы. Существует 6-битный бюджет нагрузки на страницу для каждого вызывающего сайта, ограничивающий объем утечки с одного вызывающего сайта с помощью selectURL() . Существует также 12-битный общий бюджет нагрузки на страницу , который представляет собой совокупный лимит для всех вызывающих сайтов на странице.

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

    Сохраненные запросы можно реализовать, добавив свойство savedQuery с выбранным именем запроса к объекту параметров, как показано в следующем примере.

    const topProductUrls = [
      { url: 'https://ad.example/default-top-product.html' },
      { url: 'https://ad.example/experiment-top-product.html' }];
    const relatedProductUrls = [
      { url: 'https://ad.example/default-related-product.html' },
      { url: 'https://ad.example/experiment-related-product.html' }];
    
    // This is the first call to `selectURL()` with `savedQuery: 'control_or_experiment'`
    // on this page, so it will be charged to both per-page budgets.
    const topProductsConfig = await sharedStorage.selectURL(
      'productExperiment', topProductUrls, {
        savedQuery: 'control_or_experiment',
        keepAlive: true,
        resolveToConfig: true
    });
    document.getElementById('topProductsFencedFrame').config = topProductsConfig;
    
    // This next call with this savedQuery won't charge either of the per-page budgets.
    const relatedProductConfig = await sharedStorage.selectURL(
      'productExperiment', relatedProductUrls, {
        savedQuery: 'control_or_experiment',
        resolveToConfig: true
    });
    document.getElementById("relatedProductFencedFrame").config = relatedProductConfig;
    

Попробуйте выбрать URL

Выбор URL-адреса с помощью API общего хранилища доступен для тестирования в Chrome Canary/Dev/Beta M105+. Чтобы проверить выбор URL-адреса, включите все API конфиденциальности рекламы в разделе chrome://settings/adPrivacy .

Поэкспериментируйте с демо-версией

Доступна демо-версия , и вы можете просмотреть код на GitHub .

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

Привлекайте и делитесь отзывами

Предложение о совместном хранилище находится в стадии активного обсуждения и может быть изменено в будущем. Если вы попробуете этот API и у вас есть отзывы, мы будем рады их услышать.