Activating query results

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

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

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

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

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

いずれの場合でも、テンプレートはアクティベーションをサポートする必要があり、当事者は、アクティベーションされる自身のデータの列について、アクティベーションを承認する必要があります。データプロバイダーは、アクティベーションポリシーを設定することで、データのどの列をアクティベーションするかを指定します。クリーンルームのポリシーの詳細については、 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 のみ

コンシューマーが実行

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

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

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

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.

注釈

プロバイダーのアクティベーション結果は、暗号化された形式でコンシューマーの 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 を選択します。