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

Branch統合プラン

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

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

概要​

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

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

BranchはWebhooksでユーザー粒度のデータをコールバックします。その中のチャンネルのアトリビューションなどの情報をAEのユーザープロパティに渡すことも、コールバックデータをイベントとして書き込むこともできます

Branchデータの統合を始める前に、AEシステムのユーザー識別ルールを読み、AEが#distinct_idと#account_idによってユーザーを識別する仕組みを理解しておいてください

統合の流れ​

  1. Branch SDKとAE SDKを導入し、Branch SDKでAEシステムのゲストIDとアカウントIDを設定します
  2. AE管理画面にログインし、サードパーティ統合モジュールでBranch Webhookのコールバックプランを追加して、関連する設定を完了します
  3. Branchの管理画面でWebhooksを設定し、AEのコールバックリンクを渡します
  4. AEシステムがデータを正常に受信しているかを確認し、レポートを作成します

1. クライアントSDKによるデータ送信​

クライアントSDKでデータを送信する場合は、まずアプリにBranch SDKとAE SDKを統合してください。次に、Branch SDKのinitialization metadataパラメータを設定する方法を使い、Branch SDKでAEシステムのユーザー識別ID(アカウントIDとゲストID)を設定します。BranchのコールバックデータにはこれらのIDフィールドが含まれるため、BranchのデータとAEのデータを関連付けることができます。

1.1 方法1(自動統合)​

  • 統合しているAndroid、iOS SDKについて

  • 統合しているUnity SDKのバージョンが2.4.0以上、Unreal SDKのバージョンが1.5.0以上の場合は、この方法をそのまま使用できます

ヒント

AEのSDKの初期化はBranchのSDKの初期化より前に完了する必要があり、自動統合コードの有効化はBranchのSDKの初期化後すぐに呼び出す必要があります。次の手順に従って操作してください:

  1. AE SDKを初期化します。
  2. Branch SDKを初期化します。
  3. enableThirdPartySharingを呼び出して、ゲストIDを自動設定します。

各プラットフォームのSDKのコードサンプルは次のとおりです:

// 1. Android SDKを初期化
TDConfig config = TDConfig.getInstance(this, APPID, TE_SERVER_URL);
TDAnalytics.init(config);
// 2. Branch SDKを初期化
// 。。。
// 3. enableThirdPartySharingインターフェースを呼び出し、ta_distinct_idをBranchイベントに設定
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.BRANCH);
// 4. 登録またはキャラクター作成後、loginを呼び出してアカウントIDを設定したら、再度データを同期する必要があります(任意)
TDAnalytics.login("account_id");
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.BRANCH);

このプランの仕組みは、内部でBranchのsetRequestMetadataメソッドを自動的に呼び出し、ta_distinct_idとta_account_idを渡すというものです。

1.2 方法2(手動統合)​

手動統合の方法では、Branch SDKでsetRequestMetadata()インターフェースを使用して、AEプロジェクトのゲストIDとアカウントIDを設定する必要があります。

ヒント

AE SDKの初期化はBranch SDKの初期化より前に完了する必要があります。次の手順に従って操作してください:

  1. AE SDKを初期化します。
  2. Branch SDKを初期化します。
  3. setRequestMetadataを呼び出してゲストIDを設定します。
// 1. Android SDKを初期化
TDConfig config = TDConfig.getInstance(this, APPID, TE_SERVER_URL);
TDAnalytics.init(config);
// 2. AEのゲストIDを取得(AEの#distinct_idに対応)
String distinctId = TDAnalytics.getDistinctId();
// 3. Branch SDKを初期化
// 。。。
// 4. ゲストIDをBranchの収集イベントに設定
Branch.getInstance().setRequestMetadata("ta_distinct_id", distinctId);

// 5. 登録またはキャラクター作成後、loginを呼び出してアカウントIDを設定したら、再度データを同期する必要があります(任意)
String accountId = "account_id";
TDAnalytics.login(accountId);
Branch.getInstance().setRequestMetadata("ta_account_id", accountId);

BranchのWebhookコールバックデータでは、ta_distinct_idとta_account_idがそれぞれAEシステムのゲストIDとアカウントIDに対応します。

警告

metadataパラメータが欠けたBranchデータが発生しないよう、Branch SDKの初期化が完了したらすぐにsetRequestMetadata()を呼び出してmetadataパラメータを設定してください。それでもデータにmetadataパラメータが含まれない場合や、初期化直後にユーザー識別フィールドを取得できない場合は、Branchが提供するDelay Session Initializationメソッドでsessionの初期化を遅らせ、その間にmetadataを設定することで、すべてのデータにユーザー識別フィールドが含まれるようにできます。

2. プランの設定​

SDKの設定が完了したら、次にAEシステムの管理画面にログインし、「サードパーティ統合」モジュールでBranchの設定を行います。下図はBranchの設定画面です:

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

Branch Webhookのデータはユーザーレベルのデータであるため、ユーザー識別ルール、つまりBranch SDKで設定したAEシステムのユーザー識別IDを設定する必要があります。AEシステムはこの設定に基づき、コールバックデータを変換する際に、これらのフィールドをデータ内のユーザー識別フィールドとして設定します。

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

  • アカウントID関連フィールド:ta_account_id
  • ゲストID関連フィールド:ta_distinct_id

2.2 イベントデータの格納設定​

「イベントデータの格納設定」スイッチをオンにすると、Branchからコールバックされたデータはすべてイベントテーブルに書き込まれます。イベントデータの格納を有効にすることをお勧めします。

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

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

BranchフィールドAEに格納後のユーザープロパティ名説明
query.channelte_ads_object.media_sourceチャネル
query.campaignte_ads_object.campaign_name広告キャンペーン
query.ad_set_namete_ads_object.ad_group_name広告グループ
query.creative_namete_ads_object.ad_name広告クリエイティブ

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

ユーザープロパティの格納の方法を変更できます。デフォルトはuser_setOnceで、最初に送信された情報のみが保持されます。

ソースプロパティ名には、格納フィールド名の前にquery.プレフィックスを付けてください

「プロパティのマッピング」ボタンをクリックして、ユーザープロパティに書き込むフィールドを追加できます。また、左側の「ルール」ボタンをクリックして新しいルールを追加することもできます。

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

2.4 統合構成​

統合構成モジュールでは、データ取得の詳細な設定を制御できます。たとえば、格納後のイベント名などです

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

モジュール名前意味
sink_eventevent_mapping格納後のイベント名。カスタマイズ可能です。KeyはBranchのコールバックデータのイベント名、Valueはそのイベントの格納後のイベント名です

2.5 ターミナルアドレス​

システムレベルおよびプロジェクトレベルのデータ受信URLを設定している場合は、次のリンクが表示されます

ここにアドレスが表示されない場合は、右上のメニュー「プロジェクト管理 → プロジェクト設定 → プロジェクト構成」でパブリックネットワークURLを設定してください。設定ページのヒントバーにある「データアクセスアドレス」リンクから移動することもできます。このアドレスは、AE SDKで設定するデータ受信URLです。設定後、Branch Webhook設定ページの「ターミナルアドレス」に戻ってターミナルアドレスをコピーしてください。

2.5.1 カスタムマクロ​

Branch WebhookのコールバックURLには、マクロと呼ばれる構造が含まれており、${(macro_name)!}の形式で表されます。マクロはプレースホルダーの一種と考えることができ、Branchがコールバックするデータにマクロに対応するフィールドが含まれる場合、そのフィールドの値がマクロの位置に埋め込まれます。${(last_attributed_touch_data.~campaign)!}を例にすると、Branchはデータをコールバックする際に、Campaignの値をコールバックURL内のマクロの位置に埋め込みます。

先ほど取得したターミナルアドレスで、以下のアドレスの先頭部分を置き換えてください。置き換えたコールバックURLはコピーしておいてください。後でBranchの管理画面でこのアドレスを入力する必要があります:

https://{ターミナルアドレス}?branch_id=${(id)!}&campaign=${(last_attributed_touch_data.~campaign)!}&campaign_id=${(last_attributed_touch_data.~campaign_id)!}&campaign_type=${(last_attributed_touch_data.~campaign_type)!}&customer_campaign=${(last_attributed_touch_data.~customer_campaign)!}&channel=${(last_attributed_touch_data.~channel)!}&feature=${(last_attributed_touch_data.~feature)!}&stage=${(last_attributed_touch_data.~stage)!}&tags=${(last_attributed_touch_data.~tags)!}&advertising_partner_name=${(last_attributed_touch_data.~advertising_partner_name)!}&advertising_partner_id=${(last_attributed_touch_data.~advertising_partner_id)!}&secondary_publisher=${(last_attributed_touch_data.~secondary_publisher)!}&secondary_publisher_id=${(last_attributed_touch_data.~secondary_publisher_id)!}&customer_secondary_publisher=${(last_attributed_touch_data.~customer_secondary_publisher)!}&creative_name=${(last_attributed_touch_data.~creative_name)!}&creative_id=${(last_attributed_touch_data.~creative_id)!}&ad_set_name=${(last_attributed_touch_data.~ad_set_name)!}&ad_set_id=${(last_attributed_touch_data.~ad_set_id)!}&customer_ad_set_name=${(last_attributed_touch_data.~customer_ad_set_name)!}&ad_name=${(last_attributed_touch_data.~ad_name)!}&ad_id=${(last_attributed_touch_data.~ad_id)!}&customer_ad_name=${(last_attributed_touch_data.~customer_ad_name)!}&keyword=${(last_attributed_touch_data.~keyword)!}&keyword_id=${(last_attributed_touch_data.~keyword_id)!}&customer_keyword=${(last_attributed_touch_data.~customer_keyword)!}&branch_ad_format=${(last_attributed_touch_data.~branch_ad_format)!}&technology_partner=${(last_attributed_touch_data.~technology_partner)!}&banner_dimensions=${(last_attributed_touch_data.~banner_dimensions)!}&placement=${(last_attributed_touch_data.~placement)!}&placement_id=${(last_attributed_touch_data.~placement_id)!}&customer_placement=${(last_attributed_touch_data.~customer_placement)!}&sub_site_name=${(last_attributed_touch_data.~sub_site_name)!}&customer_sub_site_name=${(last_attributed_touch_data.~customer_sub_site_name)!}&agency=${(last_attributed_touch_data.~agency)!}&agency_id=${(last_attributed_touch_data.~agency_id)!}&ta_distinct_id=${(custom_data.ta_distinct_id)!}&ta_account_id=${(custom_data.ta_account_id)!}

2.6 プランの保存​

設定が完了したら、右上の保存ボタンをクリックしてプランを保存してください。

3. Branch Webhookコールバックの設定​

プランを保存したら、Branchの管理画面にログインし、「Data Feeds」ページの「WEBHOOKS」タブで新しいWebhookを追加します:

Webhookのリンクと詳細を設定します。上から下、左から右に、合計3つの項目を入力する必要があります:

  1. 「Send a webhook to」:AE管理画面で取得したターミナルアドレスに必要なカスタムマクロを加えて、ここに入力します
  2. 「using a ...」:POSTメソッドを選択します
  3. 「every time users trigger the event ...」:クライアントSDKでデータを送信する場合は、INSTALLイベントを選択できます

「Save Rule」をクリックしてルールを保存すると、Branchのコールバック設定は完了です

警告

iOS 14.5以降のinstall(アクティベーション)イベントについて:

アクティベーションが有料広告にアトリビューションされた場合、ユーザーがATTでopt-inを選択した後に、2回目のinstall(アクティベーション)イベントがトリガーされます

opt-inの選択は、最終的なアクティベーション数の集計に影響します。異なる識別子(IDFVなど)を使用して、社内システム上で重複したアクティベーションイベントを削除することをお勧めします(AEシステム内の二次開発ツールで行えます)。

4. データの格納​

4.1 イベントの格納ルール​

  • データ内のevent_timestampフィールドを、イベントの#event_timeとして使用します

  • データのイベント名には統合構成のsink_event.event_mappingを使用します。デフォルトは次のとおりです:

    • インストール:branch_install
    • sink_event.event_mappingに記述されていないその他のイベント:nameフィールドの前にbranch_プレフィックスを付けます
  • その他、コールバックURL内のマクロに対応するプロパティはすべて格納されます

本ドキュメントで提供しているコールバックURLを使用した場合に、Branchがコールバックするプロパティの一覧は次のとおりです:

格納名意味
nameBranchのイベント名
event_timestampデータ時間
campaignアトリビューションされたCampaign名
campaign_idアトリビューションされたCampaign ID
campaign_typeアトリビューションされたCampaignのタイプ(Google AAPのアトリビューションから取得)
customer_campaignカスタムのアトリビューションCampaign名
channelアトリビューションされたChannel名
featureアトリビューションされたFeature。値の例:"paid advertising"
stageStage
tagsアトリビューションのタグ
advertising_partner_name読みやすい形式のAdvertising Partner名
advertising_partner_idAdvertising Partner ID
secondary_publisherSecondary Publisher名
secondary_publisher_idSecondary Publisher ID
customer_secondary_publisherカスタムのSecondary Publisher ID
creative_nameアトリビューションされたCreative名
creative_idアトリビューションされたCreative ID
ad_set_nameアトリビューションされたAd Set名
ad_set_idアトリビューションされたAd Set ID
customer_ad_set_nameカスタムのAd Set名
ad_nameアトリビューションされたAd名
ad_idアトリビューションされたAd ID
customer_ad_nameカスタムのAd名
keywordアトリビューションされたKeyword
keyword_idアトリビューションされたKeyword ID
customer_keywordカスタムのKeyword
branch_ad_format広告タイプ。値の例:Search, Display, Product Ad, App only
technology_partnerサードパーティのTechnology Partner
banner_dimensionsBannerのサイズ
placementアトリビューションされたPlacement
placement_idアトリビューションされたPlacement ID
customer_placementカスタムのPlacement
sub_site_nameSub Site名
customer_sub_site_nameカスタムのSub Site名
agencyAgency名
agency_idAgency ID
ta_distinct_idAEシステムのゲストID
ta_account_idAEシステムのアカウントID

4.2 標準化フィールド​

Branch Webhookのコールバックデータレポートの一部のフィールドは、AEシステムによって標準化処理されます

元フィールド標準化フィールド意味
campaignte_ads_object.campaign_name広告キャンペーン名
campaign_idte_ads_object.campaign_id広告キャンペーンID
ad_set_namete_ads_object.ad_group_name広告グループ名、マネタイズ広告のUnit名
ad_set_idte_ads_object.ad_group_id広告グループID、マネタイズ広告のUnit ID
ad_namete_ads_object.ad_name広告名
ad_idte_ads_object.ad_id広告ID
placementte_ads_object.placement広告の配置
channelte_ads_object.media_sourceメディアチャンネル
このページは役に立ちましたか?