Уникальное измерение охвата

Многие производители контента и рекламодатели хотят знать, сколько уникальных людей увидели их контент. Используйте Shared Storage для записи первого раза, когда пользователь увидел вашу рекламу, встроенное видео или публикацию, и предотвратите дублирующий подсчет одного и того же пользователя на разных сайтах. Затем вы можете использовать API Private Aggregation для вывода сводного отчета по вашему охвату.

Shared Storage API — это предложение Privacy Sandbox для общего назначения, межсайтового хранения, которое поддерживает множество возможных вариантов использования. Private Aggregation API — это выход, доступный в Shared Storage, который позволяет вам агрегировать межсайтовые данные. Чтобы узнать больше о методах реализации этих измерений, ознакомьтесь с нашим техническим документом reach .

Попробуйте уникальное измерение охвата

Чтобы поэкспериментировать с измерением уникального охвата с помощью Shared Storage и Private Aggregation, убедитесь, что вы используете Chrome M107 или более позднюю версию. Включите все API конфиденциальности рекламы в chrome://settings/adPrivacy .

Вы также можете включить общее хранилище с помощью флага --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames в командной строке.

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

Вы можете захотеть отслеживать, сколько уникальных пользователей увидели ваш контент на разных сайтах. В этом примере измерение идентификатора контента кодируется в ключ агрегации (корзина), а количество используется как агрегируемое значение. Сводный отчет будет содержать такую ​​информацию, как «Приблизительно 391 пользователь увидел идентификатор контента 123».

В этом примере:

  • unique-reach-measurement.js загружается с помощью фрейма и отвечает за загрузку общего хранилища ворклета.
  • unique-reach-measurement-worklet.js — это ворклет общего хранилища, который проверяет флаг в общем хранилище и отправляет отчет с помощью API частной агрегации.

reach-measurement.js

async function measureUniqueReach() {
  // Load the Shared Storage worklet
  await window.sharedStorage.worklet.addModule('reach-measurement-worklet.js');

  // Run the reach measurement operation
  await window.sharedStorage.run('reach-measurement', { data: { contentId: '1234' } });
}

measureUniqueReach();

reach-measurement-worklet.js

// Learn more about noise and scaling from the Private Aggregation fundamentals
// documentation on Chrome blog
const SCALE_FACTOR = 65536;

function convertContentIdToBucket(contentId) {
  return BigInt(contentId);
}

class ReachMeasurementOperation {
  async run(data) {
    const { contentId } = data;

    // Read from Shared Storage
    const key = 'has-reported-content';
    const hasReportedContent = (await sharedStorage.get(key)) === 'true';

    // Don't report if a report has been sent already
    if (hasReportedContent) {
      return;
    }

    // Generate the aggregation key and the aggregatable value
    const bucket = convertContentIdToBucket(contentId);
    const value = 1 * SCALE_FACTOR;

    // Send an aggregatable report using the Private Aggregation API
    privateAggregation.contributeToHistogram({ bucket, value });

    // Set the report submission status flag
    await sharedStorage.set(key, true);
  }
}

// Register the operation
register('reach-measurement', ReachMeasurementOperation);

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

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

Мы хотим услышать ваши мысли об API общего хранилища.

Будьте в курсе

  • Список рассылки : подпишитесь на нашу рассылку, чтобы получать последние обновления и объявления, связанные с API общего хранилища.

Нужна помощь?