Branchは、主要ブランド向けのリンクインフラストラクチャで、モバイル広告キャンペーンのシームレスなトラッキングを可能にします。webhookを通じてBranchのモバイルイベントをTreasure Dataと統合することで、モバイルデータを直接Treasure Dataに取り込み、包括的な分析を行うことができます。この連携により、すべての関連するモバイルイベントがTreasure Dataにキャプチャされ、保存されることが保証されます。
BranchはAndroidおよびiOS SDKを通じたイベントトラッキングをサポートしており、以下のイベントタイプを自動的に収集します:
- Click
- Open
- Install
- Reinstall
- Impression
- Custom Events
- Content Events
- Lifecycle Events
- Subscription and In-App Purchase Events
これらのイベントは、BranchのWebhook機能とTreasure Data Ingest APIを使用してTreasure Dataに転送でき、Treasure Data CDP内でモバイルデータの価値を最大化することができます。
イベントの詳細については、Branch Event Documentationを参照してください。
イベントの包括的なリスト、フィールド定義、データ型、およびイベントタイプ別のフィールド可用性については、Branch Event Ontologyを参照してください。
Branch ConsoleでWebhook設定を行うには、以下の手順に従ってイベントがTreasure Dataにリアルタイムで転送されるようにします:
Treasure Dataでは、データインポート時の認証にWrite-Only API Keyが必要です。このキーを生成するには:
- Treasure Data ConsoleでMy Profileに移動します。
- API Keyタブを選択します。
- Write-Only API Keyを生成します。詳細については、Generating API Keysを参照してください。
BranchはTreasure Dataとのネイティブ連携をサポートしており、IMPRESSION、CLICK、OPEN、INSTALL、REINSTALL、USER_LIFECYCLE_EVENT、CONTENT_EVENT、COMMERCE_EVENT、CUSTOM_EVENTなどのイベントがBranchのWebhookとTreasure Data Postback APIを通じて直接送信されます。
- 設定するには、Branch ConsoleのData Feeds > Data Integration > Treasure Dataに移動します。
- Treasure Data Write-Only API Keyと宛先データベースを入力します。
このアプローチは現在、US地域のみでサポートされています。
アプローチ1でカバーされていないイベント(例: ADD_TO_CARTイベント、またはTreasure DataインスタンスがEU01地域やその他の地域にある場合)については、カスタムWebhookを設定する必要があります。この連携により、パートナー連携と同じデータを収集できます。
WEBHOOK URLメニューでは、イベントの送信先URLを入力できます。このURLはFree Form Editオプションで記述できます。
- Webhook URLフィールドを使用して、BranchイベントをどこにDELIVERするかを指定します。Free Form Editオプションでカスタマイズします。
- Webhook URLフィールドを使用して、Branchイベントの送信先を指定します。Free Form Editオプションでカスタマイズできます。
- 適切なTreasure Dataリージョンのingestエンドポイントを選択してください:
- USリージョン: https://in.treasuredata.com/postback/v3/event/<database_name>/<table_name>
- EU01リージョン: https://eu01.in.treasuredata.com/postback/v3/event/<database_name>/<table_name>
- Tokyoリージョン: https://tokyo.in.treasuredata.com/postback/v3/event/<database_name>/<table_name>
- Koreaリージョン: https://ap02.in.treasuredata.com/postback/v3/event/<database_name>/<table_name>
- AP03リージョン: https://ap03.in.treasuredata.com/postback/v3/event/<database_name>/<table_name>
- *<database_name>と<table_name>*を、Treasure Data内で使用するデータベース名とテーブル名に置き換えてください。
詳細については、Treasure Data Postback APIドキュメントを参照してください。
すべてのトリガーイベントにPOSTメソッドを使用します。
HEADERSセクションには、次のパラメータを含めてください:
| Key | Value |
|---|---|
| Content-Type | application/json |
| X-TD-Write-Key | Your WRITE APIKEY |
Treasure DataはJSON形式のデータを期待します。必要に応じて、カスタムデータ構文にBranchのマクロ機能を使用することもできます。本番稼働前にイベントの取り込みをテストすることを推奨します。
データ取り込みを検証するには(例: iOS):
- BranchはiOSサンプルコードを提供しています。このサンプルコードをテストAPIキーと共に使用して、実機またはシミュレートされたiPhoneデバイスからイベントを送信できます。
- 送信されたイベントについて、Treasure DataのRecent Recordsセクションを確認してください。データは通常3〜5分以内に表示されます。
- Treasure Dataでクエリを作成してイベントを検証します。
Q. テーブルの「time」カラムとは何ですか? A. Treasure Dataは、受信イベントにtimeフィールドが含まれていない場合、UNIXタイムスタンプを自動的に追加します。このタイムスタンプは、Treasure Dataサーバーがイベントリクエストを受信した時刻を表します。
Q. Treasure DataとBranch間でユーザーをどのように紐付けできますか? A. Treasure Dataでは、Branchのユーザートラッキングフィーチャーを使用して、CRM ID、メールアドレス、またはその他の識別子を含めることを推奨しています。これにより、Treasure DataとBranch間で統合されたID解決が可能になります。詳細については、Branchユーザートラッキングドキュメントを参照してください。
Q. WebhookのためにIPホワイトリストを設定する必要がありますか? A. いいえ、Treasure DataのPostbackエンドポイントにはIPホワイトリストは必要ありません。
Q. カラム内のJSONフィールドをどのように解析できますか? A. Trinoを使用して、次のクエリ例でJSONデータを抽出できます:
SELECT
JSON_EXTRACT_SCALAR(JSON_PARSE(event_data), '$.currency') AS currency
FROM
add_cart_live;