SendGrid のマーケティング メール機能について

クロスワープの大鷲です。

前回に続き、今回は SendGrid のマーケティング メール機能について紹介します。

おさらいですが、SendGrid のメール送信機能は、大きく 2 つに分けられます。
一通ごとに内容が異なる「トランザクション メール」と、多数のユーザーに同じ内容(多少のカスタマイズは可)で送られる「マーケティング メール」です。
今回 MODD ではメール マガジン機能のバックエンドとして利用するので、マーケティング メール機能を使うことにしました。

2 つのマーケティング メール機能

SendGrid Web API には、v2 と v3 という 2 つのバージョンがあります。
v2 も引き続き使用可能ですし、v3 はまだ開発途上のため欠けている機能があり、それらに関しては v2 を使わざるを得ません。
しかし、今後の機能追加や改善は、新しい v3 を中心に行われると思われますので、両方のバージョンで重複して提供されている機能に関しては、v3 を使う方がよいでしょう。
v3 API は、しばらくすると増えていることもありますので、SendGrid API を使って開発される方は、こまめにドキュメントをチェックすると良いと思います。

マーケティング メール機能にも、v2 と v3 があります。
v2 の方は、API ドキュメントでは Legacy Newsletter と呼ばれています。レガシーです。
v3 の方は Marketing Campaigns と呼ばれており、今回 MODD で採用したのはこちらになります。

ここからが注意すべきポイントです。
現状、構造計画研究所や Microsoft Azure を通したリセラー契約では、v3 の Marketing Campaigns 機能を使うことができません。直接契約でのみ利用できます。
これが MODD で直接契約を採用した最大の理由です。
もちろん、これは現時点での制約であり、今後はリセラー契約でもサポートされる可能性はあります。

なお、Marketing Campaigns 機能はプランにかかわらず(Free Plan でも)利用可能です。

価格体系

本記事はあくまでも参考資料として扱い、価格や契約に関して疑問がある場合は、必ずサポートにお問い合わせください。
本記事の内容が誤っていた場合でも、筆者及び当社は一切の責任を負いかねますことをご了承ください。

ここからは直接契約を前提とします。

前回、料金プランについて簡単に説明しましたが、Marketing Campaigns 機能を使うと、さらに追加料金がかかります。
SendGrid のサービスは

  • 月額基本料
  • 送信上限数を超過した分の従量課金

でお金がかかりますが、Marketing Campaigns では、さらに

  • 送信先の数

に応じた料金が上乗せされます。

詳しいことは後で改めて説明しますが、Marketing Campaigns 機能は、まずメールの送信先アドレスを登録しなければなりません。
この登録件数に応じて料金がかかるわけです。

f:id:cw_owashi:20160525172641p:plain

PRICING のページに説明がありますが、

  • 10,000 送信先ごとに $10
  • 最初の 2,000 送信先は無料

という価格設定になっています。
つまり、

  • 最初の 2,000 件までは無料
  • 2,001 ~ 12,000 件まで $10
  • 12,001 ~ 22,000 件まで $20
  • 以下同様

ということです。*1

これが毎月かかります。
メルマガを一通も送らなかった月も、送信先が登録されている限りは請求されますので注意が必要です。

また、対象となる件数は、「その月に登録されていた最大件数」です。
つまり、同一月内に

  1. 10,000 件のアドレスを登録して送信した
  2. 8,000 件の登録を削除した

という場合、残っている件数は 2,000 件ですが、10,000 件登録されていたことがあるので、$10 かかります。
月末時点で 2,000 件しかなかったからといって無料にはなりません。

また、マーケティング メールも、送信メール件数にはカウントされ、上限を超えた分に関しては超過料金がかかります。
特にメルマガは、同内容のメールを数万通送信することもありますので、残り件数には注意してください。

トランザクション メールではダメなの?

最初はトランザクション メール機能を使うことを検討しました。
しかし、MODD でメール マガジン機能として採用するには、3 つの問題がありました。

ひとつは、送信予約日時の制限。
即座に送信するのではなく、未来の日付を指定して送信予約をすることが可能ですが、トランザクション メールでは 7 日先までしか予約することができません。
マーケティング メール機能であれば、期間の制限はありません。

もうひとつは、予約取り消しの制限。
トランザクション メールの場合、取り消し可能な予約は 10 件までという制限があります。
何件でも予約することだけはできるのですが、取り消し可能な形で予約できる件数には上限があるのです。

MODD は E コマースのプラットフォームであり、メルマガをいつ、何件くらい送信するかや、キャンセルするかしないかはお客様が決定することですので、これらの制限は致命的でした。

今にして思えば、これらの制限は回避可能であったかもしれません。
たとえば、MODD の管理画面で送信予約されたタイミングでは SendGrid への予約をせず、配信日時の少し前まで登録を遅延させるといった処理を行えば、いずれの制限も回避できそうに思います。
登録を遅延させる処理は、Marketing Campaigns でも有用だと考えられます。
Marketing Campaigns は、送信しなくても登録しただけで費用が発生します。
そのため、登録はしたけれどキャンセルしたとか、来月送信予定のものを今月登録したというような場合に、登録を遅延させていれば、費用を削減することができるはずです。
今後、こうした改善に取り組んでいきたいと考えます。

3 つめは、タイムラグの問題です。
E コマース システムでのメール マガジンですので、例えば「今からセール開始です」といったメールを送ることも想定されます。
そのようなメールを数万通配信するとしたらどうでしょうか?
最初の受信者と最後の受信者の間にタイムラグが開いてしまうと、それが原因で買えなかったということになりかねません。
トランザクション メール API でも単一のリクエストで複数のアドレスに送信することはできますが、一度に送れるのは、v2 では 3,000 人まで、v3 ではなんと 100 人までに制限されてしまっています。
一方、Marketing Campaigns では、同時送信可能数に制限はありません。
また、導入事例として、16 万通のメールを 3 ~ 4 分で送信しきったという例が紹介されており、実績としては十分だと考えました。
ひょっとすると、トランザクション メール機能でも、送信を並列化するといった作り込みを行えば、同時に数万通送ることが可能かもしれません。
しかし、それは少なくないリスクを伴います。
そこで今回は素直に、Marketing Campaigns を採用することにしました。

まとめ

マーケティング メール機能についてご紹介しました。

  • v2 と v3 の 2 つの API があります
  • v3 は現状ではリセラー契約では利用できません
  • 追加料金がかかります

次回は実装寄りの話をさせて頂きます。

*1:Free Plan では 2,000 件までしか登録できません。