SendGridのトラッキングURLをSSL化する

こんにちは、吉田智哉です。
オールインワンのセールスファネルシステムであるファネラーを開発しています。

Funneler|セールスファネルを作成するならFunneler
Funnelerはセールスファネルを作成するならFunneler
Funneler|セールスファネルを作成するならFunneler favicon funnelerapp.com

メール送信の仕組みはSendGridを利用して、メールの開封やクリックのトラッキングを行っています。
しかし、メールの内容に含めたトラッキングURLがSSL化されず、HTTPのままになっていました。
そのため、はじめてリンクをクリックすると「安全ではない接続」と警告が表示されてしまい、サイトにアクセスできないことがありました。
そこで、SendGridのトラッキングURLをSSL化する方法を調べて実装しました。
この記事ではその方法を紹介します。
ファネラーを使えば、メールのトラッキング機能を利用できるので、メールの開封率やクリック率を把握することができます。
また、SSL化することで、ユーザーに安心してリンクをクリックしてもらえるようになります。

前提

この記事ではDNSはCloudflareを利用していることを前提としています。
Cloudflareを使うとSSL化が簡単にできます。
ドメイン自体はお名前ドットコムなど他のレジストラで取得している場合でも、DNSをCloudflareで管理することもできます。
Cloudflare以外を利用している場合は、今回の手順では設定できません。
ぜひ、Cloudflareを利用してみてください。

また私はSendGridについて、日本代理店である構造計画研究所を利用しています。

参考資料

SendGridのトラッキングURLをSSL化する方法については、以下の公式ドキュメントを参考にしました。

support.sendgrid.kke.co.jp
support.sendgrid.kke.co.jp favicon support.sendgrid.kke.co.jp

全体像

SendGridのトラッキングURLをSSL化するための全体像は次の通りです。

  1. SendGridの「Tracking Settings」で「Open Tracking」と「Click Tracking」を有効にする。
  2. SendGridの「Sender Authentication > Link Branding」でカスタムドメインを設定する。
  3. CloudflareでカスタムドメインのDNSレコードを設定する
  4. Cloudflareで該当ドメインのSSL/TLS設定を「フル」にする
  5. SendGridのサポートにSSL化のリクエストを送る。

それでは、順を追って説明していきます。

1. SendGridの「Tracking Settings」で「Open Tracking」と「Click Tracking」を有効にする

はじめに、SendGridのダッシュボードにログインし、左側のメニューから「Settings」を選択します。
次に「Tracking Settings」をクリックします。

SendGridのTracking Settings

ここで「Open Tracking」と「Click Tracking」を有効にします。
そもそもSendGridのトラッキング機能を利用していない場合は、メール内に埋め込んだリンクがそのまま表示されるため、SSL化の必要はありません。
トラッキング機能を有効にして、メール内に埋め込んだリンクをSendGrid側でトラッキング用のリンクに変換してもらうようにします。

次に、SendGridの「Sender Authentication」から「Link Branding」を選択して作成します。

SendGridのLink Branding

Sender AuthenticationはDomain AuthenticationとLink Brandingの2つがあります。
もし、新規にドメインも追加する場合は、Domain Authenticationの画面でLink Brandingも同時に設定できます。

今回はDomain Authenticationはすでに設定済みで、Link Brandingのみを設定します。

Link Brandingの画面で「Brand Your Links」をクリックします。

SendGridのBrand Your Links

Link Brandingの作成画面に移動します。

次にDNS hostを選択します。

私はCloudflareを利用しているので、Cloudflareを選択しました。
このリストにはお名前ドットコムなどの日本のレジストラは含まれていません。
含まれていない場合は、Other hostを選択します。

次に、カスタムドメインを入力します。
ここでは、SSL化したいドメインを入力します。
私の場合はFrom Domainにfunnelerapp.comを入力しました。
皆さんはご自身のドメインを入力してください。
Advanced Settingsは任意ですが、私はReturn Pathをclickにしました。
このように設定すると、トラッキングURLが https://click.funnelerapp.com/ のようになります。
こちらを入力しない場合は、SendGridが自動的に作成したPathが設定されます(url345など)

設定が終わったら、「Next」をクリックして、作成しましょう。

次のようにDNSレコードの設定が表示されるので、これをCloudflareに設定します。

DNS

3. CloudflareでカスタムドメインのDNSレコードを設定する

Cloudflareのダッシュボードにログインし、対象のドメインを選択します。

接続、保護、構築をどこででも
場所を問わず従業員、アプリケーション、ネットワークの速度と安全性を高め、簡略化とコスト削減を実現しましょう。
接続、保護、構築をどこででも favicon www.cloudflare.com
接続、保護、構築をどこででも

DNSタブをクリックして、先ほどSendGridで表示されたDNSレコードを追加します。

CloudflareのDNS設定

ポイントはタイプはCNAMEで、名前は先ほどSendGridで設定したカスタムドメインのサブドメイン部分を入力します。
例えば、click.funnelerapp.comを設定した場合は、名前はclickとなります。
また、プロキシステータスのチェックは外して、DNSのみを有効にします。
このチェックを外さないと、SendGridでDNS設定の検証(Verify)が通らないので、必ず外してください。
(ただし、こちらはVerifyが通った後に有効にします)

CloudflareのDNS設定2

SendGridでDNS設定の検証を行う

CloudflareでDNSレコードを設定したら、SendGridのLink Brandingの画面に戻り、「Verify」をクリックします。

SendGridのDNS設定の検証

DNS設定が正しく行われていれば、次のように「Verified」と表示されます。

SendGridのDNS設定の検証結果

4. Cloudflareで該当ドメインのSSL/TLS設定を「フル」にする

次にCloudflareで該当のドメインのSSL/TLS設定を「フル」にします。
Cloudflareのダッシュボードに戻り、「ルール > ページルール」を選択します。

CloudflareのSSL/TLS設定

「ページルールを作成」をクリックし、以下のように設定します。
URLは、先ほど設定したカスタムドメインのサブドメイン部分を入力します。
例えば、click.funnelerapp.comを設定した場合は、https://click.funnelerapp.com/* となります。
設定は「SSL/TLSをフル」にします。

Cloudflareのページルール設定

これで、CloudflareがSSL/TLSをフルに設定してくれます。

5. SendGridのサポートにSSL化のリクエストを送る

最後に、SendGridのサポートにSSL化のリクエストを送ります。

必要な情報は以下の通りです。

  • 本人確認情報
  • (サブユーザ機能をご利用の場合のみ)SSL化を適用するサブユーザ名
  • SSL化対象ユーザのSender Authentication(Domain AuthenticationとLink Branding)の設定画面のキャプチャ
  • SSL化対象ユーザのTrackingの設定画面のキャプチャ
  • 手順1で保存したトラッキング用URL

参考:

support.sendgrid.kke.co.jp
support.sendgrid.kke.co.jp favicon support.sendgrid.kke.co.jp

必要な情報が多いですが、分からない場合は、わかるものだけを送っても大丈夫です。
実際、私は必要な情報が不足していたのですが、サポートの方が親切に対応してくれて、不足情報についても教えてくれました。

まとめ

SendGridのトラッキングURLをSSL化する方法について紹介しました。
SSL化することで、ユーザーに安心してリンクをクリックしてもらえるようになります。
また、メールの開封率やクリック率を把握することができるので、マーケティング施策の改善に役立ちます。
SSL設定についてはCloudflareを利用することで、簡単に行うことができます。
SendGridのトラッキング機能を利用している方は、ぜひSSL化を検討してみてください。