どのようにお手伝いできますか?

Data Clean Room | ソースの管理 プレミアム機能

  • 更新

Data Clean Room(DCR)に共有するカスタムデータソースを設定します。アトリビューションデータとの照合やDCRレポートの作成に使用します。

はじめに

多くのDCRレポートでは、アトリビューションデータとカスタムデータソースのデータを照合します。この記事では、カスタムデータソースの以下の操作について説明します。

事前準備

カスタムデータソースを作成する前に、以下を実施してください。

  • [必須]DCRがデータを取得するクラウドサービスを設定します。次の2種類のクラウドサービスに対応しています。
    • データウェアハウス:BigQuery、Snowflake
    • クラウドストレージのバケット:Amazon S3(AWS)、GCS
  • [任意]AppsFlyer上で入力用のデータ接続を作成し、クラウドサービスをDCRに接続します。
    • 事前に接続を設定しなかった場合は、ソースの作成時に設定を求められます。

ソースの要件

ソースの作成やレポート処理のエラーを防ぐため、以下の要件を満たす必要があります。

データ形式(すべてのデータソースに適用)

ソース内のデータは、以下の要件を満たす必要があります。

  • 日付と時刻:
    • 形式:yyyy-MMM-dd hh:mm:ss (例:2023-APR-18 15:30:35)
    • タイムゾーン:UTC
  • 数値:小数点以下は最大2桁
  • 文字列の長さ:最大256文字
  • 使用できる文字の制限:
    • フィールド名(列見出し):スペースや特殊文字は使用不可
    • その他のデータ:制限なし(すべての文字を使用可能)
テーブルの列(データウェアハウス内のソースのみ)

BigQueryやSnowflakeのソーステーブルには、処理対象のデータに加えて、日付とバージョンを示す2つの列が必要です。

  • 日付:
    • 列見出し:dt
    • 列の型:date
    • データ形式:yyyy-mm-dd(例:2023-04-18)
    • その他の要件:BigQueryテーブルは、この列でパーティション分割する必要があります。
  • バージョン:
    • 列見出し:v
    • 列の型:string
    • データ形式:数値(例:1、2、3、10)
    • 重要: DCRがこの列の新しい値を検出するたびに、レポートの新しいバージョンの作成が開始されます。レポートの完全性を確保するため、この列の値を変更する際は、必ずソーステーブルに一式のデータをすべて格納してください。
ファイル名と形式(クラウドストレージのバケット内のソースのみ)

Amazon S3やGCSに保存するデータソースファイルは、以下の命名・形式の要件を満たす必要があります。

  • ファイル名はDCRの命名要件に従うこと
  • CSVまたはGZIP形式
    • GZIPで圧縮する元のファイルは、CSVファイルであること
  • データフォルダーごとのソースファイル数:
    • CSV:最大1ファイル
    • GZIP:単一パートのファイルは最大1ファイルです。分割GZIPファイルは、filename_part01.gz、filename_part02.gzなどの名前であれば使用できます。

ソースの作成

ソースを作成するには、以下の手順をすべて実施する必要があります。読みやすさのため、手順を複数のタブに分けて説明しています。

以下の手順に従って、ソースを作成します。

手順1 | ソース名の指定
  1. Data Clean Roomの[ソース]タブに移動します。
  2. [+ 新しいソース]ボタンをクリックします。
    [新しいソース]ページが開きます。
  3. 左上にソース名を入力します。
    • DCR上でソースを識別しやすい、一意の名前を指定してください。クラウド連携の場合、ファイル名と一致させる必要はありません。
    • 重要:同じアカウント内の他のソースと異なる名前を指定してください。名前が重複していると、ソースを保存できません。
    • ソース名の要件:
      • 長さ:2~80文字
      • 使用できる文字:
        • 英字(A-Z, a-z)
        • 数字(0-9)。名前の先頭には使用できません。
      • 使用できない文字:
        • スペース
        • 上記以外の記号や特殊文字すべて
手順2 | ソースの保存場所の指定

データソースの保存場所を指定する手順:

  1. ソースを作成する、または作成済みの場所に対応するデータ接続を選択します。
    • アカウントにデータ接続がない場合は、[新しいデータ接続]ダイアログが開き、作成を求められます。こちらの手順に従って作成します。
    • 既存のデータ接続があっても、新たに作成する場合は、dcr_new_connection_button.pngボタンをクリックして[新しいデータ接続]ダイアログを開きます。こちらの手順に従って作成します。
  2. ソースデータの保存場所に応じて、以下の該当する手順に進みます。

BigQueryのソースの保存場所

BigQueryのソースの保存場所を指定する手順:

  1. ソーステーブルを含むデータセットを選択します。
  2. ソースデータを含むテーブルを選択します。

一覧には、データ接続の作成時に指定したBigQueryプロジェクトで利用可能なデータセットとテーブルが、それぞれ表示されます。

Snowflakeのソースの保存場所

Snowflakeのソースの保存場所を指定する手順:

  1. ソースデータを含む共有を選択します。
  2. ソーステーブルを含むスキーマを選択します。
  3. ソースデータを含むテーブルを選択します。

一覧には、データ接続の作成時に指定したSnowflakeアカウント内の共有、スキーマ、テーブルが、それぞれ表示されます。

クラウドストレージのバケット内のソースの保存場所

Amazon S3やGCSのソースの保存場所は、データ接続で指定したバケットと、その配下のフォルダーパスで構成されます。DCRは更新のたびに、このパスからソースファイルを読み込みます。

データ接続を指定すると、ソースの作成手順の中で、必要なフォルダーパスをAppsFlyerが自動生成できます。

  • 自動生成を利用すると、簡単に設定できます。または、こちらの手順に従って手動で作成することもできます。

または

  • データ接続からソースファイルの試作版を直接アップロードすることもできます。
    • この場合は、さらに以下のいずれかを選択します。
      • AppsFlyerによるソースのフォルダー構成の自動作成
      • ソースのフォルダー構成の手動作成

AppsFlyerがフォルダーを生成する場合、追加で必要な情報はソースフォルダーに付ける名前のみです。これは、新しいバージョンのレポートを実行するため、毎回ソースを更新する最上位のフォルダーです。ソースフォルダーを親フォルダーの配下に作成するかどうかも指定できます。親フォルダーには、一般にinputという名前を付けます。

クラウドストレージのバケット内の保存場所を指定するには、ソースフォルダー名を入力します。

  • デフォルトで表示されるソースフォルダー名は、以下のようになっています。
    • 指定したソース名に基づく名前です。 DCRの命名要件を満たしていれば、フォルダー名は必要に応じて変更できます。
    • inputという親フォルダー内に生成されることを示しています。このフォルダーは、DCRにアップロードするすべてのソースの親フォルダーになります。
      • inputフォルダーは必須ではありません。削除するか、DCRの命名要件に従う別の名前に変更することもできます。
      • 必須ではありませんが、inputフォルダー、または別名の同等のフォルダーを用意することをおすすめします。特に、同じバケットをデータファイルのアップロード(入力)とレポートの受信(出力)の両方に使用する場合は、この構成を強くおすすめします。

重要

フォルダーパスを手動で作成した場合は、[ソースの保存場所]セクションに入力するデータ接続とパスが、作成したパスと一致していることを確認してください。

手順3 | ソースの構造の定義

DCRがレポートを作成するには、処理用に共有する各ソースのデータフィールドを、どのように使用するか指定する必要があります。ソースの構造の定義では、以下を行います。

  • ソースフィールドの読み込み
  • 各フィールド(列)を、以下のいずれかに分類します。
    • 識別子:アプリユーザーを一意に特定するフィールドです(CUID、AppsFlyer IDなど)。
      • DCRで識別子を使う主な目的は、データソースを結合し、対応するユーザーレベルのデータを照合することです。
    • ディメンション:アプリユーザーを分類するための属性です(地域、インストール日、キャンペーンなど)。
    • 指標:アプリユーザーに関して収集した数値データです(収益、アプリの起動回数、LTVなど)。
      • 指標に分類したフィールドには、数値のみを格納できます。

ソースフィールドの読み込み

以下の該当する手順で、ソースフィールドを読み込みます。

データウェアハウスのソース

データウェアハウス(BigQuery、Snowflake)のソースからフィールドを読み込むには、dcr_load_fields_from_source.pngボタンをクリックします。

重要

選択したソーステーブルに、必須の日付列とバージョン列がない場合は、エラーになります。

クラウドストレージのバケットのソース

クラウドストレージのバケット(Amazon S3、GCS)のソースからフィールドを読み込むには、ソースファイルの試作版をアップロードする必要があります。

ソースの構造を定義するには、以下の方法を使用できます。

  • データソースの試作版を、ローカルファイルからアップロードできます。
    • この場合、AppsFlyerがソースのフォルダーパスを必ず自動作成します。

または

  • データ接続からソースファイルの試作版を直接アップロードすることもできます。
    • この場合は、さらに以下のいずれかを選択します。
      • AppsFlyerによるソースのフォルダー構成の自動作成
      • ソースのフォルダー構成の手動作成

以下の該当するタブの手順に従って、ソースファイルの試作版をアップロードします。

ローカルファイル
  1. [ソースの構造]セクションで、DCR_load_fields_from_file.pngボタンをクリックします。
  2. 表示されたウィンドウで、[ローカルファイルをアップロード]を選択します。
  3. アップロードするCSVまたはGZIPファイルを指定し、[OK]をクリックします。
データ接続(自動作成)

データ接続からファイルを読み込み、AppsFlyerでソースのフォルダー構成を自動作成する手順:

  1. [ソースの構造]セクションで、DCR_load_fields_from_file.pngボタンをクリックします。
  2. 表示されたウィンドウで、[データ接続から読み込み]を選択します。
  3. [フォルダーを生成]リンクをクリックします。
    • 指定したデータ接続上に、指定したソースフォルダー名を使って、必要なフォルダー構成とソースフォルダーが自動作成されます。
  4. 作成が完了すると、ソースフォルダーへのリンクを含む確認メッセージが表示されます。リンクをクリックし、ソースフォルダーに試作ファイルをアップロードします。
  5. アップロードが完了したら、[OK]をクリックします。
データ接続(手動作成)

手動で作成したフォルダー構成からソースファイルをアップロードする手順:

  1. [ソースの構造]セクションで、DCR_load_fields_from_file.pngボタンをクリックします。
  2. 表示されたウィンドウで、[データ接続から読み込み]を選択します。
  3. [フォルダーを生成]はクリックしないでください。代わりに、作成済みのソースフォルダーにファイルを直接アップロードします。
  4. アップロードが完了したら、[OK]をクリックします。

フィールドの分類

フィールドを読み込むと、AppsFlyerがファイルを分析し、すべてのデータフィールド(列)を[利用可能なフィールド]一覧に表示します。

フィールドを分類する手順:

  1. 左側の[利用可能なフィールド]一覧で1つ以上選択し、画面中央のボタンで識別子、ディメンション、指標のいずれかに分類します。
    • 分類すると、画面右側の対応する一覧にフィールドが表示されます。
    • 一覧内のフィールドは、検索バーで検索できます。
    • フィールドの分類を解除するには、該当する分類の一覧で選択し、[削除]ボタンを使って[利用可能なフィールド]一覧に戻します。
  2. DCRレポートに含めたいフィールドをすべて分類するまで、この操作を繰り返します。
    • [利用可能なフィールド]一覧のすべてを分類する必要はありません。ただし、後でレポートに使用するフィールドは、分類しておく必要があります。
  3. ソースを保存する前に元データを編集し、そのフィールドを使いたい場合は、[利用可能なフィールド]一覧の下部にある[フィールドを再読み込み]リンクをクリックします。
    • 再読み込みすると、[利用可能なフィールド]一覧の名前が上書きされる点に注意してください。分類済みのフィールドは、[識別子][ディメンション]または[指標]の一覧に残ります。
    • 分類済みのフィールドが再読み込みしたデータにない場合も、対応する一覧には残りますが、エラーアイコンが付きます。

注意

保存後にソース内の他のフィールドも使いたい場合は、ソースの構造を編集して追加できます。

手順4 | ソースの保存

ソースを保存する手順:

  1. [任意]DCR_test_source.pngをクリックし、ソースフィールドの形式や値の妥当性にエラーがないかを確認します。
  2. [保存]をクリックしてソースを保存します。

    ソースが作成され、確認メッセージが表示されます。

    • ローカルファイルからアップロードした場合は、ソースの保存時にフォルダー構成が自動作成され、確認メッセージにソースフォルダーへのリンクが表示されます。

    Data Clean Roomの[ソース]タブにある既存ソースの一覧に、新しいソースが表示されます。

ソースの更新によるレポート処理の開始

データソースファイルを処理してレポートを実行するには、新しいバージョンのファイルをソースフォルダーにアップロードします。日付とバージョン番号を示す入れ子のサブフォルダー内に配置し、データの場所を示すサブフォルダーをさらに1つ設けます。

AppsFlyerは、当日とその2日前までのソースファイルについて、新しいバージョンを継続的にスキャンします。ソースファイルの新しいバージョン(以下で説明する_SUCCESSファイルを含む)が見つかるたびに、レポートの新しいバージョンの作成が開始されます。

日付・バージョン別のサブフォルダー構成

サブフォルダーは、以下のように入れ子にします。

  • ソースフォルダー内 --> 日付ごとに1つのサブフォルダー(日付フォルダー)
    • 形式:dt=yyyy-mm-dd/
    • 例:dt=2022-12-15/
  • 日付フォルダー内 --> その日のバージョンごとに1つのサブフォルダー(バージョンフォルダー)
    • 形式:v=n/
    • 例:v=1/
    • 注意:ファイルを1日に1回しかアップロードしない場合も、バージョンフォルダーは必要です。
  • バージョンフォルダー内 --> データの場所を示すサブフォルダーを1つ(データフォルダー)
    • 形式:data/
    • ソースファイルは、データフォルダーにアップロードします。

通常は、API呼び出しなどのプログラム処理により、ファイルをアップロードするたびに日付・バージョン・データの各フォルダーを自動作成します。詳しくは、クラウドサービスのAPIリファレンスをご覧ください:AWS、GCS。

_SUCCESSファイル

データフォルダーへのアップロードが完了したら、バージョンフォルダーに_SUCCESSという名前の空ファイルをアップロードします。これにより、処理できる新しいファイルがあることをAppsFlyerに知らせます。通常は、APIスクリプトでこのファイルを自動生成・アップロードします。

重要: _SUCCESSファイルは、データフォルダーの外側にあるバージョンフォルダーにアップロードする必要があります。

_SUCCESSファイルの命名要件:

  • 英字はすべて大文字にする
  • 先頭にアンダースコア(_)を付ける
  • 拡張子を付けない

分割GZIPファイルの場合:

  • すべてのパートに対して、_SUCCESSファイルを1つだけアップロードします。
  • すべてのパートのアップロードが完了してから、_SUCCESSファイルをアップロードしてください。
ファイルのアップロード後の例

2日間にわたり、日付・バージョン・データの各フォルダーと_SUCCESSファイルをプログラムで作成してソースファイルをアップロードすると、バケット内は以下のような構成になります。

dcr_file_structure_after_uploads.png

既存ソースの操作

既存ソースには、以下の操作を行えます。 Data Clean Roomの[ソース]タブから操作を開始します。

ソース名の編集

ソース名を編集する手順:

  1. Data Clean Roomの[ソース]タブに移動します。
  2. ソース一覧で、編集するソースの行にカーソルを合わせます。
  3. 行の右側に表示される編集ボタンedit_button.pngをクリックします。
  4. [ソースを編集]ページで名前を変更します。
  5. [保存]ボタンで新しい名前を保存するか、[キャンセル]で変更を取り消します。
ソースの構造の編集

ソースの構造を編集する手順:

  1. Data Clean Roomの[ソース]タブに移動します。
  2. ソース一覧で、編集するソースの行にカーソルを合わせます。
  3. 行の右側に表示される編集ボタンedit_button.pngをクリックします。
  4. [ソースを編集]ページの右側に、分類済みのフィールドが識別子、ディメンション、指標の各一覧に表示されます。
  5. ソースファイルからフィールドを再読み込みしなくても、分類を変更できます。以下の操作を行います。
    1. まず、現在の分類の一覧でフィールドを選択し、[削除]ボタンで[利用可能なフィールド]一覧に戻します。
    2. 次に、[利用可能なフィールド]一覧でそのフィールドを選択し、画面中央のボタンで識別子、ディメンション、指標のいずれかに分類します。
  6. 未分類のフィールドを使用するには、ソースの保存場所またはローカルファイルから再読み込みする必要があります。[利用可能なフィールド]一覧の下部にある[フィールドを再読み込み]リンクから、読み込み元を選択します。
  7. AppsFlyerがファイルを分析し、未分類のデータフィールド(列)をすべて[利用可能なフィールド]一覧に表示します。
    • 分類済みのフィールドは、画面右側の識別子、ディメンション、指標の各一覧に残ります。
    • 分類済みのフィールドが再読み込みしたファイルにない場合も、対応する一覧には残りますが、エラーアイコンが付きます。
  8. 左側の[利用可能なフィールド]一覧で1つ以上選択し、画面中央のボタンで識別子、ディメンション、指標に分類します。
  9. 必要な変更を行ったら、[保存]ボタンで新しい構造を保存するか、[キャンセル]で変更を取り消します。

重要

このソースを使用するレポートにも、新しいソース構造に対応する変更を反映してください。

  • 削除、分類解除、分類変更を行ったフィールドは、それを使用するすべてのレポートから自動的に除外されます。
  • 追加・分類したフィールドは、既存レポートには自動で追加されません。レポートの定義を編集して追加する必要があります。
ソースの削除
  1. Data Clean Roomの[ソース]タブに移動します。
  2. ソース一覧で、削除するソースの行にカーソルを合わせます。
  3. 行の右側に表示される削除ボタンdelete_button.pngをクリックします。
  4. ダイアログで、ソースの削除を確定します。
    • レポートで使用されているソースは削除できません。該当する場合は、そのソースを使用しているレポートの一覧がメッセージに表示されます。ソースを削除するには、以下のいずれかを行います。
      • そのソースを使用するレポートを削除する
      • そのソースのフィールドを、使用しているレポートの定義から除外する

リファレンス

ストレージバケットのフォルダー構成の手動作成(手動で作成する場合のみ)

通常は、ソースの作成時にAppsFlyerの自動生成を利用すると、簡単に必要なフォルダー構成を作成できます。手動で作成したい場合は、以下の手順を使用できます。

DCRキーフォルダーの作成

セキュリティを確保するため、バケット直下のDCRキーフォルダーには、アカウントに割り当てられた8文字の英数字のDCRキーを名前として使用する必要があります(例:01bcc5fb)。 AppsFlyerアカウントに紐づく他のパスワードやキーとは異なる点に注意してください。

DCRキーフォルダーは通常、使用するクラウドサービスの管理画面で手動作成します。

アカウントのDCRキーを取得するには、DCRメインページ上部の[DCRキー]ボタンをクリックします。

dcr_key_button.png

DCRキーフォルダーを作成すると、バケット内は以下のような構成になります。

dcr_file_structure_dcr_key_folder.png

最上位の入力フォルダー

必須ではありませんが、DCRキーフォルダーの直下に、入力用の最上位フォルダーを作成することをおすすめします。 DCRにアップロードするファイル専用のフォルダーです。

通常は、使用するクラウドサービスの管理画面で手動作成します。

  • 同じバケットをデータファイルのアップロード(入力)とレポートの受信(出力)の両方に使用する場合は、特にこの構成をおすすめします。
  • DCRの命名要件に従っていれば、任意の名前を指定できます。識別しやすいよう、通常はinput/という名前にします。

最上位の入力フォルダーを作成すると、バケット内は以下のような構成になります。

dcr_file_structure_input_folder.png

データソースごとの第2階層のフォルダー

処理するデータソースファイルは、複数種類を定期的にDCRにアップロードできます。データソースごとに、個別のデータソースフォルダーを割り当てる必要があります。

たとえば、BI-data.csvとCRM-data.gzipの2ファイルを毎日アップロードする場合は、それぞれにフォルダーを割り当てます。フォルダー名は、たとえばBI-data/とCRM-data/とします。

データソースフォルダーは通常、使用するクラウドサービスの管理画面で手動作成します。

データソースフォルダーを2つ作成すると、バケット内は以下のような構成になります。

dcr_file_structure_source_folders.png

各データソースフォルダーの配下には、ソースを更新するたびに、日付・バージョン別のサブフォルダーを作成する必要があります。