clean roomにアクティベーションを実装する

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

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

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

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

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

どのような場合でも、アクティベーションをテンプレートがサポートしている必要があり、相手側はエクスポートされる自身のデータの列のアクティビティを承認する必要があります。

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

異なるクラウドリージョンのコラボレーション相手からのデータをアクティベートするには、 クロスクラウドの自動フルフィルメントを有効化 する必要があります。

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

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

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

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

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

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

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

アクティベーションはプロバイダーでもコンシューマーでも実行できます。プロバイダーとコンシューマーのアクティベーションにより、プロバイダーとコンシューマーの分析実行をさまざまに組み合わせることができます。(プロバイダーが実行する分析 について詳細をご参照ください。)

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

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

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

プロバイダーが実行

コンシューマーが実行

結果

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

コンシューマーアクティベーションの結果は、コンシューマーのアカウントの SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.PROVIDER_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. アクティベートした結果を表示する方法については、次のセクションをご参照ください。

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

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

プロバイダーのアクティベーション結果はすべて、Snowflake指定のテーブルに追加されます。テーブルの各行は、クエリ結果の行にマッピングされます。追加のクエリ結果はテーブルに追加されます。アクティベーションごとに一意である ACTIVATION_ID 列と、アクティベーション実行ごとに呼び出し元が指定する SEGMENT 列によって、異なる実行を区別できます。

  • プロバイダーのアクティベーション結果 は、プロバイダーのアカウントの 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を開き、 Data » Database に移動します。

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

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

  2. Data Preview を選択します。

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

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

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

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

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

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

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

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

  • Audience Overlap & Segmentation

  • SQL クエリ

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

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

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

    1. 分析を実行します。

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

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

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

    5. Push Data を選択します。