Mixpanelを導入する

サイト上のイベントトラッキングにはmixpanelが便利そうだったので、mixpanelを入れることにした。昔、Flurryというアプリの解析ツールを使ったことがあるが、それに似ている感じだ。

Google Analyticsと同じように、Javascriptタグを埋めると導入できる。さらにイベントも同様に簡単に記録できる。

mixpanel.track(‘<イベント名>’)

ボタンのクリックの計測

まず、試しに「質問する」ボタンがどのくらいクリックされているかを調べる。

以下のようなjavascriptの関数を作る。質問ボタンは複数箇所あるので、それを識別するためにplaceを引数で渡す。また、ログインしているかどうかはPHP側でのみ取れているので、PHPで一部出力させ、非ログインユーザーがどのくらい押しているか調べる。イベント自体を非ログインとログインで分けてもいいかもしれないし、場所によってイベントも分けていいかもしれない。

function track_ask_button_click(place){
 mixpanel.track(“q_button_click”, {
 place: place
 login: <?php echo json_encode(!empty($userid)); ?>
 });
}

あとは、サイト内の質問ボタンにonclick属性を足して以下のように記述する。これでボタンクリックが計測できる。

onclick=”track_ask_button_click(‘header’)”

メール開封数の計測

メール開封数を計測する。1日1回、1日の投稿をまとめてメールで送る機能がある。このメールの開封率が追えていないので、トラックする。トラック方法は、1px × 1px の画像を埋め込む、定番の方法だ。

mixpanelでは、base64でハッシュしたjson arrayをパラメータに渡して画像URLを生成する。以下のようなPHPコードで画像のURLが生成できるので、あとは画像として埋め込めば良い。

$data = array();
$data[‘event’] = “news_letter_open”; // title of event
$data[‘properties’] = array
 ‘token’=> ‘<API TOKEN>’, // API Token
 ‘time’=> time(), 
 ‘date’ => date(“Ymd”), 
 ‘user_id’ => qa_get_logged_in_userid(), // userid
);
$json_str = json_encode($data);
$base_url = ‘http://api.mixpanel.com/track/?data=';
$required_params = ‘&ip=1&img=1’;
$pixel_url = $base_url . base64_encode($json_str) . $required_params;

参考: How can I track email notification open rate? Mixpanel
https://mixpanel.com/help/questions/articles/how-can-i-track-email-notification-open-rate

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.