Branch.ioは、iOSおよびAndroid向けモバイルアプリケーションに統一されたリンクインフラストラクチャを提供する、商用のディープリンキングおよびアトリビューションプラットフォームです。Branch Documentationによると、このプラットフォームはリンククリックからアプリ内のターゲットアクションまでのユーザーインタラクションの完全なサイクルを追跡します。Branch.ioのディープリンキングは、ディファードディープリンキングとインストールアトリビューションをサポートし、すべてのプラットフォームで動作します。
重要なポイント
Branch.ioは、ディープリンキング、モバイルインストールアトリビューション、マーケティング分析を1つのソリューションに統合したプラットフォームです。開発者とマーケターは、プラットフォーム、インストール状況、その他のパラメータに応じてユーザーをアプリまたはウェブページに誘導するスマートリンクを作成できます。さらに、Branchは各インストールをその発信元ソースに自動的に関連付けます。
このプラットフォームは2014年に設立され、AppsFlyerやAdjustと並んでモバイル測定(MMP)市場のリーダーの1つです。Branchの主な利点は、ディープリンキングとアトリビューションを1つのSDKに完全に統合し、リンクと分析に別々のソリューションを使用する必要をなくすことです。
Firebase Dynamic Linksは基本的な機能を備えた無料サービスですが、Branch.ioは50以上の広告ネットワークとの統合をサポートする高度なアトリビューションを備えた商用プラットフォームです。Branchは、ラストクリック、ファーストクリック、マルチタッチの各アトリビューションモデルを含む、すべてのユーザータッチポイントのエンドツーエンド分析を提供します。
Branch.ioは、モバイルリンクを操作するための幅広いツールを提供します。主な機能には、インストール前にウェブブラウザでアプリコンテンツをプレビューするDeepview、iOS用のUniversal LinksとAndroid用のApp Linksの自動生成、報酬付き紹介プログラムのサポートが含まれます。
また、プラットフォームはJourneysをサポートしています。これは、モバイルサイト訪問時にアプリのインストールを促すバナーをユーザーに表示するビジュアルエンゲージメントファネルビルダーです。JourneysはBranchのウェブインターフェースを通じてコーディングなしで設定でき、クリエイティブのA/Bテストをサポートします。
| 機能 | 説明 | 用途 |
|---|---|---|
| ディープリンキング | ディファード対応のスマートリンク | コンテンツへの移動 |
| アトリビューション | インストールとイベントのアトリビューション | マーケティング分析 |
| Journeys | インストール用ウェブバナー | ユーザー獲得 |
| Deepview | ブラウザでのアプリプレビュー | コンテンツ表示 |
| Segments | ユーザーセグメンテーション | パーソナライゼーション |
Branchでのインストールアトリビューションは、初回アプリ起動時にクリック識別子(クリックID)をデバイス識別子にリンクすることで機能します。ユーザーがBranchリンクをクリックすると、システムは一意の識別子を生成し、ブラウザまたはシステムクリップボードに保存します。インストールと初回起動後、Branch SDKはこの識別子を読み取り、インストールをクリックソースにリンクします。
Branchはさまざまなモデルに従ったアトリビューションをサポートしています。ラストクリックアトリビューションは、インストール前の最後のクリックソースを原因として特定します。マルチタッチアトリビューションは、指定された重みに従ってすべてのユーザータッチポイント間でインストール価値を分配します。プラットフォームは、クリックなしの広告インプレッションに対するビュースルーアトリビューションもサポートしています。
Branchは、Facebook Ads、Google Ads、TikTok Ads、Snapchatを含む50以上の広告プラットフォームと統合されています。各統合は、最大の精度を得るために広告ネットワークのネイティブアトリビューションメカニズムを使用します。初期SDK統合後のアプリコードの変更なしで、Branchダッシュボードを介して設定が行われます。
iOSアプリへのBranch SDKの統合は、CocoaPods、SPM、またはCarthageを介したパッケージのインストールから始まります。インストール後、AppDelegateのdidFinishLaunchingWithOptionsメソッドでBranchダッシュボードのアプリキーを使用してSDKを初期化する必要があります。SDKはBranchドメインのUniversal Linksを自動的に登録します。
ディープリンクが正しく機能するためには、Xcode Capabilitiesでapplinks:bnc.ltのようなエントリを使用してAssociated Domainsを設定する必要があります。Branchは、特定のiOSバージョンでUniversal Linksが機能しない場合のフォールバックとしてURL Schemeもサポートしています。受信リンクの処理はすべて、カスタムハンドラを作成せずにSDKを介して自動的に行われます。
Swiftを使用したAppDelegateでのBranch SDK初期化の例。SDKはアプリ起動時にセッションを開始し、すべてのディープリンクを自動的に処理します。
import BranchSDK
class AppDelegate: UIResponder,
UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions
launchOptions: [UIApplication
.LaunchOptionsKey: Any]?
) -> Bool {
Branch.getInstance()
.initSession(launchOptions: launchOptions)
return true
}
}
initSessionメソッドはBranchセッションを開始し、受信ディープリンクを自動的に確認します。結果はBranchDelegateまたは完了ハンドラを介して処理されます。Branch SDKは、リンクがコールドスタートから開かれたのか、既に実行中のアプリから開かれたのかを自動的に判断します。
Androidでは、Branchの統合はbuild.gradleに依存関係を追加し、AndroidManifest.xmlでアプリキーを指定することから始まります。BranchはIntent Filterを使用してディープリンクを受信します。これはビルド時にGradleプラグインを介して自動的に追加されます。SDKはインストール後に紹介データを取得するためのBroadcastReceiverも登録し、正確なソースアトリビューションのためにInstall Referrer APIの自動処理をサポートします。
Google Playからの正確なインストールアトリビューションのために、BranchはInstall Referrer APIを使用します。これは、ユーザーがリンクをクリックしていない場合でもインストールソースに関する情報を提供します。Google Play Servicesのないデバイスでは、紹介用BroadcastReceiverが使用されます。
ディープリンクからの受信データを処理するKotlinを使用したMainActivityでのBranch SDK初期化の例。
class MainActivity : AppCompatActivity() {
override fun onStart() {
super.onStart()
Branch.getInstance()
.initSession { params, error ->
if (error == null) {
val data = params.optString(
"$deeplink_path", ""
)
navigateToScreen(data)
}
}
}
}
initSessionメソッドの完了ハンドラは、ディープリンクパラメータとエラーを含むJSONObjectを返します。$deeplink_pathパラメータにはターゲットパスが含まれ、残りのパラメータはBranchダッシュボードでリンク作成時に定義された任意の形式で渡されます。Activityの再起動時や別のアプリからの遷移時に正しく動作するよう、処理はonStartで行われます。
Branchダッシュボードは、リンククリック、インストール、コンバージョン、収益、リテンションなど、すべての主要指標のビジュアルレポートを提供します。データはリアルタイムで利用可能であり、CSVへのエクスポートやAPIを介した外部分析システムとの統合が可能です。
プラットフォームは、アプリがSDKを介してBranchに送信するカスタムイベントをサポートしています。各イベントには、購入金額、商品カテゴリ、ユーザーレベルなどの任意のメタデータを含めることができます。Branchはイベントをインストールソースに自動的に関連付け、各マーケティングチャネルのROI評価を可能にします。
Branchダッシュボードには、Summary、Sources、Cohorts、Funnelsのいくつかのプリセットレポートが含まれています。Summaryはインストールとクリックの全体像を示し、Sourcesはチャネル別に詳細を表示し、Cohortsは日別のユーザーリテンションを追跡し、Funnelsは指定されたイベントに基づいてコンバージョンファネルを構築します。すべてのレポートは、日付、プラットフォーム、国、広告キャンペーンによるフィルタリングをサポートしています。
より詳細な分析のために、BranchはExport APIを提供しており、クリックとインストールの生データを独自の分析システムにエクスポートできます。APIは時間範囲、イベントタイプ、ソースによるフィルタリングをサポートしています。エクスポートはCSVおよびJSON形式で利用可能で、webhookを介した自動エクスポートのスケジュール設定が可能です。
BranchダッシュボードのSegment Builderを使用すると、任意のイベントと属性のセットに基づいて動的なユーザーセグメントを作成できます。たとえば、特定の広告キャンペーンからアプリをインストールし、7日以内に購入を行ったユーザーのセグメントを作成できます。セグメントはリアルタイムで更新され、APIを介したエクスポートや統合が可能です。Branchは匿名化集計エクスポートもサポートしています。これは、広告ネットワークに送信してターゲティングを最適化するための、セグメントの匿名化されたサマリーです。
よくある質問
Branchは月間イベント数に制限のある無料プランを提供しています。商用利用向けには、拡張されたアトリビューション、無制限のイベント、優先サポートを備えた有料プランが用意されています。料金は月額500ドルから数千ドルまでさまざまです。
主な違いは、Branchがディープリンキングとアトリビューションを1つのSDKに統合しているのに対し、AppsFlyerはアトリビューションのみに焦点を当てていることです。Branchはまた、AppsFlyerにはないDeepviewとJourneysも提供しています。選択はプロジェクトのニーズによって異なります。
はい、BranchはReact Native、Flutter、Unity、Cordova、Xamarin向けのSDKを提供しています。すべてのクロスプラットフォームSDKは、ディープリンキング、アトリビューション、イベント分析、Journeysの完全な機能セットをサポートしています。
BranchはiOS 14+のATTを完全にサポートしています。SDKは標準ダイアログを介してトラッキング許可をリクエストします。ユーザーが拒否した場合、BranchはIDFAなしでのアトリビューションにSKAdNetworkを使用し、キャンペーンレベルでの精度を維持します。
はい、Branchリンクはウェブブラウザで正しく機能します。デスクトップでは、リンクは指定されたURLを開きます。モバイルデバイスでは、アプリまたはフォールバックページを開きます。BranchはSDKをインストールしないウェブサイト向けのQuick Linksもサポートしています。
まとめ
ターンキー方式のモバイルアプリケーションを開発します
IT Sectrは2017年からスタートアップや企業向けにiOS・Androidアプリケーションを開発しています。私たちがご相談に乗り、最適なソリューションをご提案します。