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

ironSourceデータ統合ソリューション

最終更新 2026/10/05

最終更新日:2022-08-17

1. 概要​

ヒント

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

本記事では、ironSourceのデータをAgentic Engine(以下、AEシステム)にコールバックする方法を説明します。本プランは次に対応しています:

  • クライアントSDKでデータを送信すると、収益データをリアルタイムに取得できます。ただし、収益データは推定値であり、最終的な精算データとは若干の差があります
  • Impression Level Revenue APIで、より正確な収益データを取得できます。ただし、リアルタイム性は劣ります(T+1で収益データを取得でき、T+2で最終データを取得できます)
  • Reporting APIで、露出、収益、ユーザーアクティブなどを含む集約指標データを取得します。

ironSourceの統合を始める前に、AEシステムのデータルールを読み、AEのデータ構造を理解しておいてください。また、データの取得に必要な情報を担当のカスタマーサクセスマネージャーにお渡しいただくことをお勧めします。形式はデータ統合設定情報テンプレートを参考にしてください。

2. クライアントSDKによる送信​

インターフェースの基本情報

インターフェース名APIタイプ製品化データ粒度アトリビューションデータコストデータ収益データインプレッションクリックコンバージョン
ILR SDKクライアントSDKいいえユーザーレベルはい

Impression Level Revenue (ILR) SDK APIは、ironSource SDKのリアルタイム収益インターフェースで、ironSourceクライアントSDK(Android、iOS、Unity SDK)7.0.3以降のバージョンで提供されています。このインターフェースでは、広告の表示後にコールバックで推定収益データをリアルタイムに取得し、AEクライアントSDKと組み合わせて送信することで、リアルタイム性の高い収益データを取得できます。

2.1 ironSourceの設定​

ILR SDKのリアルタイム収益コールバック機能を有効にするには、まずironSource管理画面にログインし、「My Account」-「API」ページの「ARM SDK Postbacks」欄で「Enable ad revenue measurements (ARM) SDK postbacks」にチェックを入れる必要があります

2.2 AEクライアントSDKの設定​

方法1(自動統合):

ヒント

統合しているAE SDKのバージョンが2.8.0~2.8.1の場合は、自動関連付けの方法の使用をお勧めします

統合しているAE SDKのバージョンが2.8.2以上の場合は、サードパーティデータプラグインもインストールする必要があります

この方法は自動統合プランです。AEクライアントSDKを初期化した後、以下のコードを呼び出して有効にしてください。詳しくはAndroid SDKのサードパーティデータとiOS SDKのサードパーティデータを参照してください

// AE SDKを初期化
ThinkingAnalyticsSDK instance = ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID, TA_SERVER_URL);
// ironSource IDの関連付けを有効化
instance.enableThirdPartySharing(TDThirdPartyShareType.TD_IRON_SOURCE);

// ironSource SDKを初期化
// ...

この方法の仕組みは、内部でonImpressionSuccessEventコールバックを自動的に登録し、コールバックを受け取った後にIronSourceImpressionDataのパラメータを自動的に解析して、AE SDKでta_ironSource_callbackイベントを送信するというものです

方法2(手動統合):

手動統合プランでは、ImpressionData Listenerを実装し、その中にAE SDKのデータ送信インターフェースを追加する必要があります。以下はUnityのコードサンプルです。ImpressionSuccessEvent()を実装してonImpressionSuccessEventに登録すると、広告の表示後にコールバックがトリガーされ、データが送信されます。各SDKの実装方法については、以下のリンクを参照してください:

// ImpressionSuccessEventを登録し、その中でAEにデータを送信するコードロジックを設定
private void ImpressionSuccessEvent(IronSourceImpressionData impressionData) {
Debug.Log ("unity-script: ImpressionSuccessEvent impressionData = " + impressionData);
if (impressionData != null) {
Dictionary<string, object> properties = new Dictionary<string, object>()
{
// 収益ソース: 広告ユニット
{"adUnit", impressionData.adUnit},
// 収益ソース: 広告チャネル
{"adNetwork", impressionData.adNetwork},
// 収益ソース: ironSourceインスタンス名
{"instanceName", impressionData.instanceName},
// 収益ソース: ironSourceインスタンスID
{"instanceId", impressionData.instanceId},
// Placement
{"placement", impressionData.placement},
// 通貨タイプ
{"currency", "USD"},
// 収益
{"revenue", impressionData.revenue},
// 収益タイプ
{"precision",impressionData.precision}
};

// 収益データをAEに送信(収益イベント名をironSource_sdk_postbacksとした場合)
ThinkingAnalyticsAPI.Track("ironSource_sdk_postbacks", properties);
}
}

ironSource SDK Postbacksのコールバックフィールドの一覧は次のとおりです。ironSource公式ドキュメントも参照できます:

フィールド名説明データタイプ
auctionId入札の一意識別IDString
adUnit表示された広告ユニット(例:Rewarded Video、Interstitial、Banner)String
adNetwork広告メディアチャネル名String
instanceName広告インスタンス名String
instanceId広告インスタンスIDString
countryISO 3166-1形式の国(地域)コードString
placement広告プレースメントString
revenue収益データ(USD)。この値は推定値の場合があります。詳しくはprecisionフィールドの値を参照してくださいDouble
precision

revenue値のソース:

  • BID – リアルタイム入札で取得した収益データ。正確な値
  • RATE – ironSource管理画面でインスタンスに手動で設定したレート(instance rate)
  • CPM – インスタンス(instance)の過去データに基づいて計算した推定値
String
abironSource管理画面で設定したA/B TestのマークString
segmentNameユーザーが割り当てられたトラフィックグループ名(Segment。ironSource管理画面で設定)String
lifetimeRevenueユーザーが累計で生み出した収益額Double
encryptedCPMこのフィールドはMeta Audience Network(Facebook Audience Network)の広告データにのみ存在しますString

3. Impression Level Revenue API​

インターフェースの基本情報

インターフェース名APIタイプ製品化データ粒度アトリビューションデータコストデータ収益データインプレッションクリックコンバージョン
Impression Level Revenue APIプル型いいえユーザーレベルはいはい

Impression Level Revenue APIは、表示レベル(impression-level)とユーザーレベル(user level)の2種類のデータを提供しています。表示レベルのデータは1件ごとに1回の広告露出であり、イベントデータの意味に合致します。一方、ユーザーレベルのデータは1人のユーザーの生涯指標を集計したもので、イベントデータとしてコールバックするのには適していません。また、このデータは絶えず変化するため、AEシステムでの処理・分析にも適していません。そのため、表示レベルのデータの統合にのみ対応しています。

3.1 認証コードとApp Keyの取得​

Impression Level Revenue APIを統合する前に、認証コードと、データを取得するプロジェクトのApp Keyを取得する必要があります。

  1. ironSource管理画面にログインし、右上のユーザーメニューをクリックして「My Account」ページの「Reporting API」タブに移動し、Secret KeyとRefresh TokenをThinkingAIの担当者に送信します:
  1. 次に、ironSource管理画面の「Ad Unit」ページに移動し、「APPLICATIONS」リストで統合するアプリを選択すると、右側のカードにそのアプリのApp Keyが表示されます。これをThinkingAIの担当者に送信するか、データ統合設定情報テンプレートに記録します(iOSとAndroidは別々であるため、両方のプラットフォームのデータを統合する場合は、2つのApp Keyを送信する必要があります)

3.2 クライアントSDKの設定​

ironSourceのユーザーデータをAEプロジェクトと関連付けるには、ironSourceのsetUserId()メソッドを使用して、AEユーザーのゲストIDをironSourceに送信する必要があります。以下のサンプルコードではUnity SDKを例に、AEのゲストIDをironSourceのUserIdとして設定しています:

// AEのゲストIDをironSourceのUser IDとして設定
IronSource.Agent.setUserId(ThinkingAnalyticsAPI.GetDistinctId());
警告

AEクライアントSDKのデフォルトのゲストIDの値は次のとおりです:

  • Androidでは、AE SDKのゲストIDはGAIDで、ironSourceのadvertising_idにはGAIDが使用されます
  • iOSでは、AE SDKのゲストIDはIDFVで、ironSourceのadvertising_idにはIDFA/IDFVが使用されます

3.3 対象フィールド​

以下は、Impression Level Revenue APIが返すフィールドです:

  • ディメンションフィールド
フィールド名説明値の例
event_timestamp露出のタイムスタンプ2021-09-01 11:26:46
#zone_offsetタイムゾーン(AEプリセットプロパティ)0(固定値)
advertising_idユーザーの広告ID(GAID / IDFA)137cf2f0-609c-4ae3-ab64-ed5c0d7392fd
advertising_vendor_id

ユーザーのVendor ID(app Set ID

/ IDFV)

A0810F0B-16C2-474B-B765-77B3A3113AA2
user_idユーザーが設定したUser ID(3.2で設定したユーザーID)c7d9fed7-aa40-4bfa-918f-8d4b155bfd4b
ad_unit広告ユニットrewarded_video
ad_network広告メディアAdmob
instance_nameインスタンス名Bidding, High
country国(地域)コードUS
placementプレースメントHome_Screen
segmentユーザーが割り当てられたトラフィックグループ名Tier 1
AB_TestingA/B TestタグA,B
app_keyアプリKey
app_nameアプリ名
platformプラットフォームiOS, android
  • 指標フィールド
フィールド名説明値の例
impressions露出数1000
revenue収益額0.5

3.4 インターフェースのパラメータ​

  • 時間:

    • 日単位、UTCタイムゾーンのデータを取得します

      • 取得できるのは直近14日分のデータのみです(たとえば、1月1日のデータは最長で1月14日まで保持され、それ以降は取得してもデータがありません)
      • 毎日UTC時間の午後2時(北京時間の午後10時)に、前日(UTCタイムゾーン)のデータを取得できます
      • データの修正は過去2日間のデータ(つまり昨日と一昨日)にのみ適用され、それ以降のデータは安定し、調整されなくなります

3.5 データの格納ルール​

デフォルトでは、取得したデータはイベントとしてAEプロジェクトに書き込まれます。1件の表示データが1件のイベントデータとして書き込まれます:

  • データ内のuser_idをデータのゲストIDとして使用します。このフィールドはAEプロジェクトのゲストIDに対応している必要があります
  • データ内のevent_timestampフィールド(広告表示時刻)を、イベントの#event_timeとして使用します
  • データのイベント名は ironsource_ad_revenue_impression_level です
  • その他のフィールドはすべて格納されます

3.6 データ統合設定情報テンプレート​

以上のドキュメントを読んだら、次の情報テンプレートに記入し、ThinkingAIの担当カスタマーサクセスマネージャーに送信することをお勧めします:

データインターフェース:ironSource Impression Level Revenue API
--------
会社名:XXX
AEプロジェクト環境:(SAAS/プライベートデプロイ)
AEプロジェクト名:XXX
AEプロジェクトAPP ID: XXX
データ受信URL push_url: XXX
---------
secretkey: XXX
refreshToken: XXX
---------
データ取得設定
appKey:XXX, XXX(iOS, Androidは別々)

履歴データの取得時間範囲:yyyy/mm/dd - yyyy/mm/dd(直近14日間のデータのみ取得できます)
定期取得:毎日北京時間22時に前日のデータを取得

4. Reporting API​

インターフェースの基本情報

インターフェース名APIタイプ製品化データ粒度アトリビューションデータコストデータ収益データインプレッションクリックコンバージョン
Reporting APIプル型いいえ集約指標はいはいはい

Reporting APIは、ironSourceの集約指標データのインターフェースです。このインターフェースを通じて、露出、収益、ユーザーのアクティブなどの集約された指標データを取得できます。

4.1 認証コードの取得​

Reporting APIを統合する前に、認証コードを取得する必要があります。ironSource管理画面にログインし、右上のユーザーメニューをクリックして「My Account」ページの「Reporting API」タブに移動し、Secret KeyとRefresh TokenをThinkingAIの担当者に送信します:

4.2 対象フィールド​

以下は、Reporting APIが返すフィールドです:

  • ディメンションフィールド

以下は、Reporting APIの分析ディメンションです。分析ディメンションごとに対応できる指標は異なる点に注意してください。具体的な対応関係については、ironSource公式ドキュメントを参照してください:

ディメンション名フィールド名説明デフォルトかどうか備考
datedateデータ時間はい
adUnitsadUnits広告ユニットはい

app

appKeyアプリKeyはい
bundleIdアプリIDはい
appNameアプリ名はい
platformplatformアプリのプラットフォームはい
adSourceproviderName広告ソースはい
instanceinstanceNameインスタンス名segment、placementと排他
instanceIdインスタンスID
countrycountryCode国(地域)コードはい
segmentsegmentユーザーが割り当てられたトラフィックグループ名instance、placementと排他
placementplacementプレースメントinstance、segmentと排他
osVersionosVersionOS バージョン

最大4つから1つを選択

connectionTypeconnectionTypeネットワーク接続タイプ
sdkVersionsdkVersionSDKバージョン
appVersionappVersionアプリバージョン
attattATTステータス
idfaidfaIDFAが利用可能かどうか
abTestabTestA/B Testタグ
  • 指標フィールド

以下は、Reporting APIが対応している指標のリストです。利用可能な指標は分析ディメンションの影響を受けるため、実際に受信される指標は下表の内容より少なくなる点に注意してください:

フィールド名説明
revenue総収益
eCPMeCPM
appFillRate広告フィル率(露出数 / リクエスト数)
appRequests広告リクエスト数
impressions露出数
completions

完了数

  • リワード動画:動画の完全視聴数
  • Offerwall:目標達成数
revenuePerCompletion平均完了収益額(収益 / 完了数)
appFills広告フィル数
useRate広告の露出数とフィル数の比率
activeUsersDAU
engagedUsers広告エンゲージユーザー数
engagedUsersRate広告エンゲージユーザーの割合
impressionsPerEngagedUser広告エンゲージユーザーあたりの平均広告露出数
revenuePerActiveUserARPU値(単位はセント)
revenuePerEngagedUser広告エンゲージユーザーのARPU値(単位はセント)
clicks総クリック数
clickThroughRateクリック率(CTR)
completionRate特定の行動を完了した割合、つまりコンバージョン率
adSourceChecks広告ソースが広告の利用可否を確認した回数
adSourceResponses広告ソースがレスポンスを返した回数
adSourceAvailabilityRate広告の利用可能率(露出数 / 広告レスポンス数)
sessionsSession数
engagedSessions広告エンゲージがあったSession数
impressionsPerSessionSessionあたりの平均露出数
impressionPerEngagedSessions広告エンゲージがあったSessionあたりの平均露出数
sessionsPerActiveUserユーザーあたりの平均Session数

4.3 インターフェースのパラメータ​

  • 時間:
    • 日単位、UTCタイムゾーンのデータを取得します
  • アプリ:
    • 取得するアプリを指定できます(AndroidとiOSは別々)

4.4 データの格納ルール​

デフォルトでは、取得したデータはイベントとしてAEプロジェクトに書き込まれます:

  • Reporting APIは集計データのため、固定値をユーザー識別子として使用します。すべてのデータが1人の仮想ユーザーに紐付けられていると考えてください
  • データ内のdateフィールド(データ時間)を、イベントの#event_timeとして使用します
  • データのイベント名は ironsource_reporting_level です
  • その他のフィールドはすべて格納されます

4.5 データ統合設定情報テンプレート​

以上のドキュメントを読んだら、次の情報テンプレートに記入し、ThinkingAIの担当カスタマーサクセスマネージャーに送信することをお勧めします:

データインターフェース:ironSource Reporting API
--------
会社名:XXX
AEプロジェクト環境:(SAAS/プライベートデプロイ)
AEプロジェクト名:XXX
AEプロジェクトAPP ID: XXX
データ受信URL push_url: XXX
---------
secretkey: XXX
refreshToken: XXX
---------
データ取得設定
分析粒度:xxx,xxx(入力しない場合はデフォルトを使用)
取得するアプリのKey:xxx,xxx(デフォルトはすべて取得)

履歴データの取得時間範囲:yyyy/mm/dd - yyyy/mm/dd
定期取得:毎日X時に前日のデータを取得

5. データ検証​

AEシステム管理画面の「データ管理」-「イベント管理」ページ、または「SQL IDE」ページで、次のイベントが格納されているかを検索できます:

  • クライアントSDKに対応するイベント

    • ta_ironSource_callback(方法1)
    • ironSource_sdk_postbacks(方法2)
  • Impression Level Revenue APIに対応するイベント

    • ironsource_ad_revenue_impression_level
  • Reporting APIに対応するイベント

    • ironsource_reporting_level

6. FAQ​

6.1 クライアントSDKによる送信とImpression Level Revenue APIによる送信では、データにどのような違いがありますか?​

  • クライアントSDKで送信するデータは即時性が高い一方で、正確性は低くなります
  • Impression Level Revenue APIのデータには1日の遅延があり、データが安定するのは3日目であるため即時性は低くなりますが、データが安定した後の正確性は高くなります。

6.2 AEに格納したデータとironSource管理画面のUIのデータにわずかな差異があるのはなぜですか?​

  1. ironSourceはUTCタイムゾーンでの取得のみ提供しています。AE管理画面で設定したタイムゾーンがUTCになっているか確認してください
  2. データのわずかな差異は、ironSource APIのデータチャネルとironSource管理画面UIのデータチャネルのわずかな違いによって生じている可能性があります。たとえば、UIのデータチャネルはデータベースA-Bで、さらにフロントエンドコードによる小数の四捨五入ロジックが加わります。一方、APIのデータチャネルはデータベースA-Cです。
このページは役に立ちましたか?