Zendeskでメールの開封を検知する方法

# はじめに
Zendesk Supportを使って、顧客とメールでやりとりしていると、100人中120人がこう思うはず。

**「顧客に送ったメールが、開封されているか、読まれているか、知りたい！」**

Zendesk自体には、あいにくメール開封を検知する機能は無いのですが、Zendeskのマーケットプレイスにあるアプリ、**「My Read Receipts」** を使えば、メール開封を検知することができます。

設定すると、以下のような形でメールの開封検知が確認できるようになります。

![スクリーンショット_2020-05-03_18_14_27.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30859/c38e0553-b832-c97a-7ebf-cd17300a82ef.jpeg)


# Zendeskのメール開封検知アドオン My Read Receiptsとは？
Read Receiptsとは、Zendesk Supportから送信したメールの開封が検知できるZendeskのサードパーティーアプリです。Zendeskアプリストアからダウンロード可能です。

また、このRead Receiptsには、２つのバージョンが存在します。

- Read Receipts for Zendesk (フリー)
https://www.zendesk.com/apps/support/read-receipts-for-zendesk/

- Read Receipts for Zendesk Pro (有償)
https://www.zendesk.com/apps/support/read-receipts-for-zendesk-pro/

片方がフリーで、Proが有償になります。

フリーは、単純にメール開封を検知したいという方向けです。
細かな設定調整などはできません。

一方有償版では、未読の場合に〜XXXをするという形でビジネスロジックが組めたり、細かな設定調整が可能です。詳細は、アプリのページをご確認ください。

今回は無償版のRead Receiptsを使って、メール開封を検知できるようにしていきます。
なお、有償版でも、$1.00 per agent, per monthなので、有償版を契約しても良いと思いますYO


# My Read Receiptsを使ってみよう
## 00. インストールから有効化までの手順
My Read Receiptsの[サイト](https://support.myreadreceipts.com/hc/en-us/sections/360000577533)の通りにインストールしていきます。

```
Step 1: Install our free or paid app
Step 2: Enable Rich Content (HTML Email)
Step 3: Create an API token
Step 4: Place your pixel
Optional: Step 5: Activate your Ticket Portal
Optional: Preventing false positives & IP blacklisting
```


## 01. Zendeskにインストール
以下URLから、無償版のRead Receiptsをインストールします。
https://www.zendesk.com/apps/support/read-receipts-for-zendesk/

![スクリーンショット 2020-05-03 16.50.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30859/36d0c116-82c2-b4b2-1725-7f102059654d.png)


インストールボタンを押すと、どのZendeskアカウントにインストールするか、確認画面が出てきますので、対象のアカウントを選択します。
![スクリーンショット_2020-05-03_16_54_42.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30859/8e40cdc6-df62-b0fe-4af4-f0b6985b270b.jpeg)

インストールが完了すると、Zendesk Supporｔの「管理」のメニューにアプリが表示されます。
![スクリーンショット_2020-05-03_16_57_33.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30859/831350a8-34d0-18bd-d7f2-01dbe4f59276.jpeg)

アプリ画面をクリックすると、設定が表示されますが、特に権限を与える必要はありません。
![スクリーンショット 2020-05-03 16.55.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30859/fcd6e1ce-089e-1185-10d4-aef15ba61d6f.png)



## 02. HTMLメールの有効化とメール開封検知の仕組み（開封検知できない場合の説明）
### HTMLの有効化
HTMLメールは、基本的には有効になっているはずです。
なので、特段設定することはないですね。

MyReadReceipitsのサイトに有効化方法が載っています。
不安であれば、確認しましょう。
https://support.myreadreceipts.com/hc/en-us/articles/360015662533

なお、HTMLメールを有効化させている理由は、メール開封検知の仕組みは、HTMLメールで開封させないと働かないためです。


### メール開封の検知の仕組み
ちょっと寄り道して、メール開封検知の仕組みを説明します。最後まで設定をするとメール開封が検知できるようになりますが、そもそもどういう仕組みで検知しているか。

実は、送信したメールの中に、以下のようなHTMLタグが含まれるようになります。
これは、画像を表示させるHTMLタグです。メールが開封されると、メール内の画像も表示されるため、画像へのアクセスがあった = メールが開封された！と認識します。

<img width="375" alt="IMG_8211.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30859/62f5a426-3134-10dc-62d3-67368488b6a1.jpeg">


完全に推測ですが、zendeskで開封検知する流れは、こんな感じの動きだと思います。
![zendeskとMyReadReceiptsの仕組み.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30859/8e6db8fb-45e6-d620-71fa-82ff58b21027.png)

### iPhoneで、キャリアメールを使っていると検知できない時がありゅ
メール開封検知の仕組みですが、上記のような仕組みなっているため、HTMLメールが開けない端末やアプリだと、メール開封が検知できないことは認識しておく必要があります。

例えば、iPhoneでは、メッセージというアプリが入っています。
SMSやiMessageを送受信するアプリですが、このメッセージというアプリでも、電子メールを受信することが可能です。
（ドコモはできないかも...未確認）

このメッセージというアプリで受信をすると、HTMLメールでなく、純粋な文字だけでメールが表示されるため、メール開封が検知できません。
（画像が表示できない、されないため。）

## 03. API トークンの発行（ZendeskとMyReadReceiptsの連携設定）
### APIトークンの発行
次にAPI トークンというもの発行して、連携設定していきます。
手順としては、以下のURLにある通りです。
https://support.myreadreceipts.com/hc/en-us/articles/360015577634

Zendesk Supportの画面から、APIトークンというものを以下のように発行します。
**トークン文字列は、次で使うので、コピーしておきましょう！**

![スクリーンショット_2020-05-03_17_55_15.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30859/7e20440f-bffb-1817-b8e6-1d88596d6419.jpeg)

### MyReadReceiptsのアクティベート
次に以下URLからACTIVATEします。
https://www.myreadreceipts.com/activation.html

フォームには、それぞれ情報を入力します。
![スクリーンショット 2020-05-03 18.08.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30859/c0566d8b-73e9-57a2-0405-a6b80b51512d.png)


API Tokenは、前項でコピーした文字列になります。
なお、うろ覚えですが、ここで指定したAPI usernameが、開封検知の時のリクエスタになるはずです。（間違っていたら申し訳ないですorz）
![スクリーンショット_2020-05-03_18_11_41.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30859/977bae2e-96a8-edbd-d434-384dfd42fc5e.jpeg)


フォームを送信すると、以下のようなメールが届きますので、手順に従ってアクティベートします。
![スクリーンショット_2020-05-03_18_04_54.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30859/8696ec3e-418f-d8bb-b2a3-ef2922131e8f.jpeg)


## 04. 送信メールに開封検知用のHTMLタグを仕込む
ついに最後の作業です。以下のURLの作業を行います。
https://support.myreadreceipts.com/hc/en-us/articles/360002589674

### 01. deskperkにログイン

以下URLからMyReadReceiptsのdeskperkにログインします。
https://www.deskperk.com/account/login/

![スクリーンショット 2020-05-03 18.32.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30859/9b65213a-6532-aa27-456f-128400f522aa.png)

対象のzendeskアカウントを選択します。
![スクリーンショット_2020-05-03_18_33_08.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30859/63262263-1780-1f03-aeff-cfdb9c0b4a5f.jpeg)


### 02. HTMLタグの取得
次に、送信メールに埋め込むHTMLタグを取得します。
Read Receipt Pixelをコピーします。

![スクリーンショット_2020-05-03_18_42_05-2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30859/465bc1bf-f59e-ed07-88ba-63a0035384fb.jpeg)


### 03. 送信メールにHTMLタグの取得
最後に送信メールに、上記２でコピーしたHTMLタグを挿入します。

![スクリーンショット_2020-05-03_18_28_47.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30859/6f543498-b9e9-f2ae-d4d4-71d6a9da4e4a.jpeg)

以上で設定は終了です！

# メール開封が分かると格段にフォローしやすくなった！！
お疲れさまでした！
これで、お客様がメールを開封すると、以下のような形で分かるようになります。

![スクリーンショット_2020-05-03_18_14_27.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30859/c38e0553-b832-c97a-7ebf-cd17300a82ef.jpeg)

開封が分かると安心しますし、逆に開封されていないと、電話による連絡が必要という判断もできるようになりますね！

さらにzendeskが使いやすくなりますので、ぜひ、導入してみてくださいね。