Question: "How can I monitor the opens, clicks, and bounces from emails that I send using Amazon SES?"

I want to be notified about the following events from emails that I send using Amazon Simple Email Service (Amazon SES):When a recipient opens an email, and how many times recipients open my emailsWhen a recipient clicks a link in the email, and how many times recipients click links in my emailsWhen emails that I send result in a bounce, and how many bounces my emails get

Short descriptionUse Amazon Simple Notification Service (Amazon SNS) to notify you when one of the following occurs:A recipient opens your email.A recipient clicks a link in your email.Your email results in a bounce.Use Amazon CloudWatch to track the following:How many times recipients open your emails or click links in emails.How many bounces your emails get.Follow these steps to configure Amazon SES, Amazon SNS, and CloudWatch for monitoring email opens, clicks, and bounces:Note: If you copied multiple recipients in an email, then the following configuration doesn't show which recipient opened the email.Create an Amazon SNS topic.Configure Amazon SES to send information about email clicks, opens, and bounces to the Amazon SNS topic.Configure Amazon SES to send information about email clicks, opens, and bounces to CloudWatch.Send a test email to verify the notifications for email opens, clicks, and bounces.Check your Amazon SNS notifications and CloudWatch metrics.Specify the configuration set in the headers of your email.Note: With this configuration, you receive notifications for every email that's opened and every link that's clicked in an email.

ResolutionBefore you begin, make sure that you verified your domain with Amazon SES.Create an Amazon SNS topicOpen the Amazon SNS console.Choose Topics.On the Topics page, choose Create topic.In the Details section of the Create topic page, do the following:For Type, choose Standard.For Topic name, enter a name.(Optional) For Display name, enter a display name for your topic.Choose Create topic.From the Topic details of the topic that you created, choose Create subscription.For Protocol, select Email-JSON.For Endpoint, enter the email address where you want to receive notifications.Choose Create subscription.From the email address that you specified in step 8, open the subscription confirmation email from Amazon SNS with the subject line "AWS Notification - Subscription Confirmation".In the subscription confirmation email, open the URL that's specified as SubscribeURL to confirm your subscription.Configure Amazon SES to send information about email clicks, opens, and bounces to the Amazon SNS topicOpen the Amazon SES console, and navigate to the appropriate AWS Region.In the navigation pane, under Configuration, choose Configuration Sets.Choose Create Set.For Configuration Set Name, enter a name for your configuration set.Choose Create Set.Select the Event Destinations tab, then choose Add Destination.For Event types, select Hard Bounces, Opens and Clicks. Then, choose Next.For Destination type, select Amazon SNS.For Name, enter a name for the SNS destination.For SNS Topic, choose the Amazon SNS topic that you created. Then choose Next.Choose Add Destination.Configure Amazon SES to send information about email clicks, opens, and bounces to CloudWatchOpen the Amazon SES console, and navigate to the appropriate Region.In the navigation pane, under Configuration, choose Configuration Sets.Choose the configuration set that you created.Choose the Event Destinations tab, and then choose Add Destination.For Event types, choose Hard Bounces, Opens and Clicks. Then choose Next.For Destination type, select Amazon CloudWatch.For Name, enter a name for the CloudWatch destination.For Value Source, choose Message Tag.For Dimension Name, enter the name that you want to use for this metric in CloudWatch.For Default Value, you can enter any value, such as Null.Choose Next, and then choose Add Destination.Send a test email to verify the notifications for email opens, clicks, and bouncesAmazon SES has a mailbox simulator that you can use to test email opens, clicks, and bounces.1.    Open the Amazon SES console.2.    In the navigation pane, under Configuration, choose Verified Identities.3.    Select one of your verified domains.4.    Choose Send Test Email.5.    For Message details, choose the email format Raw.6.    For From-address, enter an email address with your verified domain.7.    For Scenario, choose Custom to verify opens and clicks or Bounce to verify bounces.8.    Enter an email address that you want to use as a test recipient.Note: For the Custom scenario: If you're still in the Amazon SES sandbox, make sure that the address in the Custom recipient field is a verified email address.9.    For Message, enter text that's similar to the following examples:Custom scenarioX-SES-CONFIGURATION-SET: myConfigsetX-SES-MESSAGE-TAGS: Email=NULLFrom: test-verified-domain@example.comTo: test-recipient@example.comSubject: Test emailContent-Type: multipart/alternative;    boundary="----=_boundary"------=_boundaryContent-Type: text/html; charset=UTF-8Content-Transfer-Encoding: 7bitThis is a test email.<a href="https://aws.amazon.com/">Amazon Web Services</a>------=_boundaryBounce scenarioX-SES-CONFIGURATION-SET: myConfigsetX-SES-MESSAGE-TAGS: Email=NULLFrom: test-verified-domain@example.comTo: bounce@simulator.amazonses.comSubject: Test emailContent-Type: multipart/alternative;    boundary="----=_boundary"------=_boundaryContent-Type: text/html; charset=UTF-8Content-Transfer-Encoding: 7bitThis is a test email.<a href="https://aws.amazon.com/">Amazon Web Services</a>------=_boundaryNote: Replace myConfigset with the name of the configuration set that you created. Replace Email=Null with the Dimension Name and Default Value (Dimension Name=Default Value) that you entered for the CloudWatch destination in your configuration set.9.    Choose Send Test Email.10.    From your test recipient email address, open the test email and click the link.Check your SNS notifications and CloudWatch metricsOpen the inbox of the email address that you used as the endpoint for your Amazon SNS topic subscription. Confirm that you received open, click, and bounce notifications.Open the CloudWatch console.In the navigation pane, choose Metrics.From the All metrics view, choose SES.Choose the metric that you created.Verify that the graph shows the test emails that you sent to simulate opens, clicks, and bounces.Specify the configuration set in the headers of your emailTo apply the configuration set that you created to your email, you must pass the configuration set in the headers of your email. For more information, see Specifying a configuration set when you send email.

Related informationAmazon SES email sending metrics FAQs