概要

Salesforce(セールスフォース)はいまや世界中で利用されているCRM(顧客関係管理)ツールであり、クラウド上で動作するため、導入にあたり専用のサーバー構築といったコストが不要となるサービスです。このようなクラウド上で動作しするソフトウェアサービスをSaaSといいますが、なかでもSalesforceはSaaSの代表的なものの一つではないでしょうか。


Salesforceの強みの一つはこのクラウド上で動作するという点にあり、Salesforceへ登録された顧客情報はクラウドを経由してリアルタイムでアカウントを持つ全社員に共有されます。またSalesforceは単なる顧客情報の管理と共有にとどまらず、その活用によりマーケティング支援や営業支援も行います。


一般的に、このようなSaaSはサービスの保守運用をベンダーが行ってくれる代わりに実装される機能もベンダーが提供するものに制限されます。しかし、Salesforceは標準で提供されている豊富な機能に加え、顧客のどのような情報を登録するのか、またその情報をどのように利活用していくか、など自社の事業や戦略に合わせ機能をカスタマイズできる点も魅力です。


Salesforceには登録されたデータを分析するためにそのデータの可視化、エクスポートを行うレポート機能がある程度標準の機能として備わっています。ですが何千、何万という単位のデータをリアルタイムで分析したい場合や、Salesforce以外のサービスで集積しているデータと絡めた高度なデータ分析を行いたい場合は別途DWH(データウェアハウスへデータを統合、Looker・TableauといったBIツールでデータの可視化・分析を行うという流れが有効ではないでしょうか。そしてこのようなデータ統合に役立つのがETLツールと呼ばれるサービスです。

なお、ETLツールという名称は
E:Extract(抽出)
T:Transform(変換)
L:Load(格納))

の頭文字に由来しています。

ETLについてはこちらで詳しく解説しています。
今回はtrocco®(トロッコ)という分析基盤向けデータ統合サービスを使い、SalesforceのデータをGoogle BigQueryというDWHへ統合し、Looker Studio(旧:Googleデータポータル)というBIツールを用いてデータの可視化を行います。
なお今回データの転送手段として使用するtrocco®は、Salesforceの他にも、様々な広告・CRM・DBなどのデータソースに対応しています。

SalesforceのデータをGoogle BigQueryへ転送

ゴール

今回はサンプルとしてSalesforceに登録された顧客データをGoogle BigQueryへ転送し、このようなグラフに可視化することを目標にします。
また、今回はデータベースに関する専門的な知識がない方でもデータ分析が行えるようほぼコーディングせずに分析基盤を構築し、またデータおよびグラフの更新も自動化をします。

30.png

こんな人におすすめ

  • Salesforceのデータ分析機能では不満
  • CRM上の営業データと、広告や売上などを紐付けて分析したい方
  • Salesforceのデータを分析基盤・DWHに取り込みたい方

0. DWHと、同期する手段の選定

0-1. DWHの選定

まずはデータをどこに集約するか、DWH(データウェアハウス)を選定します。

  • Google BigQuery
  • Amazon Redshift
  • MySQLやPostgreSQL など

trocco®はいずれのサービスにも対応していますが、今回はGoogle BigQueryを利用することにします。

0-2. SalesforceのデータをGoogle BigQueryに転送する4つの方法

Google BigQueryにデータを集約することが決まったので、次は転送するための手段を検討していきます。

1.SalesforceのデータをCSV形式でエクスポートし、手動でBigQueryにアップロードする
2.SalesforceとGoogle BigQueryの各APIを、プログラムを書いて連携する
3.Embulkを利用し、自分で環境を構築する
4.trocco®を利用し、画面上で設定する

1 は単発の実行であればよいのですが、絶えず更新される営業データを日々取り込むということを考えるととてもコストのかかる運用になってしまいそうです。
2 はAPIのキャッチアップ工数+プログラムを書く工数+環境構築工数が発生する他、エラー対応などの運用工数も継続的に発生します。
32 と同じくEmbulkはある程度の専門知識が必要になり、自前で環境構築・運用を行う手間が発生します。加えてエラーの内容が少し専門的なので、困っている人もいたりします。
そこで今回はEmbulkの課題も解決してくれて、プログラムを書かずに画面上の設定で作業が完結する、4 のtrocco®️というSaaSを利用します。

1. trocco®での設定

1-0. 事前準備

まず事前準備として今回のデータ転送に使用するtrocco®のアカウントが必要になります。
trocco®は現在無料のトライアルを実施しています。事前に申し込みをしてアカウントを作成しておきましょう。
https://trocco.io/lp/index.html
(申し込みの際にこちらの記事を見たという旨を記載していただければその後のご案内がスムーズに行えます)
またデータ元となるSalesforceのアカウントや、データの転送先となるGoogle BigQueryとLooker Studioを利用するGoogleアカウントなども前もってご用意ください。

1-1. 転送元・転送先の決定

trocco®にアクセスして、ダッシュボードから「転送設定を作成」ボタンを押します。

スクリーンショット 2022-03-02 13.25.04.png

転送元と転送先となるツールを選択する画面になります。

スクリーンショット 2022-03-02 13.29.39.png

trocco®は多くのサービスをサポートしています。今回は転送元に「Salesforce」、転送先には「Google BigQuery」をそれぞれ選択し、「この内容で作成」ボタンを押します。

3.png

2-1. Salesforceからの転送設定

まずは右上の「接続情報を追加」ボタンを押します。

4.png

別のタブでSalesforceへの接続情報を入力する画面が開きます。SalesforceアカウントのユーザーIDやパスワード、trocco®がSalesforceにアクセスするために必要なセキュリティトークンを入力します。
なおセキュリティトークンの作成手順についてはこちらのヘルプを参考になります。
転送設定画面に戻り、「接続情報を読み込む」ボタンを押すと右の▽マークから入力した接続情報を読み込めます。
※トップページの「接続情報」タブから事前に接続設定を済ませておくことも可能です。
接続情報が読み込めたらオブジェクトを選択します。このように接続したSalesforceアカウントで取得可能なオブジェクトが一覧で表示されるためその中から選択するだけで済みます。

6.png


また取得するデータが文字列であるか、数値であるか、といったデータ型の設定についても型推測機能の結果を使用することで簡単に済ませることが可能です。

2-2. Google BigQueryへの転送設定

転送元のSalesforceと同じく接続情報の設定をしていきます。Google BigQueryについても「接続情報を追加」ボタンから別のタブで接続情報の設定画面を開きます。Google BigQueryを利用するGoogleアカウントの認証を行います。
※トップページの「接続情報」タブから事前に接続設定を済ませておくことも可能です。

7.png

Salesforceの設定と同様に接続情報を読み込み、データセット、テーブルの名前をそれぞれ入力します。
(事前にGoogle BigQuery側で作成しておきましょう)

8.png

入力が済んだらページ最後の「次のSTEPへ」ボタンを押します。

9.png

2-3. データのプレビュー・詳細設定

設定にしたがって転送のレビューが作成されます。

10.png

プレビュー画面では転送元からどのようにデータが取得されるのかが確認できます。
取得したいデータがプレビュー画面に表示されなければ再度転送元と転送先の設定に戻り、設定を修正します。
問題なく取得できているようなのでプレビュー画面下部の「確認画面へ」ボタンを押します。

11.png

なおプレビュー画面下部の詳細設定では転送の際に特定のデータをマスキング処理する、転送時刻のカラムを追加するといったデータの加工設定ができます。

12.png

2-4. 確認・適用

転送設定の内容が確認できます。過去に作成した転送設定の内容を編集した際にはこの画面でその差分がハイライト表示され、確認をすることが可能です。
今回は設定の新規作成なので、特に確認することはありません。右下の「保存して適用」ボタンを押します。

13.png

trocco®には既存の転送設定を変更した際、変更後も過去の設定内容の履歴を保存して転送設定の変更によって転送が失敗するようになった際などにその履歴から設定を復元するロールバック機能があります。
trocco®を共有して使用し、チームでデータ分析にあたる場合などは、転送設定の変更についてこの画面で簡単なメモを残しておきましょう。

スクリーンショット 2022-03-07 13.56.40.png

2-5. スケジュール・通知設定

転送設定の詳細設定画面に移動します。まず「転送設定概要」タブでは設定の内容が大まかに確認できます。

15.png

trocco®にはデータの転送を定期的に自動で行う「スケジュール・トリガー機能」があります。今回はデータが変更される都度人の手でデータを更新しなくともグラフが最新の状態に更新されるようにしてきますので、「スケジュール・トリガー設定」タブを開いて定期的な転送スケジュールの設定を行いましょう。
「スケジュールを追加」ボタンを押すと、設定のモーダルが出てくるので、希望に応じて実行スケジュールを設定し、転送の自動化を行います。(今回は毎日0時に転送を行うよう設定しました。)

16.png
17.png

2-7. データ転送ジョブの実行

設定は以上で終わりです。データの転送は以後自動的に行われますが、今回はこのまま右上の「実行」ボタンから手動で転送を実行します。

18.png

転送の実行に際し、その目的などをメモとして残しておくことができます。特に書くことがなければ再び「実行」ボタンを押します。

19.png

ジョブが実行されます。

20.png

しばらく待つとジョブが終了します。

21.png

3. Google BigQueryの設定

Google BigQuery側での操作は必要はありませんが、コンソール画面からプレビューで転送結果を確認すると、たしかにデータが転送されていることが確認できます。

22.png

4. Looker Studio(旧:Googleデータポータル)での可視化

最後にLookerを用いてデータの可視化を行います。まずはトップ画面の「新規」から新しいレポートを作成します。

23.png

データ元となるサービスを選択します。今回はGoogle BigQueryを選択します。

24.png

データの転送先となるプロジェクト、データセット、テーブルを選択してデータをLooker Studioに読み込ませると、レポートの編集画面に移動します。
レポートの編集画面では画面右側に表示されるそれぞれのフィールドをディメンション・指標に追加してグラフを作っていきます。

25.png

画面右上の「グラフ」には主なグラフがいくつか用意されています。適当なものを選択することで簡単にグラフを作成できます。

26.png

試しに、獲得しているリード数の日次推移を可視化してみましょう。

27.png

以下のようなグラフが出来上がります。
この画面はLooker Studioの「エクスプローラ」という機能になります。
「エクスプローラ」は定期的に閲覧するデータの変化の原因をアドホックに分析する際に使うイメージです。

28.png

Looker Studioのトップ画面から、「レポート」を作成し、上述の通りグラフ作成を行うと、ダッシュボードが出来上がります。

29.png

今回はデータを統合し、簡単な可視化までとしましたが、リード獲得チャネル毎の費用と売上を紐付けることによってROIも簡単に算出することが可能です。

30.png

まとめ

ほぼ画面上の設定のみでSalesforceのデータをGoogle BigQueryへ統合し、Looker Studioを用いてデータの可視化を行いました。またtrocco®の「スケジュール・トリガー機能」の設定を行ったため、以後はSalesforceに新しく追加されたデータはその設定に従って定期的にGoogle BigQueryへ転送され、また連携するLooker Studioのレポートも自動更新機能によって常に最新の状態に維持されていくという流れになっています。

この記事を読んで、trocco®でデータ統合を体験してみたい方は、無料トライアルを実施しているので、この機会にぜひ一度お試しください。
https://trocco.io/lp/index.html

(申し込みの際にこの記事を見たという旨を記載していただければその後のご案内がスムーズ行えます。)

データ分析基盤構築サービスtrocco
hirokazu.kobayashi

慶應義塾大学卒業後、2014年より株式会社リブセンスへ入社。データエンジニアとして同社分析基盤立ち上げをリードする。2017年より現職primeNumberに入社。自社プロダクト「systemN」におけるSpark/Redshift活用等のデータエンジニアリング業務を行うかたわら、データ統合業務における工数削減が課題だと感じ、データ統合を自動化するサービス「trocco®」を立ち上げる。