概要: データクリーンルーム (DCR) と共有するカスタムデータソースを設定して、アトリビューションデータとマッチングさせDCRレポートを作成します。
はじめに
多くの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時間
-
フォーマット: yyyy-MMM-dd hh:mm:ss (例
- 数値: 小数点以下 最大2桁まで
- 文字列の長さ: 最大256 文字(半角)
-
文字の制限:
- フィールド名(列ヘッダー) : スペースや特殊文字は使用できません
- その他すべてのデータ: 制限なし(すべての文字が有効です)
表の列 (データウェアハウスのソースにのみ関連)
BigQueryまたは Snowflakeのソース表には、処理のために共有されるデータに加えて、 日付 用と バージョン用の 2 つの追加列を含める必要があります
-
日付:
-
列ヘッダー:
dt
- 列タイプ: date
-
データ形式: yyyy-mm-dd (例、
2023-04-18
) - 追加: BigQuery テーブルは、この列で 分割 する必要があります
-
列ヘッダー:
-
バージョン:
-
列ヘッダー:
v
- 列タイプ: 文字列
-
データ形式: 数値 (例:
1
,2
,3
,10
) - 重要:DCR がこの列で新しい値を検出するたびに、新しいバージョンのレポートがトリガーされます。レポートを完全なものにするには、列の値が変更されるたびに、ソースの表に完全なデータを入力するようにしてください。
-
列ヘッダー:
ファイル名および形式(クラウドストレージバケットのソースにのみ関連)
ソースの作成
ソースを作成するプロセスは、 以下で説明するすべてのステップで構成されます。
これらは、読みやすくするためにタブに分かれています。
ソースを作成するには、次の手順に従います:
#1:ソースに名前を付けます
- Data Clean Roomの ソース タブに移動します。
- + 新しいソース ボタンをクリックします。
新しいソース ページが開きます。 - 左上隅にソースの名前を入力します。
- これには、DCRプラットフォームでソースを識別するのに役立つ任意の一意の名前を指定できます。クラウド連携の場合、名前はファイル名と一致する必要はありません。
- 重要:ソース名がアカウント内の他のすべてのソースと異なることを確認してください。そうでない場合、ソースを保存できません。
- ソース名の要件:
- 長さ:2-80文字
- 利用可能な有効文字:
- 半角アルファベット -
(A-Z, a-z)
- 数字
(0-9)
- 名前の最初の文字にすることはできません
- 半角アルファベット -
- 無効な文字:
- スペース
- その他すべての記号または特殊文字
#2: ソースの場所を指定します
ソースの場所を指定します
- ソースが作成される(または作成された)接続を選択します。
- ソースのデータの場所に基づいて、以下の関連する手順に進みます。
BigQueryにおけるソースの場所
BigQueryのソースの場所の指定を完了します
- ソースの表があるデータセットを選択します。
- ソースデータがある表を選択します。
これらの選択を行うリストには、接続作成時に指定したBigQueryプロジェクトで使用可能なデータセットと表がそれぞれ含まれています。
Snowflakeのソースの場所
Snowflakeのソースの場所の指定を完了します
- ソースデータを含む共有を選択します。
- ソースの表があるスキーマを選択します。
- ソースデータがある表を選択します。
これらの選択を行うリストには、接続の作成時に指定したSnowflakeアカウントの共有、スキーマ、およびテーブルがそれぞれ含まれています。
クラウドストレージバケット内のソースの場所
Amazon S3またはGCSのソースの場所は、接続によって指定されたクラウドストレージバケットと、DCRが更新されるたびにソースファイルを読み込む基となるフォルダパスで構成されます。
接続を指定すると、AppsFlyerはソース作成プロセスの一部として、必要な基礎となるフォルダパスを自動生成できるようになります。
- AppsFlyerでフォルダを作成できるようにすることでプロセスが簡単になります。ただし、こちらで詳しく説明されている手順に従って、代わりに手動で作成することも可能です。
AppsFlyerがフォルダを作成する場合、必要な追加情報はソースフォルダに付ける名前だけです。(これは最上位のフォルダで、新しいレポートバージョンの実行にソースを使用したい場合は毎回更新します。) また、ソースフォルダを親フォルダ(多くの場合、名前はinputです)の下に作成するかどうかを指定することもできます。
クラウドストレージバケット内のソースの場所の指定を完了するためにソースフォルダ名を入力します。
- デフォルトでは、表示されるソースフォルダ名は次のようになっています。
- ソースに付けた名前に基づいています。フォルダ名は、DCRの名前付け要件に準拠している限り、必要に応じて変更できます。
- inputという名前の親フォルダ内に生成されることを示します。このフォルダは、DCR にアップロードするすべてのソースの親フォルダとして利用されます。
- このinputフォルダは必須ではなく、 DCR の名前付け要件に準拠している限り、削除したり、別の名前を付けたりすることができます。
- このフォルダは必須ではありませんが、 inputフォルダ (または別の名前の同等のフォルダ) を持つことがベストプラクティスとされています。データファイルのアップロード(入力)とレポートの受信(出力)の両方に同じクラウドストレージバケットを使用している場合には、さらに強くお勧めします。
重要!
フォルダパスを手動で作成した場合は、ソースの場所の項目に入力した接続とパスが、手動で作成したパスと一致していることを確認してください。
#3: ソース構造を定義します
処理のためにDCRと共有するすべてのソースについて、AppsFlyer は、レポート作成のために、各データフィールドをどのように使用すべきかを知っておく必要があります。ソース構造の定義は以下で構成されます:
- ソースフィールドの読み込み
-
各フィールド を次のいずれかのタイプとして分類します(列):
-
識別子: アプリのユニークユーザーを識別する項目(例:CUID, AppsFlyer IDなどが含まれます)
- DCRのコンテキストにおける識別子の主な目的は、対応するユーザーレベルのデータを一致させることができるようにデータソースを結合することです。
- ディメンション: アプリユーザーを分類する属性(例: 地域、インストール日、キャンペーンなど)
-
メトリック: アプリユーザーに関して収集した数値データ(収益、アプリ起動数、LTV など)
- メトリックとして識別されるデータ項目には、 数値のみを含めることができます。
-
識別子: アプリのユニークユーザーを識別する項目(例:CUID, AppsFlyer IDなどが含まれます)
ソースフィールドの読み込み
以下の関連する手順を使用してソースフィールドを読み込みます。
データウェアハウスのソース
データウェアハウス(BigQuery または Snowflake)のソースからフィールドを読み込むには、ボタンをクリックします。
重要!
選択したソースの表に必要な 日付とバージョンの列が含まれていない場合は、エラーが発生します。
クラウドストレージバケットのソース
クラウドストレージバケット (Amazon S3 または GCS) のソースからフィールドをロードするには、プロトタイプソースファイルをアップロードする必要があります。
ソース構造を定義するために
- ソースのプロトタイプバージョンをローカルファイルからアップロードできます。
- このオプションを選択すると、AppsFlyerは常にソースフォルダパスを自動で作成します。
- または -
- ソースファイルのプロトタイプバージョンをその接続から直接アップロードできます。
- このオプションを選択した場合は、以下を作成する選択肢が 1 つ追加されます。
- AppsFlyerがソースフォルダ構造を自動作成できるようにします。または
- ソースフォルダ構造を手動で作成します。
- このオプションを選択した場合は、以下を作成する選択肢が 1 つ追加されます。
プロトタイプのソースファイルをアップロードするには、以下の関連するタブの手順に従います
- [Source structure](ソース構造) セクションで、
ボタンをクリックします。
- 開いたウィンドウで、[Upload a local file](ローカルファイルのアップロード) を選択します。
- アップロードするCSVまたはGZIPファイルを指定し、[OK] をクリックします。
接続からファイルをロードし、AppsFlyerでソースフォルダ構造を作成できるようにします
- [Source structure](ソース構造) セクションで、
ボタンをクリックします。
- 開いたウィンドウで、[Load from connection](接続から読み込む)を選択します。
- [Generate folders](フォルダの作成)リンクをクリックします。
- AppsFlyerは、必要なフォルダ構造とソースフォルダを自動的に作成します(指定した接続上に、指定したソースフォルダ名で作成します)。
- ソースフォルダ構造が作成されると、ソースフォルダへのリンクを含む確認メッセージが表示されます。提供されたリンクをクリックして、プロトタイプファイルをソースフォルダにアップロードします。
- ファイルのアップロードが完了したら、OKをクリックします。
手動で作成した構造からソースファイルをアップロードします
- [Source structure](ソース構造) セクションで、
ボタンをクリックします。
- 開いたウィンドウで、[Load from connection](接続から読み込む)を選択します。
- [Generate folders](フォルダの生成)をクリックしないでください 。代わりに、作成したソースフォルダにファイルを直接アップロードします。
- ファイルのアップロードが完了したら、OKをクリックします。
フィールドの分類
フィールド読み込み後、AppsFlyerがファイルを分析し、すべてのデータフィールド(列)のリストが [Available fields](使用可能な項目)のリストに表示されます。
フィールドを分類します
- 左側の[Available fields](使用可能なフィールド)リストで 1 つ以上のフィールドを選択し、画面中央のボタンを使用して、 識別子、ディメンション、またはメトリックとして分類します。
- 項目を分類すると、画面右側の関連カテゴリ一覧に表示されます。
- 検索バーを使用して、リスト内の項目を検索できます。
- 割り当てられていたカテゴリからフィールドを削除するには、関連するカテゴリリストでそのフィールドを選択し、[Remove](削除)ボタンを使用して [Available fields](使用可能なフィールド) リストに戻ります。
- DCR レポートに含める各項目を分類するまで、このプロセスを繰り返します。
- 使用可能な項目リスト内のすべての項目を分類する必要はありません。ただし、後でレポートで使用するには、項目を分類する必要があります。
- ソースを保存する前にソースを編集し、その編集したソースデータのフィールドを使用する場合は、[Available fields](使用可能なフィールド)リストの下部にある[Reload fields](フィールドの再読み込み)リンクをクリックします。
- ソースを再読み込みすると、[使用可能なフィールド] リストのフィールド名が上書きされますのでご注意ください。これまでに分類したフィールドは [Identifiers](識別子)、[Dimensions](ディメンション) または [Metrics](指標)リストに残ります。
- これまでに分類されたフィールドが再読み込みしたソースデータ中見つからない場合、関連するカテゴリリストに表示されてもエラーアイコンでマークされています。
注記
保存後にこのソースから追加でフィールドを使用する場合は、 ソース構造を編集することで使用できるようになります。
#4: ソースを保存します
- [任意]
をクリックして、ソースフィールドの形式や有効性にエラーがないかどうかチェックします。
- 保存 をクリックしてソースを保存します。
ソースが作成され、確認メッセージが表示されます。
- ローカルファイルからソースをアップロードした場合、ソースを保存するとフォルダ構造が自動的に作成されます。表示される確認メッセージにはソースフォルダへのリンクが含まれます。
既存のすべてのソースのリストは、データクリーンルームの Sources(ソース)項目で確認できます。
ソースを更新してレポート処理をトリガーします
AppsFlyer でデータソースファイルを処理し、それに基づくレポートを実行したい場合、毎回、新しいバージョンのファイルを、日付とバージョン番号が分かる一連のネスト化したサブフォルダ(さらに、AppsFlyerにデータの場所を通知する追加のサブフォルダ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
ファイルを作成した後)、バケット / フォルダ構造は次のようになります:
既存のソースの取り扱い
既存のソースの取り扱い方はいくつかあります。以下のプロセスは、データクリーンルームの [Sources](ソース)タブから開始します。
ソース名の編集
ソース名を編集するには:
- Data Clean Roomの ソース タブに移動します。
- ソースのリストで、編集するソースの行にカーソルを合わせます。
- 行の右側に表示される編集ボタン
をクリックします。
- ソースの編集ページで、ソースの名前を編集します。
- [Save](保存) ボタンをクリックしてソースを新しい名前で保存するか、[Cancel](キャンセル)で元に戻します。
ソース構造の編集
ソース構造を編集するには:
- Data Clean Roomの ソース タブに移動します。
- ソースのリストで、編集するソースの行にカーソルを合わせます。
- 行の右側に表示される編集ボタン
をクリックします。
- [Edit source](ソースの編集) ページでは、これまで識別子、ディメンション、または指標として分類されていたフィールドが、画面の右側にある関連するカテゴリリストに表示されます。
- 以前に分類した項目を別のカテゴリに移動するには、ソースファイルから項目を再読み込みする必要はありません。これを行うには、次を参照してください:
- まず、関連するカテゴリリストから選択し、削除ボタンを使用して 使用可能な項目 リストに戻ります。
- 次に、使用可能な項目リストから選択し、画面中央のボタンを使用して識別子、ディメンション、またはメトリックとして分類します。
- 未分類のソースファイル内のフィールドを処理するには、ソースの場所またはローカルファイルから項目を再読み込みする必要があります。この選択を行うには、[Available fields](使用可能なフィールド)リストの下部にある[Reload fields](フィールドの再読み込み)をクリックします。
- AppsFlyerがファイルを分析し、以前に分類されていないすべてのデータ項目(列)の一覧が 使用可能な項目リストに表示されます。
- 以前に識別子、ディメンション、または指標として分類されていた項目は、画面の右側にある関連するカテゴリリストに表示されます。
- 以前に分類された項目がリロードされたソースファイルで見つからない場合でも、関連するカテゴリリストに表示されますが、エラーアイコンでマークされます。
- 左側の[Available fields](使用可能なフィールド)リストで 1 つ以上のフィールドを選択し、画面中央のボタンを使用して、識別子、ディメンション、またはメトリックとして分類します。
- 必要な変更をすべて行ったら、[Save](保存)ボタンをクリックしてソースを更新された構造で保存するか、[Cancel](キャンセル)して元に戻します。
重要!
このソースが使用されているレポートで、新しいソース構造を反映した対応する変更を行うことを忘れないでください。
- 削除されたフィールド、未分類、または以前のカテゴリから変更されたフィールドは、使用されているすべてのレポートから自動的に削除されます。
- 新しく追加または分類されたフィールドは、レポート定義を編集して含めるまで、既存のレポートに自動的には含まれません。
ソースの削除
- Data Clean Roomの ソース タブに移動します。
- ソースのリストで、編集するソースの行にカーソルを合わせます。
- 行の右側に表示される削除ボタン
をクリックします。
- ダイアログで、ソースを削除することを確認します。
- レポートで使用されているソースは削除できません。この場合、ソースが使用されているレポートがメッセージにリストされます。ソースを削除するには、次のいずれかを実行します:
- 使用されているレポートを削除します。または、
- ソース項目は、それらが使用されているレポートの定義から除去します。
- レポートで使用されているソースは削除できません。この場合、ソースが使用されているレポートがメッセージにリストされます。ソースを削除するには、次のいずれかを実行します:
参考
ストレージバケットのフォルダ構造を手動で作成します (選択した場合にのみ関連)
一般に最も簡単な方法は、AppsFlyerがソース作成プロセスの一部として必要なフォルダ構造を自動的に生成できるようにすることです。ただし、これらのフォルダを手動で作成する場合は、次のようにすると可能です。
DCR キーフォルダの作成
最大限のセキュリティを確保するには、バケットの直下のフォルダ (DCRキーフォルダ) に、アカウントに割り当てられた 8文字の英数字の DCRキー の名前を付ける必要があります。(例: 01bcc5fb
)これは、AppsFlyerアカウントに関連付けられている他のパスワードやキーとは異なりますのでご注意ください。
DCR キーフォルダーは、通常、選択したクラウドサービスのインターフェイスを使用して手動で作成されます。
アカウントのDCRキーを取得するには、DCRのメインページの上部にある DCRキーボタンをクリックします。
DCRキーフォルダを作成すると、バケット/フォルダ構造は次のようになります。
最上位のインプット用フォルダ
必須ではありませんが、ベストプラクティスは、DCRキーフォルダーのすぐ下に最上位のインプット用フォルダーを作成することです。このフォルダは、DCRにアップロードするファイル専用です。
最上位のインプット用フォルダは、通常、選択したクラウドサービスのインターフェイスを使用して手動で作成されます。
- この方法は、データファイルのアップロード (入力) とレポートの受信 (出力) の両方に同じバケットを使用している場合には、さらに強くお勧めします。
- このフォルダーには、DCRの名称設定要件に準拠している限り、任意の名前を付けることができます。識別を容易にするために、通常は
input/
という名前が付けられています。
最上位のインプット用フォルダを作成した後、バケット/フォルダ構造は次のようになります:
各データソースの第2レベルのフォルダー
処理のために、さまざまなデータソースファイルを定期的に DCRにアップロードできます。これらの各データソースには、個別のフォルダ(「データソースフォルダ」)を割り当てる必要があります。
例: 毎日処理するために DCRに2つのファイルをアップロードして処理する予定の場合: BI-data.csv および CRM-data.gzip
これらの各データソースにフォルダを割り当てます。これらのフォルダを BI-data/
、そしてCRM-data/
と呼ぶことを選択できます。
データソースフォルダは、通常、選択したクラウドサービスのインターフェイスを使用して手動で作成されます。
2つのデータソースフォルダを作成後、バケット/フォルダ構造は次のようになります。
各データソースフォルダの下には、ソースが更新されるたびに、 日付とバージョンによるネスト化したサブフォルダ を作成する必要があります。