Activating query results

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

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

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

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

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

In all cases, the template must support activation, and parties should approve activation for any columns of their own data that will be activated. Data providers specify which columns of their data are activated by setting an activation policy. For more about clean room policies see clean roomテーブルのポリシーを理解する.

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

重要

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

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

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

Activation is implemented using a dedicated activation template. In the clean rooms UI, an activation template can be associated with an analysis template, and the user can run the analysis template, view the results, then run the associated activation template. The Snowflake-provided Audience Overlap & Segmentation flow does this.

An activation template need not be identical to any associated analysis template. The activation template is often a subset of the analysis template.

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

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

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

Activation can be run either by the provider or the consumer. (Learn more about provider-run analyses.)

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

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

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

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

プロバイダーが実行

UI only

コンシューマーが実行

UI only

結果

プロバイダーのアクティベーション結果 は、 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. Provide a segment name: this is an arbitrary string used to identify a set of results from a given run. You can provide a different string for each activation to group each run's results separately, or you can use the same segment name over multiple runs if you want to combine results.

  6. Push Data を選択します。

  7. To learn how to view activated results, see プロバイダーとコンシューマーのアクティベーション結果を表示する.

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

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

All activation results are appended to a clean room designated table in the provider's or consumer's account. Each row in the table maps to a row in the query result. Results from each run are appended to the table (the table is not cleared before each run). You can distinguish between different runs by the ACTIVATION_ID column, which is unique per activation, or the SEGMENT column, which can be specified by the caller for each activation run.

注釈

Provider activation results are written in encrypted format to a temporary table in the consumer's localDB. The results are then copied over to the provider's account and decrypted before saving. This extra move and decryption step can cause delays with large result sets.

  • プロバイダーのアクティベーション結果 は、プロバイダーのアカウントの 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 を選択します。