AWS
ses
HTTPS
メール
ConfigurationSet

AWS SES Configuration Set を利用した Https カスタムドメイン でのトラッキング

SESで Configuration Set を利用した HTTPS カスタムドメイン でのトラッキング

今回紹介するケース

SESの設定や、Configuration Setの記事は沢山あるので割愛して、

「SESで Configuration Set を利用した Https カスタムドメイン でのトラッキング」

の設定例です。

ちなみに

「SESで Configuration Set を利用したトラッキング」はこちらが詳しいです
「SESで Configuration Set を利用した Http カスタムドメイン でのトラッキング」はこちらが詳しいです

公式ドキュメント通りに設定しても上手くいかない

Trackingイベントには下記の種類があります。

  • Send
  • Reject
  • Delivery
  • Bounce
  • Complaint
  • Click
  • Open
  • Rendering Failure

今回の設定は HttpsなURLの Click イベントをTrackingしたい時に役立ちます。
公式のドキュメント(こちら)の通りにやってもTrackingできませんでした。

SESで Configuration Set を利用した Https カスタムドメイン でのトラッキング

設定例

  • ドメイン名:domain.jp
  • トラッキングDNS:mailtracking.domain.jp
  • リージョン:米国東部(バージニア北部)
    • SESは東京リージョン無い

HTTPSカスタムドメインを利用する際に必要な設定

Amazon Certificate Manager

  • バージニア北部リージョンに証明書が必要(*.domain.jpで取るのが吉)
    スクリーンショット 2018-10-18 20.00.44.png

CloudFront

  • mailtracking.domain.jpを受けるDistributionsを新規で作成する必要があります
originの設定

スクリーンショット 2018-10-18 20.08.16.png

  • 注意する点
    • Origin Domain Name は http://r.us-east-1.awstrack.me/ を入力する(とr.us-east-1.awstrack.meと表示されフォワードの設定ができる)
    • Origin Protocol Policy は Match Viewer を選択する
      • ここがないとClickのトラッキングの時にlinkTagsが送られてきません
behaviorの設定

スクリーンショット 2018-10-18 20.11.13.png
スクリーンショット 2018-10-18 20.11.37.png

  • 注意する点
    • Viewer Protocol Policy は Redirect HTTP to HTTPS を選択する
    • Cache Based on Selected Request Headers は ALL を選択する
    • Query String Forwarding and Caching は Forward all, cache based on all を選択する

Route53

mailtracing用のDNS作成
qiita1.png

SES Configuration Set の Destination

カスタムドメインを設定する
qiita2.png

これでOK

余談)Sendgridと比較してみた

SESのメリット

  • 安い

料金比較

月料金(300万通の時) $
SES $297(約) ¥32,000(約)
Sendgrid - ¥150,000(約)
  • Sendgridの一番大きいプランを利用しているなら月額12万円も違うよ

SESのデメリット

  • RFCに従っていないメールアドレスが送信できない(可能性がある フィルタが公開されていないので)
  • ダッシュボード機能が提供されていないので自分で可視化する必要がある
    • これってデータ系エンジニアにとってはメリットじゃないか?(生トラッキングデータが見れる)
  • BounceとComplaintを自分で管理しないといけない
    • これも良く考えたら、自分で管理するのが筋じゃない?