メインコンテンツまでスキップ

AppsFlyer Pull Raw Data

最終更新 2026/10/03
ヒント

サードパーティデータ統合によって生成されたデータは、クラスターの消費データ量に含まれますのでご注意ください

概要​

インターフェースの概要​

インターフェース名タイプ粒度アトリビューションコスト収益表示クリックコンバージョン
Pull API Raw DataAPIユーザーレベル✅✅✅

Pull API Raw Dataは、一定期間内のユーザーレベルのデータを取得できます。この統合方法では、リアルタイム性が求められない場合にユーザーの詳細データを取得できるほか、ユーザー粒度の履歴データの取得にも非常に適しています。

統合の流れ​

  1. AppsFlyerクライアントSDKとAE SDKを統合し、AF SDKでAEのユーザー識別IDを設定します
  2. AppsFlyer管理画面にログインし、V2.0 API TokenとApp IDを取得します
  3. AE管理画面にログインし、サードパーティ統合モジュールでAppsFlyer Pull Raw Dataプランを追加して、関連する設定を完了します
  4. AEシステムがデータを正常に受信しているかを確認し、レポートを作成します

1. クライアントSDKの設定​

AppsFlyerのデータを統合する最初のステップは、クライアント側でAE SDKとAF SDKを連携させ、AF SDKでAEシステムのユーザー識別IDを設定することです

1.1 方法1(自動統合)​

  • 統合しているAE SDKのバージョンが2.8.0~2.8.1の場合は、このプランをそのまま使用できます
  • 統合しているAE SDKのバージョンが2.8.2以上の場合は、サードパーティデータプラグインもインストールする必要があります。詳しくはAndroid SDK サードパーティデータとiOS SDK サードパーティデータを参照してください
// AE SDKを初期化
TDConfig config = TDConfig.getInstance(this, APPID, TE_SERVER_URL);
TDAnalytics.init(config);

// AppsFlyer IDの関連付けを有効化
TDAnalytics.enableThirdPartySharing(TDThirdPartyShareType.TD_APPS_FLYER);

// AppsFlyer SDKを初期化
AppsFlyerLib.getInstance().init("appid", null, this);
AppsFlyerLib.getInstance().start(this);

// setcustomerUserId()でゲストIDをもう一度設定することを強くお勧めします
String distinctId = TDAnalytics.GetDistinctId();
AppsFlyerLib.getInstance().setcustomerUserId(distinctId);

// loginを呼び出してアカウントIDを設定した後、再度データを同期する必要があります(任意)
TDAnalytics.login("account_id");
TDAnalytics.enableThirdPartySharing(TDThirdPartyShareType.TD_APPS_FLYER);

AE SDKのlogin()メソッドまたはidentify()メソッドを呼び出した場合は、再度enableThirdPartySharing()を呼び出してデータを同期する必要があります。

注意:AppsFlyer SDKのsetAdditionalData()メソッドも呼び出す必要がある場合、このメソッドは複数回呼び出すと以前のパラメータが上書きされるため、パラメータをAE SDKに渡すことができます。AE SDKが内部でパラメータを連結・マージします。

Map<String, Object> additionalData = new HashMap<>();
additionalData.put("af_test_key1", "test1");
additionalData.put("af_test_key2", "test2");
TDAnalytics.enableThirdPartySharing(
TDThirdPartyShareType.TD_APPS_FLYER,
additionalData
);

このプランの仕組みは、内部でAppsFlyerのsetAdditionalData()メソッドを自動的に呼び出し、AEプロジェクトのゲストIDとアカウントIDを渡すというものです。

1.2 方法2(手動統合)​

手動統合の方法では、AppsFlyer SDKでsetAdditionalDataを使用してAEプロジェクトのゲストIDとアカウントIDを設定する必要があります。以下はJavaのコード例です:

// AEのゲストIDを取得(AEの#distinct_idに対応)
String distinctId = TDAnalytics.GetDistinctId();
// アカウントID(またはキャラクターID)。AEの#account_idに対応
String accountId = "your_account_id";

// アクティベーション時に実装
HashMap<String,Object> CustomDataMap = new HashMap<>();
CustomDataMap.put("ta_distinct_id",distinctId);
AppsFlyerLib.getInstance().setAdditionalData(CustomDataMap);

// setcustomerUserId()でゲストIDをもう一度設定することを強くお勧めします
AppsFlyerLib.getInstance().setcustomerUserId(distinctId);
...

// 登録時に実装
HashMap<String,Object> CustomDataMap = new HashMap<>();
CustomDataMap.put("ta_distinct_id", distinctId);
CustomDataMap.put("ta_account_id",accountId);
AppsFlyerLib.getInstance().setAdditionalData(CustomDataMap);

以上の設定を行うと、コールバックデータ内のcustom_dataにta_distinct_id、ta_account_idの2つのフィールドが含まれ、customer_user_idはゲストIDと等しくなります。

2. API TokenとApp IDの取得​

2.1 API Tokenの取得​

管理者アカウントでログインし、AppsFlyerのサイドバーメニューで「API Access」を見つけて、Pull API Raw Data用のV2.0 API Tokenを取得してください。

2.2 App IDの取得​

AppsFlyer管理画面の「My Apps」で、アプリのApp IDを確認できます。Androidではcom.で始まり(例:com.demoapp.ta)、iOSではidで始まります(例:id12345678)

3. プランの設定​

AppsFlyerのAPI TokenとApp IDを取得したら、AEシステムにログインし、「サードパーティ統合」モジュールで新しいプランの設定を行います。下図はAppsFlyer Pull Raw Dataの設定画面です。本章の内容に従ってプランを作成してください:

3.1 認証情報の設定​

「認証情報」の下にある「認証情報設定」ボタンをクリックし、ポップアップにAPI TokenとApp IDを入力します

3.2 定期取得​

「定期取得」モジュールで、AEシステムがAppsFlyer Pull Raw Dataのデータを定期的に取得する方針を設定できます。毎日の特定の時刻に一定期間のデータを取得するよう選択でき、1回あたり最大31日分を取得できます。取得したデータもデータ量に計上されるため、定期取得で長すぎる期間のデータを取得しないことをお勧めします

3.3 取得タイムゾーン​

取得するデータのタイムゾーンも設定できます。デフォルトはUTC+0です

3.4 ユーザー識別フィールド​

AppsFlyer Pull Raw Dataがコールバックするのはユーザーレベルのデータであるため、ユーザー識別ルール、つまりAFのコールバックデータ内で#distinct_idと#account_idに対応するフィールドを設定する必要があります。AEシステムはこの設定に基づき、コールバックデータを変換する際に、これらのフィールドをデータ内のユーザー識別フィールドとして設定します。

本ドキュメントの前のステップに従ってクライアントSDKを設定した場合は、次の設定を使用してください:

  • アカウントIDの関連フィールド:custom_data.ta_account_id
  • ゲストIDの関連フィールド:customer_user_id,custom_data.ta_distinct_id

3.5 格納設定​

データをイベントとして書き込むかどうかを制御できます。オフにすると、データはイベントテーブルに書き込まれなくなるため、この設定はオフにしないでください。

3.6 ユーザープロパティの格納設定​

デフォルトでは、AEシステムはAFのコールバックデータ内のアトリビューションフィールドを、標準化処理後のユーザープロパティに自動的に書き込みます。ユーザープロパティに書き込まれるフィールドとその意味は次のとおりです:

AppsFlyerのフィールド標準化フィールド説明
media_sourcete_ads_object.media_sourceメディアチャンネル
campaignte_ads_object.campaign_name広告キャンペーン名
adsette_ads_object.ad_group_name広告グループ名
adte_ads_object.ad_name広告名
ヒント

旧バージョンのユーザープロパティ格納のデフォルトルールは現在と異なるため、ご注意ください。新旧のプロパティを統合する必要がある場合は、仮想プロパティ機能を使用できます

変更が必要な場合は、「設定ルール」をクリックして格納ルールの設定ページに移動します。下図のとおりです:

「プロパティのマッピング」ボタンをクリックして、ユーザープロパティに書き込むフィールドを追加できます。また、左側の「ルール」ボタンをクリックして新しいルールを追加することもできます。たとえば、AFからコールバックされたマネタイズデータから広告収益を抽出し、user_addの方式でユーザープロパティに書き込むことで、各ユーザーの累計広告収益を記録できます。

ユーザープロパティの格納を無効にしたい場合は、すべてのルールを停止します:

3.7 統合構成​

最後に、統合構成モジュールで、データ取得の詳細な設定を制御できます。データのタイプ、取得するディメンション、格納後のイベント名などが含まれます。

統合構成の内容はJSONです。次の内容に従ってカスタム設定できます:

モジュール名前意味
sink_eventevent_mapping格納後のイベント名。カスタマイズ可能
sourcereport_types取得するデータのタイプ。カスタマイズ可能で、デフォルトはinstalls、ad_revenue(インストールイベントとマネタイズイベント)です
group_byデータ内のグループ化ディメンション。リスト型。カスタマイズ可能
extra_paramsdouble_columns数値型フィールドの定義。ここに記述したフィールドは数値型で格納されます。格納後のフィールド名を入力する必要があります

デフォルトでは、Pull API Raw Dataは以下のデータの取得に対応しています:

AppsFlyer公式ドキュメントで、対応しているその他のフィールドを確認することもできます。必要なフィールドはsource.group_byに記入できます

3.7.1 デフォルトの対象指標​

フィールド画面表示名
event_valueイベント値
event_revenueイベント収益
event_revenue_usdイベント収益(USD)
cost_valueコスト値

3.7.2 デフォルトのディメンションフィールド​

フィールド画面表示名
attributed_touch_timeアトリビューション時刻
install_timeアクティベーション時刻
event_timeイベント時間
event_nameイベント名
event_valueイベント値
event_revenueイベント収益
event_revenue_currencyイベント収益の通貨タイプ
event_revenue_usdイベント収益(USD)
event_sourceイベントソース
is_receipt_validatedレシートが検証済みかどうか
partnerパートナー
media_sourceメディアチャンネル
channelサブチャンネル
keywordsキーワード
campaign広告キャンペーン名
campaign_id広告キャンペーンID
adset広告グループ名
adset_id広告グループID
ad広告クリエイティブ名
ad_id広告クリエイティブID
ad_type広告タイプ
site_idサイトID
sub_site_idサブサイトID
sub_param_1サブパラメータ1
sub_param_2サブパラメータ2
sub_param_3サブパラメータ3
sub_param_4サブパラメータ4
sub_param_5サブパラメータ5
cost_modelコストモデル (CPC/CPI/CPM/Other)
cost_valueコスト値
cost_currencyコストの通貨タイプ
contributor_1_partnerコントリビューター1のパートナー
contributor_1_media_sourceコントリビューター1のメディアチャンネル
contributor_1_campaignコントリビューター1のキャンペーン
contributor_1_touch_typeコントリビューター1のアトリビューションタイプ
contributor_1_touch_timeコントリビューター1のアトリビューション時刻
contributor_2_partnerコントリビューター2のパートナー
contributor_2_media_sourceコントリビューター2のメディアチャンネル
contributor_2_campaignコントリビューター2のキャンペーン
contributor_2_touch_typeコントリビューター2のアトリビューションタイプ
contributor_2_touch_timeコントリビューター2のアトリビューション時刻
contributor_3_partnerコントリビューター3のパートナー
contributor_3_media_sourceコントリビューター3のメディアチャンネル
contributor_3_campaignコントリビューター3のキャンペーン
contributor_3_touch_typeコントリビューター3のアトリビューションタイプ
contributor_3_touch_timeコントリビューター3のアトリビューション時刻
region地域
country_code国コード
state州/省
city都市
postal_code郵便番号
dmaDMAコード
ipIPアドレス
wifiWi-Fiが有効かどうか
operatorモバイルキャリア
carrier携帯電話キャリア
language言語
appsflyer_idAppsFlyer ID
advertising_idAdvertising ID
idfaIDFA
android_idAndroid ID
customer_user_idCustomer User ID
imeiIMEI
idfvIDFV
platformプラットフォーム
device_typeデバイスタイプ
os_versionOS
app_versionアプリバージョン
sdk_versionSDKバージョン
app_idApp ID
app_nameアプリ名
bundle_idBundle ID
is_retargetingリターゲティングかどうか
retargeting_conversion_typeリターゲティングのコンバージョンタイプ
attribution_lookbackアトリビューションLookback
reengagement_windowリエンゲージメントウィンドウ
is_primary_attributionプライマリアトリビューションかどうか
user_agentユーザーエージェント
http_referrerHTTP Referrer
original_url元のURL

3.7.3 デフォルト設定に追加された追加フィールド​

この部分は、統合構成のsource.group_byで調整できます

フィールド画面表示名
device_model機種
keyword_idAFのキーワードID
store_reinstall再インストール時のアプリストア
deeplink_urlDeeplinkのアドレス
oaidOAID
install_app_storeインストール時のアプリストア
contributor1_match_typeコントリビューター1のマッチングモード
contributor2_match_typeコントリビューター2のマッチングモード
contributor3_match_typeコントリビューター3のマッチングモード
match_typeアトリビューションのマッチングモード
device_categoryデバイスカテゴリー:スマートフォン、ノートPC、その他
gp_referrerGoogle PlayのURL referrer
gp_click_timeGoogle Playが記録した広告クリック時刻
gp_install_beginGoogle Playが記録したインストール時刻
amazon_aidAmazonのデバイスID
keyword_match_typeキーワードのマッチングモード
attiOS 14以降のATTステータス
conversion_typeタイプを変換
campaign_typeキャンペーンタイプ
is_latユーザーがデータトラッキングを制限しているかどうか。trueの場合、IDFAまたはGAIDはすべて0に置き換えられます
custom_dataCustom Data。ユーザー識別フィールドの取得に使用

3.8 データの格納ルール​

Pull Raw Dataのデータインターフェースは複数の種類のデータを格納します。各データの処理ルールは次のとおりです:

  • Installsデータ

    • user acquisition(UA)のみを含むInstallsデータとOrganic Installsデータを取得します
    • データはイベントとして書き込まれ、イベント名はaf_installです
    • データ内のevent_time(イベントの発生時刻)を、イベントの#event_timeとして使用します
    • デフォルトのユーザープロパティの格納ルールにより、Installsデータの一部のフィールドがユーザーテーブルに書き込まれます
    • ユーザー識別フィールドの設定に基づいてユーザー識別フィールドを決定します。ユーザー識別ルールが設定されていない場合は、デフォルトでデータ内のcustomer_user_idをゲストIDとして使用します。ユーザー識別フィールドを取得できなかった場合、そのデータは破棄されます。
    • すべてのフィールドが格納されます。double_columnsのフィールドは数値型で格納され、その他のフィールドは文字列で格納されます
  • Ad Revenue

    • Attributed ad revenue、Organic ad revenueを取得します。このうちAttributed ad revenueでは、user acquisition(UA)とretargetingの両方のデータを取得します
    • データはイベントとして書き込まれ、イベント名はaf_ad_revenue_rawです
    • データ内のevent_time(イベントの発生時刻)を、イベントの#event_timeとして使用します
    • ユーザー識別フィールドの設定に基づいてユーザー識別フィールドを決定します。ユーザー識別ルールが設定されていない場合は、デフォルトでデータ内のcustomer_user_idをゲストIDとして使用します。ユーザー識別フィールドを取得できなかった場合、そのデータは破棄されます。
    • すべてのフィールドが格納されます。double_columnsのフィールドは数値型で格納され、その他のフィールドは文字列で格納されます

3.9 標準化フィールド​

次のイベントプロパティは標準化処理されます:

元フィールド標準化フィールド意味
media_sourcete_ads_object.media_sourceメディアチャンネル
monetization_network(広告マネタイズデータ)te_ads_object.media_sourceマネタイズチャンネル
campaignte_ads_object.campaign_name広告キャンペーン名
campaign_idte_ads_object.campaign_id広告キャンペーンID
adsette_ads_object.ad_group_name広告グループ名
ad_unit(広告マネタイズデータ)te_ads_object.ad_group_nameマネタイズ広告のUnit名
adset_idte_ads_object.ad_group_id広告グループID
adte_ads_object.ad_name広告名
ad_idte_ads_object.ad_id広告ID
segment(広告マネタイズデータ)te_ads_object.placement広告の配置
cost_valuete_ads_object.cost配信コスト
af_cost_currencyte_ads_object.currencyユーザー獲得配信の通貨
event_revenuete_ads_object.revenueマネタイズ収益
event_revenue_currency(広告マネタイズデータ)te_ads_object.currencyマネタイズ収益の通貨
country_codete_ads_object.country国・地域コード
platformte_ads_object.platformプラットフォーム(Android、iOSなど)
app_idte_ads_object.app_idアプリID
app_namete_ads_object.app_nameアプリ名
このページは役に立ちましたか?