mailgunのopenのイベントトラッキング(open, click)をユニークにする方法

Mailgun at Partner Palooza

 

mailgunのopenのイベントトラッキングをユニークにする方法を紹介します。

 

mailgunは、デフォルトではメールの開封(open)やメール内でのアクション(click)といったログは取得できませんが、コンソール画面で設定をする事によって取得することが出来るようになります。

 

が、以下の様なパターンがあったとします。

  1. Aさんへのメール送信をリクエストする
  2. メールが無事送信(Delivered)される
  3. Aさんはメールを開いた
  4. 後日、改めてAさんはメールを開いた

このとき、送信数1に対して開封数が2となってしまい、計測としては使えない状態となってしまいます。

 

これを防ぐためにはメールの開封トラッキングをユニークにする(=一意性を持たせる)必要があるのでが、これはタグ機能を使う事によって実現できます。

 

 

Railsで実装するには

railsでmailgunを使ってメール送信をする方法はいくつかありますが、今回はAction Mailerの機能をラップしたmailgun_railsというgemを使ってみます。

 

gist7724c4db8f518350e6c932455f174c3e

 

この様に、タグをオプションとしてつけてあげる事でメールが一意になり、求めている計測結果を得ることができます。

 

f:id:momota10:20170624194047p:plain

 

2つのメールアドレスに送り、それぞれ複数回開いたときの結果です。Unique OpenおよびOpenの二つのデータがきちんとトラッキングされています。

 

なお、この機能はmailgunのブログに記載がありましたので引用しておきます。

Simple open and click counters are not enough to determine how many users your messages are reaching since users often click or open messages multiple times. When you are using tags, we provide unique clicks and opens that give you an exact measurement of how many distinct users are engaging with the messages you are sending.

 

 

blog.mailgun.com

 

github.com

 

User Manual — Mailgun API documentation