
HightouchでDestinationにMixpanelを指定しユーザーデータを同期してみた
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
さがらです。
Hightouchでデータの転送先となるDestinationにMixpanelを指定して、ユーザーデータを同期してみたのでその内容をまとめてみます。
参考
事前準備
Sourceの設定
まず、転送元となるSourceについてはSnowflakeを設定します。連携用のデータも事前に準備済であるとします。
- 手順
- ユーザーデータ
Mixpanelの設定
何もデータを入れていない、空っぽの状態のMixpanelの新規プロジェクトで試してみます。
DestinationにMixpanelを設定
まず、HightouchのDestinationとしてMixpanelを設定していきます。
Mixpanelで必要な情報を確認
Hightouchで設定するために、最初にMixpanel上で必要な情報を確認していきます。
具体的には、以下3つの情報が必要です。
Project IDProject tokenService Account Username and Secret
まず、Mixpanelの画面右上から、Project Settingsを押します。
Project IDは、OverviewのProject Detailsの中から確認が可能です。
Project tokenは、OverviewのAccess Keysの中から確認可能です。
Service Account Username and Secretは、Service Accountsから+ Add Service Account新しく生成する必要があります。
作成画面が開いたら、新しいService Accountを作成します。新しい名前をService Account欄で追加し、Project RoleはAdminかOwnerを選択し、右下のAddを押せばOKです。
すると、作成したService AccountのUsernameとSecretが表示されるので、こちらをコピーします。
これでMixpanel側での確認は完了です!
HightouchでDestinationの設定
続いて、Hightouch上でMixpanelをDestinationとして設定していきます。
まず、左のメニューからDestinationsを選択し、Add destinationを押します。
Destinationとして設定するサービスを選択する画面が出てくるため、Mixpanelを選択し、画面右下のContinueを押します。
Mixpanelの接続情報を入力する画面が出てくるため、先程確認した各種情報を入力していきます。RegionはMixpanelをEUなどで使用していなければ、Standard (Most Common)を選択します。入力後、右下のContinue`を押します。
最後に、Hightouch上で区別するための作成するDestinationを入力する画面が出てきます。
任意の名前を入力し、右下のFinishを押します。これでMixpanelをDestinationとして設定出来ました!
Model設定
続いて、ユーザーデータのModel設定をしていきます。
まず、画面左のModelsを押し、Add modelを押します。
連携済みのSnowflakeのデータベースを選択します。
今回はすでにSnowflake上に存在するテーブルをそのまま使うため、Table selectorを選択します。
連携したいテーブルを選択し、画面右下のContinueを押します。
Hightouch上の区別のため、Model name、Descriptionを入力します。また、HightouchのCDCの処理のためにPrimary keyも設定します。
設定が完了したら、右下のFinishを押します。これでModelの設定は完了です!
Sync設定
DestinationとModelの設定が完了したので、実際にSnowflakeからMixpanelに同期させるためのSyncの設定をしていきます。
Hightouchの左のメニューからSyncsを押して、Add syncを押します。
まず、設定したModelを選択します。
続いて、設定したDestinationを選択します。
続いて、Syncの詳細な設定に移ります。
まず、Objectを選択し、ドロップダウンのリストではUserを選択します。
レコードのupdate方法はUpsertのみ選択できるためそのままで、How should records between query results and records in Mixpanel be matched?では、MixpanelのUser IDと紐付ける、Snowflakeのテーブルのカラムを選択します。
続いて、Which columns would you like to sync to Mixpanel fields?の設定ですが、Suggest mappingsを押すと、カラム名が一致するものなどはHightouch側で自動で割り当てを行ってくれます。
最後に、Which custom columns would you like to sync to custom fields in Mixpanel?の設定ですが、ここもSuggest mappingsを押すと、Snowflake上のテーブルのカラム名に併せて自動でカスタムフィールド名も決めて割り当てを行ってくれます。
これらのフィールドの割り当てが自動で行われない場合には、Add mappingから追加をしましょう。
フィールドの割り当ても完了したら、画面右下のContinueを押します。
最後に、DescriptionとSchedule typeを設定し、右下のFinishを押します。
これで、Syncの設定は完了です!
Sync実行
最後に、実際に設定したSyncを実行してみます。
今回はスケジュール設定をしていないため、対象のSyncを開いた上で、右上のRunを押します。
すると、Sync画面にRunsのログが表示されます。
HEALTHYが出たら、無事に同期されたということになります!
実際にMixpanelのUsersを見ると、無事にカスタムフィールドも込みで登録されていました!
最後に
HightouchでDestinationにMixpanelを指定しユーザーデータを同期してみました。
通常だとMixpanelのAPIを叩く処理を開発して定期実行しないといけないので、HightouchならばGUIベースの操作で簡単に実施できるので簡単ですね!









































