Marketing Process and Bounced emails - what does Kentico do?

Patrick Nolan asked on May 27, 2020 23:41

I have a Kentico Marketing Automation process. For the purpose of this question it has the following two steps

  1. Email step - an email is sent to the contact using the selected Email feed. This email has a custom widget which evaluates a field from the Contact record.
  2. Action step - executes a custom action.

If the email bounces or fails to send, my understanding is that Kentico will retry. However,

  1. Will Kentico only progress to the Action step after the email has been successfully sent? Or does it progress even if the email bounces but then continues to retry the email send?
  2. If an email bounces or fails to send, does Kentico re-evaluate\retrieve the value from the Contact record on each attempt? Or does it evaluate once and just resend the same cached email content?

Thanks heaps!

Correct Answer

Dmitry Bastron answered on May 28, 2020 00:13

Hi Patrick,

Looking at the decompiled code of Send Email Action it uses CMS.EmailEngine.EmailSender.SendEmail(..) method internally. It means that if you have email queue enabled, it will evaluate the email message content one time (resolving all macro methods), and insert this message in the queue. Send emails task then will pick this email message from the queue and attempt to send. If it fails, it will retry according to the email queue setting specified. For each send attempt it will not re-evaluete macros in your email. Email queue stores compiled and ready to be sent email messages with all macro methods resolved.

To answer your first question, when email is added to the queue Kentico treats it as sent and goes to the next step. In reality, yes, the email may bounce but Marketing Automation will treat it as sent. As you can see, Send Email action is not conditional and contains only one outgoing connector meaning there is no way you can handle negative email send result.

Additional bulletproofing here however possible I think, but will require quite some effort: you can use conditional actions and send emails from your custom macro methods that will return true only in email is 100% sent. It's up to you but feels like unnecessary overcomplicating things.

0 votesVote for this answer Unmark Correct answer

Recent Answers

Daniel Merta answered on May 29, 2020 15:21

Hi Patrick,

Dmitry summarized the behavior very well.

1) The automation process continues even if the email bounces. If the email queue is enabled, it allows you to resend emails that are lost due to errors.

2) The value is evaluated just once at the time of the email generation. If the email fails to send, the system attempts to send the same email that has been already generated.

0 votesVote for this answer Mark as a Correct answer

   Please, sign in to be able to submit a new answer.