A/B 테스팅 실행

공유 저장소 Worklet을 사용하여 A/B 테스트를 실행합니다.

Shared Storage API는 가능한 많은 사용 사례를 지원하는 범용 크로스 사이트 스토리지용 개인 정보 보호 샌드박스 제안서입니다. 이러한 예 중 하나가 Chrome 104.0.5086.0 이상에서 테스트할 수 있는 A/B 테스트입니다.

사용자를 실험 그룹에 할당한 다음 해당 그룹을 공유 스토리지에 저장하여 크로스 사이트 환경에서 액세스할 수 있습니다.

A/B 테스트 사용해 보기

공유 저장소로 A/B 테스트를 실험하려면 Chrome 104.0.5086.0 이상을 사용 중인지 확인하세요. 그런 다음 chrome://flags/#privacy-sandbox-ads-apis에서 개인 정보 보호 샌드박스 광고 API 실험 플래그를 사용 설정합니다.

이 API를 사용하려면 개인 정보 보호 샌드박스 Ads API 실험을 사용 설정하세요.

명령줄에서 --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames 플래그를 사용하여 공유 저장소를 사용 설정할 수도 있습니다.

코드 샘플로 실험

실험에서 원하는 효과를 얻으려면 여러 사이트에서 A/B 테스트를 실행하면 됩니다. 광고주 또는 콘텐츠 제작자는 사용자가 할당된 그룹에 따라 다른 콘텐츠 또는 광고를 렌더링하도록 선택할 수 있습니다. 그룹 과제는 공유 저장공간에 저장되지만 유출될 수는 없습니다.

이 예에서는 다음과 같이 정의됩니다.

  • ab-testing.js은(는) 컨트롤 하나와 실험 콘텐츠 2개를 매핑하는 프레임에 삽입되어야 합니다. 스크립트에서 실험의 공유 저장소 Worklet을 호출합니다.
  • ab-testing-worklet.js는 사용자가 할당된 그룹을 반환하여 표시되는 광고를 결정하는 공유 저장소 Worklet입니다.

ab-testing.js

// Randomly assigns a user to a group 0 or 1
function getExperimentGroup() {
  return Math.round(Math.random());
}

async function injectContent() {
  // Register the Shared Storage worklet
  await window.sharedStorage.worklet.addModule('ab-testing-worklet.js');

  // Assign user to a random group (0 or 1) and store it in Shared Storage
  window.sharedStorage.set('ab-testing-group', getExperimentGroup(), {
    ignoreIfPresent: true,
  });

  // Run the URL selection operation
  const fencedFrameConfig = await window.sharedStorage.selectURL(
    'ab-testing',
    [
      { url: `https://your-server.example/content/default-content.html` },
      { url: `https://your-server.example/content/experiment-content-a.html` }
    ],
    {
      resolveToConfig: true
    }
  );

  // Render the chosen URL into a fenced frame
  document.getElementById('content-slot').config = fencedFrameConfig;
}

injectContent();

ab-testing-worklet.js

class SelectURLOperation {
  async run(urls, data) {
    // Read the user's experiment group from Shared Storage
    const experimentGroup = await this.sharedStorage.get('ab-testing-group');

    // Return the corresponding URL (first or second item in the array)
    return urls.indexOf(experimentGroup);
  }
}

register('ab-testing', SelectURLOperation);

사용 사례

이는 공유 스토리지의 가능한 사용 사례 중 일부에 불과합니다. 의견을 받고 새로운 사용 사례를 탐색하면서 예시를 계속 추가할 예정입니다.

콘텐츠 선택사항

공유 저장소에서 수집한 정보를 기반으로 분리 프레임의 여러 웹사이트의 다른 콘텐츠를 선택하여 표시합니다. 이러한 사용 사례의 출력 게이트는 URL 선택입니다.

  • 광고 소재 순환게재: 광고 소재 ID, 조회수, 사용자 상호작용과 같은 데이터를 저장하여 여러 사이트에서 사용자에게 표시되는 광고 소재를 결정합니다.
  • A/B 테스트: 실험 그룹에 사용자를 할당한 다음 해당 그룹을 공유 저장소에 저장하면 크로스 사이트에서 액세스할 수 있습니다.
  • 커스텀 사용자 환경: 사용자의 등록 상태 또는 기타 사용자 상태를 기반으로 커스텀 콘텐츠와 클릭 유도 문구를 공유합니다.

요약 보고서 생성

Shared Storage로 정보를 수집하고 노이즈가 포함된 합산 요약 보고서를 생성함 이러한 사용 사례의 출력 게이트는 Private Aggregation API입니다.

  • 순 사용자 도달범위 측정: 많은 콘텐츠 제작자 및 광고주는 콘텐츠를 본 순 사용자 수를 알고 싶어 합니다. 공유 저장소를 사용하면 사용자가 처음 광고, 삽입된 동영상 또는 게시물을 볼 때를 기록하고, 다른 사이트에서 동일한 사용자가 중복 집계되는 것을 방지할 수 있습니다. 그런 다음 Private Aggregation API를 사용하여 도달범위에 대한 요약 보고서를 출력할 수 있습니다.
  • 인구통계 측정: 콘텐츠 제작자가 잠재고객의 인구통계를 알고 싶어하는 경우가 많습니다. 공유 저장소를 사용하면 퍼스트 파티 사이트와 같이 보유하고 있는 컨텍스트에서 사용자 인구통계 데이터를 기록하고, 집계 보고를 사용하여 삽입된 콘텐츠와 같은 다른 많은 사이트에서 이에 대해 보고할 수 있습니다.
  • K+ 게재빈도 측정: '유효 게재빈도'라고도 하며 사용자가 특정 콘텐츠를 인식하거나 기억하기 전에 최소 조회수가 있는 경우가 많습니다 (종종 광고 조회수와 관련하여). 공유 저장소를 사용하여 콘텐츠를 K회 이상 본 순 사용자에 대한 보고서를 작성할 수 있습니다.

참여 및 의견 공유

공유 저장소 제안은 논의 중이며 향후 변경될 수 있습니다. 이 API를 사용해 보고 의견을 보내 주세요.