Ruby On Railsでメールの開封率とリンクのクリック率を検証できる機能
Ruby On Railsのメーラーで送ったメールの開封率とクリック率を調べようと思ったら、案外できなくて調べたのでまとめてみた。
せっかく仮説を立てて、色とかボタンの配置とかを決めたのだから、A/Bテストをやって検証して改善していきたい。
Googleアナリティクスの便利機能を使えば楽に実装できた。
開封率を検証する機能
次のようなimgタグを、開封率を調べたいHTMLメールの中に埋める。
<img src='http://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を各自変更する必要がある。
必要な要素
tid(トラッキングID)の確認
Googleアナリティクスで、以下の流れでトラッキングIDを確認することができる。
cid(クライアントID)の決め方
cid(クライアントID)は何でも良いのだが、重複してはいけないので注意が必要。
重複しないcid(クライアントID)生成のために以下のサイトを利用すると良いかもしれない。
Hit Builder — Google Analytics Demos & Tools
elは後から振り返りやすい名称にすると良い。たとえば「20190128-my-first-html-mail」などのような感じ。
メール開封率のサンプルコード
最終的には以下のようになる。
<img src='http://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 アナリティクスレポート」の中の「行動」→「イベント」→「概要」→「イベント ラベル」で確認できる。
リンクのクリック率を検証する機能
クリック数を測定するにはダミーパラメータを設定すれば良い。
- utm_source
- utm_medium
の2つをリンクのURLの後ろにつければOKなのだが、実際には
のようになる。
つまり、「?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
と表示されるので、これを確認すれば良い。