株式会社クラウドワークス

日本最大級のクラウドソーシングサイトを運営する株式会社クラウドワークス様では、通知メールや、マーケティングメールなど、様々なメールの送信にSendGridを利用いただいています。
CIOの大場光一郎様に、SendGrid導入に至った経緯、トラブル、効果など赤裸々に語っていただきました。

detail_photo01

クラウドワークスCIO 大場光一郎様

SendGrid導入までの経緯

– メールを送信する場面や、送信数について教えてください。

クラウドワークスではWebプラットフォーム側から送信するトランザクションメール(サインアップの確認、更新通知等)と、ニュースレター等のマーケティングメールの2種類のメールを送信しています。
元々は自前で管理しているPostfixを使用していましたが、メールの送信通数の増加に伴い、メールを組み立てて送るという一連の処理に時間がかかるようになり、改善する必要が出てきました。

  • 自社管理のPostfixを強化する
  • クラウドサービスを利用する

という選択肢がありましたが、インフラをコードで管理するというInfrastructure as codeを進めていくうえで、その中にメールサーバを入れるというのもできないことではないですが、DNSにIPアドレスをある程度固定して登録する必要があったり実現に払うコストとそれに対するメリットが合わないのではないか、そもそもメールサーバを自分たちで運用したくない、サービス開発に集中したいというのがあり、SendGridのようなメール配信サービスの検討を始めました。

– その時にはどんなサービスを検討したのでしょうか

Amazon SES, Mandrill, Mailgun, SendGridといった海外のクラウドサービスをメインに比較しました。結局その時はマーケティングメールをメインに考えていてコストと効果のバランスで的なもので導入自体は見送ったのですが、そこから1年程度たった頃、更に状況としてマーケティングメールに加えてWebプラットフォームのメール送信にも送信時間など大きな課題がでてきていよいよ移行しないとやばいなと。また、新規事業を始める話もありイチからインフラを構築できる環境では流石にPostfixを立てて管理するのはやめようというのもありました。

– SendGridを選んだ決め手はどんなところでしょうか

まずは、費用対効果ですね。コストを理由に一旦見送ったわけではありますが、SendGridでは送信量が大きくなればなるほど安くなる価格構成になっているので、そのころの送信量では見合うものになってきていました。

SendGridの機能の決め手としては、現行環境からの移行のしやすさがあげられます。SMTPもWeb APIも両方使えるので、既存のPostfixで流しているメールをまずSMTPでリレーするように切り替えてシームレスに移行が可能で、さらにはSendGrid独自の機能を使いたいときでもX-SMTPAPIを使うこともできる。なので、既存の環境からの移行をスムーズに行うことができました。また、さらに多くのメール配信が必要なケースではWeb APIを活用して高速な配信も可能です。
固定IPアドレスが割り振られることで、IPアドレスの信頼性の源泉であるレピュテーションをきちんと自分たちで管理できるというのも大きかったです。あとはお客様で携帯キャリアアドレスを使用している方はまだまだ多いので、日本の携帯キャリアにも安心して届けることができるというのも重要でした。

最後にやはり、日本代理店があって、日本語で色々質問ができる、サポートしてもらえるというのが決め手になりました。実際に導入にあたっての不安から細かな挙動についての質問についても非常にレスポンス良く回答がいただけて不安を払拭することができましたし、導入後も丁寧なサポートにいつも感謝しております。

– ありがとうございます

detail_photo01

恐怖のブラックリスト

– 移行を進める上で、ブラックリストにのってしまうというトラブルがありましたね、それについてお聞かせいただけますでしょうか

はい。いきなり移行はせずにレピュテーションを少しずつ上げていくために事前に流量をコントロールする準備をしてSendGridでの送信を始めた段階で、送信に使っていたIPアドレスが全てSpamhausのブラックリストに掲載されてしまい、一切のメール送信ができなくなってしまいました。既存のメールサーバからSendGridのものまで全てです。安全に移行するための綿密な計画を立てていたと思っていた矢先でしたので衝撃でした。

すぐにSendGridサポートに連絡をして何が発生しているのかを確認したところ、これまでに送信していた宛先リストの中にスパムトラップが含まれており、そこに送信し続けた結果としてSpamhausに掲載されるに至ったと考えられるということでした。

送信を再開するためには、スパムトラップをリストから取り除く必要があったんですが、それが大変でした。サポートからのアドバイス通りReconfirmation Campaign(再確認メールの送信)を実施しました。これは、スパムトラップは開封やクリックはしないという特性を利用したもので、宛先リスト全員に対し一斉にメールを送り、開封やクリックをしたアドレスのみを、クリーンなアドレスとして今後も送信して良い対象とする。というものでした。開封やクリックの確認にはSendGridのEvent Webhookを利用しました。

当然ながらリストのサイズが大幅に減ってしまいましたが、リストをクリーンに保つことの重要性をマーケ担当者とも共有ができ、それは今もすごく活きていると感じています。メール送信通数だけをKPIとしてしまうと届こうが届くまいが、開封しようがしまいがひたすら量を送り続ける、となりがちですが、マーケティングの効果として、エンゲージメントを測定するという姿勢が根付くのによい経験だったと思います。

– その後、リストをクリーンに保つためにどういったことをされているのでしょうか?

Reconfirmation Campaignを何度か実施したのと、リストを綺麗に保つためにクリーンなアドレスを抽出できる仕組みを作りました。SendGridのEvent WebhookをAWSのAPI Gatewayを使って受付け、Lambdaを使って開封とクリックの確認が取れたアドレスのみをDynamoDBに蓄積するようにしています。メルマガを送るときには、そのリストと付きあわせて安全な宛先のみに送信するようにしています。

detail_photo03

リストをクリーンにためつための仕組み

イベントデータの有効活用

– 開封とクリックの確認が取れているアドレスということは常時アクティブな対象がわかるということですし、マーケティングの観点からも有効そうですね。

はい、しかも全てマネージドサービスを組み合わせただけで構築に工数もかからなかったのでおすすめです。

– その他SendGridの機能で活用されているものがあったら教えてください

送信しているメールそれぞれにCategoryをつけてその後の送信に活かしています。このメールを開封した人にはこのメール、そうでない人にはこのメールといったセグメント分けが簡単にできるようになったのが大きいです。
Event Webhookを使って様々なデータがとれるようになったことにより、これまでトレースできていなかったことが見えるようになりました(開封やクリックに限らず、エラーについても)。

– 今後リリースされる予定のMarketing Campaignではその辺りの管理が簡単にできるので、こちらもご活用いただければ幸いです。今後もお客様の声をもとに機能改善を図っていきますので、引き続きよろしくお願いいたします。今日はありがとうございました。

ありがとうございました。

インタビュー日:2016年6月17日

■関連サイト