HubSpot sends emails on your behalf. Sometimes, when an email cannot be delivered, it will bounce. Server responses often mark their bounce back messages with seemingly nondescript information, passed on to you from strangely named senders such as "MAILER DAEMON" or "Message Delivery Notification System." MAILER DAEMON isn't some Email Deliverability villain. Daemon is just a 90’s term for a server. The not-so-fun truth is that the Mailer Daemon is not a little demon baby running around stabbing envelopes. It’s the server that you're trying to deliver email to, and when it bounces your email the bounce message describes why.Most people ignore those bounce messages, but at HubSpot we try to learn from them. We automatically categorize bounces based on keywords found in the bounce message. We bucket the bounce into one of 17 categories. Each category is treated in one of four ways within our system:
- We mark the email address as permanently ineligible in our system for all customers. This is called a Global Bounce. It takes three permanent bounces within a 60 day period for us to globally bounce an email address.
- We mark the email address as permanently ineligible for the customer that sent the email, but not all of HubSpot. This is called a Portal Bounce. Three of these within 60 days, and the address is globally bounced.
- We will not try the email again, but the email remains eligible for future sends. This means that we will try to send to that address again the next time that you send an email to that contact. This can be referred to as a Temporary Hard Bounce.
- If the bounce is due to a temporary issue we will retry sending the email until the message is delivered or 48 hours have passed. This is called a Soft Bounce. It becomes a temporary hard bounce after 48 hours of trying to deliver the message.
Numbers 1 and 2 are both permanent hard bounces. The distinction between the two is whether or not the permanent hard bounce is isolated to your portal. If it is an issue with the address itself then it should be globally bounced. If the server bounces emails from your portal only, then it is a portal bounce. For example, email@example.com, should be globally bounced. It is a non-existent email address, or what we call an UNKNOWN_USER bounce. It doesn’t matter what portal emails this address, it will always bounce. There’s nobody home no matter who’s knocking.
Numbers 1 and 2 differ from 3 and 4 in that they are both permanent errors. Permanent hard bounces mark the contact as ineligible for future sends. Temporary hard bounces do not. This distinction determines which contacts will end up in the "Not Sent" category for future email sends. If the contact has previously bounced for a permanent reason, we will drop the send. If the contact has previously bounced for a temporary reason, we will try them again on your next email.
After sending an email, you can see bounce messages within the Recipients tab of the Email Performance page. After sending an email, you'll be brought to the email performance screen (or you can navigate to this page from the Email Dashboard). Click the Recipient's tab and then click "Hard Bounced" to show the contacts who bounced on that send. From this view, you can drill into the details of any one bounce in particular. Clicking 'show details' will reveal the bounce message or 'Server Response.'
You can also download all bounce messages as a CSV. From the Email Performance screen, click into the "Recipients" tab and then select "Export" in the top right of the list of contacts. In the resulting pop-up, select the "Advanced Export," and make sure "Hard Bounces" are included. We will email you the results as a spreadsheet within 15 minutes (may be longer depending on the amount of hard bounces). When you open the CSV, you will see a column called "bounce messages." These messages are directly from your recipients' email servers. Take a look below to see this in action:
When a valid contact is marked as ineligible for future sends...
HubSpot Support can unbounce any contact to make them eligible for future sends. If you request an UNKNOWN_USER to be unbounced, we need proof that the email address is deliverable from another email client. Send us a screenshot of a recent email from them in another email system such as Gmail or Outlook. We require this proof because these types of bounces have a high resurgence rate after unbouncing.
As previously stated, there are 17 different categories we bucket bounces into. Each of the 17 is either a permanent hard bounce, a temporary hard bounce, or a soft bounce. Here are the 17 different types along with brief descriptions.
Permanent Hard Bounce Reasons
UNKNOWN_USER - This means that we received a response from the email server (proving that the domain is valid) but that the alias is not valid. That means that whatever came before the @ symbol is not currently a valid inbox at that domain. This category cannot be unbounced in a list without proof of communication with the email address in another system.
MAILBOX_FULL - In this day and age, most inbox sizes are greater than 1GB, and if an inbox fills to capacity it is indicative of an abandoned address that has not yet been officially closed out. We don't try sending to these inboxes again because these emails will almost never be engaged with. This category cannot be unbounced in a list without proof of communication with the email address in another system.
CONTENT - Something in this email was a red flag that spam filters didn’t like. Take a look at this article detailing SPAM trigger words. This is a portal bounce. **This category can be unbounced in a list.
SPAM - There is something in the body, subject, or from address of the email that is deemed SPAM by the recipient’s email server. This category is distinct from IP reputation in that it's something specific to the customer's email, or the customer's sender that caused the server to deem it SPAM. Therefore, this is a portal bounce. **This category can be unbounced in a list.
POLICY - Email servers have all sorts of security policies that your sending email address needs to pass before it accepts the message. If we can tell the email did not pass one of these policies but it is not explicit about which one, this is the category the bounce ends up in. In other words, the domain from which the email is being sent needs to satisfy those policies in order to be delivered. This includes DMARC, DKIM, and SPF authentication.
Missing category - These can come up in bounce audit files (generated by Support) due to a global bounce, Unsubscribes, and/or Marked as Spam complaints. We will not send to these individuals again.
Temporary Hard Bounce Reasons
GREYLISTING - The email server requires a longer track record of email activity from the sender. Often there is no track record for the email server to verify the sender, and for that reason the email is not allowed until more activity is monitored.
MAILBOX_MISCONFIGURATION - The recipient’s mailbox is currently under reconstruction or is currently down for some other reason. It is not accepting mail at this time.
ISP_MISCONFIGURATION - Internet Service Provider misconfiguration may be an authentication issue on the recipient's side. The user may have to whitelist HubSpot's IP addresses (see the previous bounce reason for steps to resolve that type of issue). ISP misconfiguration bounces will automatically be retried every time.
DOMAIN_REPUTATION - The domain used in the "friendly from" has a poor reputation, or a reputation that does not meet the standards of the recipient's server.
DMARC - The sender's domain does not pass DMARC and therefore the email does not pass the recipient server's security check.
TIMEOUT - The email server timed out, and is no longer accepting email. There are numerous reasons why a server may stop receiving mail.
THROTTLED - The email server has received too many emails from your domain in a short period of time and will not accept any more messages until a grace period passes.
Soft Bounce Reasons
IP_REPUTATION - The IPs that are sending the email have poor reputation. The recipient's email server security settings do not allow email from your marketing IP addresses because their reputation threshold is higher than the sender score of the IP address. If this happens, you can reach out to the recipient and give him your marketing IP addresses to whitelist. You can get these IP addresses by contacting Support.
DNS_FAILURE - The recipient’s domain name server settings were misconfigured at the time the email was sent. These issues normally resolve themselves in minutes or less.
TEMPORARY_PROBLEM - Miscellaneous category of temporary issues. Similar to the DNS failure category, these issues typically resolve themselves in minutes or less.
So, next time you call up Support to unbounce an email address, take a look at the bounce reason to anticipate the Support representative's questions. Come prepared with a screenshot of a recent email from the bounced contact in another email system for proof.
If you wish to know the current eligibility for all of your contacts Export the Bounces and Unsubscribes from the email dashboard. Make sure to include global bounces upon exporting. Or, if you have development chops at your disposal, you can use the GET email subscription status API endpoint. Do not use a list with the 'Emails Bounced' property to show eligibility for future sends. This property includes soft bounces and temporary hard bounces, it will not increment for global bounces, and it is not an accurate representation of emails that will be dropped going forward.
If you have any questions give us a call or email us. We look forward to hearing from you! ;)
Originally published Jul 27, 2016 1:30:00 PM, updated February 01 2017