🟡 HubSpot Operations Hub(Data Hub)実践教科書 — 2026年版
Chapter 4

Data Studio
ノーコードでデータを統合・変換する

「HubSpot の CRM データと Snowflake の売上データを合わせて分析したい」「Google Sheets の予算表と商談パイプラインを突き合わせたい」——これまではエンジニアが ETL パイプラインを書くか、CSV を手動でマージするしか方法がなかった。Data Studio はスプレッドシート感覚のノーコード UI で複数データソースのブレンド・変換・計算式の適用・データセットの構築を実現する。本章では Data Studio の全体像・データソース接続・変換とブレンド・AIによる数式提案・ユースケース別のパイプライン設計を解説する。

📖 読了目安 25分
🎯 対象:RevOps・データアナリスト・BIエンジニア・HubSpot 管理者
🔧 必要プラン:Operations Hub Professional 以上

📋 この章の内容

  1. 4-1Data Studio とは何か——ETL ツールとの違いとアーキテクチャ
  2. 4-2データソースの接続——HubSpot CRM・外部 DB・スプレッドシート
  3. 4-3データ変換とブレンドの設計(結合・集計・フィルター)
  4. 4-4AI による数式提案——計算列・条件分類の自動生成
  5. 4-5ユースケース別パイプライン設計——レポート・スコアリング・エンリッチメント
Section 4-1

Data Studio とは何か——ETL ツールとの違いとアーキテクチャ

Data Studio(データスタジオ)は HubSpot Data Hub に2025年追加されたノーコードのデータ統合・変換プラットフォームだ。複数の外部データソース(Snowflake・BigQuery・AWS S3・Google Sheets・CSV ファイル)と HubSpot CRM データをスプレッドシートのような UI で結合・変換し、HubSpot 内で使えるデータセット(Dataset)として公開する機能を持つ。

📊 Data Studio — Revenue Attribution Dataset Pro
データソース
🟡HubSpot CRM
❄️Snowflake
📊Google Sheets
変換
🔗JOIN 設定
⚙️計算列
🔍フィルター
出力
データセット公開
📈レポート連携
Revenue Attribution Dataset — プレビュー(150行)
🟡
HubSpot Deals
CRM Object
LEFT JOIN
❄️
SF Revenue Data
Snowflake Table
+
⚙️
計算列 × 3
AI 生成数式
Deal Name
HS Amount
SF Revenue
Diff %
Status
株式会社ABC 新規導入
¥2,400,000
¥2,400,000
0.0%
✓ 一致
XYZ Corp エンタープライズ
¥8,500,000
¥8,200,000
-3.5%
⚠ 要確認
田中製作所 追加ライセンス
¥1,200,000
¥1,200,000
0.0%
✓ 一致
計算列 [Diff %]
= (SF_REVENUE - HS_AMOUNT) / HS_AMOUNT * 100

ETL ツール・BIツール・Looker との違い

Data Studio
HubSpot Data Studio
HubSpot 内で完結(ツール切替不要)
ノーコード UI でエンジニア不要
CRM データとの結合がネイティブ
HubSpot レポートに直接接続
対応データソースは限定的
複雑な変換ロジックには限界
ETL ツール
Fivetran / dbt / Airbyte
200+ データソースに対応
複雑な変換・大規模データに対応
バージョン管理・CI/CD に対応
エンジニアリング知識が必要
別ツールのコスト・管理が発生
HubSpot データとの結合に追加設定
BIツール
Looker / Tableau / Power BI
高度なビジュアライゼーション
大規模データのリアルタイム分析
ドリルダウン・インタラクティブ分析
HubSpot との双方向連携が困難
高コスト($50〜/ユーザー/月)
変換した値を CRM に書き戻せない
💡 Data Studio が最も光るシナリオ

「HubSpot CRM のデータと、もう1〜2個の外部データソースを結合して、結果を HubSpot のレポートや自動化に使いたい」——このニーズに Data Studio は完璧にはまる。大規模な複雑 ETL が必要な場合は dbt・Fivetran との組み合わせが適切だが、RevOps が日常的に使うデータの統合・確認作業であれば Data Studio で80%はカバーできる

Section 4-2

データソースの接続——HubSpot CRM・外部 DB・スプレッドシート

Data Studio に接続できるデータソースは大きく「HubSpot 内部ソース」と「外部ソース」の2種類に分かれる。外部ソースへの接続には認証設定が必要で、プランによって利用できるソースが異なる。

🟡
HubSpot CRM オブジェクト
内部ソース
コンタクト・会社・取引・チケット・カスタムオブジェクトのすべてのプロパティと関連データに接続できる。リアルタイムで CRM の最新値を参照する。
プラン:Pro〜(全プロパティアクセス)
❄️
Snowflake
外部データウェアハウス
Snowflake のデータベース・スキーマ・テーブルに直接接続。アカウント識別子・ウェアハウス名・ロール・認証情報を設定するだけで全テーブルが Data Studio から参照可能になる。
プラン:Enterprise(フル連携)/ Pro(読み取りのみ)
🔷
BigQuery
外部データウェアハウス
Google Cloud の BigQuery データセット・テーブルに接続。サービスアカウントの JSON キーで認証する。GA4 データや Google Ads データを HubSpot CRM と結合するユースケースで多く使われる。
プラン:Enterprise(フル)/ Pro(読み取り)
🟠
AWS S3
オブジェクトストレージ
S3 バケット内の CSV・Parquet ファイルを Data Studio から直接読み込める。IAM ロールまたはアクセスキーで認証。S3 に定期アップロードされるデータとの結合に使う。
プラン:Professional〜
📊
Google Sheets
スプレッドシート
Google アカウントで認証するだけで任意のシートに接続できる。予算表・担当テリトリーマップ・製品価格表など、CRM 外で管理されているデータとの結合に最も手軽に使える。
プラン:Professional〜
📄
CSV ファイル(アップロード)
ファイルソース
ローカルの CSV をアップロードして一時的なデータソースとして利用できる。定期更新が不要な参照データ(業界ベンチマーク・ICP 分類テーブル等)の統合に便利。最大ファイルサイズ:100MB。
プラン:Professional〜

接続設定のベストプラクティス

接続先推奨認証方式注意事項
Snowflake 専用サービスアカウント + 読み取り専用ロール 本番データベースへの書き込み権限は与えない。Data Studio 専用の read-only ロールを作成する
BigQuery サービスアカウント JSON キー + BigQuery Data Viewer ロール プロジェクトオーナー権限を与えない。クエリコスト管理のため最大スキャン量を設定する
AWS S3 IAM ユーザー(最小権限:s3:GetObject のみ) バケット全体へのアクセスより、特定プレフィックス(フォルダ)へのアクセス制限を推奨
Google Sheets OAuth(Google アカウント認証) 退職者のアカウントで接続していると権限が切れたときにデータ取得できなくなる。共有サービスアカウントで接続する
Section 4-3

データ変換とブレンドの設計(結合・集計・フィルター)

Data Studio の核心は「複数のテーブルを JOIN して、変換して、集計する」パイプラインをノーコードで構築できることだ。UI 上でドラッグ&ドロップで各ステップを並べていくと、裏側では SQL クエリが自動生成される。

🔄 Data Studio の変換パイプライン(5ステップ)
📥
ソース選択
HubSpot CRM オブジェクト・外部DB・シートを選択。複数ソースの組み合わせが可能
🔗
JOIN 設定
結合キー(例:メールアドレス・ID)と JOIN 種類(LEFT / INNER / FULL)を選択
🔍
フィルター
不要な行を除外(例:Lifecycle Stage = Customer のみ・金額 > 0 のみ)
⚙️
変換・計算列
数式・条件分岐・文字列操作で新しい列を追加。AI に提案してもらうことも可能
📤
データセット公開
完成したテーブルをデータセットとして保存。HubSpot レポート・WF から利用可能

JOIN の種類と使い分け

JOIN 種類動作HubSpot での典型的な使い方
LEFT JOIN(推奨デフォルト) 左のテーブルの全行を保持。右テーブルに一致がない行は NULL になる 「すべての HubSpot コンタクト + Snowflake に存在するものは売上データを結合」。コンタクトが消えない
INNER JOIN 両テーブルで一致する行のみ保持 「HubSpot の取引 AND Snowflake の請求レコードの両方に存在する行だけ分析したい」
FULL OUTER JOIN 両テーブルのすべての行を保持。一致しない行は NULL 「HubSpot にはあるが Snowflake にない(請求漏れ)・Snowflake にあるが HubSpot にない(未登録取引)を両方検知したい」
⚠️ JOIN キーの「データ型の不一致」が最多のエラー原因

HubSpot のコンタクト ID(数値型)と Snowflake の customer_id(文字列型)を JOIN しようとすると結合できない。JOIN する前に「計算列」でデータ型を統一する(例:HubSpot ID を文字列に変換 → CAST(contact_id AS VARCHAR))。UI の「計算列を追加」から AI に「この列を文字列に変換して」と依頼するのが最速。

Section 4-4

AI による数式提案——計算列・条件分類の自動生成

Data Studio の大きな差別化機能の一つが「AI に数式を提案してもらう」機能だ。計算列の追加画面で「このデータから ARR を計算したい」「業種と会社規模に基づいてティア分類をしたい」などと自然言語で指示すると、AI が対応する数式を生成してくれる。

🤖 AI 数式提案の実例集
「AIに数式提案を依頼」ボタンから自然言語で指示 → 数式を自動生成
ARR 計算
月次契約額から年間経常収益(ARR)を計算する
= IF(BILLING_CYCLE = "Monthly", AMOUNT * 12, IF(BILLING_CYCLE = "Quarterly", AMOUNT * 4, AMOUNT))
請求サイクル(月次・四半期・年次)に応じて金額を年換算する。BILLING_CYCLE が不明な場合は AMOUNT をそのまま返す安全設計。
顧客ティア分類
ARR と従業員数に基づいて顧客を 3 ティアに分類する
= CASE WHEN ARR >= 5000000 AND NUM_EMPLOYEES >= 100 THEN "Enterprise" WHEN ARR >= 1000000 OR NUM_EMPLOYEES >= 50 THEN "Mid-Market" ELSE "SMB" END
ARR が500万円以上かつ従業員100名以上を Enterprise、ARR 100万円以上または従業員50名以上を Mid-Market、それ以外を SMB に分類する CASE 文。
健全性スコア計算
ログイン頻度・サポートチケット数・利用機能数から顧客健全性スコアを計算
= LEAST(100, (COALESCE(LOGIN_COUNT_30D, 0) * 2) + (COALESCE(FEATURES_USED, 0) * 5) - (COALESCE(OPEN_TICKETS, 0) * 10))
ログイン数×2点 + 使用機能数×5点 - 未解決チケット数×10点でスコア計算。COALESCE で NULL を 0 に変換。LEAST で最大値 100 に制限。
日付差分・チャーン検知
最終ログイン日から今日までの経過日数を計算し、チャーンリスクを判定
= CASE WHEN DATEDIFF('day', LAST_LOGIN_DATE, CURRENT_DATE) > 60 THEN "High Risk" WHEN DATEDIFF('day', LAST_LOGIN_DATE, CURRENT_DATE) > 30 THEN "Medium Risk" ELSE "Healthy" END
最終ログインから60日超はチャーンリスク高、30〜60日は中リスク、30日未満は健全と分類。DATEDIFF で日数を算出。
メールドメイン抽出
メールアドレスから会社ドメインを抽出して、フリーメールを除外する
= CASE WHEN SPLIT_PART(EMAIL, '@', 2) IN ( 'gmail.com','yahoo.co.jp','hotmail.com','outlook.com' ) THEN NULL ELSE SPLIT_PART(EMAIL, '@', 2) END
@ の後ろを抽出し、主要フリーメールドメインの場合は NULL を返す。業務メールドメインだけを会社識別子として使いたい場合に使う。
✅ AI 数式提案を使うときのコツ

「ARR を計算して」より「月次・四半期・年次の3種類の BILLING_CYCLE フィールドがある。それぞれ12倍・4倍・そのままで年換算した ARR 列を作って」のようにフィールド名・条件・期待する出力を具体的に伝えるほど精度が上がる。生成された数式は必ず「プレビュー」で数行のサンプルデータに対して結果を確認してから本番適用すること。

Section 4-5

ユースケース別パイプライン設計——レポート・スコアリング・エンリッチメント

Data Studio の実際の活用パターンは大きく3つに分類できる。それぞれのパイプライン設計を具体的に見ていく。

パターン A:Revenue Attribution レポートの構築

「HubSpot の商談データと Snowflake の実際の請求データを突き合わせて、HubSpot の売上予測と実績のズレを可視化する」というユースケースだ。営業チームが CRM に入力した商談金額と、財務システムが実際に認識した売上を比較することで、見込み精度の問題・未請求案件・二重登録を検知できる

💰 Revenue Attribution パイプライン
HubSpot 商談 × Snowflake 請求データの突き合わせ
1
ソース選択:HubSpot Deals(Closed Won のみ)
HubSpot CRM の取引オブジェクトを選択。フィルター:dealstage = "closedwon"。取得フィールド:dealname, amount, closedate, hubspot_owner_id, associated_company_id
2
JOIN:Snowflake の revenue_recognition テーブル
結合キー:hs_deal_id = sf_deal_id(事前に Salesforce 連携でマッピング済み)。JOIN 種類:FULL OUTER JOIN(どちらか片方にしかないレコードを検知するため)
JOIN snowflake.revenue.recognition ON hs_deals.deal_id = revenue.hs_deal_id
3
計算列を追加:差異額・差異率・ステータスフラグ
AI に「HubSpot の amount と Snowflake の recognized_revenue の差異を計算して、差異率 5% 超を "要確認" フラグにして」と指示
diff_amount = COALESCE(recognized_revenue,0) - COALESCE(amount,0) diff_pct = diff_amount / NULLIF(amount, 0) * 100 status_flag = CASE WHEN ABS(diff_pct) > 5 THEN '要確認' ELSE '正常' END
4
データセットを公開 → HubSpot レポートに接続
「Revenue Reconciliation Dataset」として公開。HubSpot の「カスタムレポート」でこのデータセットを選択し、"要確認" 案件の一覧ビューと、月次差異金額のトレンドグラフを作成する

パターン B:顧客健全性スコアリングデータセット

「HubSpot CRM + 製品利用データ(BigQuery)+ サポートチケット(Zendesk API)を結合して、顧客健全性スコアを計算し、HubSpot のコンタクトプロパティに書き戻す」ユースケースだ。CS チームが毎週 CSV を手動でマージしていた作業が完全自動化できる。

🏥 顧客健全性スコアリングパイプライン
CRM × 製品利用データ × サポートデータの統合スコア計算
1
ソース①:HubSpot Contacts(Customer のみ)
Lifecycle Stage = "customer" でフィルター。取得:contact_id, email, company, contract_start_date, csm_owner_id, plan_type
2
ソース②:BigQuery の product_usage テーブル(LEFT JOIN)
結合キー:email。取得:login_count_30d, features_used_count, last_login_date, session_duration_avg
3
ソース③:S3 の zendesk_tickets_weekly.csv(LEFT JOIN)
Zendesk のデータを週次で S3 にエクスポートしたファイルを参照。結合キー:customer_email。取得:open_ticket_count, avg_response_hours, csat_score_avg
4
計算列:健全性スコア+リスク分類
AI に数式を提案してもらい、100点満点のスコアと High/Medium/Low のリスクティアを計算する
health_score = LEAST(100, (COALESCE(login_count_30d,0)*2) + (COALESCE(features_used_count,0)*5) + (COALESCE(csat_score_avg,3)*8) - (COALESCE(open_ticket_count,0)*10)) risk_tier = CASE WHEN health_score >= 70 THEN 'Green' WHEN health_score >= 40 THEN 'Yellow' ELSE 'Red' END
5
データセット公開 → ワークフローで CRM に書き戻し
週次スケジュール実行でデータセットを更新。HubSpot ワークフロー(第7章)でデータセットの値を読み取り、コンタクトの「health_score」「risk_tier」プロパティを自動更新する
⚡ データセットの更新スケジュールの考え方

Data Studio のデータセットは「手動更新」または「スケジュール更新(最短1時間ごと)」を選択できる。リアルタイム性が必要なダッシュボード用は1〜4時間ごと・月次レポート用は日次・重い変換処理を含むデータセットは週次が目安。スケジュール更新が増えると API クォータを消費するため、本当にリアルタイムが必要なものだけ頻度を上げること。

📌 第4章 まとめ

Data Studio は「CRM ×外部データ結合」専用の最速ルート

ETL ツール(dbt/Fivetran)は柔軟だがエンジニア工数が必要。BI ツール(Tableau/Looker)は可視化が強力だが CRM への書き戻しができない。Data Studio は「HubSpot CRM データと1〜3個の外部ソースを結合して HubSpot 内で活用したい」というニーズにノーコードで対応できる最速の方法。

6種のデータソースを使い分ける

HubSpot CRM(内部)・Snowflake・BigQuery・AWS S3・Google Sheets・CSV の6種が使える。外部接続には専用サービスアカウントと最小権限の認証設定が必須。退職者の個人アカウントで接続しないよう、組織の共有アカウントを使うこと。

JOIN は LEFT JOIN をデフォルトに——型の不一致に注意

ほとんどのユースケースは LEFT JOIN(HubSpot レコードを全保持)が正しい選択。両側に存在するレコードの差分を検知したい場合のみ FULL OUTER JOIN を使う。JOIN キーのデータ型が不一致(数値 vs 文字列)は最多エラー原因——計算列で型変換してから JOIN する。

AI 数式提案はフィールド名・条件・期待値を具体的に伝える

「ARR を計算して」より「BILLING_CYCLE フィールドが Monthly/Quarterly/Annual の3値を持ち、Monthly は12倍、Quarterly は4倍、Annual はそのままで ARR 列を作成して」のように具体的に指示する。生成された数式は必ずプレビューで検証してから本番適用すること。

Revenue Reconciliation で「CRM の数字と財務の数字のズレ」を検知

HubSpot 商談 × Snowflake 請求データの FULL OUTER JOIN で、HubSpot にはあるが請求されていない案件・請求はされているが HubSpot にない案件を自動検知できる。差異率5%超を「要確認」フラグにしてレポート化するだけで、月次の売上照合作業が1時間→5分になる。

更新スケジュールはデータの鮮度要件に合わせて設定する

すべてのデータセットをリアルタイム更新する必要はない。ダッシュボード用は1〜4時間ごと、月次分析用は日次、重い結合処理は週次が目安。頻度を上げすぎると API クォータを消費し、他の処理に影響が出る。「このデータは何時間古くても意思決定に影響ないか」を考えて設定する。

Next Chapter
第5章:Data Agent と Smart Properties——AI がデータを自動生成する →