Hello Community,
Background:
My company sends marketing for dozens of brands that offer memberships. As such, we have created emails that leverage Marketo's dynamic segmentation capabilities to show different content based on the different brands members have signed up for. This has been very helpful, HOWEVER, we are finding that even with this capability, our marketers are spending an inordinate amount of time updating emails.
Our business depends heavily upon inbound sales calls. To track email campaign success, we regularly configure different email phone numbers on a per-brand and, often, per-email basis. If sales volume is down, Marketing often receives requests to send out ad-hoc emails within a short amount of time. Marketing is given 25-30 phone numbers per brand to set up in an email. This is where the dynamic segmentation comes in:
Below is an example of a recent email we sent out. The marketer had to manually input each brand's phone number for 25-30 brands in 8 different places within the email using dynamic segmentation. This equates to hundreds of repetitive clicks amounting to over an hour of building an email - Click on Segment > Click Brand > Click Acme Brand > Click in Email Header > write in Acme phone number > Click in Body > write in Acme phone number > click in Button > write in Acme phone Number > click in body Footer > Write in Acme phone # and etc. Repeat steps for ABC brand segment, repeat steps for XYZ brand segment, repeat steps for DEF brand segment, etc.
We were really excited because we thought creating a Velocity Script token could solve this problem...But then we ran into a blocker after building it. The token, as is, is programmed to make the phone number clickable. This works well for simply displaying the number as is in email and it's fully clickable and trackable, however, it cannot be embedded in an image or in CTA text.
Original my.token:
#set( $brandPhoneNumbers = {
"Brand1" : "555-555-Br01",
"Brand2" : "555-555-Br02",
"Brand3" : "555-555-Br03",
"Brand4" : "555-555-Br04",
"Brand5" : "555-555-Br05",
"Brand6" : "555-555-Br06",
"Brand7" : "555-555-Br07",
"Brand8" : "555-555-Br08",
"Brand9" : "555-555-Br09"
} )
## below here is no-touch
## remember to check off the Segmentation field in Script Editor
#set( $currentBrand = $lead.Segmentation_Brands_1012 )
#set( $defaultPhone = "212-555-5656" )
#set( $currentPhone = $display.alt($brandPhoneNumbers.get($currentBrand), $defaultPhone) )
<a href="tel:+1${currentPhone}">${currentPhone}</a>
I created a secondary my.token that strips out the clickability--however, for it to work when embedded in an image or CTA text, tracking must be disabled. The implications of this includes needing to edit all of our existing image modules to disable tracking OR build new modules or a new email template that has tracking disabled.
The team's feedback is that this is not a viable solution because they already have 100s of emails built and do not have the bandwidth to go through and rebuild all of them or update them.
Secondary my.token:
#set( $brandPhoneNumbers = {
"Brand1" : "555-555-Br01",
"Brand2" : "555-555-Br02",
"Brand3" : "555-555-Br03",
"Brand4" : "555-555-Br04",
"Brand5" : "555-555-Br05",
"Brand6" : "555-555-Br06",
"Brand7" : "555-555-Br07",
"Brand8" : "555-555-Br08",
"Brand9" : "555-555-Br09"
} )
## below here is no-touch
## remember to check off the Segmentation field in Script Editor
#set( $currentBrand = $lead.Segmentation_Brands_1012 )
#set( $defaultPhone = "212-555-5656" )
#set( $currentPhone = $display.alt($brandPhoneNumbers.get($currentBrand), $defaultPhone) )
${currentPhone}
I was thinking of other possible solutions such as creating snippets, but then we run into the problem of still needing to update the phone number for each segmentation within the snippet.
Does anyone have any suggestions for a possible solution to reduce the time spent on building emails for our particular scenario?
Thank you,
LK
Solved! Go to Solution.
Have you considered using the API to update those existing emails?
Hi Sanford,
That's an interesting idea, would take the lift off of the Marketing team.
Is it possible to update multiple emails at once, or would it have to be an email-by-email process?
Thanks,
LK
The API updates one content block (in one email asset) per call.
Well, you could use the API to update the emails or even the tokens. However, a point to note here is that there's no supported way to update email scrript{{my.tokens}} as the format of the stored value is known to change arbitrarily over time. One more thing to consider is updating the email design so you can embed the links in the text instead of an image and make use of the velocity script like you originally intended.
How often is one person receiving different e-mails from different brands? Could you create a field like "Brand Contact Info" and then run a campaign to change the data value to the correct phone number based on what dynamic segment they are a part of?
...And you could have another campaign where the trigger is if their segment changes, the brand phone number would update again. This way it's all under one token and you don't need to worry about dynamic segmentation here.