「HubSpotのCRMデータを全社的なデータプラットフォームに統合したい」「Snowflakeをデータ基盤として採用しているが、CRMのデータが連携されていない」「マーケ・営業・CSの横断分析を、HubSpotの標準レポートでは実現しきれない」——データ基盤にSnowflakeを採用している企業からは、こうした課題をよくお聞きします。
HubSpot × Snowflake連携とは、HubSpotのCRMデータをSnowflakeのクラウドDWH(データウェアハウス)に同期し、全社のデータプラットフォームの一部としてCRMデータを高度に分析・活用する連携設計です。HubSpotはSnowflakeとのネイティブ連携機能(Data Share)も提供しており、技術的にも親和性が高い組み合わせです。
この記事では、HubSpotとSnowflakeの連携方法、活用パターン、設計上の注意点を解説します。
Snowflakeをデータ基盤として採用している企業が増えています。HubSpotのCRMデータをSnowflakeに統合することで、CRMデータを「全社のデータ資産」として活用できるようになります。
| 連携のメリット | 詳細 |
|---|---|
| 全社データの統合 | 会計・広告・自社DB・CRMを一つのプラットフォームで分析 |
| レポート制限の解消 | HubSpotのレポート上限(Pro: 100件)を超えた分析が可能 |
| 高度な分析 | Snowpark(Python/Scala)でML/AI分析を実行 |
| データの長期保存 | CRMデータの履歴を永続的に保持 |
| セキュリティ | Snowflakeの堅牢なアクセス制御でCRMデータを保護 |
HubSpotのレポート機能で十分対応できる範囲であれば、わざわざDWH連携をする必要はありません。まず土台はすでにあるもので作りつつ、カスタマイズしていただくという形がいいんじゃないかなと思っています。ただし、全社横断のデータ分析が必要になった段階では、Snowflake連携が有力な選択肢です。
HubSpotのEnterprise プランでは、Snowflakeへの直接データ共有機能(Data Share)が利用可能です。
メリット:
デメリット:
| ツール | 特徴 |
|---|---|
| Fivetran | HubSpotとSnowflakeの両方にネイティブコネクタ。最も導入実績が多い |
| Airbyte | オープンソース版あり。コスト重視の場合に有力 |
| dbt + ETL | ETLでロード後、dbtで変換。データモデリングの柔軟性が高い |
| Trocco | 日本製ETL。日本語サポートあり |
ETLツール経由の場合、データの変換(Transform)をSnowflake上で行う「ELT」パターンが一般的です。dbt(data build tool)と組み合わせることで、CRMデータの加工・集計をコードで管理できます。
HubSpot APIを直接叩いて、Snowflakeにロードするカスタムパイプラインを構築する方法です。Snowflakeの外部関数やSnowpipeを使って、ほぼリアルタイムの同期も実現可能ですが、開発・保守コストは高くなります。
HUBSPOT_RAW(ロー層)
├── contacts -- コンタクト生データ
├── companies -- 会社生データ
├── deals -- 取引生データ
├── activities -- アクティビティ生データ
└── associations -- 関連付けデータ
HUBSPOT_STAGING(ステージング層)
├── stg_contacts -- クレンジング・型変換済み
├── stg_companies -- クレンジング・型変換済み
├── stg_deals -- クレンジング・型変換済み
└── stg_activities -- クレンジング・型変換済み
HUBSPOT_MART(分析用マート層)
├── dim_contacts -- コンタクトディメンション
├── dim_companies -- 会社ディメンション
├── fct_deals -- 取引ファクト
├── fct_activities -- アクティビティファクト
└── rpt_funnel -- ファネルレポート
3層(Raw→Staging→Mart)に分けることで、データの品質管理と再利用性を確保します。
| HubSpotオブジェクト | 同期頻度 | 用途 |
|---|---|---|
| コンタクト | 日次 | 顧客分析、セグメンテーション |
| 会社 | 日次 | 企業分析、業界分析 |
| 取引 | 日次 | パイプライン分析、受注分析 |
| アクティビティ | 日次 | エンゲージメント分析 |
| フォーム送信 | 日次 | コンバージョン分析 |
| メールイベント | 日次 | メールマーケ分析 |
| ページビュー | 週次 | 行動分析(データ量が大きいため) |
マーケティング施策(広告・コンテンツ・イベント)の投資対効果を、CRMの受注データと突合して精緻に分析します。
-- 施策別の受注貢献分析
SELECT
marketing_channel,
COUNT(DISTINCT contact_id) AS leads,
COUNT(DISTINCT CASE WHEN lifecycle_stage = 'customer' THEN contact_id END) AS customers,
SUM(deal_amount) AS total_revenue,
ROUND(SUM(deal_amount) / NULLIF(SUM(marketing_cost), 0), 2) AS roas
FROM hubspot_mart.rpt_channel_attribution
GROUP BY marketing_channel
ORDER BY total_revenue DESC;
CRMデータと行動データを組み合わせた高度な顧客セグメンテーションを実行します。
| セグメント | 条件 | アクション |
|---|---|---|
| ハイバリュー×高エンゲージメント | LTV上位20% × 月間アクティビティ10回以上 | VIP対応・アップセル提案 |
| ハイバリュー×低エンゲージメント | LTV上位20% × 月間アクティビティ2回未満 | チャーン防止のCS介入 |
| ローバリュー×高エンゲージメント | LTV下位50% × 月間アクティビティ10回以上 | アップセル候補 |
パイプラインの各ステージ滞留時間、コンバージョン率、営業担当別のパフォーマンスを詳細に分析します。HubSpotのレポートでは100件の上限がありますが、Snowflake上では制限なく自由に分析できます。
SnowparkのPython UDFを活用して、受注予測やチャーン予測のMLモデルを構築・運用します。CRMデータ、行動データ、外部データを統合した予測が可能になります。
CRMの値がなかなか入ってなくてデータ資産化してないという企業さんも多いです。Snowflake連携の前に、まずHubSpot側のデータ品質を向上させることが前提条件です。
HubSpot × Snowflake連携は、CRMデータを全社のデータプラットフォームに統合し、HubSpotの標準レポートでは実現できない高度な横断分析を可能にする設計です。
まずはHubSpotのData Share(ネイティブ連携)やETLツールで基本的なデータ同期を構築し、Snowflake上でのレポーティングから始めるのがおすすめです。データモデルが整ったら、予測分析や高度なセグメンテーションに拡張していきましょう。
ただし、HubSpotの標準レポートで十分な場合はDWH連携は不要です。全社横断のデータ分析が必要になった段階で検討していただければなと思います。
「HubSpotとSnowflakeの連携を検討している」「CRMデータを活用した全社データ基盤を構築したい」——そんなお悩みをお持ちでしたら、ぜひ一度ご相談ください。
HubSpot Data ShareはEnterpriseプランの機能です。Data Hub(旧Operations Hub)のProfessional以上でデータ同期機能が使えますが、Snowflakeへのネイティブ共有はEnterprise限定です。ETLツール経由の連携であれば、Starterプラン以上のAPIアクセスで対応可能です。
社内でGCPを使っている場合はBigQuery、AWSやAzure中心の場合はSnowflakeが自然な選択です。Snowflakeはマルチクラウド対応なので、クラウド環境に依存しない柔軟性があります。技術的な優劣よりも、社内の既存インフラとの親和性で判断するのがおすすめです。
Snowflakeの利用料(ストレージ + コンピュート)に加え、ETLツールの利用料がかかります。HubSpotのデータ量(数万〜数十万レコード)であれば、Snowflakeのコストは月額数千円〜数万円程度です。ETLツールは月額1万〜10万円程度(ツールとデータ量による)が目安です。
Reverse ETL(Census、Hightouch等)を使えば、Snowflake上で加工したデータをHubSpotに書き戻すことも可能です。例えば、Snowflakeで算出したスコアリングやセグメント情報をHubSpotのコンタクトプロパティに反映する、といった活用ができます。
データ変換のロジックをコードで管理・バージョン管理したい場合、dbtは非常に有効です。HubSpotのデータをクレンジング・加工するモデルをdbtで構築し、Snowflake上で自動実行するパターンは、データエンジニアリングのベストプラクティスとして広く採用されています。