Running Subject Line AB tests with segmented Subjects
I like to distinguish Dynamic Content™ — when you literally right-click and choose Make Dynamic in the Marketo Editor UI — from “dynamic content” in the broader sense.
The ™ version is just one type of dynamic content, though it’s the easier type to master. The other type, more powerful but admittedly much harder to learn, is Velocity-powered dynamic content.
Velocity can combine segment membership (in one or more segmentations!) with additional logic to decide final output. You’d typically switch from WYSIWYG-based Dynamic Content™ to Velocity-based dynamic content when your business rules get suitably complex.
But some features are incompatible with DC™, even though the content decisions are comparatively simple.
Take, for example, a Subject Line AB Test. You can segment the Subject: by a single segmentation, in this case one based on the State field:
Trouble is, in the Subject Line AB Test context, you can only use static entries for the test groups. The settings for Group A and Group B override Dynamic Content™ at the email level:
So there would only be 2 variations total, rather than 2 groups × 6 State-specific variations.
But there’s a way around this. Enter a Velocity {{my.token}} name for each group:
Then your tokens can themselves output different content based on the segmentation.
{{my.subjectLinesA}}:
#if( $lead.Segmentation_State_1020.equals("NY") )
It’s a New York thing
#elseif( $lead.Segmentation_State_1020.equals("VA") )
It’s a Virginia thing
#else
It’s really something
#end
{{my.subjectLinesB}}:
#if( $lead.Segmentation_State_1020.equals("NY") )
Virginia peanuts, anyone?
#elseif( $lead.Segmentation_State_1020.equals("VA") )
New York pizza, anyone?
#else
Out-of-town foods for expats
#end
(These examples are kind of contrived from a marketing standpoint, but you get the idea!)
Why not just use $lead.State
in Velocity?
Indeed, if the segments for the Segmentation called State are 100% aligned with the system State field, then you could just use $lead.State
in Velocity instead of $lead.Segmentation_State_nnn
.
But I think it’s better to use the segmentation if it exists. This will also remind you that you can use different segmentations in {{my.subjectLinesA}} and {{my.subjectLinesB}}. Think on that for a moment!