Reporting

Reporting Dashboard

Mailgun’s Reporting Dashboard provides a quick and easy way to view your sending metrics and reports. You can view reports on both a graphical and tabular representation. You also have the ability to export the tabular data to a CSV.

Note:

By default, the Reporting Dashboard displays the last 24 hours of data and does not load tabular data.

To learn more, see our article on Reporting Dashboard

Data Retention

The following retention policy is applied to the metrics:

Hourly stats are preserved for 60 days. Daily stats are preserved for 1 year. Monthly stats are stored indefinitely.

Metric and Rate Definitions

Mailgun's Metrics API offers endpoints to access summarized data, including counts, rates, and dimensions. It supports up to 10 counts and rates, as well as 3 dimensions.

Metric Definitions

Metric Label API Variable Name Calculation Description
Accepted accepted_count accepted_incoming_count + accepted_outgoing_count A sum of incoming and outgoing accepted events. This includes all accepted emails to be sent as well as routes, forwards, mailing lists, and batch events. To only view accepted events on emails sent to recipients, use the Accepted Outgoing metric. Accepted events are not associated to IP addresses. The “processed” metric can be used in place of accepted to view similar data by IP.
Accepted incoming accepted_incoming_count Sum of all raw accepted_incoming events. Mailgun accepted the API request to forward, and the message has been put in your queue. These accepted events only cover routes, forwards, and mailing lists. Mailing lists will record a single accepted incoming event, with emails sent to recipients recording their own accepted outgoing events.
Accepted outgoing accepted_outgoing_count Sum of all raw accepted_outgoing events. Mailgun accepted the API request to send, and the message was put in your queue. Batch sends will result in one additional accepted outgoing event to record the initial batch request. Accepted events are not associated to IP addresses. The “processed” metric can be used in place of accepted to view data by IP.
Bounced (all) bounced_count permanent_failed_count -(suppressed_bounces_count + suppressed_complaints_count + suppressed_unsubscribed_count) A sum of all soft and hard bounces. Permanent failures fall into three categories, soft bounces, hard bounces, and suppressions. This field is equal to permanent failures minus suppressions.
Clicked clicked_count Sum of all raw clicked events. The email recipient clicked on a link in the email. Click tracking must be turned on and the CNAME record must be pointing to mailgun.org.
Complained complained_count Sum of all raw complained events. The email recipient clicked on the spam complaint button and the recipient's email server provides feedback loops to Mailgun for these complaints.
Delayed bounces delayed_bounce_count Sum of all raw failed events with a severity equal to “permanent” and is-delayed-bounce equals true. Emails were initially marked as delivered, but later received a permanent failure from the mailbox provider.
Delayed first attempt delayed_first_attempt_count delivered_two_plus_attempts_count + permanent_failed_old_count Emails that were temporarily rejected on the first delivery attempt. These emails will have been retried until delivery or until a “too old” permanent failure is generated.
Delivered delivered_count delivered_http_count + delivered_smtp_count Mailgun sent the email and it was accepted by the recipient email server.
Delivered first attempt delivered_first_attempt_count Sum of all raw delivered events with delivery-status.attempt-no equal to 1. Emails that were delivered on the first delivery attempt without being delayed or bounced.
Delivered HTTP delivered_http_count Sum of all raw delivered_http events at the hourly, daily, and monthly resolutions. The count of delivered events for routes and forwards.
Delivered optimized delivered_optimized_count Sum of all raw delivered events that had optimized set to true. Emails delivered with Send Time Optimization.
Delivered SMTP delivered_smtp_count Sum of all raw delivered_smtp events. The count of delivered events for emails sent to recipient addresses.
Delivered two plus attempts delivered_two_plus_attempts_count Sum of all raw delivered events with delivery-status. Attempt-no greater than or equal to 2. Emails that were delivered after two or more delivery attempts. This indicates the emails received at least one temporary failure.
ESP blocked esp_block_count Sum of all raw failed events with a severity that does not equal “permanent” and a reason equal to “espblock“. Emails that were temporarily blocked by the ESP for policy errors and reputation rate limiting.
Failed (all) failed_count permanent_failed_count + temporary_failed_count A sum of all permanent and temporary failures.
Hard bounces hard_bounces_count Sum of all raw failed events with a severity equal to “permanent”, a reason equal to “bounce“, and is-delayed-bounce equal to false. A hard bounce is a message that cannot be delivered to its intended recipient due to an invalid recipient address or non-existent mailbox. These addresses will be automatically added to your suppressions list when you receive a hard bounce to prevent subsequent hard bounces.
Opened opened_count Sum of all raw opened events at the hourly, daily, and monthly resolutions. The email recipient opened the email and enabled image viewing. Tracking must be turned on.
Permanent failed permanent_failed_count Sum of all raw failed events with a severity equal to “permanent”. Mailgun could not deliver the email to the recipient email server, and will drop the message without retrying sending.
Permanent failed optimized permanent_failed_optimized_count Sum of all raw failed events with a severity equal to “permanent”, a reason equal to “bounce“, and i-delivery-optimizer is not empty. Events that were sent with send time optimization, but received a permanent failure.
Permanent failed old permanent_failed_old_count Sum of all raw failed events with a severity equal to “permanent” and “reason” equal to “old”. Mailgun attempted to deliver the email for the maximum number of retry attempts, but received a temporary failure each time. Upon the last retry attempt, the message was classified as a ”Too Old” permanent failure.
Processed processed_count delivered_count + permanent_failed_count - webhook_count - delayed_bounce_count Messages processed after being accepted. Processed messages are billed to your account at the end of the month.
Sent sent_count (delivered_http_count + delivered_smtp_count + permanent_failed_count) - (suppressed_bounces_count + suppressed_complaints_count + suppressed_unsubscribed_count) A count of all sent messages. This includes delivered and failed messages, but does not include suppressed messages.
Soft bounces soft_bounces_count Sum of all raw failed events with a severity equal to "permanent", a reason equal to "generic", "greylisted", "blacklisted", or "espblock", and is-delayed-bounce equal to false. A soft bounce is a message that cannot be delivered to its intended recipient due to a temporary delivery issue, often stemming from a server outage, full mailbox, oversize files/messages, blocklistings, or reputation issues.

Mailgun treats soft bounces as permanent failures, meaning we will not automatically attempt to redeliver the message. The recipient address will not be added to the suppression list, and the next time you attempt to send a message to this recipient we will attempt to deliver.

Suppressed: bounced suppressed_bounces_count Sum of all raw failed events with a severity equal to “permanent” and a reason equal to “suppress-bounce“. The email was suppressed due to a previous bounce with the recipient address. No delivery attempt was made.
Suppressed: complaints suppressed_unsubscribed_count Sum of all raw failed events with a severity equal to “permanent” and a reason equal to “suppress-complaint“. The email was suppressed due to a previous complaint from the recipient. No delivery attempt was made.
Suppressed: unsubscribed unsubscribed_rate Sum of all raw failed events with a severity equal to “permanent” and a reason equal to “suppress-unsubscribe“. The unsubscribe rate accounts for the total number of unsubscribes divided by the total number of emails delivered and multiplied by 100, expressed as a percentage.
Temporary failed temporary_failed_count Sum of all raw failed events with a severity that does not equal “permanent”. Mailgun could not deliver the email to the recipient email server, but will retry.
Unique clicked unique_clicked_count Sum of all unique_clicked events. A unique click event is for a particular messageID, recipient, and bot. Only a single click event is stored for the particular {messageID, recipient,bot} combination. A unique count of click events. Clicks are deduplicated on a rolling seven days. If you’re viewing two weeks of data, it’s possible to see two unique click events for a single delivered event. Keep in mind date ranges when viewing unique clicks, if your date filter doesn’t include the delivery event, you may see more unique clicks than delivered events.
Unique opened unique_opened_count Sum of all unique_opened events. A unique open event is for a particular messageID, recipient, and bot. Only a single open event is stored for the particular {messageID, recipient,bot} combination. A unique count of open events. Opens are deduplicated on a rolling seven days. If you’re viewing two weeks of data, it’s possible to see two unique open events for a single delivered event.Keep in mind date ranges when viewing unique opens, if your date filter doesn’t include the delivery event, you may see more unique opens than delivered events.
Unsubscribed unsubscribed_count Sum of all raw unsubscribed events at the hourly, daily, and monthly resolutions. The email recipient clicked on the unsubscribe link. Unsubscribe tracking must be turned on.
Webhook Failed webhook_count Sum of all raw failed events with a severity equal to “permanent” and is-callback equals true. A count of failed webhook events.

Rate Definitions

Rate Label API Variable Name Calculation Definition (Used in tooltip)
Bounced bounce_rate bounced_count / processed_count Bounce rate measures the percentage of emails that bounce back, or the number of emails that couldn’t be delivered to users over the total number of emails sent.
Clicked clicked_rate clicked_count / delivered_count The rate at which delivered emails are clicked. This calculation uses total clicks, not unique clicks. Use the unique click rate if percentages exceed 100%.
Complained complained_rate complained_count / delivered_count Complaint rate measures the percentages of delivered emails reported as spam by recipients. This rate should be kept below 0.1%. Please note that Gmail does not provide complaints, to see Gmail complaint data, sign up for Google Postmaster Tools.
Delayed delayed_rate delivered_two_plus_attempts_count / delivered_count The percentage of emails that were delivered with two or more delivery attempts. This rate does not include delayed emails that could not be delivered.
Delivered delivered_rate delivered_count / sent_count The rate at which sent emails are delivered to recipient addresses. This calculation does not include suppressed emails.
Failed permanent_fail_rate permanent_failed_count / processed_count The percentage of sent emails that resulted in a permanent failure. These emails could not be delivered and will not be retried.
Opened opened_rate opened_count / delivered_count The rate at which delivered emails are opened. This calculation uses total opens, not unique opens. Use the unique open rate if percentages exceed 100%.
Unique clicked unique_clicked_rate unique_clicked_count / delivered_count The percentage of delivered emails that resulted in a unique click event. This calculation will exceed 100% if your date filter excludes a large amount of delivery events.
Unique opened unique_opened_rate unique_opened_count / delivered_count The percentage of delivered emails that resulted in a unique open event. This calculation will exceed 100% if your date filter excludes a large amount of delivery events.
Unsubscribed unsubscribed_rate unsubscribed_count / delivered_count The unsubscribe rate accounts for the total number of unsubscribes divided by the total number of emails delivered and multiplied by 100, expressed as a percentage.

Dimensions

Dimension API Variable Name Example Values Description
Bot bot
  • Apple
  • Generic
  • Gmail
  • None
Identifies bot engagement with your emails. Bot engagement is classified as Apple, Gmail, Generic, or None.
Country country
  • US
  • GB
  • AU
  • CA
  • NL
  • DE
  • FR
  • IN
  • Unknown
Country identifies the country of origin for engagement data IPs. Only engagement data will display per country, all other data will show under the value “Unknown”. Country codes use ISO 3166 country codes.
Domain domain
  • mailgun.net
  • yourdomain.com
  • mg.yourdomain.com
Your sending domains.
IP Pool ip_pool
  • Transactional IP Pool
  • Marketing IP Pools
IP Pools enable you to group your dedicated IPs into customized "pools" to help manage your sending reputation for different mail-sending streams.
Sending IP ip
  • 192.237.158.61
  • 159.135.234.21
  • 166.78.71.1
  • 69.72.42.3
Your sending IPs. These may be dedicated or shared IPs.
Recipient Domain recipient_domain
  • gmail.com
  • outlook.com
  • hotmail.com
  • yahoo.com
  • Other
The recipient domains you’ve sent to, like Gmail.com, Outlook.com, and Yahoo.com.
Recipient Provider recipient_provider
  • Gmail
  • Google Workspace
  • Outlook 365
  • Outlook US
  • Proton
  • Yahoo US
  • Apple
  • Chinese
  • Outlook EU
  • French
  • German
  • Other EU
  • Canadian
  • UK
  • Other US
  • Italian
  • Other
The recipient providers that you’ve sent to. Recipient domains are aggregated to providers like Gmail, Google Workspace, or Outlook 365.

Click here to see the full list of Recipient Providers.

Subaccount subaccount
  • Subaccount 1
  • Subaccount 2
  • If you’ve created subaccounts, you can use this dimension to view individual subaccount performance.
    Tag tag
    • Transactional
    • Marketing
    • Untagged
    Tags are labels you attach to a message to identify or categorize your sending.By assigning a tag, you’re able to organize your email analytics so you have access to more precise and detailed insights.
    Time time
    • Mon, 19 Aug 2024 20:00:00+0000
    • Wed, 15 May 2024 19:00:00+0000
    The time that your events occured.

    The timezone in your account settings will be used for hourly data, but daily and monthly data will be aggregated using UTC time.

    Time uses the RFC 2822 format.

    Metrics API and Usage Reporting

    Mailgun collects a variety of different events and generates analytic reports based on both account and usage metrics. Visit Metrics API for more details.

    Note:

    Usage data is available starting 09/01/24.