Email tracking and bounce management

Bloomreach Engagement provides out-of-the-box email tracking and bounce management for all of our native email provider integrations to enable our users to easily analyze email performance, manage deliverability and email list health.

Email tracking

Email campaigns generate campaign events for all customers in the audience of the campaign, covering actions from the email being sent from Bloomreach Engagement to customers opening and clicking the email. The full structure of the campaign events can be found in the System events article.

Email campaign events contain a status attribute describing different steps of email delivery and interactions. The status attribute can be divided into 3 main groups:

Sending from Bloomreach Engagement

StatusDescription
enqueuedBloomreach Engagement enqueued the email to the email provider.
enqueue_failedBloomreach Engagement could not enqueue the email either due to an error on the provider side (connection error) or on the Bloomreach Engagement side (e.g. error in Jinja). The attribute message will contain details of the error. A missing email property in a customer profile does not generate enqueue_failed events; the same applies to phones, for example. Find out more here.
suppressedBloomreach Engagement suppressed the email due to one of the following: missing consent, Frequency policy, Cumulative bounce, Suppression lists, or Email list hygiene filter. The attribute type and message will contain details of the suppression type.

Delivering the email

StatusDescription
deliveredThe email provider confirmed the delivery of the email.

The confirmation comes in a form of a successful (2.x.y) SMTP response from the recipient server. However, the definition of a delivered email is set by the recipient server, meaning no distinction is made between emails getting to the recipient's inbox or spam folder.
soft_bounced, hard_bounced, preblockedThe email provider notified Bloomreach Engagement that the email bounced and was not delivered. See section Bounce management for more details.

User interactions

StatusDescription
openedThe customer opened the email (the pixel in the email was loaded).
Note that some services block these pixels, which may result in customers who only have the clicked event tracked, without opened.
clickedThe customer clicked on a link inside the email. This also includes clicking on the unsubscribe link.
unsubscribedUser unsubscribed using List unsubscribe.
complainedThe customer marked the email as spam. See section Bounce management for more details.

Bounce management

Email messages that were not successfully delivered to an email address constitute an email bounce. This will result in an automatic email response from the mail server or mailbox provider like Gmail, notifying the email sender of the non-delivery and other information. Bloomreach Engagement automatically processes these responses from email providers and assigns every unsuccessful email delivery attempt into one of the following bounce categories:

Soft bounce

Emails could not be delivered because of temporary problems, such as the domain being temporarily down.

Action:

  • Track campaign event with status=soft_bounced

Hard Bounce

Emails could not be delivered because of permanent problems, such as the address is undeliverable, e.g. it doesn’t exist.

Action:

Cumulative Bounce

Emails could not be delivered because of problems that can be temporary or permanent, such as missing MX records for the domain or full inbox. See the Cumulative Bounce Logic section for more details.

Action:

  • Track campaign event with status=soft_bounced and cumulative=true

🚧

Only for Mailgun

Cumulative bounce is currently only available for Mailgun.

Preblocked

Emails could not be delivered because they were blocked by the email service provider, e.g. when the address is on the suppression list of the provider.

Action:

Complained

Emails could not be delivered because they were marked as spam or sent to the spam folder.

Action:

  • Track campaign event with status=complained
  • Revoke consent used for sending the particular campaign

🚧

Bloomreach itself does not receive spam complaints from Gmail. However, it is possible to monitor this data with Google Postmaster tools.

Invalidating a contact

In case of permanent bounces such as Hard Bounce or Preblocked, Bloomreach Engagement automatically invalidates the contact to prevent further attempts to send emails and protect your IP reputation and deliverability.

Action:

  • Customer attribute email_invalid set to true

📘

Email property will be blocked, but you will be still able to send an email with other properties (i.e. SMS/MMS). email_invalid property can be marked as invalid from each invalid recipient property, not only email property.

The email_invalid property can be marked as invalid not just based on the email property, but also based on any other property associated with an invalid recipient (e.g. if the recipient's name or address is invalid, it can contribute to marking the email_invalid property as true).

Campaigns where invalid other_email_property and email_invalid = TRUE were used, will receive the status = preblocked.

  • Track event invalid_contact containing details about the invalidation:
    • Channel: lists the channel through which you approach your customer's invalid contact details (example: email)
    • Contact_info: lists the customer's exact email address that was deemed invalid
    • Reason: lists the reason why was the email address deemed invalid
      • Source: identifies which source determined that the contact is invalid (example: Bloomreach Engagement / ESP).

Once email_invalid attribute is set for a customer profile Bloomreach Engagement will automatically exclude such profile from all email campaigns and won't try to send further emails.

🚧

Transactional Emails

Setting the email_invalid flag does not have an effect on transactional emails, we always try to send those regardless of any suppression.

Cumulative Bounce Logic

🚧

Only for Mailgun

Cumulative bounce is currently only available for Mailgun.

Cumulative bounce logic is applied to bounces that can either be temporary or permanent and only after repeated failed attempts can we confidently classify it as a permanent bounce. Cumulative bounce logic will watch for repeated soft bounces with attribute cumulative=true and based on the defined rules will first result in temporary suppression and eventually in permanent suppression:

  • Temporary suppression
    Will temporarily suppress email addresses for a defined period of time (7 days)
    This will result in a campaign event with status=”suppressed” and message=”Temporarily suppressed due to repeated soft bounces for this email address” and valid_until=timestamp

  • Permanent suppression
    Will permanently suppress email address and invalidate the contact, tracking event invalid_contact with reason=“Permanently suppressed due to repeated soft bounces for this email address”

Rules for the cumulative bounce

  • If there are 3 consecutive soft bounces in 7 days or 5 consecutive soft bounces over any timeframe, this will lead to temporary suppression for 7 days.
  • After the temporary suppression expires, 1 soft bounce consecutively after that will lead to permanent suppression.

📘

Consecutive soft bounces mean no signs of activity (delivered/open/click campaign events) in between soft bounces (with attribute cumulative=true)

These rules are evaluated at the time of the next campaign sending attempt e.g:

  • If the next sending attempt is within the period of temporary suppression (7 days since the last soft bounce), the sending will be blocked and result in a campaign event with status=”suppressed” and message=”Temporarily suppressed due to repeated soft bounces for this email address”
  • If the Customer already has 3 soft bounces, the temporary suppression period is over, and they have another soft bounce, they won't get permanently suppressed immediately after the last soft bounce. Permanent suppression will appear with the next campaign sending attempt.

📘

Cumulative logic will not apply if the email property does not match the recipient in the soft bounce events counted in the cumulative bounce

Email bounces investigation

This guide mainly serves during warm-up process but is fully applicable even after the warm-up process, in case you run into email deliverability issues. At any point, you can take these steps to better understand your issue and what are the next steps to mitigate it.

👍

Plug & Play Warm-up Use Case

To solve email bounces, please ask your Customer Success Manager, Business Consultant or Partner Manager for access to “Plug & Play Warm-up Use Case” that consists of standardized reports to gain more insight into the bounces issue.

Investigation process consists of these steps:

  • Monitor the main indicator = the delivery rate
  • Identify the impacted ISPs and bounce rates
  • Take action

Delivery rate

The recommended delivery rate during the warm up is above 99%. Any delivery rate between 99-98% is still fine, but requires closer monitoring. If there is no improvement of the delivery rate after 3 sendings, further investigation is recommended. Any delivery rate below 98% should be investigated sooner rather than later. Any delivery rate below 95% requires immediate investigation.

ISPs and bounce analysis

Please see the report 'Email reporting - last 14 days - combined with recipient domain' found in the Plug & Play Warm-up Use Case where you create a new metric, the soft bounce rate, by cloning the hard bounce rate and replacing the hard_bounce and bounced with the soft_bounce values in the status attribute.

The report above will give you the overview and trend analysis of the hard/soft bounce rates evolution over the last 14 days for each ISP. It also allows monitoring of the impact of amendments made after the investigation.

Actions for higher soft_bounce rates

Please see the matrix for problem solving:

A. If the soft bounce rate is ISP specific ie. only 1 ISP is affected and the soft bounce rate is between 0.5%- 2%.

Apply the sending throttling node to the contacts from the affected ISP and extend the sending time to 240 minutes for the next 2 sends. Monitor the soft bounce rate and reevaluate after 2 sendings if the softbounce rate dropped below 0.5%. If this was not the case, Prepare a summary of the error codes and messages from the 'Soft_bounced messages [last 48 hours]' report to be found within Plug & Play Warm-up Use Case and share it with the regional emailing specialist.

Also investigate the daily sending volumes and look for potential spikes. If this is the case, there can be temporary damage to the reputation. The sending according to the warm up plan with consistent frequency and volume, targeting the engaged audience should fix the issues.

B. If the high soft bounce rate is non ISP specific ie. multiple ISPs are affected but the soft_bounce rate is lower than 2%.

Apply the sending throttling node to the next 2 sendings and extend the sending time to 240 minutes. Then monitor the soft bounce rate and reevaluate after 1 sending if the softbounce rate dropped below 0.5%. If this is not the case, prepare a summary of the error codes and messages from the 'Softbounced messages [last 48 hours]' report to be found within Plug & Play Warm-up Use Case and share it with the regional emailing specialist.

Also investigate the daily sending volumes and look for potential spikes. If this is the case, there can be temporary damage to the reputation. The sending according to the warm up plan with consistent frequency and volume, targeting the engaged audience should fix the issues.

C. If the high soft bounce rate is above 2% for one or multiple ISPs.

Prepare a summary of the error codes and message from the 'Soft_bounced messages [last 48 hours]' from Plug & Play Warm-up Use Case report and share it with the regional emailing specialist.

Error codes and actions

These are specific error codes from the 'Soft_bounced messages [last 48 hours]' (Plug & Play Warm-up Use Case) report that need a litigation or further investigation with one of our emailing specialists:

Error codeAction
Banned sending IP [xxx.xx.xx.xx]IP needs to be removed from the blocklist, reach out to regional deliverability specialists
Too oldusually, Microsoft contacts are impacted due to IP reputation, reach out to regional specialists. This message means there were 8 attempts to deliver an email across 8+ hours, with no response. A shared IP with a good reputation might be needed or a further throttling for the Microsoft contacts
Server temporarily unavailableno action is needed
The email account you’re trying to reach is disabledno action is needed
Message rejected due to possible spam contentclient needs to review the campaign visuals, e.g. text to image ratio
Mailbox fullno action is needed
Account is full (quota exceeded)no action is needed
SPF check failed/ SPF Policy Rejection/SPF Sender InvalidSPF records of the domain were amended, reach out to the regional emailing specialist

Actions for higher hard_bounce rates

Please see the matrix for problem solving:

A. If the hard bounce rate is 0.5-1% and only 1 ISP is affected.

Monitor the performance and the hard_bounce rate over the next 1 sending day. It’s possibly a result of adding new audiences with email addresses that are not valid anymore. If the mail validation was completed and/or the hard bounce rate will not drop below 0.5%, prepare a summary of the errors from the 'Hard_bounced messages [last 48 hours]' (Plug & Play Warm-up Use Case) report and share it with the regional emailing specialist.

B. If the hard bounce rate is above 1.5% and only 1 ISP is affected.

Prepare a summary of the errors from the 'Hard_bounced messages [last 48 hours]' (Plug & Play Warm-up Use Case) report and share it with the regional emailing specialist.

C. If the hard bounce rate is higher than 0.5% and multiple ISPs are affected.

The domain or IP reputation may be at risk, please prepare a summary of the errors from the 'Hard_bounced messages [last 48 hours]' (Plug & Play Warm-up Use Case) report and share it with the regional emailing specialist.

Reengage permanently bounced profiles

In certain situations, you may need to revert a permanently bounced profile. To reengage such a profile, follow these two steps:

1. Update email_invalid customer attribute:

Set email_invalid customer attribute to false. This change will make the profile eligible for email sending again.

2. Track revalidated campaign event

Track a campaign event with the status=revalidated. It ensures that the previous soft_bounce events are not considered, preventing the profile from being immediately considered for cumulative bounce and permanently bounced again.

Required campaign event structure:

  • statusrevalidated (mandatory)
  • recipient – The email address associated with the profile/bounces (mandatory). It should match the profile's current email attribute.
  • message – Custom message containing the reason for revalidation (optional). Use this field to capture the reasoning behind the revalidation for your needs.

❗️

Warning

Use this method with caution. Re-engaging permanently bounced profiles can negatively impact your domain reputation and deliverability. Consider the potential consequences before proceeding.