pastedImage_11.png

Beware the Category-less Soft Bounce

SanfordWhiteman
Level 10 - Community Moderator
Level 10 - Community Moderator

Or not so much “beware” as ignore an Email Bounced Soft that doesn't have an associated Category.

Far too many posts and practices imply that grouping Email Bounced Soft-s together with a simple filter is harmless. The thought is that you may want to separate Category 3, Category 4, and Category 9 but you don't have to.

The approach is implicitly encouraged by the official docs:

pastedImage_11.png

But this doc is misleading, because there's one type unlisted: call it the No-Category (NC) Soft Bounce.

Guess what falls into NC? If you read my posts avidly, you might suspect it's something code-related. Yep: a Velocity token parsing error results in an NC Soft Bounce.

Here's one I triggered at a client just now by accidentally deleting the close parenthesis ) from a #set directive:

pastedImage_21.png

pastedImage_20.png

I quickly fixed the error before sending again in this case.

But imagine if it took more troubleshooting, and each send triggered an operational campaign (or qualified for the equivalent daily batch) that counted Email Bounced Soft activities without a Category constraint, setting Marketing Suspended = true when people exceeded a threshold. There are well-known recipes for Marketo database cleaning out there that do just that!

Don't make that mistake. Constrain Email Bounced Soft by Category [is not empty] to catch only the bounce types which may call the lead's info into question. Velocity coding errors must not be held against the lead, as they're completely in your court.

You can view just the Velocity parsing errors like this:

pastedImage_34.png

P.S. and N.B.: the Velocity errors that are surfaced as NC Soft Bounces are Velocity Template Language (VTL) parsing errors. That is, forgetting the #end of an #if, missing parentheses or brackets, or other broken syntax. That doesn't include Java language errors thrown by syntactically valid VTL, like trying to get() a nonexistent index in an ArrayList of Custom Objects. The latter type of error shows up verbosely in the Preview UI, but if it makes it to send time, it's swallowed by the system. You will only see the Sent Email without a corresponding Delivered Email in this case. Obviously that's pretty ambiguous. So test, test, test your Velocity!

1324
0