Infer Engagement with the Event API


Posted on

Infer-Engagement-APIThe standard measurements of email engagement are clicks and opens. Aggregated numbers can tell you how you’re doing overall, or by campaign. Engagement doesn’t just mean your message is resonating with those who receive it. The higher your open and click rates, the more likely it is you are sending to the right people.

A growing factor in whether your email gets to the inbox is how much the people you send to want to receive your email. In other words, if you remove the recipients who don’t want your email, those ones who do want it are more likely to see it. SendGrid’s Event API helps you separate the wanters from the don’t-wanters.

SendGrid’s Event API is a single webhook that pushes data to your system triggered by the emails you send and how recipients (or servers) react to them. For example, every time an email is successfully delivered to an email server, we push a delivered event. If a recipient unsubscribes, we push an unsubscribe event. There are nine events total and they also include click and open. Each event comes with the email address, so you can connect it back to a user. That connection helps you take your engagement data from aggregate to granular. It’s important to know who is or is not engaging.

Best Practices for Inferring Engagement

  • If someone has not opened or clicked an email in several months, stop sending. How often you send will determine your threshold for removing addresses. If you send daily (or more), you might want to remove the unengaged after two or three months.
  • Try scaling back the email before removing a recipient. Maybe you’re just sending too often. Step the frequency down from multiple times a day to a daily digest to a weekly digest.
  • Send a re-engagement campaign. Also called a win-back campaign, you can periodically send a special message to those who haven’t engaged. Give them another chance to show they want your email before removing them.

How the Event API Helps

The great thing about SendGrid’s Event API is it provides a firehose of data for you to use however you want. Customers have integrated email data into their internal dashboards and used it to determine the best times to send by individual recipients. For inferring engagement, consider one of these approaches:

  • Collect and query. Listen for delivered, click and open events. As events come to the endpoint you assign for the event webhook store it in your database or use a service like Keen IO’s SendGrid integration. Periodically query this dataset to find email addresses with at least one delivered event but not a single open or click event over a period of time. Those are your targets to re-engage or remove.
  • Instantly update. Listen for click and open events. As these events arrive at your endpoint, update a last_engaged column in your database corresponding to this email address. Periodically query your users for those containing a last_engaged value beyond your desired threshold.

Your customers are telling you whether they want to be contacted. You just need to be listening. The SendGrid Event API helps you infer an individual recipient’s engagement. Armed with this data, you can adjust your sending practices accordingly on an individual level. The result is a more engaging email program, which should improve both your deliverability and your business.

To learn more about how SendGrid’s Event API can help your email program, join me for a free interactive webinar: SendGrid’s Event API: Automate the Next Level of Email Sophistication on Tuesday, July 30th at 1 PM EDT. Even if you can’t attend, sign up to receive a free copy of the recording and slides after the presentation.


Adam DuVander speaks fluent "developer" while serving as Developer Communications Director. He helps SendGrid connect to coders of all stripes. Previously Adam wrote for Wired, Webmonkey and edited ProgrammableWeb, the leading resource for APIs.

Adam DuVander on Twitter

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>