Marketoは多くのマーケティング部門で利用されているMAツールであり、リード管理やキャンペーン効果測定において欠かせない存在となっています。さまざまなマーケティング活動の結果を記録するアクティビティログ機能が備わっていますが、膨大な量のログデータを詳細に分析したい場合や、他システムのデータと組み合わせた統合的な分析を行いたい場合には、標準の分析機能だけでは限界があります。
そこで効果的なのが、MarketoのデータをDWH(データウェアハウス)へ統合し、BIツールで可視化・分析する方法です。その際、MarketoとDWHのデータを効率的に連携させるのがETLツールです。
本記事では、ETLツール「TROCCO」を用いてMarketoのアクティビティログをBigQueryへ転送し、Looker Studioで可視化する方法について解説します。併せて、注意点や実際の事例についてもご紹介します。
今回の実装で利用するコネクタ・サービス
今回の実装でコネクタとして利用するサービスについて、それぞれの概要を紹介します。
Marketoとは
Marketoとは、Adobe社が提供するMAツールです。Marketoを導入することで、マーケティング活動を効率化したり、顧客エンゲージメントを向上させたりできます。to B/to Cや業界を問わず、幅広い企業で活用されており、すでに全世界で5,000社以上が導入しています。
Marketoは、全10個のアプリケーションによる豊富な機能提供が特徴です。MA機能はもちろん、ABM(アカウントベースドマーケティング)やマーケティングアナリティクスなどの機能も提供されており、マーケティングや営業、インサイドセールスまでもカバー可能です。
BigQueryとは
BigQueryとは、Google Cloud Platformが提供するフルマネージド型のデータウェアハウスサービスです。BigQueryの導入により、大規模なデータの高速な分析や、データの一元管理ができるようになります。業界・企業規模を問わず幅広い企業で活用されており、世界中の数万社が導入しています。
BigQueryは、サーバーレスアーキテクチャによる柔軟なスケーラビリティが特徴です。従来のデータウェアハウスとは異なり、インフラ管理が不要で、使用した分だけ支払うペイアズユーゴーモデルを採用しています。また、優れた処理性能も大きな特徴です。ペタバイト級のデータでも数秒〜数分で集計クエリが完了するため、リアルタイムに近い分析が可能になります。
Looker Studioとは
Looker Studioとは、Google社が提供する無料のデータ可視化ツールです。Looker Studioを導入することで、複数のデータソースを統合したダッシュボード作成や、レポートの共有などが可能になります。マーケティング部門からデータ分析チームまで、あらゆる規模の組織で活用されており、数百万ものユーザーに利用されています。
Looker Studioは、ドラッグ&ドロップで直感的に操作できる高いユーザビリティ性が特徴です。Google Analytics、Google広告、BigQuery、SpreadSheetなど200以上のデータソースに接続でき、それらのデータを組み合わせた分析が可能です。レポートは動的に更新されるため、常に最新データを確認できます。
MarketoとBigQueryと連携するメリット
Marketoの標準機能だけでは抽出できない情報を抽出できる
MarketoとBigQueryを連携させることで、Marketoの標準レポート機能では実現できない複雑な分析が可能になります。
Marketoから抽出した生データをBigQueryに取り込むことで、カスタムSQLクエリを使用した高度なセグメンテーションや時系列分析を実行できます。たとえば、複数のタッチポイントにまたがる顧客行動パターンの抽出や、リードスコアの変動と購買行動の相関分析などが可能です。
さらに、BigQuery MLを用いることで、顧客行動を予測するモデルを短時間で構築できます。顧客のエンゲージメントデータや属性情報を学習させれば、コンバージョン確度が高いリードや解約リスクが高い顧客を的確に抽出できるようになるでしょう。
BigQuery では非構造化データも扱えるため、外部データと組み合わせた分析や、数年分の履歴データを活用した長期的なトレンド分析も実現可能です。これによりマーケティング ROIを大幅に向上させられます。
Marketoの顧客情報をその他サービスと統合・連携できる
MarketoのデータをBigQueryに連携することで、BigQuery上でCRMやSFAなど、さまざまなデータソースとデータを統合できます。これにより、マーケティングだけでなく、営業活動やカスタマーサクセスまでをカバーした統合的な顧客理解が可能になります。
たとえば、MarketoのエンゲージメントデータとSalesforceの商談データ、サポートチケットの履歴を組み合わせることで、顧客のライフサイクル全体を通じたコミュニケーション戦略を立案可能です。
さらに、BigQueryを中心としたデータ連携により、Google AnalyticsやGoogle広告などのマーケティングツールとMarketoデータを簡単に連携できます。結果としてデータのサイロ化が解消され、組織全体でリードからリピーターまでの一貫した顧客体験設計を構築できるようになります。
データ連携の具体的な手順
今回のデータ連携の大まかな流れは以下の通りです。
- MarketoのアクティビティログをBigQueryへ出力
- BigQuery上で分析テーブルを作成
- 作成した分析テーブルとLooker Studioを連携
- Looker Studioにてデータを可視化
ここからは、具体的な実装の手順を8ステップで解説します。
STEP 1:TROCCO上で接続情報を作成する
STEP 1-1:Marketoの接続情報作成について
まず、Marketoの管理者アカウントにログインします。その後、クライアントIDやクライアントシークレットなどのAPIの認証情報を取得します。
上記の作業が終わったら、次はTROCCOでの操作です。
TROCCOにログインし、トップページから「接続情報」を選択し、「新規作成」ボタンをクリックします。サービス検索の機能を利用し、「Adobe Marketo Engage」を選択します。
以下の必要情報を入力します。
- 名前:識別しやすい名前を設定します。(例:「Marketo-マーケティング部門」)
- メモ:用途などの補足情報を記載しておきます。
- Marketoの認証情報:事前に取得したAPI情報を入力します。
必要情報の入力が完了したら、「接続を確認」ボタンをクリックし、接続テストを実行します。接続テストが成功したら「保存」ボタンをクリックします。
STEP 1-2:BigQueryの接続情報作成について
TROCCOでBigQueryの接続情報を作成するには、主に以下の2つの方法があります。
- Googleアカウント(OAuth)を利用する方法
- サービスアカウント(JSONキー)を利用する方法
以下では、より一般的なサービスアカウント(JSONキー)を使用した方法を説明します。
まず、Google Cloud Consoleにログインし、サービスアカウントを作成または既存のサービスアカウントを選択します。
以下の権限を付与します。
- BigQuery > BigQueryデータ編集者
- BigQuery > BigQueryジョブユーザー
権限付与が完了したら、JSONキーを発行してダウンロードします。
上記のJSONキー発行作業を終えたら、次はTROCCOでの接続情報作成です。
TROCCOトップページから「接続情報」を選択し、「新規作成」ボタンをクリックします。サービス検索で「BigQuery」を選択します。
接続方法として「サービスアカウントで作成」を選択します。
以下の必要情報を入力します。
- 名前:識別しやすい名前を設定します。(例:「BigQuery-本番環境」)
- メモ:用途などの補足情報を記載しておきます。
- 認証方式:サービスアカウント(JSONキー)を選択します。
- JSONキー:先ほどダウンロードしたJSONキーファイルの内容をすべてコピー&ペーストします。
「接続を確認」ボタンをクリックして接続テストを実行します。接続テストが成功したら「保存」ボタンをクリックします。
STEP 2:MarketoのアクティビティログをBigQueryへ転送する
STEP 2-1:Marketoアクティビティログの設定を行う
先ほど作成した接続情報を選択します。また、カスタム変数を任意で追加します。
ターゲットとして「アクティビティ」を選択し、データの取得期間を設定します。
STEP 2-2:BigQuery転送先テーブルの設定を行う
先ほど作成した接続情報を選択します。また、カスタム変数を任意で追加します。
BigQueryのデータセット、テーブル、ロケーションを指定します。
STEP 2-3:転送設定を確認し実行する
転送設定が完了したら、「スキーマ・データのプレビュー」にて確認し、問題がなければ実行します。
(※実データが含まれるので、画像は灰色でマスキングしています。)
STEP 3:Marketoのリード情報をBigQueryへ転送する
基本的には、MarketoのアクティビティログをBigQueryへ転送する設定と同じ操作です。
STEP 3-1:Marketoのリード情報設定をする
先ほど作成した接続情報を選択します。また、カスタム変数を任意で追加します。
ターゲットとして「リード」を選択し、データの取得期間を設定します。
STEP 3-2:BigQueryの転送先テーブルを設定する
先ほど作成した接続情報を選択します。また、カスタム変数を任意で追加します。
BigQueryのデータセット、テーブル、ロケーションを指定します。
STEP 3-3:転送情報を確認し実行する
転送設定が完了したら、「スキーマ・データのプレビュー」にて確認し、問題がなければ実行します。
STEP 4:BigQuery上で2つのテーブルが作成されていることを確認する
STEP 2・3で設定した、Marketoのアクティビティテーブルとリードテーブルがあることを確認します。
STEP 5:BigQuery上で2つのテーブルを結合する
BigQueryにて、アクティビティテーブルとリードテーブルを結合します。
SQLクエリの例は以下の通りです。
# リード情報のテーブルに、アクティビティ情報をJOINする
# 加えて、attributesに「申し込み」という文字列が入っている行だけを抽出する
SELECT
leadTb.*,
activityTb.*
FROM
`{プロジェクトID}.{データセットID}.{リード情報の格納されたテーブル名}` leadTb
LEFT JOIN
`{プロジェクトID}.{データセットID}.{アクティビティ情報の格納されたテーブル名}` activityTb
ON
leadTb.id = CAST(activityTb.leadid AS INT64)
WHERE
activityTypeId IS NOT NULL
AND CAST(attributes AS STRING) LIKE '%申し込み%'
上記のSQLクエリを実行すると、2つのテーブルが以下のように結合されます。
STEP 6:TROCCOの機能でデータマートを生成する
TROCCOのデータマート機能を利用し、レポートやダッシュボード向けに行・列をさらに絞り込みます。
◎SQLクエリ例
SELECT
leadid
,activitytype
,action
from Atable as A
left join Btable as B
on A.leadid = B.leadid
where activitytype = 1;
STEP 7:BigQueryの統合テーブルをLooker Studioと連携する
Looker Studioのサイトへアクセスし、新規レポート作成画面を開きます。
データ追加画面で「BigQuery」を選択し、先ほど作成した統合テーブルを選択します。
STEP 8:Looker Studioにてグラフを作成する
Looker Studioのレポート画面に、「グラフ」と「データ」を追加します。
たとえば、以下のようにそれぞれのカラムを指定します。
以下のように、Marketoの転送データを可視化できます。
連携時の注意点
ここでは、この連携を実装する際の注意点を説明します。
MarketoのAPIの上限に注意する
アクティビティログのように大量のデータを高速に抽出する場合は、MarketoのBulk Export APIを使用します。この際、Bulk Export APIの仕様に由来するいくつかの利用制限を理解しておく必要があります。
Bulk Export APIの主な利用制限は以下の通りです。
- 1日の抽出量上限:500MB
- 抽出ジョブの同時実行:2件まで
- 抽出ジョブの最大待機キュー:10件まで
- ファイルの保持期間:7日間
とくに注意すべきなのは、日次の抽出量上限が500MBである点です。この制限はCST 0時(アメリカ中部標準時)、つまり日本時間3時にリセットされます。したがって、日本のビジネスアワー中にこの制限に達すると、翌日の早朝までデータ連携が完全に停止する可能性があります。
通常の運用でデータパイプラインが正常に動作している状況では、予期せぬ中断を避けるために、計画外の追加データ抽出や別用途の転送を控えておきましょう。制限がすぐにリセットされるよう、午前2時台に処理しておくことも効果的です。
Marketoのデータはそのままでは使いにくい
Marketoの生データは、そのままではデータ分析に利用しづらい場合があります。扱いづらいと言われる主な理由は以下の通りです。
- アクティビティ種別がIDのみ
ログにはactivityTypeId(数値)しか入らず、可読名が付いていません。種別ごとに列構成も違うため、まずtypes APIでマスタを取得しJOINしないと分析軸が作れないのです。
- attributesがネストJSON
1行に可変長の {attributeName, value} リストが入るため、SQLで UNNEST()→PIVOT() してフラット化しなければ Looker Studio で集計・フィルタができません。
- 型とタイムゾーンが統一されていない
leadId が文字列できたり、日時がエクスポート手段によってUTCとインスタンスTZ で混在したりする場合があります。
BigQueryの前処理でこれらの問題点を解消しておくことが、Looker Studioでスムーズに可視化するためのポイントです。
TROCCOを用いてBigQueryで顧客・リードデータを統合し、レポート作成を高速化した事例
ここでは、TROCCOを用いてBigQuery上で顧客・リードデータを統合し、レポート作成を高速化した事例を紹介します。
不動産SHOPナカジツのマーケティング部門では、データ活用に対して以下のような課題を抱えていました。
- より多くの見込み顧客を獲得するために、施策を「媒体×流入後成果」まで細かく分析したかったが、その仕組みが不足していた。
- Marketo・広告効果測定ツール・自社 CRM など新たに導入したデータを BigQuery に転送し、一元管理したかった。
- 部門にデータエンジニアがおらず、ノーコードでマーケティングチームだけでデータ連携を完結させる必要があった。
そこで、GUI上の操作のみで実装できるETLツール「TROCCO」を採用し、Marketo・広告・自社開発CRMなどをBigQueryに自動連携させる仕組みを構築しました。また、生成したBigQueryテーブルはLooker Studioと広告配信に接続し、ダッシュボード閲覧とフィード広告に活用できるようにします。
実際、データエンジニアが約2週間かかる分析基盤の構築を、TROCCOを活用したことでマーケター1人が1日で構築できました。また、手動のデータ連携では定期的な作業が発生し、スケジューリングが必要になりますが、TROCCOでは自動でデータが連携されるため、これらの手間から解放されます。
BigQueryに蓄積されたオーディエンス情報を広告施策に利用することで、広告配信額を約3倍まで拡大してもCPAの上昇を最小限に抑え、CV数を増加させられました。さらに、インハウスによる広告運用に切り替えたことで、高額な代理店手数料をカットできたといいます。
詳細は以下の記事をご覧ください。
まとめ
本記事では、MarketoのデータをBigQueryへ自動転送し、Looker Studioで可視化する方法をご紹介しました。
その際、クラウドETLツール「TROCCO」を活用すれば、プログラミングやSQL操作をほとんど行わずにデータ連携を実装できます。また、一度データ連携の設定を行なってしまえば、以降はTROCCOのスケジューリング機能やエラーハンドリングなどにより、手動で操作するケースはほとんどありません。
TROCCOは、データ分析基盤の構築を総合的にご支援するサービスです。ETLツールとしてのETL/ELT機能はもちろん、ワークフロー機能やデータカタログ機能、データエンジニアリング領域全体をカバーする機能を提供しています。プロダクトについて詳しく知りたい方、現状のデータ活用に課題感を抱いている方は、ぜひ一度弊社primeNumberにご相談ください。
