前回は、Qlik Cloudの自動化ツールQlik Automateを活用したQlik SenseとHubSpotのデータ連携の自動化について、基本的な部分を説明しました。

実際のQlikのデータのHubSpotコンタクトへのエクスポートにおいては、Qlik Automateで既にHubSpotにメールアドレスがあるレコードを作成しようとするとエラーとなるため、HubSpotにメールアドレスのない個人のデータのみを差分でエクスポートする必要があります。
今回は実際に導入しているQlikとHubSpotの日次連携より、HubSpotのコンタクト作成の自動化について説明しようと思います。
全体の流れとしては、①HubSpotのコンタクトからEメールの一覧を取り込む ②Qlikアプリのロードスクリプトにて突合を行う ③HubSpotにメールアドレスがない個人のデータをQlikからHubSpotへエクスポートする、といった流れとなります。
HubSpotデータの取り込み
Qlik Automateにて、HubSpotのコンタクトのレコードをcsv形式でAmazon S3へ保存します。手順は前回記事の『Qlik AutomateによるHubSpotデータのインポート』の通りです。今回は、id、emailの2つのプロパティをそれぞれコンタクトID、Eメールというカラム名で取り込むこととし、『hubspot_contact.csv』というファイル名で保存することとします。

QlikとHubSpotのデータ突合
Qlik Sense分析アプリのロードスクリプトにて、データと突合を行い、HubSpotにメールアドレスがない個人を絞り込んだうえで、絞り込んだ個人のデータをAmazon S3にcsv形式で保存します。
// S3に保存したcsvよりメールアドレスの一覧をロード
// フラグ1を振る
Contact_Temp:
Load
コンタクトID,
Eメール,
1 as INSERT_FLAG
From [S3に保存したhubspot_contact.csv];
// Qlik側の顧客データからHubSpotにエクスポートしたいデータをロード
// 今回は簡単に4項目をHubSpotにエクスポートすることとする
Contact_Create_Temp:
Load Distinct
姓,
名,
生年月日,
Eメール
Resident 顧客データ
Where Len(Trim(Eメール)) > 0;
// Left Joinしたうえでフラグが振られていない(csvにメールアドレスがない)顧客データのみをロード
Left join(Contact_Create_Temp)
Load * Resident Contact_Temp;
NoConcatenate
Contact_Create:
Load
RowNo() as row_no,
*
Resident Contact_Create_Temp
Where INSERT_FLAG <> 1;
Drop Table Contact_Temp,Contact_Create_Temp;
// Amazon S3へcsv形式で保存
Store Contact_Create into [S3の任意のフォルダ]これにて、HubSpotにメールアドレスのない顧客データのみをS3に保存することができました。
データをHubSpotへエクスポート
あとは、Qlik Automateにて、S3に保存したcsvを読み込みコンタクトを作成します。前回記事の『Qlik AutomateによるHubSpotへのエクスポート』を参照ください。
最後に
これらの手順を日次でスケジューリングすることで、Qlik SenseのデータからHubSpotのコンタクトを新規作成することを自動化できました。
HubSpotの取引などにレコードを作成する場合も基本的には同様の手順です。取引の場合は、取引名などのレコードは重複可能なため、自分でユニークキーを用意し差分を取得するか、データの作成日時などで差分を取得する流れになります。ぜひやってみてください。
次回は、Qlik Automateを使った、Qlik senseのデータからHubSpotのコンタクト情報をアップデートする部分の自動化について、記載しようと思います。

