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

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

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

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

既知の顧客を設定する

共有ストレージ内の既知のユーザーの特定をテストするには、Chrome 104.0.5086.0 以降を使用していることを確認してください。次に、chrome://flags/#privacy-sandbox-ads-apisプライバシー サンドボックスの広告 API のテストフラグを有効にします。

これらの API を使用するには、プライバシー サンドボックスの広告 API のテストを有効に設定します

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

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

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

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

  • known-customer.js がフレームに埋め込まれている。このスクリプトでは、サイトに表示するボタン、「Register」または「Buy now」のオプションを設定します。
  • known-customer-worklet.js は、ユーザーが既知かどうかを判別する共有ストレージ ワークレットです。既知のユーザーであれば、情報が返されます。不明な場合は、その情報が返されて [Register] ボタンが表示され、ユーザーは既知のものとしてマークされます。

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 回以上表示したユニーク ユーザーのレポートを作成できます。

フィードバックを共有

共有ストレージの提案は現在検討中であり、将来変更される可能性があります。この API をお試しいただき、フィードバックがございましたら、ぜひお寄せください。