Monitoring AWS SES Reputation with CloudWatch Alarm: Recommended Thresholds

1. What is SES Reputation?

AWS SES monitors your sending reputation, which affects email deliverability. Reputation is mainly influenced by:

  • Bounce Rate (SES:Reputation.BounceRate) – Too many bounces can lead to account restrictions.
  • Complaint Rate (SES:Reputation.ComplaintRate) – Recipients marking your emails as spam will negatively impact your reputation.

A high complaint rate can cause SES to temporarily or permanently restrict your sending ability.


2. Recommended SES Reputation Thresholds

AWS SES recommends keeping both bounce and complaint rates low.

MetricSafe LevelWarning LevelCritical Level (SES Restriction Risk)
Bounce Rate (SES:Reputation.BounceRate)< 1.0%1.0% – 2.0%> 2.0% (High Risk 🚨)
Complaint Rate (SES:Reputation.ComplaintRate)< 0.1%0.1% – 0.3%> 0.3% (High Risk 🚨)

Important:

  • AWS SES may throttle or suspend your account if your complaint rate exceeds 0.3%.
  • Complaint rate issues should be resolved immediately by removing affected recipients and improving email targeting.

3. Setting Up CloudWatch Alarms for SES Reputation Metrics

SES provides two key metrics in CloudWatch:

  • SES:Reputation.BounceRate → Monitors bounce rates
  • SES:Reputation.ComplaintRate → Monitors complaint rates

CloudWatch Alarm for Bounce Rate

aws cloudwatch put-metric-alarm \\
  --alarm-name "SES-BounceRate-Alarm" \\
  --metric-name "Reputation.BounceRate" \\
  --namespace "AWS/SES" \\
  --statistic "Average" \\
  --threshold 0.02 \\
  --comparison-operator "GreaterThanOrEqualToThreshold" \\
  --evaluation-periods 1 \\
  --period 3600 \\
  --alarm-actions "arn:aws:sns:your-region:your-account-id:your-topic"
  • Triggers an alarm if bounce rate exceeds 2.0% (0.02)

CloudWatch Alarm for Complaint Rate

aws cloudwatch put-metric-alarm \\
  --alarm-name "SES-ComplaintRate-Alarm" \\
  --metric-name "Reputation.ComplaintRate" \\
  --namespace "AWS/SES" \\
  --statistic "Average" \\
  --threshold 0.003 \\
  --comparison-operator "GreaterThanOrEqualToThreshold" \\
  --evaluation-periods 1 \\
  --period 3600 \\
  --alarm-actions "arn:aws:sns:your-region:your-account-id:your-topic"
  • Triggers an alarm if complaint rate exceeds 0.3% (0.003)

4. What to Do If Reputation Metrics Are Too High

(1) If Bounce Rate Is Too High (> 2.0%)

Solution:

  • Remove invalid email addresses immediately from your mailing list.
  • Use email verification services (e.g., Amazon SES Email Verification, ZeroBounce).
  • Enable SNS bounce notifications to monitor failed deliveries.

(2) If Complaint Rate Is Too High (> 0.3%)

Solution:

  • Identify and remove users who report your emails as spam.
  • Ensure emails only go to users who have explicitly opted in.
  • Improve email content quality, making sure it is relevant to recipients.
  • Add an easy-to-use “Unsubscribe” link in every email.

(3) Implement SNS Notifications for Automated Handling

To respond quickly to issues, set up SNS notifications for SES reputation events:

  1. Create an SNS topic (ses-reputation-alerts).
  2. Subscribe your email or Lambda function to receive notifications.
  3. Configure AWS SES to send bounce and complaint events to SNS.

5. Summary: Best Reputation Thresholds for CloudWatch Alarms

MetricWarning AlertCritical Alert (High Risk 🚨)
Bounce Rate (SES:Reputation.BounceRate)1.0% (0.01)2.0% (0.02)
Complaint Rate (SES:Reputation.ComplaintRate)0.1% (0.001)0.3% (0.003)

By implementing these thresholds, you can ensure AWS SES maintains a good reputation and avoid sending restrictions