# Email Delivery Events Table Engage Studio is a powerful feature designed to help marketers create and manage effective email campaigns within the Treasure Data CDP. A key aspect of successful email marketing is the ability to track performance. Engage Studio provides **Email Delivery Performance Insights** by automatically collecting detailed email metrics. These valuable email metrics are stored automatically for each email domain you use in your dedicated Treasure Data table. This table allows you to analyze the outcomes of your email sends at a granular level. Your email performance data is stored in your Treasure Data account in the following location: * **Database:** `delivery_email_` * **Table:** `events` **Schema of the Email Performance (**`events`**) Table** The `events` table contains various columns that capture detailed information about each event that occurs during your email campaigns. The schema of this table includes the following fields: * `time` (int): Equivalent to `delivery_timestamp`, representing the time. * `email_sender_id` (string): The ID of the sender. * `email_domain_id` (string): The ID of the email domain. * `email_domain` (string): The email domain used for sending. * `message_id` (string): A unique ID assigned to the message by Amazon SES upon a successful send request. This is the ID Amazon SES returned when the message was sent. Note that Amazon SES also includes this ID in the `commonHeaders` of the `mail` object. * `email_template_id` (string): The Email Template ID used for the message. You can find this ID in the URL path when editing an email template in Engage Studio. * `from` (string): The FROM email address. * `to` (string): The TO email address of the recipient. This is one of the email addresses listed as recipients of the original mail. * `to_plain_address` (string): The recipient's email address in a simple format, even if a display name was originally included. * `subject` (string): The subject line of the email. This can be found in the `commonHeaders` of the `mail` object. * `timestamp` (string): The date and time at which the original message was sent (in ISO8601 format). * `event_type` (string): A crucial field indicating the type of event that occurred. This field describes different outcomes for each email sent. * `delivery_reporting_mta` (string): The Mail Transfer Agent (MTA) address for deliveries. In Amazon SES, this is the hostname of the SES mail server that sent the mail. * `delivery_smtp_response` (string): The MTA log for deliveries. This is the SMTP response message from the remote ISP that accepted the email from Amazon SES. * `delivery_processing_time_millis` (long): Time taken for delivery processing in milliseconds. This is the time between Amazon SES accepting the request and passing the message to the recipient's server. * `delivery_timestamp` (string): The time when the email was delivered. * `open_user_agent` (string): The Email Client User Agent used when the email was opened. * `open_timestamp` (string): The time when the email was opened. * `open_ip_address` (string): The IP address where the receiver opened the email. * `click_user_agent` (string): The Email Client User Agent used when the email was clicked. * `click_timestamp` (string): The time when the email was clicked. * `click_ip_address` (string): The IP address where the receiver clicked the email. * `bounce_reporting_mta` (string): The IP address of the MTA that attempted delivery before a bounce occurred. * `bounce_feedback_id` (string): A unique ID associated with the bounce. * `bounce_timestamp` (string): Time when it is marked as Bounce. * `bounce_subtype` (string): The subtype of the bounce. * `bounce_type` (string): The type of bounce (Undetermined, Permanent, or Transient). * bounce_recipient_status (string): The value of the Status field from the DSN. This is the per-recipient transport-independent status code that indicates the delivery status of the message. * bounce_recipient_action (string): The value of the Action field from the DSN. This indicates the action performed by the Reporting-MTA as a result of its attempt to deliver the message to this recipient. * bounce_recipient_address (string): A list that contains information about the recipients of the original mail that bounced * bounce_recipient_diagnostic_code (string): The status code issued by the reporting MTA. This is the value of the Diagnostic-Code field from the DSN. This field may be absent in the DSN (and therefore also absent in the JSON). * `custom_event_id` (string): **Any Campaign ID that is used for performance calculation**. Using this identifier helps track email campaigns properly, for example, within a Customer Journey Orchestration (CJO) scenario. This ID is set when configuring an email activation. * test_mode (boolean): True indicates that the email is sent by SendTest feature **Understanding Email Event Types** The `event_type` column is essential for monitoring your sending activity and understanding campaign performance. It categorizes the outcome of each email sent. Here are the possible values you will find in this column and what they signify, along with related information captured in the table: * **Send** : The request to send the email was successful, and Amazon SES will attempt delivery. Even if delivery is suppressed by a suppression, it is still counted as a send. * **Delivery** : Amazon SES successfully delivered the email to the recipient's mail server. The delivery object includes the `timestamp` of delivery (`delivery_timestamp`), `processingTimeMillis` (`delivery_processing_time_millis`), `recipients`, `smtpResponse` (`delivery_smtp_response`), `reportingMTA` (`delivery_reporting_mta`), and `remoteMtaIp`. * **Bounce** : Indicates a permanent or transient bounce where the recipient's mail server rejected the email. Permanent bounces mean you should remove the recipient from your list as future sends are unlikely to succeed and can negatively impact your sender reputation. Transient bounces might be successfully delivered later if the temporary issue is resolved. * **Complaint** : The email was delivered, but the recipient marked it as spam. The complaint object includes `complainedRecipients`, `timestamp`, `feedbackId`, `complaintSubType`, and optionally `userAgent`, `complaintFeedbackType`, and `arrivalDate` from a feedback report. Note that most ISPs redact the specific email address that complained, so the `complainedRecipients` list includes recipients on the domain that issued the complaint. `complaintFeedbackType` can indicate the reason for the complaint (e.g., abuse, fraud, virus). * **DeliveryDelay** : The email delivery was temporarily delayed due to an issue, such as a full inbox or a transient server issue. The delivery delay object includes the `delayType` (e.g., MailboxFull, MessageTooLarge), `delayedRecipients`, `expirationTime` (when SES stops trying to deliver), `reportingMTA`, and `timestamp`. * **Open** : The recipient opened the message in their email client. This relies on open pixel tracking for HTML emails. The open object includes the recipient's `ipAddress` (`open_ip_address`), `timestamp` (`open_timestamp`), and `userAgent` (`open_user_agent`). Note that open tracking only works with HTML emails; text-only email clients do not provide this metric. * **Click** : The recipient clicked one or more links in the email. This relies on click tracking, which supports HTTPS + custom domain. # Leveraging the `custom_event_id` for Campaign Tracking The `custom_event_id` column is specifically designed to help you track the performance of individual email campaigns or journeys. When you configure an email activation, you can input a unique identifier for your campaign into the `Custom Event ID` parameter. This ID is then logged in the `events` table, allowing you to easily filter and calculate performance metrics (like sends, deliveries, opens, clicks, bounces, etc.) specifically for that campaign. This is particularly useful when running campaigns via Customer Journey Orchestration (CJO).