In Visibility Rules, “Contains” means a regular expression, not a string

Little-publicized, to the point that even Support isn't in the loop: the Visibility Rule Contains operator does allow multiple values. The Contains value is interpreted as a full-fledged regular expression,

This isn't a Velocity post, and yet it is

Just when you thought variables not working in the Text version of emails was a mostly harmless detail, you find it has wider consequences that are firmly buggy.

Selectively track Marketo links and opens based on lead opt-in (think GDPR, o’course)

GDPR and related regulations call for some fancy footwork with activity tracking. Leads may be members of the same program, set to receive the same email... but many have opted-out of tracking, while the rest agreed to be tracked for the greater good.

Velocity ${formal.notation} invites syntax errors: use it wisely

There are 2 ways to access references (i.e. variables) in Velocity: simple and formal notation. Use simple unless you're absolutely positive that you must use formal.

Accessing the Lead ID from Velocity

The person's Marketo ID (oh-so-useful for building links and such) isn't available in the Velocity field tree, but you can still access it.

More input mask tweaks for Marketo Forms

You've seen before that the Forms 2.0 input mask plugin can be tweaked to do some more elegant stuff. Here are a few more ways to push the envelope.

Just look at how bad this code is

Is bad code a teachable moment? I keep thinking it is. Might just be an excuse for another rant, though.

Velocitip: Convert was-Boolean, now-String → Number, then enjoy $display.message

This tip is used in this post on sending tracked or untracked links based on each lead's “OK to track me” setting. Boolean type fields enjoy a strange place in