クエリ結果のアクティベーション

アクティベーションの概要

プロバイダーまたはコンシューマーは、 アクティベーション と呼ばれるプロセスで、clean roomの外部にテンプレート結果を送信することができます。Snowflakeは3タイプのアクティビティをサポートしています:

  • プロバイダーアクティベーション、結果がプロバイダーのSnowflakeアカウントのテーブルにプッシュされます。

  • コンシューマーアクティベーション、結果がコンシューマーのSnowflakeアカウントのテーブルにプッシュされます。

  • サードパーティアクティベーション、プロバイダーまたはコンシューマーは、 アクティベーションコネクタ を介して、結果をLiveRamp やMeta Ads ManagerなどのSnowflakeが承認したサードパーティにプッシュします。

いずれの場合でも、テンプレートはアクティベーションをサポートする必要があり、当事者は、アクティベーションされる自身のデータの列について、アクティベーションを承認する必要があります。データプロバイダーは、アクティベーションポリシーを設定することで、データのどの列をアクティベーションするかを指定します。クリーンルームのポリシーの詳細については、 clean roomテーブルのポリシーを理解する をご参照ください。

アクティベーションは差分プライバシーを(有効であれば)サポートし、差分プライバシーのルールとバジェットに従います。

重要

コンシューマーとプロバイダーが異なるクラウドリージョンにある場合は、両方のアカウントと両方のクリーンルームで クロスクラウドの自動フルフィルメント を有効にする必要があります。

プロバイダーとコンシューマーのアクティベーション

clean roomを構成すると、プロバイダーまたはコンシューマーのSnowflakeアカウントにテンプレートの結果を保存できます。プロバイダーとコンシューマーの双方が、clean room外のデータのアクティベーションを承認する必要があります。

アクティベーションは、専用のアクティベーションテンプレートを使用して実装されます。クリーンルーム UI では、アクティベーションテンプレートは分析テンプレートに関連付けることができます。ユーザーは分析テンプレートを実行し、結果を表示し、関連するアクティベーションテンプレートを実行することができます。Snowflakeが提供する Audience Overlap & Segmentation フローはこれを行います。

アクティベーションテンプレートは、関連する分析テンプレートと同一である必要はありません。アクティベーションテンプレートは、多くの場合、分析テンプレートのサブセットです。

サポートされるテンプレート

以下のテンプレートはプロバイダーとコンシューマーのアクティベーションをサポートしています:

サポートされる組み合わせ

アクティベーションはプロバイダーまたはコンシューマーのいずれかによって実行されます。(詳細は プロバイダー実行の分析 をご覧ください)

以下の組み合わせをサポートしています:

プロバイダーのアクティベーション

コンシューマーアクティベーション

サードパーティアクティベーション

プロバイダーが実行

UI のみ

コンシューマーが実行

UI のみ

結果

プロバイダーのアクティベーション結果 は、 SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.PROVIDER_ACTIVATION_SUMMARY テーブルのプロバイダーアカウントに保存されます。

コンシューマーのアクティベーション結果 は、 SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.CONSUMER_DIRECT_ACTIVATION_SUMMARY テーブルのコンシューマーのアカウントに保存されます。

データの読み方については、 結果の表示 をご参照ください。

プロバイダーまたはコンシューマーアクティベーションを実装する

設定

1.clean roomの作成または参加

clean roomを作成または参加する際、 Configure Analysis & Query ステップの Activation Settings で、どの列を自分のアカウントにアクティベートされた結果に追加するかを指定します。

2.テンプレートの実行と結果のアクティベート

分析に関連付けたアクティビティを実行するには、以下の手順に従ってください:

  1. 分析を実行します。

  2. 分析の実行後、Results » Activate を選択します。

  3. Activation Hub で、アクティベートするプロバイダーまたはコンシューマーアカウントの名前を選択します。

  4. セグメンテーションのわかりやすい名前を入力する、アクティベーションの列を選択するなど、アクティベーションテンプレートに固有の情報を入力します。

  5. セグメント名を指定します。これは、指定された実行からの結果のセットを識別するために使用される任意の文字列です。アクティベーションごとに異なる文字列を提供して、各実行の結果を個別にグループ化することもできます。または、結果を結合したい場合は、複数の実行で同じセグメント名を使用することもできます。

  6. Push Data を選択します。

  7. アクティブ化された結果を表示する方法については、 プロバイダーとコンシューマーのアクティベーション結果を表示する をご参照ください。

プロバイダーとコンシューマーのアクティベーション結果を表示する

アクティベーション結果の場所と形式

すべてのアクティベーション結果は、プロバイダーまたはコンシューマーのアカウントのクリーンルーム指定テーブルに追加されます。テーブルの各行は、クエリ結果の行にマップされます。各実行の結果がテーブルに追加されます(テーブルは各実行前にクリアされません)。それぞれの実行は、アクティベーションごとに一意の ACTIVATION_ID 列で、または各アクティベーション実行の呼び出し元が指定できる SEGMENT 列で、区別することができます。

注釈

プロバイダーのアクティベーション結果は、暗号化された形式でコンシューマーの localDB の仮テーブルに書き込まれます。結果はその後、プロバイダーのアカウントにコピーされ、復号化されてから保存されます。この余分な移動と復号化のステップにより、結果セットが大きい場合は遅延が発生する可能性があります。

  • プロバイダーのアクティベーション結果 は、プロバイダーのアカウントの SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.PROVIDER_ACTIVATION_SUMMARY に保存されます。

  • コンシューマーのアクティベーション結果 は、コンシューマーのアカウントの SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.CONSUMER_DIRECT_ACTIVATION_SUMMARY に保存されます。

これらのテーブルには以下の列があります:

USER_ID:

JSON 形式の1行の結果。キーが列名、値がその行のその列の値。このオブジェクトはまた、テンプレートに渡される各引数の列を含みます。

ACTIVATION_ID:

リクエストごとに一意な ID 。ID は、アクティベーションリクエストに成功した場合に返されます。この列でフィルターをかけると、同じアクティベーションのすべての結果を取得できます。また、複数の実行で同じセグメント名を再利用する場合は、 SEGMENT でフィルターをかけることができます。これは、 submit_analysis_request または run_activation が返すクエリリクエスト ID と同じです。

CLEANROOM_NAME:

クエリが実行されたclean roomの名前。

CONSUMER:

(プロバイダーアクティベーションのみ) このアクティベーションを承認したコンシューマー。

PROVIDER:

(コンシューマーアクティベーションのみ) このアクティベーションを承認したプロバイダー。

SEGMENT:

アクティベーション実行時に割り当てる任意の文字列値。この列を使用すると、複数のクエリを実行した結果を結合できます。

TIMESTAMP:

アクティビティが実行されたとき。

プロバイダーアクティベーションの例

SELECT * FROM SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.PROVIDER_ACTIVATION_SUMMARY WHERE segment = 'my_segment';

                             USER_ID                          |   CLEANROOM_NAME |   SEGMENT  | CONSUMER |          TIMESTAMP      |  ACTIVATION_ID
"{""AGE_BAND"":55,""ITEM_COUNT"":2328,""STATUS"":""MEMBER""}" |  test activation | my_segment | ABC1234  | 2025-04-01 16:27:14.068 | cleanroomactivationdataanalysisresults20250401231728469
"{""AGE_BAND"":20,""ITEM_COUNT"":88,""STATUS"":""PLATINUM""}" |  test activation | my_segment | ABC1234  | 2025-04-01 16:27:14.068 | cleanroomactivationdataanalysisresults20250401231728469
"{""AGE_BAND"":80,""ITEM_COUNT"":18,""STATUS"":""GOLD""}"     |  test activation | my_segment | ABC1234  | 2025-04-01 16:27:14.068 | cleanroomactivationdataanalysisresults20250401231728469
...

プロバイダーまたはコンシューマーのアクティベーション結果を読み取る

適切な SQL コマンドを実行して、Snowflake アカウントにアクティベートされた結果を表示します:

プロバイダーアクティベーションの結果を表示

SELECT *
   FROM SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.PROVIDER_ACTIVATION_SUMMARY
   [WHERE segment = <SEGMENT_NAME>] [AND activation_id = <ACTIVATION_ID>];
Copy

コンシューマーアクティベーションの結果を表示

SELECT *
   FROM SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.CONSUMER_DIRECT_ACTIVATION_SUMMARY
   [WHERE segment = <SEGMENT_NAME>] [AND activation_id = <ACTIVATION_ID>];
Copy

各行のデータは、 USER_ID 列のオブジェクトに結合されます。次のようなクエリを使用して結果をフラット化できます:

-- Assuming columns AGE_BAND, STATUS, and ITEM_COUNT
SELECT
  item:"AGE_BAND",
  item:"STATUS",
  item:"ITEM_COUNT"
FROM (SELECT parse_json(user_id)
      AS item
      FROM SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.PROVIDER_ACTIVATION_SUMMARY
      WHERE segment = $segment_name)
ORDER BY item:"AGE_BAND", item:"STATUS" ASC
LIMIT 20 ;
Copy

最新の結果10行をSnowsightに表示する:

  1. Snowsight にサインインします。

  2. ナビゲーションメニューで Catalog » Database Explorer を選択します。

    • プロバイダーアクティベーションの場合 SAMOOHA_BY_SNOWFLAKE_LOCAL_DB » PUBLIC » Tables » PROVIDER_ACTIVATION_SUMMARY に移動します。

    • コンシューマーアクティベーションの場合 SAMOOHA_BY_SNOWFLAKE_LOCAL_DB » PUBLIC » Tables » CONSUMER_DIRECT_ACTIVATION_SUMMARY に移動します。

  3. Data Preview を選択します。

サードパーティアクティベーション

サードパーティアクティベーションは、 サードパーティアクティベーションコネクタ を使用して、Snowflakeが承認したサードパーティのアカウントにクエリ結果をデポジットします。

サードパーティアクティベーションは、clean room UI でのみサポートされ、カスタムテンプレートは使用できません。

clean room UI 使用中のアクティベーションは、clean roomのアカウント がアクティベーション を許可する場合のみサポートされます。

clean room管理者は、サードパーティのアクティビティコネクタをサポートするように環境を構成し、許可されたコネクタを選択して、それらを構成してから、clean roomで使用する必要があります。

サードパーティアクティベーションは、コンシューマーとプロバイダーの両方が実行する分析をサポートします。

サポートされるテンプレート

以下のテンプレートは、サードパーティアクティベーションをサポートしています:

  • Audience Overlap & Segmentation

サードパーティアクティベーションを実装する

  1. clean roomを作成または結合する: clean roomを作成または結合する際、 Configure Analysis & Query ステップの Activation Settings で、どの列を自分のアカウントにアクティベートされた結果に追加するかを指定します。

  2. 結果をのアクティベート

    1. 分析を実行します。

    2. 分析の実行後、Results » Activate を選択します。

    3. Activation Hub で、アクティベートするサードパーティプロバイダーの名前を選択します。

    4. プロバイダー固有の情報を入力します。たとえば、わかりやすい名前を指定したり、アクティベートする列を選択したりします。ページのツールチップには、そのプロバイダーの追加情報が表示されます。

    5. Push Data を選択します。