はじめての配信停止リンク
- 2023年11月30日
- by 永田優希
- Category: 機能・使い方
はじめに
キャンペーンメールなどを受け取った際、下部にこのようなリンクを見かけると思います。
これは、以後そのサービスからメールを受け取らないという意思表示をするための手段で、一般的に配信停止リンクと呼びます。Twilio SendGridを使うと、本文に配信停止リンクを容易に設置できるうえ、受信者が一度リンクをクリックするだけで以降のメールは自動的に送信されなくなります。
簡単に配信停止されては困ると思うかもしれませんが、実は簡単であるほど望ましいのです。メールを受け取るかどうかを受信者が選びやすくしておくことが重要です。
逆に、配信停止リンクを設置しない、あるいは配信停止手続きが煩雑なまま望まれないメールを送り続けると、配信停止する代わりに迷惑メール報告されてしまう恐れがあります。その結果、レピュテーション(宛先サーバからみた送信者の評価)が低下し、受信を希望する他の宛先にもメールが届かなくなる可能性があります。配信停止リンクは必ず設置しましょう。
迷惑メール報告がレピュテーションに与える影響についてはこちらのブログをご参照ください。
SendGridでは、配信停止に関連する3つのタグを提供しています。これらのタグを本文に挿入することで、配信停止リンクや購読管理ページのリンクをメールに含めることができます。
- Global Unsubscribes(全メールの配信を停止)
- Group Unsubscribes(特定の種類のメール配信を停止)
- Preference Center(受信者自身による購読管理)
Global Unsubscribesは強力な機能であり、配信停止リンクをクリックした受信者への全てのメール配信が停止してしまいます。ポリシー変更などの重要なメールも届けることができなくなってしまうため、実際には使いにくいケースが多いでしょう。そこで今回は、メールの種類(配信停止グループ)ごとに配信停止を管理できるGroup Unsubscribesの利用方法をご紹介します。
Group Unsubscribesの設定方法
配信停止グループを設定したメールを送信するためには以下の3ステップが必要です。
- 配信停止グループを作成する
- メール本文に配信停止タグを挿入する
- 配信停止グループを指定して送信する
メールの送信方法ごとに説明します。
マーケティングキャンペーン機能での設定方法
1. 配信停止グループを作成する
ダッシュボードで簡単に配信停止グループを作成できます。詳しくはこちらのドキュメントをご参照ください。
2. メール本文に配信停止タグを挿入する
メール本文内に配信停止タグを配置しましょう。
Design Editorの場合、Unsubscribeモジュールはデフォルトで挿入されています。
Unsubscribeモジュール内の項目には送信時に自動で値やリンクが設定されるため、モジュールを配置するだけでOKです。
なお、Design Editorでは「Unsubscribe」などの表記は変更できないため、日本語で設定したい場合はUnsubscribeモジュールではなくTextモジュールを使用する必要があります。詳しくはこちらのブログをご参照ください。
Code Editorの場合、以下のようにUnsubscribeモジュールを挿入します。使用可能なタグについてはこちらをご覧ください。
<html> <head> <title></title> </head> <body> <div data-role="module-unsubscribe" class="module" role="module" data-type="unsubscribe" style="color:#444444; font-size:12px; line-height:20px; padding:16px 16px 16px 16px; text-align:Center;"> <p style="font-size:12px; line-height:20px;"> <a class="Unsubscribe--unsubscribeLink" href="[unsubscribe]" target="_blank" style="font-family:sans-serif;text-decoration:none;"> Unsubscribe </a> - <a href="[unsubscribe_preferences]" target="_blank" class="Unsubscribe--unsubscribePreferences" style="font-family:sans-serif;text-decoration:none;"> Unsubscribe Preferences </a> </p> </div> </body> </html>
3. 配信停止グループを指定して送信する
作成したメールをどの配信停止グループで送信するかを指定します。SettingsタブのRECIPIENTS > Unsubscribe Groupで配信停止グループを選択してください。
これで、配信停止グループリンクを設定したメールを送信できます。「Unsubscribe」がGroup Unsubscribesのリンク、「Unsubscribe Preferences」がPreference Centerのリンクに置き換えられます。
Web APIでの設定方法
1. 配信停止グループを作成する
ダッシュボードで配信停止グループを作成します。マーケティングキャンペーン機能と同じ方法でも作成可能ですが、Settings > Suppresions > Unsubscribe Groupsからも作成できます。詳しくはこちらのドキュメントをご参照ください。
また、作成した配信停止グループのGROUP IDは、送信時に使うため控えておいてください。
2. メール本文に配信停止タグを挿入する
メール本文に配信停止タグを挿入します。メール送信時にこのタグが配信停止リンクに自動で置換されます。具体的には、以下3.の “content”のように記載してください(引用符「”」のエスケープが必要です)。
Dynamic Templateを使用する場合は、Design Editor、Code EditorともにデフォルトでUnsubscribeモジュールが挿入されているため、新たに配信停止タグを挿入する必要はありません。Unsubscribeモジュール内の項目には送信時に自動で値やリンクが設定されます。
3. 配信停止グループを指定して送信する
以下の例のようにリクエストボディ内に”asm”パラメータを記載します。ここで
“group_id”の数字部分を1.で控えておいたGROUP IDの値に書き換えます。
{ "personalizations":[ { "to":[ { "email":"to@example.com", "name":"recipient" } ] } ], "from":{ "email":"from@example.com", "name":"sender" }, "subject":"test", "content":[ { "type":"text/html", "value":" <a href=\"<%asm_group_unsubscribe_raw_url%>\">配信停止する</a>" } ], "asm":{ "group_id":00000 } }
なお、Group unsubscribeではなくGlobal unsubscribeを利用している場合であっても、”asm”パラメータ及びgroup_idの指定が必要です。指定がないと本文中のタグがリンクになりません。
上のリクエストで送信したメールはこのようになります。
Dynamic Templateを使用する場合は、以下のようにリクエストボディの中でテンプレートIDを指定してください。テンプレートIDの取得方法はこちらをご確認ください。
{ "personalizations":[ { "to":[ { "email":"to@example.com", "name":"recipient" } ] } ], "from":{ "email":"from@example.com", "name":"sender" }, "subject":"test", "template_id": "d-0123456789abcdef0123456789abcdef", "asm":{ "group_id":00000 } }
SMTP APIでの設定方法
SMTP APIでの設定方法はWeb APIでの設定方法とほぼ同じですが、メール送信時に配信停止グループを指定する記法が若干異なります。以下のシェルスクリプトのように、配信停止グループの情報を“X-SMTPAPI”ヘッダに書き込む必要があります。”group_id”の数字部分をGROUP IDに書き換えてください。
#!/bin/sh host=smtp.sendgrid.net port=587 user=YXBpa2V5 password=$(echo -n $SENDGRID_API_KEY | openssl base64 -A) to=to@example.com from=from@example.com function mail_input { echo "EHLO localhost" echo "auth login" echo "$user" echo "$pass" echo "mail from: $from" echo "rcpt to: $to" echo "data" echo "Content-Type: text/html" echo "X-smtpapi:{\"asm_group_id\": 00000}" echo "To: recipient <to@example.com>" echo "From: sender <from@example.com>" echo "Subject: test" echo "" echo "<html><body><a href=\"<%asm_group_unsubscribe_raw_url%>\">配信停止する</a></body></html>" echo "." echo "quit" } mail_input | nc $host $port
これでWeb APIの場合と同様に配信停止リンクがメール本文に設置されます。
おわりに
配信停止グループを設定したメールを送る手順を、送信方法ごとにご紹介しました。これを参考に配信停止リンクを設置したメールを送信してみてください。
最後に、配信停止をさらに便利にカスタマイズするための機能や参考になるブログ記事を紹介します!
Preference Center
SendGridが標準で提供しているPreference Centerでは、作成済みの配信停止グループの中から受け取りたいメールを受信者自身が選ぶことができます。配信停止グループの設定に加えてPreference Centerの利用をおすすめします。
Custom Unsubscribe Link(マーケティングキャンペーン機能のみ)
Custom Unsubscribe Linkは、配信停止リンクの遷移先を任意のURLに変更できる仕組みです。SendGrid標準の配信停止管理機能を使用せずに独自で管理したい方向けの機能です。
配信停止タグの使い分け
今回使用したタグ以外にも複数の配信停止タグが用意されています。ご自身の用途に適したタグをご利用ください。