
【troccoすごい】フリープランから始める法人データの自動更新(Snowflake/BigQuery to Salesforce/Hubspot)
話題のtrocco!試したい!
troccoのフリープラン提供開始は、まさしく「話題騒然」でしたね…
既に強く業界に認知される本サービス。
はじめの一歩を踏み出しやすい環境をつくるべく、フリープランの提供を開始します。フリープランでも、ライトプランで利用可能な全ての機能にアクセスでき、データ活用の一連の流れを体験することが可能です。
本当にありがたすぎます…。
下記から無料ユーザー登録が出来ました。
また1営業日で連絡がきて凄くスムーズで驚きました…!
今回検証する私。実はfivetranも利活用してます。
ただ、troccoにも俄然興味津々です。その理由は…「Writeback」機能。
fivetranさんもtroccoさんも数多くのコネクターがあります。
ただ一つ現時点で、明確に異なる点があります。それは…
・fivetranは「DWHに集約するサービス」
・troccoは「DWHにとらわれない転送」という点です。
(将来変わったらごめんなさい)


プライベートで最近イチサン、という法人番号利活用の推進サービスを提供し始めました。CRM側のデータ更新どうすると費用負担なくトライしてもらえるだろう…とまぁ裏側では悩んでました。
あれ、、、troccoめっちゃいいじゃん。
法人番号キーに最新データをCRMに更新し続ける。
(できるのかな…?気になりすぎる…)
そんな思いで検証記事を書きました。
一応記事の補足です。
また本記事は「フリープランでもここまで利活用ができる」ということを主軸に置いております。フリーで使い続けることを推奨する記事ではないことご留意ください。それでは検証記録です。
検証環境の紹介
まず「手軽に試したい」という気持ちから
無償で出来る環境にてトライしてみました。
■Snowflake
truestar様提供のPODB環境を利用してます。https://podb.truestar.co.jp/archives/corp-data/basic
Twitterでつぶやくだけで利用開始出来る…感謝です。https://podb.truestar.co.jp/create-account
■BigQuery
na0さん提供のGoogle Cloud Analytics Hub加工済みデータを利用します。
https://bqfun.jp/docs/jpdata
GCP環境があればすぐに開始できます。
■Salesforce
Developer Editionで作成しました。
https://developer.salesforce.com/jpblogs/2016/04/developer-edition-signup/
■Hubsot
無料版でテストしてみました。
https://www.hubspot.jp/pricing/crm
改めて上記の皆様、
本当に本当に無償環境を多くの方に提供いただき心から感謝です。
troccoで実装して検証してみる
toroccoさん下記URLはめっちゃわかりやすかったです!ぜひご覧ください!
https://documents.trocco.io/docs/trocco-tutorial
というかサクサク終わる…逆に特筆して書くこと少ないくらい。(マニュアルみて設定しよう!がベストプラクティスな気がする)
せっかくなので、利用したSQLについて
「法人番号」「社名」「売上」「従業員数」を取得します。
直近のデータが欲しいですし、そこまでtroccoさんにデータ負担かけたくないので、period = 0,特定の法人番号のみにしましょう。
#Snowflake
select corporate_number,NAME,number_of_employees,NET_SALES from podb_corporate_data.e_podb.corp_finance
where period = 0 and corporate_number = '好きな法人番号を入れてね!'
#BigQuery
select corporate_number,name, net_sales_summary_of_business_results, number_of_employees
from
`<プロジェクト番号>.gbizinfo_preprocessed_by_bq_fun.finance`
where
period = 0 and corporate_number = '好きな法人番号を入れてね!'
両方とも無事にデータが抽出できました。

ただしSalesforce及びHubsot側の設定で注意があります。
ユニークキーの設定です。
Updateでは、それぞれのテーブルで利用されているPK:Idを使用します。
PK以外に、Hubspotにはユニークキーの制限ができ、Salesforceには外部Idというユニーク制限をつけることができますが、、、

法人番号をこれに設定するのは少し難しい(オペレーションの壁)
重複が発生しないよう手動での重複マージ処理をし続けなければ行けません。
となると、DWH側でIdと法人番号関連情報を紐づけて、

IdをキーにUpdate処理する必要があります。では…こんな構成になるかな?と考えてみました。

実際に検証します。(以下はHubspotをSalesforce、BigQueryをSnowflakeに読み替えてくださって構いません)
なお、Snowflakeでやる場合はリージョンは影響でませんがBigQueryで実装する場合は「asia-northeast1 (東京)」で統一しちゃったほうがいいと思います。
1] BigQueryにContact情報を送付します。
これらの機能をうまく使うと、Google Sheetをデータソースとして、BigQuery を起動できます。
2]BigQuery上でJoin句を書きます。

3]BigQueryからHubspotにUpdateします。
※Hubspot側でデフォルトの「売上」「従業員」は数値型じゃなかったり、自ら選択できない型だったり気をつけてください。

これで従業員数及び売上のみCRMアップデートできるように。CRMレベルのレコード数であれば、月間500-1200万更新は正直問題ない気がします。
うん、いい感じになった!
これが無償で使わせてもらえる時代。…本当にいい時代に生まれた。
なお、こんな感じでワークフロー設定しました。
検証から得られたこと
本件で無料または少額で「最新データをCRM側に反映する仕組み」が爆誕したことがよくわかりました。超面白い。。。。
法人関連情報をSalesforceに安定的にアップデートする体制が整った…と言っても過言じゃないかもしれない。色々考えていきます!
troccoの皆様、本当に素晴らしい施策をご提供いただき誠にありがとうございました…!troccoラバーになりそうです…。