BigQueryのデータをmixpanelに直接連携させてみた #Warehouse Events

mixpanelのWarehouse Eventsを使ってBigQueryと連携してみました!
2023.08.02

ミックスパネラーの國崎です。
今回はBigQueryにあるデータをmixpanelに直接投入することができる機能Warehouse Eventsを使ってみたので、その所感をお伝えします。

本記事でわかること

  • BigQuery→mixpanelの連携をWarehouse Eventsを使ってやる方法

「Warehouse Eventsとは?」について知りたい方は以下記事をご覧ください。

mixpanelにデータウェアハウスを直接つなぐWarehouse Events機能の紹介

BigQueryでmixpanel連携用のテーブルを用意する

BigQueryからmixpanelの連携にあたってですが、まずBigQueryでmixpanelに連携するようのテーブルを用意する必要があります。
具体的には以下カラムは必須です。

  • Event Name
  • Event Time
  • Distinct ID
  • Insert Time
  • Insert ID

注意点としてはEvent Timeはイベントが発生した時間で、Insert Timeはレコードに追加された時間になります。
同じ時間でも定義が違うことに注意しましょう。

今回テストで使うテーブルで以下を用意しました。

Event_Name Event_Time Distinct_ID Insert_Time Insert_ID
シェアする 2023/7/15 16:00:00 43922a76-8c2f-59fa-9e24-a5662a0b1581 2023/7/15 18:00:00 43922a76-8c2f-59fa-9e24-a5662a0b1581-1680318000007
QRを読み取る 2023/7/15 18:00:00 43922a76-8c2f-59fa-9e24-a5662a0b1581 2023/7/15 20:00:00 count-1680318000009
LINE登録をする 2023/4/1 12:00:00 52336ef6-dd78-582a-8185-a099e0bcf269 2023/4/1 14:00:00 52336ef6-dd78-582a-8185-a099e0bcf269-1680318000002
クーポンを使う 2023/4/1 14:00:00 8daaffc1-e947-53d8-b302-afb02202931d 2023/4/1 16:00:00 8daaffc1-e947-53d8-b302-afb02202931d-1680318000004
QRを読み取る 2023/4/1 15:00:00 863c803d-328d-5de7-97d3-cc20536d7e1a 2023/4/1 17:00:00 863c803d-328d-5de7-97d3-cc20536d7e1a-1680318000005
LINE登録をする 2023/4/1 16:00:00 43922a76-8c2f-59fa-9e24-a5662a0b1581 2023/4/1 18:00:00 43922a76-8c2f-59fa-9e24-a5662a0b1581-1680318000006
クーポンを使う 2023/4/1 17:00:00 testid123 2023/4/1 19:00:00 testid123-1680318000007
QRを読み取る 2023/4/1 18:00:00 testid999 2023/4/1 20:00:00 count-1680318000008

早速検証をしてみます。

mixpanelでの操作

mixpanelでは「Warehouse Sources」で連携するデータウェアハウスの設定を行い、「Warehouse Data」で連携するデータの設定を行います。

Warehouse Sourcesでデータウェアハウスを設定

Project Settings > Warehouse Data でAdd Warehouse > BigQueryをクリック。
20230802mix1

今回投入するBigQueryのGCPプロジェクトIDを入力すると以下コードが表示されます。
20230802mix2

Cloud Shellで上記で表示されたコードを入力するか、BigQuery に直接アクセスしてデータセットとテーブルへの特定のアクセス権限を付与する作業を求められます。

今回はCloud Shellの方法を選択します。
Cloud Shellを起動して、ターミナルにコードを流し込みます。
20230802mix3_2

なんかやたら長いコードが出てきます。
20230802mix4

再度mixpanelに戻ってCreate Sourceをクリック。
20230802mix5

無事データウェハウスの接続が完了しました。
20230802mix6

Warehouse Dataで連携するデータの設定

Project Settings > Warehouse Data でAdd Warehouse Eventをクリック。
20230802mix7

表示された画面左側で読み込むBigQueryのSource・Dataset・Tableを選択し、必須カラムのEvent Name・Event Time・Distinct ID・Insert Time・Insert IDがそれぞれどのカラムにあたるかを指定します。
20230802mix8

Create EventをクリックしたらStatusがActiveになっていることを確認します。
20230802mix9

レポート画面で確認してみると、BigQueryで入れたイベントが反映されているのが確認できました!
20230802mix10

データの連携頻度は1時間に1回行われます。
20230802mix11

連携における注意点

今回検証をして気づきましたが、Event_Timeを2023/4/1にしていて、それ以降計測がないイベントデータは反映がされていませんでした。
なぜこれが反映されないのか、調査したところmixpanelのドキュメントに「Mixpanel のレポート ドロップダウン メニューでは、過去 30 日以内に発生しなかったイベントが非表示になります。」と記載がありました。

参考:mixpanelのドキュメント

30日以上計測がないイベントデータについてはレポート画面で表示されないみたいですので、そのようなデータの連携はできないと踏まえて使ったが良さそうです。
どうしても見たい場合は、All Events>Insert IDでフィルター指定すれば確認はできました。
20230802mix12

以上、BigQueryのデータをmixpanelに連携する検証記事でした。
mixpanelのデータをBigQueryに書き出す検証記事は以下をご覧ください。