Digital User Engagement Events Database

Customers expect businesses and brands to understand them uniquely and communicate to them with relevant and timely messaging. Rising to meet these expectations, modern data-driven marketers look to data to understand their customers to deliver the right message, on the right channel, at the right time.

Amazon Simple Email Service (Amazon SES) and Amazon Pinpoint provide powerful tools to orchestrate and deliver communications using email, SMS, voice, and mobile push channels. In addition to providing rich dashboards showing aggregate engagement data, both Amazon SES and Amazon Pinpoint allow real-time engagement event streaming to Amazon Kinesis. These events include email sends, email opens, email clicks, email bounces, email spam complaints, SMS sends, SMS failures, SMS opt outs, and custom application events.

Digital User Engagement Events Database automatically provisions and configures the AWS services necessary to start analyzing the real-time stream of engagement data from Amazon SES and Amazon Pinpoint.


The diagram below presents the architecture you can build using the example code on GitHub.

Digital User Engagement Events Database architecture

The code configures an Amazon Pinpoint event stream and an Amazon Simple Email Service configuration set to store event data in Amazon Simple Storage Service (Amazon S3). The Amazon S3 data schema is stored in an AWS Glue Data Catalog enabling data queries with Amazon Athena.

The schema created in the AWS Glue Data Catalog follows data partitioning best practices requiring the new partitions to be added as new data is persisted in Amazon S3.

Digital User Engagement Events Database

Version 1.0.0
Last updated: 06/2020
Author: AWS

Additional resources

Did this Guidance help you?
Provide feedback 



You can configure multiple Amazon Pinpoint projects and multiple Amazon Simple Email Service Configuration Sets to route events into the same database. This allows you to have a centralized database of all of your engagement events across all workloads.

Data partitioning

The code configures the Amazon S3 bucket with an AWS Lambda function trigger that automatically adds new table partitions as files are saved. This follows best practices and helps reduce query costs.


The deployed event can be pulled into visualization tools like Amazon QuickSight to create custom dashboards.
Build icon
Deploy an AWS Solution yourself

Browse our library of AWS Solutions to get answers to common architectural problems.

Learn more 
Find an APN partner
Find an AWS Partner Solution

Find AWS Partners to help you get started.

Learn more 
Explore icon
Explore Guidance

Find prescriptive architectural diagrams, sample code, and technical content for common use cases.

Learn more