Keen.IO allows companies to collect and extract data by using formats and mechanisms that make sense for their business. This means you can throw pretty much any data at Keen and request it back in any way. That’s awesome in-and-of itself, however Keen has a special integration with SendGrid’s Event Webhook that makes it super awesome.

Although SendGrid offers several advanced statistics through our website, and our API, sometimes you want more flexibility or deeper analysis; Keen.IO gives this to you. Keen’s documentation explains how to integrate SendGrid with Keen. Once you’ve integrated, you’ll want to get your data out. I’m going to highlight a few interesting and useful ways to extract data with Keen’s Javascript SDK. Everything I discuss in this post is available in the online demo.

Email Engagement Rate

Determining what percentage of the emails you send out see engagement, can be extraordinarily helpful for determining your sending strategy. Our Events Webhook emits data whenever an email is engaged with, so analyzing the data with Keen is simple.

Email Delivery Funnel

All emails you send go through several steps, often with the end goal being interaction (clicking through to your website). You may monitor this by setting up a Keen Funnel that measures each point of interaction.

Read vs. Unread Email

Similar to the funnel a metric to keep an eye on is the percent of emails read vs. unread. This may be done with Keen’s Javascript SDK (with a little hacking):


Some metrics, are more interesting from an academic perspective. One of the most interesting is Delivery Time, how long email takes to bounce between servers before getting to your user’s inbox. To get and display an approximation of this with Keen you would do the following:

Using this method, you could even find out how long it takes for SendGrid to process a message, by logging the time you sent an email to us, and then subtracting that time from the processed time.

Lookup Events by Email or Email Address

By leveraging Keen.IO’s Data Extractions, you can find out information about a specific email or how a specific email address interacts with your address.

Extractions are a little different than the other Keen objects we’ve been dealing with, in that they aren’t available through Keen’s Javascript SDK. However, they’re still relatively easy to get. In this scenario, I use jQuery.ajax request, but you could cURL, or some other method of grabbing it if you really wanted.

Lookup Events For A Particular Email Address

Lookup Events For A Particular Email

Additional Notes

Keen.IO can be used to further segment emails. Among the easiest is filtering by date range, by using Keen Timeframes. To use a timeframe, you would append the following to the metric parameters:

"start" : "2013-08-01T19:00Z",
"end" : "2013-08-31T19:00Z"

Using SendGrid’s Categories and a Keen.IO filter can help you to segment emails by type:

"property_name" : "category",
"operator" : "eq",
"property_value" : "password_recovery"

Additionally, many of these metrics can be turned into timeseries on Multi-line Charts, and you compare clicks, opens, etc. over time, similar to how what you can do on the SendGrid site.

As I said at the top, once you’ve setup Keen, you can see samples of everything discussed in this post in the online demo.

If Keen.IO isn’t your thing, there are many other companies that will sort, analyze, and return data about your SendGrid email patterns. One in particular, is Zenlytics by Adolfo Builes.

Nick Quinlan is a SendGrid Developer Evangelist based out of San Francisco. He works to make developers lives easier by providing them with the help they need to grow their ideas. Give him a shout, @YayNickQ.