読者です 読者をやめる 読者になる 読者になる

ユアマイスター株式会社エンジニアブログ

ユアマイスター株式会社のエンジニアが日々徒然。

mixpanel.track_links()やtrack_forms()がたまに計測されない件

mixpanelを使い始めた頃

こんばんは、日高でございます。今回で2度目の投稿になります。

弊社では、先月からmixpanelを利用していますが、 実は私、初めてこれを使い出したのは3〜4年ほど前になります。

当時は某ECサイトの運営を任されておりまして、お客さんは一体どんな行動をしているのか、 そこを分析するためという名目で(実はただ使ってみたかっただけ)導入をしていました。

その当時、思うようにトラッキングできずにハマってしまっていたことがあったので、 忘れ去ってしまう前に書いておこうと思います。

はまったポイント

mixpanelには、リンクをクリックした時やフォームを送信した時に、 何をクリックしたのか、どんな値を送信したのかを記録する関数が用意されています。 それぞれmixpanel.track_links、track_formsという関数です。

当時これらを使って何をしていたかと言いますと、 リンクの文言やsubmitボタンの色などをランダムに変えて、 どれが一番クリックされたかを集計する簡易ABテストなんぞやって遊んでおりました。

そんな中、自分でクリックしてみた回数と、mixpanel上に蓄積されるデータの数が合わないことに気がつきました。

答えは隠されていた

なぜだろうなぜだろうと悩み、いろんな記事を読み漁っていたところ、 とある海外の記事上に書かれたソースコードに見慣れない記述を発見。

track_linksとtrack_formsに、公式ドキュメントには存在しない第3引数を発見。 直感しました。callbackのアレだと。

これを使ってみたところ、以下のような流れでうまくデータが取得できるようになりました。

リンクをクリック→mixpanelにデータ送信完了→ページ遷移

mixpanelからの応答が遅いと、ページ遷移まで待たされるので、なんどもクリックされてしまうこともあり、 そこは対策が必要ですが、ひとまずそれで対応できることがわかりました。

あれから数年経ちましたが、未だに公式ドキュメントに、そのことは書いてありません。 同じような壁に引っかかっている何処かの誰かのためになればと思いながら、 本日はこれにて帰りたいと思います。

ありがとうございました〜!