HubSpot sends emails on your behalf, and if the email bounces (can not be delivered) HubSpot receives the bounceback message. Email servers explain why the email bounced within the bounce message. The server response is often overlooked by the untrained eye. However, HubSpot has a framework for categorizing these bounce messages.
So what's the point, why bother? Welp, Every time you hard bounce an email it hurts your sending reputation a little bit. A great deal of hard bounces can jeopardize the deliverability of contacts that are not invalid, and want your email. So, HubSpot built this framework to avoid bouncing emails to the same contact multiple times, to shield your sending reputation from unnecessary hard bounces.
Depending on what category the bounce message falls into, the contact's eligibility for future email may change. You may notice the contact in the 'Not Sent' tab for your next email. After receiving a bounce HubSpot categorizes it and contact eligibility for future email can change in one of the four ways below:
The email address is marked as permanently ineligible for all customers. This is called a Global Bounce. It takes three hard bounces within a 60 day period for a global bounce to occur.
The email address is marked as permanently ineligible just for the customer that sent the email, but not all of HubSpot. This is called a Portal Bounce.
The email has bounced, but the bounce message indicates a temporary error, that may be resolved next time. The contact is still eligible for future sends. This is a Soft Bounce.
If the bounce is due to a temporary issue HubSpot will retry sending the email until the message is delivered or 72 hours have passed. This is also a Soft Bounce, but you will see them in the 'Pending' category. Ultimately, these will move to the Delivered category, or to the Bounced category.
There are 17 categories that a bounce can fall in to, and HubSpot categorizes depending on the wording in the server response (aka. the bounce message). Specific keywords indicate certain errors. This is more of an art than a science, as email servers can be customized to throw whatever messaging they want on bounces. Below are descriptions of the 17 categories that a bounce message may be bucketed in.
Hard Bounce Reasons
UNKNOWN_USER - "Recipient didn't exist" - The server response indicates that the email is currently a non-existant address. These happen when a contact leaves a company and his inbox is taken down, or if there is a typo in the email. *
MAILBOX_FULL - "Recipient's mailbox was 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. These emails will almost never be engaged with. In cases where the inbox has been cleaned out, contact Support to unbounce.
CONTENT - "Recipient's email server rejected content" - Something in the email body or subject was a red flag that spam filters deemed spammy content. Take a look at this article detailing SPAM trigger words. In cases where the content issue has been addressed. Contact Support to unbounce.
SPAM - "Rejected by spam filter" - 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. If action is taken on the recipients end to allow future email, contact Support to unbounce.
POLICY - "Blocked due to recipient policy" - Email servers have all sorts of security policies that your sending email address needs to pass before it accepts the message. If 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. This includes DMARC; DKIM, and SPF authentication failures. If action is taken on the recipients end to allow future email, contact Support to unbounce.
Missing category - "Unsubscribes" and "Marked as Spam" complaints are not necessarily bounces, but we will not send to these individuals again. This wording surfaces in bounce audit files (generated by Support). It can also refer to a globally bounced address if three UNKNOWN_USER bounces from three separate portals within a 60 day time period have ocurred. These individuals are marked ineligible for all HubSpot customers. *
*HubSpot Support can not "unbounce" ineligible contacts within this category without proof the email is valid. Prove the email is valid with a screenshot of an email from that address in another email system like Gmail or Outlook.
Soft 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).
DOMAIN_REPUTATION - The domain used in the from address 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 domain authentication security check. include:shared.hubspot.com on your SPF record to authenticate our email sending sub-domain.
TIMEOUT - The email server timed out, and is no longer accepting email. These exist to protect the recipient's server from overloading.
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.
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 them your marketing IP addresses to whitelist.
Pending Bounce Reasons
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.
TEMPORARY_PROBLEM - Miscellaneous category of temporary issues. Similar to the DNS failure category, these issues typically resolve themselves in minutes.
So, next time you call or email 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 if needed, or reach out to the recipient to whitelist your IP's. Let Support know what you've already done when you reach out :)
Side Note: If you wish to know the current eligibility for all of your contacts Export the Bounces and Unsubscribes from the email dashboard. You can follow these instructions on how to parse out that export to leave you with a list of ineligible contacts. Or, if you have development chops, you can use the GET email subscription status API endpoint. Do not create a smart list with the 'Emails Bounced' property to show eligibility for future sends. This property includes soft bounces, and omits global bounces. For these reasons and more, it is not an accurate representation of ineligible contacts.