Documentation
Getting started
SES Monitor receives your Amazon SES sending events through Amazon SNS notifications and turns them into dashboards, alerts and reports. Setup takes a couple of minutes, needs no code changes, and SES Monitor can never send email on your behalf. This guide walks you through everything.
Create your account
1
Sign up with your name, email and a password, or log in with Google, Microsoft or GitHub, then pick the plan that fits your sending.
2
Pick a plan or continue on the trial. You can upgrade, downgrade or cancel at any time from your account settings.
3
Connect your Amazon SES using one of the two methods below, and events start flowing in within minutes.
Connect your AWS account
There are two ways to connect. The automatic setup is the fastest; the manual setup is for teams who prefer not to share AWS credentials and would rather configure Amazon SNS themselves.
Option 1: Automatic setup
Provide a name for the integration, an AWS Access Key ID and Secret Key, and your SES region. SES Monitor then creates an Amazon SNS topic in your account and subscribes its own secure endpoint to it, so SES event notifications reach us automatically.
Create a dedicated IAM user for this (for example SESMonitorUser) with these AWS managed policies attached:
IAM user policies
attach directly
AmazonSESFullAccess
AmazonSNSFullAccess
✓
Your credentials are used to create the SNS topic and enable SES notifications. SES Monitor never sends email from your account and never modifies your message content, and you can revoke the IAM user at any time to cut off all access instantly.
Option 2: Manual setup
No AWS credentials required. Provide a name, your SES region and your AWS Account ID, then wire up the notifications yourself in the AWS console:
1
Create an SNS topic in your SES region. Type "Standard", named anything you like (for example SESMonitor_SNSTopic).
2
Create a subscription on that topic with protocol HTTPS and the unique endpoint URL that SES Monitor displays for your integration. The subscription moves from "Pending confirmation" to "Confirmed" automatically.
3
Point SES at the topic. For each sending domain, edit the notification configuration and select your new topic for Bounce, Complaint and Delivery feedback, ticking "Include original headers" for all three.
i
If you use SES configuration sets, you can publish the same event types to the topic through a configuration set instead of per-domain notification settings.
Choose your domains
With the automatic setup, once the SNS subscription is confirmed SES Monitor lists the domain identities in your SES account. Tick the ones you want to monitor and SES Monitor enables Bounce, Complaint and Delivery notifications, with original headers included, on each of them for you.
- Each plan includes a number of sending domains; you can monitor any mix of domains across your integrations up to that limit.
- Archive domains you no longer send from at any time. Archived domains keep their history but no longer count towards your plan's domain limit.
Alerts & digest reports
Everything is configured per user under Settings → Notifications:
Bounce & complaint alerts
An email as soon as new bounces or complaints are recorded
Daily, weekly & monthly summaries
Digest emails of your sending activity at the cadence you choose
CSV attachments
Attach a CSV export of message activity to notification emails
Restrict by sender domain
Only receive notifications for the sending domains you pick
Availability of the CSV attachment and per-domain restriction depends on your plan. The in-app Reports section also gives you day-by-day charts of messages, deliveries, bounces, complaints, opens and clicks, plus a monthly message volume view.
Webhooks
On plans with webhooks enabled, go to Integrations → Webhooks, give the webhook a name and a URL, and choose which events it should receive: deliveries, bounces and complaints. SES Monitor sends a JSON payload to your URL for each event as it's processed:
POST your-url
application/json
{
"type": "bounce",
"timestamp": 1752745286,
"brand": { "name": "Acme", "uuid": "..." },
"webhook": { "name": "My webhook", "uuid": "..." },
"message": { "mailerMessageId": "0107019..." },
"bounces": [{
"recipient": { "email": "user-gone@oldcorp.com" }
}]
}
- Respond with a 2xx status code to acknowledge each delivery. Every attempt and its response is logged against the webhook.
- A webhook that keeps failing (more than 25 failed deliveries) is disabled automatically; check its status on the webhooks page if events stop arriving.
- The URL is fixed once created. To change where events go, create a new webhook and remove the old one.
Open & click tracking
On plans with tracking enabled, SES Monitor records the open and click events that Amazon SES publishes through the same notification pipeline, including the timestamp, IP address and user agent, and marks the related messages as opened or clicked.
!
Open and click events are generated by SES itself, so they must be enabled on the SES side using a configuration set with event publishing pointed at your SES Monitor topic. Note that SES reports opens per message rather than per recipient.
Multiple AWS accounts
You can add as many SES integrations as you need, one per AWS account and region combination, and see every sending domain in a single dashboard. This is how agencies monitor a portfolio of client accounts: each client's AWS account is its own integration, connected automatically or manually as above, and all of them roll up into the same reports and alerts.
Team members & SSO
Inviting team members
Under Settings → Users, invite a colleague by email and choose their permissions. They receive an activation link to set up their login, and invites can be resent if they go missing. The number of users depends on your plan.
Single sign-on
- Google and Microsoft login are available to everyone on the login page.
- On plans with SSO enabled, you can connect Azure AD under Settings → SSO by providing your Azure AD identifier, login URL and x509 certificate. You then get a unique SSO login URL your team can use to sign in and join your account.
Plans & billing
- Billing is handled securely by Stripe. Upgrade or downgrade anytime under Settings → Plan, monthly or annually, with prorated charges when you switch mid-term.
- Your card can be changed at any time, and you can cancel whenever you like; your plan then runs until the end of the current billing period.
- Messages processed above your plan's daily limit are charged at $1 per 1,000 messages, so monitoring never stops on a busy day.
- Need higher limits, longer retention or priority support? Contact us about a custom plan.
API keys
On plans with API access, create up to 5 access keys under Settings → API. Keys can be deleted and reissued at any time. The API surface is still growing; get in touch and we'll help you integrate against the current endpoints.
Need a hand?
We're happy to help with IAM setup, SNS wiring or anything else, and if your account is under AWS review we prioritise you.
Contact us and we'll get back to you quickly.