Adapty アトリビューションにおける Amazon S3
Adapty AttributionとAmazon S3の連携により、ユーザー獲得キャンペーンデータを一か所に安全に保存できます。キャンペーンのパフォーマンスデータ、アトリビューションデータ、ユーザー獲得イベントを.csvファイルとしてAmazon S3バケットに保存することが可能です。 この連携を設定するには、AWS ConsoleとAdapty Attributionダッシュボードでいくつかの簡単な手順を実行する必要があります。
Adapty Attributionのエクスポートは、カレンダー上の1日につき1セットのファイルを出力します。エクスポートスケジューラーは1日3回 — 02:00、04:00、06:00 UTC — に実行されます。各実行では、前日のエクスポートジョブが存在しない場合は新規作成し、以前の実行が失敗していた場合は再試行します。そのため、通常データは02:00の実行後に利用可能になり、それ以降の実行は新たなデータを追加するためではなく、失敗からの復旧を目的としています。
各ファイルには、UTC時間で前日1日分のイベントデータが含まれます。たとえば、3月8日にエクスポートされたデータには、3月7日の00:00:00から23:59:59(UTC)までに作成されたすべてのイベントが含まれます。
スケジュールエクスポートは、有料プランまたはトライアル中の企業のみ実行されます。いずれにも該当しない場合、スケジューラーはスキップしてファイルを書き込みません(インテグレーションがダッシュボードで有効になっていても同様です)。バケットが空でかつ設定が正しい場合は、まずプランのステータスを確認してください。
Amazon S3 インテグレーションのセットアップ方法
データの受信を開始するには、以下の認証情報が必要です:
- アクセスキー ID
- シークレットアクセスキー
- S3 バケット名
- S3 バケット内のフォルダ名
ネストされたディレクトリ
Amazon S3 バケット名フィールドにネストされたディレクトリを指定できます。例:adapty-ua-events/com.sample-app
ステップ 1. Amazon S3 認証情報の作成
このガイドでは、AWS コンソールで必要な認証情報を作成する手順を説明します。
1.1. アクセスポリシーの作成
- AWS コンソールの IAM ポリシーダッシュボード に移動します
- Create Policy を選択します
- ポリシーエディターに以下の JSON を貼り付け、
adapty-s3-integration-testをご自身のバケット名に変更してください:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowListObjectsInBucket",
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::adapty-s3-integration-test"
},
{
"Sid": "AllowAllObjectActions",
"Effect": "Allow",
"Action": "s3:*Object",
"Resource": [
"arn:aws:s3:::adapty-s3-integration-test/*",
"arn:aws:s3:::adapty-s3-integration-test"
]
},
{
"Sid": "AllowBucketLocation",
"Effect": "Allow",
"Action": "s3:GetBucketLocation",
"Resource": "arn:aws:s3:::adapty-s3-integration-test"
}
]
}
- ポリシーの設定が完了したら、タグを追加することもできます(任意)。その後、Next をクリックして最終ステップに進みます。
- このステップでは、ポリシーに名前を付けて、Create policy ボタンをクリックするだけで作成が完了します。
1.2. IAM ユーザーを作成する
Adapty アトリビューションがバケットへ生データレポートをアップロードできるようにするには、対象バケットへの書き込み権限を持つユーザーのアクセスキー ID とシークレットアクセスキーを提供する必要があります。
- IAM コンソールに移動し、Users セクションを選択します
- Add users ボタンをクリックします
- ユーザー名を入力し、Access key – Programmatic access を選択して、権限の設定に進みます
- 次のステップでは、Add user to group オプションを選択し、Create group ボタンをクリックしてください。
- 次に、User Groupに名前を付け、先ほど作成したポリシーを選択します
- ポリシーを選択したら、Create group ボタンをクリックしてプロセスを完了します
- グループの作成が完了したら、それを選択して次のステップに進んでください
- このセクションの最後のステップですので、Create User ボタンをクリックして次に進んでください。
- 最後に、認証情報を .csv 形式でダウンロードするか、ダッシュボードから直接コピー&ペーストすることができます。
ステップ 2. Adapty Attribution でインテグレーションを設定する
- Integrations -> Amazon S3 に移動します。
- Export install events to Amazon S3 トグルをオンにします。
- Amazon S3 と Adapty Attribution プロファイルの接続を構築するために、以下のフィールドを入力します。 | フィールド | 説明 | |:-----------------------------| :----------------------------------------------------------- | | Access Key ID | AWS サービスへのアクセスを認証するために使用される一意の識別子です。このIDはダウンロードした csv ファイル に記載されています。 | | Secret Access Key | Access Key ID と組み合わせて、AWS サービスへのアクセスを認証するために使用されるプライベートキーです。このキーはダウンロードした csv ファイル に記載されています。 | | S3 Bucket Name | AWS クラウド内の特定の S3 バケットを識別するグローバルに一意の名前です。S3 バケットはシンプルなストレージサービスで、ファイルや画像などのデータオブジェクトをクラウドに保存・取得できます。 | | Folder Inside the Bucker | 選択した S3 バケット内に作成するフォルダーの名前です。S3 ではオブジェクトキープレフィックス(実質的にはフォルダー名)を使ってフォルダーを擬似的に表現していることにご注意ください。 | | Region(オプション) | AWS マネジメントコンソールの IAM ユーザーアカウントからリージョンを確認してください。 |
手動データエクスポート
Amazon S3 への自動イベントデータエクスポートに加えて、Adapty UA では手動ファイルエクスポート機能も提供しています。この機能を使用すると、ユーザー獲得データの特定の日付を選択して、S3 バケットに手動でエクスポートできます。これにより、エクスポートするデータとそのタイミングをより細かく制御できます。
テーブル構造
AWS S3 インテグレーションでは、Adapty アトリビューションはインストールイベントの履歴データを保存するテーブルを提供します。このテーブルには、ユーザープロファイル、収益と手取り額、オリジンストアなど、さまざまなデータポイントの情報が含まれています。
この構造は、Adapty または連携しているサードパーティによって新しいデータが追加されると、今後変更される可能性があります。処理するコードは、構造全体に依存せず、特定のフィールドに基づいて動作するよう堅牢に設計してください。
イベントのテーブル構造は以下のとおりです:
| カラム | 説明 |
|---|---|
adapty_profile_id | Adapty プロファイルの一意の識別子 |
install_id | インストールの一意の識別子 |
created_at | レコード作成タイムスタンプ(ISO 8601) |
installed_at | アプリインストールタイムスタンプ(ISO 8601) |
store | アプリストア(ios、android) |
country | ユーザーの国コード(ISO 3166-1 alpha-2) |
ip_address | クライアント IP アドレス |
idfa | iOS 広告主識別子 |
idfv | iOS ベンダー識別子 |
gaid | Google 広告 ID(Android) |
android_id | Android デバイス ID |
app_set_id | Android App Set ID |
bundle_id | アプリバンドル識別子(例:com.example.app) |
device_brand | デバイスブランド(例:Apple、Samsung) |
device_model | デバイスモデル(例:iPhone15,2) |
os_version | OS のメジャーバージョン |
app_version | Adapty SDK が報告するアプリバージョン |
sdk_version | Adapty SDK バージョン |
channel | アトリビューションチャネル |
campaign_id | キャンペーン識別子 |
campaign_name | キャンペーン名 |
adset_id | 広告セット識別子 |
adset_name | 広告セット名 |
ad_id | 広告識別子 |
ad_name | 広告名 |
keyword_id | キーワード識別子 |
keyword_name | キーワード名 |
asa_org_id | Apple Search Ads 組織 ID |
asa_keyword_match_type | ASA キーワードマッチタイプ(Exact、Broad) |
asa_attribution | ASA アトリビューションデータ(JSON 文字列) |
asa_conversion_type | ASA コンバージョンタイプ |
asa_country_or_region | ASA の国またはリージョン |
asa_creative_set_name | ASA クリエイティブセット名 |
fbclid | Facebook クリック ID |
ttclid | TikTok クリック ID |
utm_source | UTM source パラメーター |
utm_medium | UTM medium パラメーター |
utm_campaign | UTM campaign パラメーター |
utm_term | UTM term パラメーター |
utm_content | UTM content パラメーター |
click_time | アトリビューションされたクリックのタイムスタンプ(Unix 秒)。インストールにクリックがアトリビューションされていない場合は空。 |