# Adjust Real-time callbacks
WARNING
プラットフォームのデータ統合によって生成されたデータは、クラスターのデータ消費量にカウントすることに注意してください。
# 概要
API名 | 統合タイプ | データ粒度 | アトリビューション | コスト | 収益 | インプレッション | クリック | コンバージョン |
---|---|---|---|---|---|---|---|---|
Callbacks | コールバック | ユーザー | ✅ | ✅ | ✅ |
Adjustはリアルタイムのコールバック (opens new window)機能を提供し、Adjustのバックエンドでデータタイプを選択し、TEシステムのコールバックリンクをコールバックアドレスに設定することで、ユーザーレベルの詳細なデータのコールバックが実現できます。
Adjustデータと連携する前に、TEシステムのユーザー識別ルールについての#distinct_idと#account_idを理解しておいてください。
# 統合手順
- Adjust クライアント SDK (opens new window)とTE SDKに接続し、Adjust SDKでTEのユーザー識別IDを設定します。
- TEにログインし、サードパーティー統合ページで、Adjustの統合を追加し設定を完了します。
- Adjustのバックエンドにログインし、コールバック設定を完了します。
- TEシステムがデータを正常に受信し、レポートの構築が完了したかどうかを確認します。
#
# クライアントSDK設定
Adjustデータを統合する最初のステップは、TEのSDKとAdjustのSDKをクライアント側で接続し、AFのSDK内でTEシステムのユーザー識別IDを設定することです。
# 1.1 プラン①(自動統合)
- TEのSDK のバージョンが2.8.0〜2.8.1である場合、このプランを直接使用することができます。
- TEのSDK のバージョンが2.8.2以上であれば、サードパーティのデータプラグインをインストールする必要があります。詳細については、Android SDKとiOS SDKを参照してください。
このプランは自動統合プランであり、TEのSDK初期設定は、AdjustのSDK初期設定よりも前に完了する必要があります。初期化が完了したら、以下のコードを呼び出して自動統合を開始してください。
// Initialize the TE SDK
ThinkingAnalyticsSDK instance = ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID, TA_SERVER_URL);
// Enable Adjust ID association.
instance.enableThirdPartySharing(TDThirdPartyShareType.TD_ADJUST);
// Exquisitely initialize the Adjust SDK
// ...
// After registration or creating a character, after calling login to set the account ID, it is necessary to synchronize the data again (optional).
instance.login("account_id");
instance.enableThirdPartySharing(TDThirdPartyShareType.TD_ADJUST);
TIP
TE SDKのlogin()メソッドまたはidentify()メソッドを呼び出した場合、enableThirdPartySharing()を再度呼び出してデータを同期する必要があります。
このプランの原理は、内部でAdjust SDKのaddSessionCallbackParameter()
メソッドを自動的に呼び出し、TEプロジェクトの訪問者IDとアカウントIDを渡すことです。
# 1.2 プラン②(手動統合)
手動で統合する場合は、Adjust SDK で addSessionCallbackParameter() インターフェースを使用して TE プロジェクトのゲスト ID とアカウント ID を設定する必要があります。ただし、TE SDK の初期設定は Adjust の SDK 初期設定よりも前に完了する必要があります。以下は Android のコード例です。
// Initialize the TE SDK
ThinkingAnalyticsSDK instance = ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID, TA_SERVER_URL);
// Get the Guest ID of TE, corresponding to #distinct_id in TE
string distinctId = ThinkingAnalyticsAPI.GetDistinctId();
// Your account ID (or role ID) corresponds to #account_id in TE
string accountId = "{your_accoun2.t_id}";
// Initialize the Adjust SDK
// ...
Adjust.addSessionCallbackParameter("ta_distinct_id", distinctId);
Adjust.addSessionCallbackParameter("ta_account_id", accountId);
# TEのサードパーティ統合設定
SDKの設定が完了したら、次にTEにログインし「サードパーティ」でAdjustの設定を完了する必要があります。以下はAdjustの設定ページです。「統合スイッチ」を開いて、Adjustの設定を開始してください。
# 2.1 ユーザーの識別と関連付け
Adjustが返すのはユーザーレベルのデータであるため、Adjustが返すデータと#distinct_idおよび#account_idに対応するフィールドを設定する必要があります。TEシステムはこの設定に基づいて、返されたデータを変換する際にこれらのフィールドをデータ内のユーザー識別フィールドとして設定します。
- アカウントID:ta_account_id
- ゲストID:ta_distinct_id
TEシステムは、この設定を使用して、返されたデータをユーザー識別することができます。Adjustから返されたユーザーレベルのデータを、TEプロジェクトに関連付けることができます。
デフォルトルール:
- アカウントID:コールバックデータにta_account_idが存在するかどうかを確認し、存在する場合はそれを#account_idに設定し、存在しない場合は空白のままにします。
- ゲストID:コールバックデータにta_distinct_idが存在するかを確認し、存在する場合はそれを#distinct_idとして設定し、存在しない場合は空白のままにします。
- アカウントIDとゲストIDがどちらも空の場合、そのデータは無効なデータと見なされ、直接破棄されます。
# 2.2 イベントテーブル格納設定
「イベントテーブル格納設定」スイッチをONにすると、コールバックデータ(アクティブなイベントおよびアプリ内のイベントを含む)はすべてイベントテーブルに書き込まれます。
# 2.3 ユーザープロパティ格納
デフォルトでは、TEシステムはAdjustコールバックデータのアトリビューションフィールドを自動的に標準化されたユーザープロパティに書き込みます。以下はユーザープロパティに書き込まれるフィールドとその意味です。
Adjust フィールド | 標準化フィールド | 説明 |
---|---|---|
network_name | te_ads_object.media_source | メディアチャネル |
campaign_name | te_ads_object.campaign_name | 広告キャンペーン名 |
adgroup_name | te_ads_object.ad_group_name | 広告グループ名 |
creative_name | te_ads_object.ad_name | 広告名 |
「設定ルール」をクリックして格納ルールの設定ページに移動し、必要な変更を行ってください。
ここではどのイベントからユーザープロパティを変更できます。ユーザープロパティが頻繁に書き込まれるのを避けたい場合は、「すべてのイベントを含める」をOFFにし、ソースイベント名を「installs」に変更することができます。このような設定では、TEシステムはAdjustから返されたインストールイベントから必要なフィールドだけ抽出し、それらを書き込みます。デフォルトではuser_setOnce方式で保存されるため、最初に格納されたデータしか保存されません。
「プロパティマッピング」ボタンをクリックし、ユーザープロパティに書き込む必要があるフィールドを追加することができます。また、左側の「ルール」ボタンをクリックして新しいルールセットを追加することもできます。例えば、AFから送信された収益データから広告収益を抽出し、「user_add」という方法でユーザープロパティに書き込んで各ユーザーの累計広告収益を記録したい場合などです。
すべてのルールを停止することでユーザープロパティの格納を停止できます。
# 2.4 データソース
# 2.4.1 デフォルト設定
もしシステムとプロジェクトレベルのデータ送信アドレスを設定した場合、以下のリンクが表示されます。このアドレスをコピーして Adjust のバックエンドでリアルタイムに送信する設定に貼り付けることができます。
このアドレスが表示されていない場合は、右上のメニュー「プロジェクト管理」-「アクセス設定」-「データ送信先アドレス」に進み、パブリックアドレスを設定してください。 このアドレスはTE SDKで設定されたデータ送信先アドレスです。 設定したら、Adjust設定ページに戻り、「データソース」からアドレスをコピーしてください。
# 2.4.1 カスタムマクロ
Adjustのコールバックアドレスには、{マクロ名}
という方法で表される構造体が含まれています。マクロはプレースホルダーと考えることができます。Adjustがコールバックデータを返す必要がある場合、そのデータに対応するフィールドを含めます。例えば {campaign_name} では、Adjustはcampaign_nameの値をコールバックアドレス内のマクロ位置に挿入します。 Adjustのコールバックデモビデオ (opens new window)を参照して、マクロの役割を理解することができます。
以下に示すのは、TEインターフェース上でのアドレスです。以下の内容を置き換える必要があることに注意して、次のアドレスをコピーしてください:
- {receiver-host} :データ送信アドレスは、TEバックエンドの「プロジェクト管理」-「アクセス設定」-「データ送信アドレス」にあるパブリックアドレスです。
- {app-id}:TE のプロジェクトID APP ID
また、他のパラメータを追加したい場合は、このドキュメント (opens new window)を参照してください。
https://{receiver-host}/attribution/callback/adjust/{app-id}?network_name={network_name}&campaign_name={campaign_name}&adgroup_name={adgroup_name}&creative_name={creative_name}&activity_kind={activity_kind}&created_at_milli={created_at_milli}&timezone={timezone}&event_name={event_name}&cost_amount={cost_amount}&cost_currency={cost_currency}&publisher_parameters={publisher_parameters}&app_id={app_id}&app_name={app_name}&country={country}&os_name={os_name}
# Adjust リアルタイムコールバックインターフェースの設定
TEのバックエンド設定が完了したら、次に管理者アカウントでAdjustのバックエンドにログインしてください。左側のメニューで、「AppView」-「All apps」をクリックし、コールバックの対象アプリを見つけ、「Server callbacks」ボタンをクリックして、コールバック設定ページに入ってください。
その後、送信設定ページで、右上の「新しいコールバック」ボタンをクリックして、「クラシック設定」(Classic Setup)を使用して新しいコールバックを作成します。
Adjustはグローバル設定 (opens new window)をサポートし、個別のイベントコールバック (opens new window)も設定できます。インストールと広告収益の両方について個別のイベントコールバックを設定することを推奨します:
イベント名 | イベント |
---|---|
インストール | installs |
広告収益(広告収益パッケージ) | ad revenue (with Ad Revenue package) |
インストールイベントのコールバック、以下のマクロ使用を推奨します。
https://{receiver-host}/attribution/callback/adjust/{app-id}?network_name={network_name}&campaign_name={campaign_name}&adgroup_name={adgroup_name}&creative_name={creative_name}&activity_kind={activity_kind}&created_at_milli={created_at_milli}&timezone={timezone}&event_name={event_name}&cost_amount={cost_amount}&cost_currency={cost_currency}&publisher_parameters={publisher_parameters}&app_id={app_id}&app_name={app_name}&country={country}&os_name={os_name}&app_version={app_version}
広告収益イベントは、以下のマクロ使用を推奨します。
https://{receiver-host}/attribution/callback/adjust/{app-id}?network_name={network_name}&campaign_name={campaign_name}&adgroup_name={adgroup_name}&creative_name={creative_name}&activity_kind={activity_kind}&created_at_milli={created_at_milli}&timezone={timezone}&event_name={event_name}&cost_amount={cost_amount}&cost_currency={cost_currency}&publisher_parameters={publisher_parameters}&app_id={app_id}&app_name={app_name}&country={country}&os_name={os_name}¤cy={currency}&revenue={revenue_float}&placement={ad_revenue_placement}&ad_revenue_unit={ad_revenue_unit}&ad_revenue_network={ad_revenue_network}&app_version={app_version}
installコールバックアドレスと広告収益コールバックアドレスを順番に設定してください。
#
# 後続利用
4.1 データ格納チェック
「データ管理」ページで、イベントのバックエンドへの送信が正常に行われたかを確認することができます。
- インストール:installs
- 広告収益:ad_revenue
- その他のイベント:Adjustのバックエンドでのイベント名
# 付録
# 5.1 Facebookのユーザープロパティ付けプレースホルダーが「Unattributed」と表示される解決策
# 背景
Facebook は amm を廃止した後、Facebook のユーザーのアトリビューションプレースホルダー(例:{campaign_name})などはすべて Unattributed に戻されます。Android プラットフォームからの Facebook ソースのユーザーのアトリビューション情報を取得する場合は、新しいプレースホルダーを使用する必要があります。
# 解決手順-Adjust での設定
- Install Referrerをインストール
まず、Androidアプリに以下のSDKコンポーネントが統合されていることを確認してください:https://help.adjust.com/ja/article/get-started-android-sdk?src=search_page#set-up-install-referrer
- FacebookからのDecryption KeyをAdjust Facebookモジュールに追加
次に、Facebookの開発者アカウント(https://developers.facebook.com/)(コントロールパネル>設定>基本>Android(Google Play)Install Referrer Decryption Key)からDecryption Keyを取得できます。各デDecryption Keyは固有のFacebook App IDに対応しています。この値はアプリケーションデータのソースを取得するための重要なものですので、Adjustコントロールパネルに追加してください(対応するAndroidアプリのアプリ設定>パートナー設定>Facebook)。
- 新しいプレースホルダーを使用
以下は、この解決策でアプリケーションデータを取得するための新しいプレースホルダーです。これらのプレースホルダーをインストールイベントに追加することができるようになりましたが、将来的には他のイベントでも利用できるようにしたいと考えています。現時点では、{adid} やその他の内部IDを使用してインストールおよびインストール後のイベントデータをマッピングすることをお勧めします。
- {fb_install_referrer}:Facebook install referrerのデコードされた完全な値
- {fb_install_referrer_ad_id}: "ad_id"のFacebook install referrerの完全な値下にある
- {fb_install_referrer_adgroup_id}: "adgroup_id"のFacebook install referrerの完全な値下にある
- {fb_install_referrer_adgroup_name}: "adgroup_name"のFacebook install referrerの完全な値下にある
- {fb_install_referrer_campaign_id}: "campaign_id"のFacebook install referrerの完全な値下にある
- {fb_install_referrer_campaign_name}:Facebook install referrerの完全な値での「campaign_name」
- {fb_install_referrer_campaign_group_id}:Facebook install referrerの完全な値での「campaign_group_id」
- {fb_install_referrer_campaign_group_name}:Facebook install referrerの完全な値での「campaign_group_name」
- {fb_install_referrer_account_id}:Facebook install referrerの完全な値での「account_id」
- {fb_install_referrer_ad_objective_name}:Facebook install referrerの完全な値での「ad_objective_name」
# 解決手順-TEバックエンドの設定
Adjustのリアルタイムフィードバックソリューションに入ると、「ユーザプロパティデータベースのルール」が主に影響を受けます。Facebookのアトリビューションフィールドをユーザ属性として設定したい場合は、「ソースプロパティ名」列にマクロ名を記入し、目標プロパティ名を設定してください。