BrazeとSalesforce 双方向同期 プロファイル拡張とセールスハンドオフの設計
目次 クリックで開く
現代のマーケティング活動において、カスタマーエンゲージメントプラットフォームである「Braze」と、SFA/CRMのデファクトスタンダードである「Salesforce」の連携は、単なるデータ転送以上の意味を持ちます。マーケティングチームがBrazeで高度なパーソナライゼーションを行い、セールスチームがSalesforceで商談を管理する。この両者の間でデータがリアルタイムに循環しなければ、顧客には一貫性のないメッセージが届き、営業は「今、アプローチすべき顧客」を見失うことになります。
本記事では、BrazeとSalesforceの双方向同期におけるアーキテクチャ設計、プロファイル拡張の具体的手法、そしてインサイドセールスへ商機を繋ぐ「セールスハンドオフ」の実装ガイドを、実務担当者の視点で解説します。
BrazeとSalesforceを接続する3つの主要アプローチ
BrazeとSalesforceの連携を検討する際、まずは「どの経路でデータを流すか」を決定する必要があります。主に以下の3つの手法が存在します。
1. Braze Salesforce Integration (AppExchangeアプリ)
もっとも標準的な手法は、SalesforceのAppExchangeで提供されている公式アプリを利用することです。これにより、Salesforceの「リード」「取引先責任者」の変更をトリガーに、Brazeのユーザープロフィールを更新できます。
- メリット: コードを書かずにGUIベースでマッピングが可能。
- デメリット: 標準オブジェクト以外の連携にはカスタマイズが必要になるケースがある。
2. Braze Cloud Data Ingestion (CDI)
SnowflakeやBigQuery、Amazon Redshiftなどのデータウェアハウス(DWH)を介してSalesforceのデータをBrazeに流し込む手法です。Salesforceのデータを一度DWHに集約している企業にとって、もっとも整合性が保ちやすい経路です。
詳細なデータ基盤の構築については、高額なCDPは不要?BigQuery・dbt・リバースETLで構築するデータ基盤の考え方が参考になります。
3. Braze Canvas × Webhook / API
Braze内での特定のイベント(例:特定のキャンペーンに反応した、資料をダウンロードした)をトリガーとして、Salesforce側のレコードを直接更新したり、タスクを作成したりする手法です。リアルタイム性が求められる「セールスハンドオフ」において非常に強力です。
プロファイル拡張:BrazeにSalesforceのコンテキストを注入する
Braze単体では「アプリの起動」や「メールのクリック」といった行動データが中心になります。ここにSalesforceが持つ「企業規模」「BANT条件」「商談フェーズ」「担当営業名」といったB2B的な属性情報を同期させることで、Brazeのセグメンテーション精度は飛躍的に向上します。
キーとなるIDの設計
双方向同期の絶対条件は、両システム間で共通のキー(名寄せキー)を持つことです。一般的には以下のいずれかを採用します。
- Salesforce Lead/Contact ID: Salesforceをマスターとする場合、この18桁のIDをBrazeの
external_idにセットします。 - メールアドレス: 簡易的ですが、重複リスクがあるため推奨されません。
- 独自顧客ID: 自社システムで発行しているIDを両方に持たせるのがもっとも堅牢です。
ID連携の実践的な実装については、WebトラッキングとID連携の実践ガイドを併せてご確認ください。
セールスハンドオフ:BrazeからSalesforceへ「勝ち筋」を渡す設計
「セールスハンドオフ」とは、マーケティング側で温まった見込み客を、最適なタイミングで営業側へ引き渡すプロセスです。BrazeのCanvas機能を使うと、このプロセスを完全に自動化できます。
実装例:重要アクション検知時のタスク作成
- トリガー: ユーザーがBraze経由で送られた「価格シミュレーション」ページを閲覧。
- フィルタ: Salesforceから同期された属性「商談状況」が「未着手」または「失注」であること。
- アクション: BrazeのWebhookを利用し、SalesforceのREST APIを叩いて、担当営業に「即時フォロー」のタスクを作成する。
Salesforce API エンドポイント例:
POST /services/data/v58.0/sobjects/Task/JSONに
Subject,WhoId,Descriptionなどを格納して送信します。
【比較表】データ連携手法別のメリット・デメリット
プロジェクトの要件に応じて、最適な手法を選択してください。
| 手法 | 主な用途 | リアルタイム性 | 実装難易度 |
|---|---|---|---|
| AppExchange公式アプリ | 標準オブジェクトの基本属性同期 | 中(数分〜) | 低(GUI設定) |
| Cloud Data Ingestion (CDI) | 大量の購買履歴や関連オブジェクト同期 | 低(バッチ実行) | 中(SQL/DWH知識) |
| Braze Webhook × SF API | セールスハンドオフ(タスク作成等) | 高(即時) | 高(API連携開発) |
実務的な設定ステップとエラー回避策
ここでは、BrazeからSalesforceへデータを書き戻す「Webhook」パターンの設定ステップを解説します。事前にSalesforce側での「接続アプリ」作成が必要です。
ステップ1:Salesforceでの接続アプリ(Connected App)作成
- Salesforceの設定から「アプリケーションマネージャ」を開き、[新規接続アプリ]をクリック。
- OAuth設定を有効にし、適切なスコープ(
api,refresh_token)を付与。 - 「コンシューマ鍵」と「コンシューマの秘密」を控える。
ステップ2:BrazeでのWebhook設定
- Brazeのダッシュボードで新しいWebhookキャンペーンまたはCanvasステップを作成。
- 認証ヘッダーにSalesforceのアクセストークンをセット(多くの場合、事前にトークン取得用の仕組みやConnected ContentでのOAuth処理が必要)。
- HTTPメソッドを
PATCHまたはPOSTに設定し、SalesforceのオブジェクトURLを指定。
よくあるエラーと対処法
- 401 Unauthorized: アクセストークンの有効期限切れ。リフレッシュトークンフローを組み込むか、BrazeのCredential Management機能(利用可能な場合)を確認してください。
- 429 Too Many Requests: SalesforceのAPI制限超過。Braze側の「Rate Limiting」機能で、1分あたりのリクエスト数を制限してください。
- ENTITY_IS_DELETED: Salesforce側でレコードが削除されている。Webhook送信前に、Braze側でレコード存在フラグをチェックするロジックが必要です。
システム間の責務分解については、SFA・CRM・MA・Webの違いと全体設計図の考え方を適用することで、どこでデータを正規化すべきかが明確になります。
運用上の注意点とデータガバナンス
双方向同期を運用する上で最大の敵は「循環参照」と「API消費」です。
循環参照の防止
Salesforceの更新をトリガーにBrazeを更新し、そのBrazeの更新をトリガーにまたSalesforceを更新する……という無限ループに陥らないよう注意が必要です。更新トリガーに「更新者がシステム連携ユーザー(API User)でない場合のみ実行」という条件をSalesforceのFlowやApex側に加えるのが定石です。また、Braze側でも update_existing_only フラグを活用し、不要な新規ユーザー作成を防ぎましょう。
APIコール数の管理
SalesforceのAPI制限は厳格です。1ユーザーのアクションごとに1 APIを消費する設計は、大規模なB2Cサービスでは破綻します。重要なイベントのみをWebhookで飛ばし、属性情報(会社名など)の同期はCDIによるバッチ処理に寄せるなど、ハイブリッドな設計を推奨します。
料金やAPI仕様の詳細については、以下の公式ドキュメントを参照してください。
まとめ:データ分断を解消し、顧客体験を最大化するために
BrazeとSalesforceの双方向同期は、単なる技術的な「繋ぎ込み」ではありません。マーケティングが捉えた「顧客の熱量」を、営業が「商談の武器」として活用できる環境を整える、ビジネスプロセスの再構築です。
プロファイル拡張によってBrazeを「より賢い配信エンジン」へ、セールスハンドオフによってSalesforceを「より稼げる武器」へと進化させることが、CRM戦略の成功を左右します。まずは自社のデータ量とリアルタイム性の要求度を天秤にかけ、最適な連携手法から着手してください。
実務で差が出る「Salesforce連携」の前提知識とチェックリスト
BrazeとSalesforceの連携を成功させるには、Salesforce特有のデータ構造(リードと取引先責任者の分離)を考慮した設計が不可欠です。実装前に以下のチェックリストで、自社の設計が運用に耐えうるか確認してください。
連携設計のセルフチェックリスト
- リード変換(コンバージョン)への対応: リードが「取引先責任者」に変換された際、Braze側の
external_idを新しいIDへシームレスに引き継ぐ、あるいは紐付けを維持するロジックがあるか。 - 所有者(Owner)情報の同期: セールスハンドオフを行う際、Salesforce上の「レコード所有者」の氏名やメールアドレスをBrazeに持たせているか(Brazeから送るメールの送信元を、担当営業名にするために必須です)。
- Sandboxでの検証環境: Salesforce SandboxとBrazeのテスト用App Groupを接続し、API消費量やトリガーの挙動を事前にテストできる環境が整っているか。
【比較】Salesforce APIの種類とBraze連携での使い分け
Brazeからの書き戻し(Webhook)を設計する際、利用するAPIによって制限や挙動が異なります。
| API名 | 特徴 | Braze連携での用途 |
|---|---|---|
| REST API | 標準的で軽量。JSON形式。 | 個別のタスク作成、プロパティ更新(即時) |
| Bulk API 2.0 | 大量データの処理に特化。 | 夜間の属性一括同期、DWH経由の更新 |
| Composite Resources | 1回のコールで複数レコード操作が可能。 | API制限を節約したい高度な連携 |
公式ドキュメント・リソース一覧
実装にあたっては、常に最新の公式制限値を確認してください。特にSalesforceのEditionによってAPIの総発行枠が異なる点は要確認です。
さらなるデータ活用を目指す方へ
SalesforceとBrazeの「どちらにどのデータを持たせるべきか」という責務分解で迷った場合は、SFA・CRM・MA・Webの違いを解説したデータ連携の全体設計図を参考にしてください。ツールの機能を詰め込みすぎず、データパイプラインを疎結合に保つことが、長期的な保守コストを抑える鍵となります。
また、Salesforceのライセンスコストや運用負荷が課題となっている場合は、SaaSコストと負債を断つバックオフィス設計の視点から、データの持ち方を見直すことも有効です。
ご相談・お問い合わせ
本記事の内容を自社の状況に当てはめたい場合や、導入・運用の設計を一緒に整理したい場合は、当社までお気軽にご相談ください。担当より折り返しご連絡いたします。