キャリアメールをちゃんと届ける技術

この記事は HRBrain Advent Calendar 2021 7日目の記事です。

qiita.com

はじめに

HRBrainでメール配信基盤を担当している鈴木です。

個人としては前職でもテレビ番組のプレゼント応募などで当選・落選を送るようなメール配信基盤を作っていたので、それを含めると5年くらいメールの到達率と戦っています。

低レイヤー?な部分について前職も現在もSendGridを利用しています。

今回はメールの到達率を上げるために今までトライアンドエラーをしてきたことについてお話ししようと思っています。

前提

HRBrainでは企業向けにタレントマネジメントシステムを提供しており、企業の人事担当が企業の従業員に向けて通知を行うときにメールが利用されます。

企業によってはGoogle Workspaceなどを利用して全従業員に対してメールアドレスを発行、それを登録している企業から、個人のメールアドレスを聞き利用している企業まで幅広い使われ方をしています。

基本的に会社で管理されているメールアドレスを使うため、Sending Reputationは比較的に高く保てています。

特にメールの到達率を話す上で気にしなくてはならないのが、キャリアメール( au.com, docomo.ne.jp, ezweb.ne.jp, softbank.ne.jp(アルファベット順) など)についてになります。

各社迷惑メールを阻止するため、フィルター機能がデフォルトで提供されています。

迷惑メールフィルターの影響でメールが拒否された場合にSendGrid上ではDeliveredになっているにもかかわらず、実際にはメールが到達していないこともあります。 そのため結果の集計ができず、トライアンドエラーが難しく、届いていなかったユーザーに届くようになった結果や、問い合わせ数が増えた減ったで判断して行った結果になります。ご了承くださいませ。

ドメイン認証について

SPF,DKIM,DMARCの設定をそれぞれ行いました。

SPF,DKIMはなりすましを防止するために送信ドメイン認証を行う仕組みで、DMARCは認証にチェックしなかったメールをどう扱うかのポリシーを設定するものです。

メール内容について

HTMLメールではなくテキストメールで送る

リッチなHTMLメールの方がコンバージョンが高く良いみたいな話がマーケティングの文脈でよく言われることがあります。 ただ今回送っているメールについてはマーケティングメールではなく、パスワードの設定などを通知するメールのため、リッチであることよりも到達しないリスクを考えてテキストメールで送るようにしています。

リンク先URLは短くする

SendGridではクリックトラッキング有効にするとURLが置換されクエリーパラメーターがついたURLが長くなるため、スパム扱いされてしまっていたことがありました。 クリックトラッキングを特別利用していなかったためOFFにしたところ軽減しました。

リンク先URLのドメインと送信元のドメインを合わせる

送信元のドメインとリンク先のドメインが同一だと、スパムと判定されにくいようです。

送り方について

一度にたくさんのメールを配信するとスパムと判定されやすいようです。 以前はキャリアメールとそれ以外でキューを分けて、キャリアメールのキューに入ったメールに関しては配信速度を遅らせて送信していました。

現在はScheduling Parametersを用いて send_each_at を指定することにより送りたい時間を指定して配信を行うようにしています。

より安心してメールを受け取ってもらうために

より安心してメールを受け取ってもらうために、2021年から提供されているドコモメール公式アカウントの申し込みを行いました。 ドコモメール上で公式アカウントの認証マークがつき安心してメールが受け取ってもらえるようになっています。 www.nttdocomo.co.jp

まとめ

メールの配信についても日々いろいろなトライを行い、到達率をあげてきました。

弊社は トライドリブン という言葉をValueとしています。 顧客へ提供できる価値をあげるために、いろいろなことに挑戦したいというエンジニアは是非ご応募ください。お待ちしております。

www.hrbrain.co.jp