If you’re trying to track email engagement, like opens and clicks, using Virtual Deliverability Manager and you’re seeing some unexpected results, here’s a step-by-step solution. This guide will help you troubleshoot why click events are not showing up in your logs, even though the redirects are working correctly.
First, make sure your setup is configured properly. Use the EU North region (eu-north-1). Enable engagement metrics on your configuration set by setting the DashboardOptions.EngagementMetrics to ENABLED within the PutConfigurationSetVdmOptions. This makes sure your account is ready to track engagement data.
Next, set up two event destinations. Both should be enabled and include event types like SEND, DELIVERY, OPEN, CLICK, BOUNCE, COMPLAINT, and REJECT. One destination should be an SNS topic, which feeds into an SQS queue, and the other should be CloudWatch with the dimension ses:configuration-set based on MESSAGE_TAG. Confirm that all these destinations are active and properly configured.
Ensure your account-level Virtual Deliverability Manager (VDM) is also turned on, with VdmEnabled and DashboardAttributes.EngagementMetrics both set to ENABLED. When you send emails, do so with the SESv1 send_email API, including the ConfigurationSetName, and make sure your emails are properly formatted with both text and HTML parts.
To test the setup, send a real email to your own Gmail address that contains a link. When you click this link, it should redirect through the tracking URL (like r.eu-north-1.awstrack.me) and forward you to the intended destination. This confirms the redirect works correctly.
Now, expect that clicking the link will generate a CLICK event, which you can see in your SNS notifications, CloudWatch click metrics, or in the GetMessageInsights for that email. However, if you’re not seeing the events, there’s a problem to investigate.
When you check message insights using a command such as aws sesv2 get-message-insights --message-id YOUR_MESSAGE_ID, you’ll notice only SEND and DELIVERY events appear—no CLICK. This is significant because GetMessageInsights reads SES’s internal event log directly, bypassing SNS, CloudWatch, or other event destinations. Therefore, if the click isn’t recorded here, it means SES hasn’t logged the click internally.
To verify that your SNS notifications are working, look at the NumberOfMessagesPublished metric in CloudWatch for your SNS topic. In your tests, you confirmed that you received all expected messages for sends and deliveries—meaning the SNS system is functioning correctly and no messages are missing or lost.
Additionally, rechecking your message IDs hours later confirms the event data hasn’t appeared later, so this isn’t a delay issue.
So, why isn’t SES recording the click or open events internally? Even though the redirect mechanism works and your external tracking is functioning, SES may require additional configurations or features enabled for engagement data to be saved to its internal logs. This could include ensuring that your account is fully configured for engagement tracking or that certain policies or settings are in place beyond just enabling metrics on the dashboard.
If you need further help, sharing your GetConfigurationSetEventDestinations and GetMessageInsights outputs, or CloudWatch data, can help diagnose the problem more precisely.
In summary, the redirect and tracking setup are correct, but SES may not be recording engagement events internally unless specific settings or features are enabled beyond what you’ve configured. Double-check your account’s engagement tracking options and ensure all necessary features are activated according to AWS documentation.
