既知の顧客向けにユーザー エクスペリエンスをカスタマイズする

共有ストレージ ワークレットを使用して既知のお客様を特定します。

Shared Storage API は、汎用のクロスサイト ストレージ向けのプライバシー サンドボックスの提案で、多くのユースケースに対応しています。一例として、既知のお客様の識別があります。これは Chrome 104.0.5086.0 以降でテストできます。

ユーザーがサイトに登録しているかどうかを共有ストレージに保存し、ユーザーの保存済みステータス(ユーザーが「既知の」顧客かどうか)に基づいて個別の要素をレンダリングできます。

既知の顧客を設定する

共有ストレージ内の既知の顧客の識別を試すには、Chrome 104.0.5086.0 以降を使用していることを確認してください。chrome://settings/adPrivacy で、すべての広告プライバシー API を有効にします。

コマンドラインで --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames フラグを使用して共有ストレージを有効にすることもできます。

コードサンプルでテストする

ユーザーが別のサイトで確認されたかどうかに基づいて、異なる要素をレンダリングできます。たとえば、決済機関は、ユーザーが決済機関のサイトで登録したかどうかに基づいて、[登録] ボタンや [今すぐ購入] ボタンを表示したい場合があります。共有ストレージを使用すると、ユーザーのステータスを設定し、そのステータスに基づいてユーザー エクスペリエンスをカスタマイズできます。

この例では、次のようになります。

  • known-customer.js はフレームに埋め込まれています。このスクリプトでは、「登録」や「今すぐ購入」など、どのボタンをサイトに表示するかのオプションを設定します。
  • known-customer-worklet.js は、ユーザーが認識されているかどうかを決定する共有ストレージ ワークレットです。ユーザーがわかっている場合は、情報が返されます。ユーザーが不明の場合は、その情報が返されて [登録] ボタンが表示され、ユーザーは既知としてマークされます。

known-customer.js

// The first URL for the "register" button is rendered for unknown users.
const BUTTON_URLS = [
  { url: `https://${advertiserUrl}/ads/register-button.html` },
  { url: `https://${advertiserUrl}/ads/buy-now-button.html` },
];

async function injectButton() {
  // Load the worklet module
  await window.sharedStorage.worklet.addModule('known-customer-worklet.js');

  // Set the initial status to unknown ('0' is unknown and '1' is known)
  window.sharedStorage.set('known-customer', 0, {
    ignoreIfPresent: true,
  });

  // Run the URL selection operation to choose the button based on the user status
  const fencedFrameConfig = await window.sharedStorage.selectURL('known-customer', BUTTON_URLS, {
    resolveToConfig: true
  });

  // Render the opaque URL into a fenced frame
  document.getElementById('button-slot').src = fencedFrameConfig;
}

injectButton();

known-customer-worklet.js

class SelectURLOperation {
  async run(urls) {
    const knownCustomer = await this.sharedStorage.get('known-customer');

    // '0' is unknown and '1' is known
    return parseInt(knownCustomer);
  }
}

register('known-customer', SelectURLOperation);

ユースケース

上記は、共有ストレージのユースケースのほんの一例です。今後もフィードバックをいただき、新しいユースケースを発見する際に、例を追加していく予定です。

コンテンツの選択

共有ストレージで収集された情報に基づいて、さまざまなコンテンツを選択し、フェンス付きフレームでさまざまなウェブサイトのさまざまなコンテンツを選択して表示します。これらのユースケースの出力ゲートは URL の選択です。

  • クリエイティブ ローテーション: クリエイティブ ID、視聴回数、ユーザー インタラクションなどのデータを保存して、さまざまなサイトでどのクリエイティブをユーザーが目にするかを決定します。
  • A/B テスト: ユーザーをテストグループに割り当てて、そのグループを共有ストレージに保存して、クロスサイトでアクセスできるようにします。
  • カスタム ユーザー エクスペリエンス: ユーザーの登録ステータスなどのユーザー状態に基づいて、カスタム コンテンツと行動を促すフレーズを共有します

概要レポートを生成する

共有ストレージを使用して情報を収集し、ノイズの多い集計概要レポートを生成する。これらのユースケースの出力ゲートは Private Aggregation API です。

  • ユニークリーチ測定: 多くのコンテンツ プロデューサーや広告主は、自分のコンテンツを見たユニーク ユーザー数を知りたいと考えています。共有ストレージを使用すると、ユーザーが広告、埋め込み動画、パブリケーションを最初に見たタイミングを記録し、同じユーザーが別のサイトで重複してカウントされないようにすることができます。その後、Private Aggregation API を使用してリーチの概要レポートを出力できます。
  • ユーザー属性の測定: コンテンツ制作者は多くの場合、視聴者のユーザー属性を把握します。共有ストレージを使用して、ユーザー属性データが存在する場合は、そのコンテキスト(ファースト パーティ サイトなど)でそのデータを記録し、集計レポートを使用して他の多くのサイト(埋め込みコンテンツなど)でレポートを作成できます。
  • K+ フリークエンシー測定: 「有効フリークエンシー」と呼ばれることもあります。多くの場合、ユーザーが特定のコンテンツを認識または想起するまでに最低限の視聴回数が必要です(多くの場合、広告視聴のコンテキストで)。共有ストレージを使用して、コンテンツを K 回以上表示したユニーク ユーザーのレポートを作成できます。

Engage and share feedback

The Shared Storage proposal is under active discussion and subject to change in the future. If you try this API and have feedback, we'd love to hear it.