「HubSpotのCRMデータを社内の分析基盤で横断的に分析したい」「HubSpotのレポート機能だけでは、他システムのデータとの突合ができない」「データサイエンスチームがBigQueryを使っているが、CRMデータが入っていない」——こうした課題は、データドリブン経営を推進する企業からよくいただくご相談です。
HubSpot × BigQuery連携とは、HubSpotのCRMデータ(コンタクト・会社・取引・アクティビティ等)をGoogle BigQueryに同期し、社内の他データソースと統合した高度な分析を実現する連携設計です。
この記事では、HubSpotとBigQueryを連携する具体的な方法、データモデルの設計、実践的な分析ユースケースを解説します。
HubSpotには標準のレポート機能がありますが、以下のような状況になると、外部のDWH(データウェアハウス)への連携が必要になってきます。
| 課題 | BigQuery連携で解決できること |
|---|---|
| HubSpotのレポート上限(Pro: 100件)に到達 | BigQuery上でレポート数制限なし |
| 他システム(会計・広告・自社DB)との突合が必要 | BigQueryで全データソースを統合分析 |
| 高度な統計分析・機械学習を適用したい | BigQueryのML機能を活用 |
| 大量データの集計パフォーマンスが必要 | BigQueryの超高速クエリ |
| 長期間のデータ保持・履歴分析が必要 | BigQueryに蓄積して永続保存 |
まず既存のHubSpotレポートで足りるケースも結構あるので、本当にDWH連携が必要かは一度検討してください。実は新しく作らなくてもすでにあるレポートで足りるケースがあります。ただし、他システムのデータとの突合が必要な場合は、DWH連携が必然的に必要です。
HubSpotのData Hubには、外部システムとの双方向データ同期機能があります。BigQueryとの直接連携はネイティブではサポートされていませんが、中間にデータ連携ツールを挟むことで対応可能です。
| ツール | 特徴 | コスト感 |
|---|---|---|
| Fivetran | HubSpotコネクタ内蔵、スキーマ自動生成 | 有料(データ量連動) |
| Airbyte | オープンソース版あり、セルフホスト可 | 無料〜(セルフホスト) |
| Stitch | Talend傘下、シンプルなUIで設定しやすい | 有料 |
| Trocco | 日本製ETL、日本語サポートあり | 有料 |
ETLツールを使うと、HubSpot APIからデータを抽出し、BigQueryにロードするプロセスを自動化・スケジュール実行できます。差分更新にも対応しているので、API呼び出し回数の節約にもなります。
HubSpot APIを直接叩いてデータを取得し、BigQueryにロードするカスタムスクリプトを自前で構築する方法です。
HubSpot API(REST API v3)
→ Cloud Functions / Cloud Run でデータ取得
→ BigQuery にロード
→ Cloud Scheduler で定期実行
自由度は最も高いですが、開発・保守コストがかかります。エンジニアリソースがある企業向けの選択肢です。
| HubSpotオブジェクト | BigQueryテーブル | 主要カラム |
|---|---|---|
| コンタクト | contacts | email, lifecycle_stage, lead_score, create_date |
| 会社 | companies | name, industry, employee_count, revenue |
| 取引 | deals | deal_name, amount, stage, close_date, pipeline |
| アクティビティ | activities | type, timestamp, contact_id, deal_id |
| フォーム送信 | form_submissions | form_id, contact_id, submit_date |
| メール配信 | email_events | email_id, contact_id, event_type, timestamp |
| ページビュー | page_views | contact_id, page_url, timestamp |
HubSpotのリレーション(コンタクト↔会社↔取引)をBigQuery上でも再現するために、関連付けテーブルを用意します。
-- コンタクトと会社の関連付け
SELECT c.contact_id, c.email, co.company_name, co.industry
FROM contacts c
JOIN contact_company_associations cca ON c.contact_id = cca.contact_id
JOIN companies co ON cca.company_id = co.company_id
広告データ(Google Ads、Facebook Ads)とHubSpotのコンバージョンデータを突合して、チャネル別のROIを精緻に算出します。
SELECT
attribution_source,
COUNT(DISTINCT contact_id) as leads,
COUNT(DISTINCT deal_id) as deals,
SUM(deal_amount) as revenue,
SUM(ad_spend) as cost,
SAFE_DIVIDE(SUM(deal_amount), SUM(ad_spend)) as roas
FROM marketing_attribution_view
GROUP BY attribution_source
HubSpotのレポートだけでは広告コストとの突合が難しい場合でも、BigQueryなら全データソースを統合して分析できます。
過去の顧客データから、BigQuery MLを使ってLTV(顧客生涯価値)の予測モデルを構築します。
利用データ(ログインデータ等を別途同期)とCRMデータを組み合わせて、チャーンリスクのスコアリングモデルを構築します。
パイプラインのステージ滞留時間や、営業担当別の受注率を詳細に分析します。HubSpotのレポートでは100件の上限がありますが、BigQueryなら制限なく分析可能です。
HubSpotのAPIにはレート制限があります。
| プラン | API制限 |
|---|---|
| Professional | 150リクエスト/10秒 |
| Enterprise | 200リクエスト/10秒 |
差分更新を基本にし、初回のフルリフレッシュ以降は更新日時ベースの増分取得を推奨します。
CRMの値が入っていないプロパティが多いと、BigQuery上の分析も精度が落ちます。やっぱりCRMの値がなかなか入ってなくてデータ資産化してないという企業さんも多いので、まずはHubSpot側のデータ品質を高めることが前提です。
HubSpot × BigQuery連携は、CRMデータを社内の分析基盤に統合し、HubSpotのレポート機能だけでは実現できない高度な分析を可能にする設計です。
まずは同期すべきデータの範囲と更新頻度を決め、ETLツール経由の連携から始めるのがおすすめです。BigQuery上での分析が軌道に乗ったら、他データソース(広告、会計、自社DB等)との統合分析に拡張していきましょう。
ただし、BigQuery連携が本当に必要かは慎重に判断してください。HubSpotの標準レポートとカスタムレポートで十分な場合も多いので、まずはそこで足りない部分を明確にしてから連携を検討するのが正解です。
「HubSpotのデータをBigQueryに連携したい」「CRMデータを活用した高度な分析基盤を構築したい」——そんなお悩みをお持ちでしたら、ぜひ一度ご相談ください。
API経由でのデータ取得はStarterプラン以上で可能ですが、APIレート制限やカスタムオブジェクトの取得が必要な場合はProfessional以上を推奨します。データの量や更新頻度によって最適なプランが変わります。
HubSpotのWebhookを使えばニアリアルタイムの同期が可能ですが、一般的にはバッチ処理(1時間〜1日ごと)で十分なケースが多いです。マーケティングレポートであれば日次更新で問題ありません。
BigQueryはストレージとクエリの従量課金です。HubSpotのデータ量(コンタクト数万〜数十万件規模)であれば、月額数千円〜数万円程度に収まることが多いです。最初の1TBのクエリは毎月無料です。
BigQueryに同期したデータをLooker Studio(旧Data Studio)で可視化するのは非常に一般的なパターンです。HubSpotの標準ダッシュボードよりも柔軟なビジュアライゼーションが可能になります。