新しくなったActivityを使いこなそう〜ダッシュボード編
はじめに
2024年4月、弊社(株式会社構造計画研究所)経由でご契約いただいたTwilio SendGridアカウントのActivity機能がリニューアルされました。今回はその変更点の概要と活用例、注意点を詳しく解説します。Activity画面の使い勝手が変わって困っている人や、これから本格的に活用したいと考えている方にとって、有益な情報が得られるはずです。
この記事は、メールのイベントの意味をある程度把握していて、Activityを触ったことがある方を想定読者としています。イベントの種類について詳しく知りたい方は、はじめに弊社が提供しているチュートリアルをご覧ください。動画では基本的な操作手順も紹介しています。まずは基礎的な情報を学んだ上で、この記事を読むことをおすすめします。
表示されるデータ構造の変化
動画でも紹介しているように、新Activity画面では検索時に指定できる条件の種類が大幅に増加しました。この変化に気をとられがちですが、同時に、検索結果に表示される情報の変化に気づいた方もいるかもしれません。この情報の単位を理解するのが、新Activityを使いこなすためのポイントです。
旧Activityは表示の単位がイベントでした。つまり、送信された全てのメールに関するイベントが時系列順に表示されていました。メールアドレスでしか絞り込みができなかったため、同じ宛先に複数のメールが送信されている場合、どのイベントがどのメールに紐づくものなのかを判断するのが難しいという問題がありました。
新Activityでは、表示の単位がメール単位に変更されました。つまり、画面上の1行が1通のメールに対応しています。そして各行に、そのメールに関する様々な情報が含まれています。例えば、メールの内容に直接関係する情報(宛先、送信元メールアドレス、件名 etc)、関連するメタデータ(使用したAPIキー、テンプレートID etc)、配信状況を示すステータス、そして実際に発生したイベント群(従来のActivityで表示されていたもの)などです。詳細な情報は、各行をクリックすると確認することができます。
Activityの表示データの概要を下図に示しました。3つある横長の黒い四角が各メール(つまり、新Activity画面の1行1行で表示される情報)に対応します。メールには、宛先、送信状況(ステータス)、どんなイベントが発生したのか、などの情報が含まれます。図の一番下は3つのメールで発生した全てのイベントを時系列順に並べたもので、これが旧Activityで表示されていたものでした。メールごとの情報がより整理された形で表示されるようになったことがわかるかと思います。
この変更により、Activityは「イベント主体」から「メール主体」になり、「イベント発生を確認するもの」から「送信した各メールの配信状況を確認するもの」に変わったといって良いでしょう。メールに関するあらゆるメタデータ(メールアドレスや件名、テンプレートIDなど)との紐付けが容易になったので、特定のテンプレートを使用したメールの配信状況を確認したい場合や、特定の件名のメールがどの程度開封されているかを調べたい場合など、より詳細な絞り込みが可能になりました。
検索のユースケースと指定例
ここからは、具体的な例を挙げて検索方法を紹介します。検索条件としては、以下に挙げたフィルタの利用をおすすめします。
- API Key ID(APIキーのID)
- API Key Name(APIキー名)
- Campaign ID(マーケティングキャンペーン機能で送信したメールのキャンペーンID)
- Campaign Name(マーケティングキャンペーン機能で送信したメールのキャンペーン名)
- Categories(送信時に指定できるカテゴリ)
- Dates(そのメールの最後のイベント発生日時)
- Events(そのメールにおいて発生したイベント)
- From Email(送信元メールアドレス)
- Message ID(SendGridがメールを一意に識別するための「SendGrid Message ID」)
- Number of Clicks(クリック数)
- Number of Opens(開封数)
- Sending IP Address(送信元IPアドレス)
- Status(メールの送信状況)
- Subject(件名)
- To Email(宛先メールアドレス)
- Transactional Template ID(テンプレートを利用して送信したメールのテンプレートID)
- Unsubscribe Group ID(配信停止グループを指定して送信したメールの配信停止グループID)
- Unsubscribe Group Name(配信停止グループを指定して送信したメールの配信停止グループ名)
いずれも「Advanced Search」(検索枠の右上の「Basic Search」をクリックすると切り替え可能)を利用すると選択できます。
メールが届いたかどうか確認する
メールが届いたか届いていないかを選別するには、Statusを使うのが便利です。Statusは、Delivered(宛先サーバが受理済み)、Processing(SendGridが送信処理中)、Not Delivered(送信失敗)の3種類からなります。以下のように「Status」「Is」「Not Delivered」という条件で検索すれば、送信に失敗したメールのみに表示を絞り込むことができます。
Statusに限らず、選択式のフィルタは複数選択が可能で、複数選択するとOR条件で検索されます。例えば、以下のようにNot DeliveredとProcessingを選択すると、StatusがNot DeliveredまたはProcessingのメールが表示されます。これは条件を「Status」「Is Not」「Delivered」として検索するのと同じです。なお、「Status」「Is」「Not Delivered」と「Status」「Is Not」「Delivered」は厳密には条件が異なるので注意してください。後者にはProcessingのメールが含まれますが、前者には含まれません。
特定の宛先に送信したメールの状況を確認する
特定のメールアドレス宛のメールの送信状況を知りたい場合は、To Emailを使って指定します。目的のメールが一覧に表示されたら、STATUSがDelivered、Processing、Not Deliveredのどれであるかを確認し、必要に応じて結果をクリックして詳細を確認してください(詳細はチュートリアルをご参照ください)。
あるドメインのメールを全て表示させたい等、部分検索をしたい場合は、「Is」ではなく「Contains」を使います。
特定のイベントが発生したメールを抽出する
開封やクリックなど、特定のイベントが発生したメールを抽出する場合はEventsを利用します。以下のように指定すれば、保持されているメールのうちクリックが発生したものが表示されます。
同じ条件式の中に複数のイベントを指定すると、上述の通りOR条件になります。以下は、BlockかBounceのいずれかが発生したメールの抽出例です。
「Is Not」で複数のイベントを指定すると、指定したイベントのいずれも発生していないメールの抽出になります。上の例で「Is」を「Is Not」に変えて検索すると、BlockとBounceのどちらも発生していないメールになります。
期間を指定する
Datesを使うと日単位で期間指定が可能です。このとき、各メールの最新のイベントの発生日で絞り込まれることに注意してください。例えば、イベントがProcessed、Delivered、Open、Clickの順で発生していた場合、Clickの発生日が絞り込み対象となります。したがって、指定した期間内にClickが発生していなければそのメールは表示されません。
8月5日に送信したからといってDatesを8月5日に限定してしまうと、8月6日以降にイベント(OpenやClickなど)が発生したメールは絞り込みの対象外になってしまいます。イベントがいつ発生するかは受信者側の挙動によるので、もれなく結果を確認するにはDates以外のフィルタで絞り込むことをおすすめします。
複数条件を指定した応用例
ここからは、条件をいくつか指定して検索する例を紹介します。
あるテンプレートを利用して、特定の宛先に送信したメールの状況を確認する
トランザクションメールでは、メールの種類ごとにテンプレートを用意している場合も多いかと思います。ある宛先に送信した特定の種類のメールの状況を知りたい場合は、そのテンプレートのIDをTransactional Template IDに、宛先メールアドレスをTo Emailに入力して検索すると良いでしょう。テンプレートIDは、ダッシュボード左側メニューのEmail APIの各ページから内容を確認し、コピーしてください。
なお、Activityで複数の条件を指定すると、デフォルトではそれらを全て満たすメールが検索されます。上部左側の「all」をクリックするとOR条件に変更することも可能です。
あるキャンペーンで、開封はしたがリンククリックはしていないメールを抽出する
OpenやClickの発生はEventsとして指定できますが、開封・クリックの発生回数も別の指標(Number of Opens、Number of Clicks)として記録されています。以下の条件では、マーケティングキャンペーン名が「2024年8月キャンペーンメール」で、Number of Opensが0よりも大きく(=1以上)、Number of Clicksが0であるメールを抽出しています。
遅延しているメールの状況を確認する
一斉送信メールが現在進行形で遅延してしまい、どの宛先に届いていないのか確認したいことがあるかもしれません。その場合、StatusにProcessing(処理中)を、EventsにDeferredを指定して検索すると良いでしょう。これにより、まだ送信処理が完了していないメールのうち、遅延(Deferred)が発生しているメールを抽出することができます。
また、Status欄にProcessingの代わりにDeliveredを指定すれば、遅延した結果宛先に届いたメールが抽出でき、Not Deliveredを指定すると、遅延した結果届かなかった(Blockイベントが発生した)ものを抽出できます。
CSVダウンロード機能
新Activityでは、検索結果をCSV形式でエクスポートできるようになりました。下図の赤枠で示した「Export CSV」ボタンをクリックすると、ログインしているアカウントのメールアドレス(Teammateでログインしている場合はTeammateのメールアドレス)にメールが届きます。ダッシュボードにログインした状態でメール内の「Download」ボタンをクリックすると、イベントデータをCSV形式でダウンロードできます。CSVを作成する必要があるため、メールが送信されるのに少し時間がかかることに注意してください。
CSVにはActivityで絞り込まれたメールのデータのみが記載されるので、取得したいデータを絞り込んだ後に「Export CSV」ボタンをクリックしましょう。
また、画面表示(1つのメールにつき1行)とは異なり、CSVは1イベント1行で出力され、絞り込んだメールで発生した全てのイベント情報が含まれます。「message_id」でメールを一意に特定することができるので、メールごとの状況を調べるにはmessage_idをキーとして集計する必要があります。
おわりに
今回は新Activityの変更点の概要と、検索事例を紹介しました。
新Activityでは各メールの状況が把握しやすくなった一方、イベントベースでの検索はしにくくなりました。例えば、ある時間帯にこのイベントが発生したメールを抽出したい、という検索ができません。
また、データの保存期間には上限があり、FreeとEssentialsプランでは3日間、Proと50MまでのPremierプランでは7日間となっています。データを蓄積して後から参照したい場合は、以前と同様Event Webhookを活用することをおすすめします。
なお、「Additional Email Activity History」のオプションを申し込むと、保存期間を30日間に延長することができるほか、Activityの新しい検索機能をAPI経由でも利用できるようになります。APIの使い方は後日またブログでご紹介したいと思います。
今回紹介した検索方法を参考に、配信状況を手軽に調べる手段として新Activityをぜひご活用ください!