
HightouchでDestinationにMixpanelを指定しイベントデータを同期してみた
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
さがらです。
Hightouchでデータの転送先となるDestinationにMixpanelを指定して、イベントデータを同期してみたのでその内容をまとめてみます。
参考
事前準備
Sourceの設定
まず、転送元となるSourceについてはSnowflakeを設定します。連携用のデータも事前に準備済であるとします。
- 手順
- イベントデータ
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設定と、MixpanelへのSync設定をしていきます。
まず、画面左の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の詳細な設定に移ります。
まず、同期対象のデータはイベントデータなので、Eventを選択します。
What is the event name?では、同期するイベントがどんなイベントであるか、その名称を入れます。もし同期対象のSnowflakeのテーブル・ビューに各レコードごとのイベント名を保持するフィールドがあれば、USE COULUMNにチェックを入れた上でフィールドを選択しましょう。
もし対象のSnowflakeのテーブル・ビューにイベントのタイムスタンプを持つフィールドがあれば、Which column contains the event timestamp?で指定します。
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側で自動で割り当てを行ってくれます。
これらのフィールドの割り当てが自動で行われない場合には、Add mappingから追加をしましょう。
フィールドの割り当ても完了したら、画面右下のContinueを押します。
最後に、DescriptionとSchedule typeを設定し、右下のFinishを押します。
これで、Syncの設定は完了です!
Sync実行
最後に、実際に設定したSyncを実行してみます。
今回はスケジュール設定をしていないため、対象のSyncを開いた上で、右上のRunを押します。
すると、Sync画面にRunsのログが表示されます。
HEALTHYが出たら、無事に同期されたということになります!
実際にMixpanelのEventsを見ると、無事にカスタムフィールドも込みで登録されていました!
最後に
HightouchでDestinationにMixpanelを指定しイベントデータを同期してみました。
Mixpanelでもイベントデータの収集は可能ですが、別の媒体で取得したイベントデータもMixpanelに集約して分析したい場合には便利だと思います!








































