Ruby On Railsでメールの開封率とリンクのクリック率を検証できる機能

Ruby On Railsのメーラーで送ったメールの開封率とクリック率を調べようと思ったら、案外できなくて調べたのでまとめてみた。

せっかく仮説を立てて、色とかボタンの配置とかを決めたのだから、A/Bテストをやって検証して改善していきたい。

Googleアナリティクスの便利機能を使えば楽に実装できた。

開封率を検証する機能

次のようなimgタグを、開封率を調べたいHTMLメールの中に埋める。

<img src='https://www.google-analytics.com/collect?v=1&tid=UA-○○○○○○○○-○&cid=重複しない文字列&t=event&ec=email&ea=open&el=重複しない文字列' />

すると、ユーザーがメールを開封したらGoogleアナリティクスで確認できるようになる。imgタグだが、実際にはなにも表示されない。
※t、ec、eaはこの通りに書いて問題ないが、tidとcid、elを各自変更する必要がある。

必要な要素

  • v(プロトコルバージョン。最新は1)
  • tid(トラッキングID)
  • cid(クライアントID)
  • t(event)
  • ec(mail)
  • ea(open)
  • el(重複しない文字列)

tid(トラッキングID)の確認

Googleアナリティクスで、以下の流れでトラッキングIDを確認することができる。

  1. 左サイドバー最下部の「管理」
  2. プロパティの「トラッキング情報」
  3. トラッキングコード

GoogleアナリティクスでトラッキングIDを確認する方法

cid(クライアントID)の決め方

cid(クライアントID)は何でも良いのだが、重複してはいけないので注意が必要。

重複しないcid(クライアントID)生成のために以下のサイトを利用すると良いかもしれない。
Hit Builder — Google Analytics Demos & Tools

elは後から振り返りやすい名称にすると良い。たとえば「20190128-my-first-html-mail」などのような感じ。

メール開封率のサンプルコード

最終的には以下のようになる。

<img src='https://www.google-analytics.com/collect?v=1&tid=UA-00000000-0&cid=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeeeeeee&t=event&ec=email&ea=open&el=20190128-my-first-html-mail' />

メールに複数のリンクがある場合、上のcidとelを変更して追加すればOK。

あとは読み手側がメールを開いた瞬間に、自動的にimgタグを認識してくれる。Googleアナリティクス側には開封時のデータが残るので開封率がわかる仕組み。

開封率の確認方法

Google アナリティクスレポート」の中の「行動」→「イベント」→「概要」→「イベント ラベル」で確認できる。

Googleアナリティクスでメールの開封率を確認する方法

リンクのクリック率を検証する機能

クリック数を測定するにはダミーパラメータを設定すれば良い。

  • utm_source
  • utm_medium

の2つをリンクのURLの後ろにつければOKなのだが、実際には

https://x1x2x3.com/?utm_source=1234&utm_medium=email

のようになる。

つまり、「?utm_source=1234&utm_medium=email」の部分をリンクの後ろに付け加えればいい。

Ruby On Railsのlink_toでクリック率のダミーパラメータを実装

これをRuby On Railsのlink_toヘルパーでやる場合、

<%= link_to product_url(id: @product.id, utm_source: 'click-ViewBtn-Email', utm_medium: 'email') do %>

のように、引数として渡せば良い。

クリック率のサンプル

https://x1x2x3.com/product/39/?utm_source=click-ViewBtn-Email&utm_mudium=email

といったURLを生成することができる。

クリック率の確認方法

Googleアナリティクスのトラフィック欄に、先程のサンプルで実装した場合、

click-ViewBtn-Email/email

と表示されるので、これを確認すれば良い。

Googleアナリティクスでメールのリンククリック率を確認する方法