Adjust
Adjustは、マーケティングキャンペーンのデータを収集・分析する主要なモバイル計測パートナー(MMP)プラットフォームの一つです。企業はこれを活用してキャンペーンのパフォーマンスを把握できます。
Adapty は、ストアからのサブスクリプションイベントを一か所で追跡できる完全なデータセットを提供します。Adapty を使えば、サブスクライバーの行動を簡単に把握し、好みを理解した上で、ターゲットを絞った効果的なコミュニケーションを取ることができます。このインテグレーションにより、Adjust でサブスクリプションイベントを追跡し、キャンペーンが生み出す収益を正確に分析できます。
Adapty と Adjust のインテグレーションは、主に 2 つの方法で機能します。
- Adapty が Adjust からアトリビューションデータを受信する Adjust インテグレーションを設定すると、Adapty は Adjust からアトリビューションデータを受信し始めます。このデータはユーザーのプロファイルページで確認できます。
- AdaptyはサブスクリプションイベントをAdjustに送信します Adaptyは、インテグレーションで設定されたすべてのサブスクリプションイベントをAdjustに送信できます。その結果、これらのイベントをAdjustのダッシュボード内で追跡できるようになります。このインテグレーションは、広告キャンペーンの効果を評価するのに役立ちます。
インテグレーションの設定
AdaptiをAdjustに接続する
-
Adapty ダッシュボードを開き、Integrations > Adjust に移動します。
-
ページ上部のトグルをオンにします。
-
フィールドに入力し、アクセス認証情報を設定します。
- AdjustプラットフォームでOAuth認証を有効にしている場合は、iOSおよびAndroidアプリのインテグレーション中にOAuth Tokenを提供することが必須です。
- 次に、iOSおよびAndroidアプリのapp tokenを入力します。Adjustのダッシュボードを開くと、登録済みのアプリが表示されます。
iOSとAndroidで異なるAdjustアプリケーションを使用している場合があるため、Adaptyにはそれぞれ独立したセクションが用意されています。Adjustアプリが1つだけの場合は、同じ情報を両方に入力してください。
- リストからアプリを選択し、App Tokenをコピーします。トークンをAdaptyダッシュボードの対応するフィールドに貼り付けます。
Adapty は Stripe および Paddle の購入を、購入者がアプリをインストールしたプラットフォームのアプリトークンを使用して Adjust に送信します。Android アプリを提供しており、Web で販売している場合は、Android の App Token を入力してください。入力がない場合、Android 購入者の Web 購入は Missing integration credentials エラーで失敗します。
イベントとタグの設定
Adjustは他のプラットフォームとは少し異なる仕組みで動作します。Adjustのダッシュボードでイベントを手動で作成し、イベントトークンを取得して、Adaptyの対応するイベントに貼り付ける必要があります。
最初のステップは、Adaptyに送信したいすべてのイベントのイベントトークンを確認することです。手順は以下のとおりです:
- Adjustのダッシュボードでアプリを開き、Eventsタブに切り替えます。
- イベントトークンをコピーしてAdaptiに貼り付けます。認証情報の下には、AdaptiからAdjustに送信できるイベントが3つのグループに分かれて表示されます。Adaptyが提供するイベントの全リストはこちらで確認できます。
Adaptyはサーバー間インテグレーションを使用してサブスクリプションイベントをAdjustに送信するため、Adjustのダッシュボードですべてのサブスクリプションイベントを確認し、それらを広告獲得キャンペーンに関連付けることができます。
以下の点にご注意ください:
- Adjustは58日以上前のイベントをサポートしていません。58日を超えるイベントはAdaptiからAdjustに送信されますが、イベントの日時は現在のタイムスタンプに置き換えられます。
- AdjustはIPv6をサポートしていません。App settingsまたはSDKのアクティベーション時にSDKでのIP収集を無効にした場合、バックエンドのIPv6のみが送信され、トラッキングが失敗する可能性があります。IPv4が使用されるよう、SDKのIP収集は有効のままにしておいてください。
アプリをAdjustに接続する
上記の手順が完了したら、次の2つのメソッドをアプリに追加してください。これにより、アプリとAdjustの間で通信が確立されます。
- サブスクリプションデータをAdjustに送信する: Adjustのデバイス IDを
setIntegrationIdentifier()SDKメソッドに渡す - Adjustからアトリビューションデータを受信する:
updateExternalAttribution()SDKメソッドでアトリビューションデータを更新する(SDKバージョン4.1以前ではupdateAttribution()という名前)
Adjustバージョン5.0以降では、次の例を使用してください。
Web 購入(Stripe・Paddle)
Adjust は Stripe や Paddle による購入を、App Store・Google Play の購入と一緒に受け取ります。Web 購入はアプリの外で行われるため、モバイルプラットフォームが存在しません。Adapty は代わりに購入者のプラットフォームを使用します。購入者の Adapty プロファイルが App Store または Google Play で作成されていた場合、Web 購入はそのストアからの購入として Adjust に送信されます:
| 購入者のプロファイルストア | Adapty が購入と一緒に送信する情報 |
|---|---|
| App Store | iOS の App Token と OAuth Token、および購入者の idfa と idfv。 |
| Google Play | Android の App Token と OAuth Token、および購入者の android_id と gps_adid。 |
購入はインストールと同じデバイスに対して Adjust に送信されるため、Adjust はその購入をユーザーを獲得したキャンペーンに紐付けることができます。
Adjust連携ページには、StripeやPaddleに特化したフィールドはありません。Web購入は、AdaptをAdjustに接続するで設定したiOSおよびAndroidの認証情報を使用します。
モバイルアプリを一度も開いたことのない購入者にはAdjustのデバイスIDがなく、そのプロファイルはStripeまたはPaddleで作成されています。AdaptはiOSのApp Tokenを使用し、広告IDなしでその購入をAdjustに送信します。このため、Adjustは購入をインストールと紐付ける識別子を持ちません。
イベント構造
Adaptyは、Adjust Integration pageのEvents namesセクションで設定された内容に従い、選択したイベントをAdjustに送信します。各イベントの構造は以下のとおりです:
{
"event_token": "EVENT_TOKEN_FROM_CONFIG",
"app_token": "APP_TOKEN_FROM_CONFIG",
"s2s": 1,
"environment": "production",
"created_at_unix": 1709294400,
"currency": "USD",
"revenue": 9.99,
"customer_user_id": "user_12345",
"external_device_id": "user_12345",
"ip_address": "192.168.100.1",
"user_agent": "Mozilla/5.0 (Linux; Android 14; SM-S901B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36",
"android_id": "875646c2-4a56-4211-8931-168532479006",
"gps_adid": "875646c2-4a56-4211-8931-168532479006",
"callback_params": "{\"integration_event_id\":\"550e8400-e29b-41d4-a716-446655440000\",\"customer_user_id\":\"user_12345\",\"vendor_product_id\":\"com.example.app.yearly.premium\",\"transaction_id\":\"GPA.3312-4512-1100-55923\",\"original_transaction_id\":\"GPA.3312-4512-1100-55923\",\"store\":\"play_store\",\"store_country\":\"US\",\"price_usd\":9.99,\"proceeds_usd\":8.49,\"price_local\":9.99,\"proceeds_local\":8.49,\"net_revenue_usd\":8.49,\"net_revenue_local\":8.49,\"tax_amount_usd\":0.0,\"tax_amount_local\":0.0,\"consecutive_payments\":3,\"rate_after_first_year\":false}",
"partner_params": "{\"integration_event_id\":\"550e8400-e29b-41d4-a716-446655440000\",\"customer_user_id\":\"user_12345\",\"vendor_product_id\":\"com.example.app.yearly.premium\",\"transaction_id\":\"GPA.3312-4512-1100-55923\",\"original_transaction_id\":\"GPA.3312-4512-1100-55923\",\"store\":\"play_store\",\"store_country\":\"US\",\"price_usd\":9.99,\"proceeds_usd\":8.49,\"price_local\":9.99,\"proceeds_local\":8.49,\"net_revenue_usd\":8.49,\"net_revenue_local\":8.49,\"tax_amount_usd\":0.0,\"tax_amount_local\":0.0,\"consecutive_payments\":3,\"rate_after_first_year\":false}"
}
各パラメーターの説明:
| パラメーター | 型 | 説明 |
|---|---|---|
app_token | String | インテグレーション設定に登録されているAdjustのApp Token。 |
event_token | String | 特定のAdaptiイベントに対応するAdjustのEvent Token。 |
s2s | Integer | サーバー間イベントフラグ。 |
environment | String | sandbox または production。 |
created_at_unix | Integer | イベントのタイムスタンプ(秒単位)。 |
currency | String | 取引の通貨コード(例: “USD”)。収益が0.001を超える場合にのみ含まれます。AdjustはrevenueとcurrencyをセットでRequireするためです。 |
revenue | Float | 取引の収益額。値が0.001を超える場合にのみ含まれます。なお、返金イベントはrevenue属性なしで送信されます(Adjustは負の収益値をサポートしていないため)。 |
customer_user_id | String | ユーザーのCustomer User ID。 |
external_device_id | String | customer_user_idと同じ値。 |
ip_address | String | ユーザーのIPアドレス(IPv4のみ)。 |
user_agent | String | デバイスのUser Agent文字列。 |
adid | String | AdjustのデバイスID(判明している場合)。 |
android_id | String | Androidのみ。Google Advertising ID。 |
gps_adid | String | Androidのみ。Google Advertising ID。 |
idfa | String | iOSのみ。広告主向け識別子(IDFA)。 |
idfv | String | iOSのみ。ベンダー向け識別子(IDFV)。 |
callback_params | String | 利用可能なイベントフィールドをすべて含むJSON文字列。null以外のフィールドのみが含まれます。 |
partner_params | String | callback_paramsと同じ内容。 |
トラブルシューティング
収益の不一致
AdaptiとAdjust間で収益に差異がある場合、Adapty SDKを含むアプリバージョンを使用していないユーザーが存在することが原因として考えられます。データの一貫性を確保するには、Adapty SDKを搭載したバージョンへのアップデートをユーザーに促すことをお勧めします。
access_level_updated がイベントフィードで失敗と表示される
access_level_updated は webhook 専用イベントです。Adapty はこのインテグレーションにこのイベントを送信しません。ただし、Adapty は有効なすべてのインテグレーションに対して結果を記録するため、サポートされていないイベントは失敗として表示されます。