StoneShot Learning > Email Marketing > Dynamic Emails
Dynamic Emails
Up Close and Personal
We write and talk lots about personalization as it’s so critical to engagement.
We didn’t quite write the book on it but we made a model, did some professional investor research on compliance and explain how you can take personalization through to your website. Oh, we also explain how it can save your time too.
So personalization is a Good Thing. Let’s put in into practice.
The simple stuff
You can place special codes into your StoneShot emails that merge in content dynamically. The simplest uses the recipient’s first name, here’s how it looks within an email.
When the email gets sent, the StoneShot Platform will swap in the relevant first name and hey presto, you’ve achieved personalization at scale. There are many contact fields you can use in this way and we’ve made a list at the bottom of this page.
Sending from Sales/Relationship Managers
Most of our clients assign their contacts to a sales or relationship manager. This is usually assigned within CRM, where the sales manager is the contact owner. During the onboarding process, we guide you through mapping CRM fields to StoneShot so the sales manager is connected to a StoneShot segment. You can then dynamically send from the relevant sales manager.
That means you can dynamically send emails from the client’s sales manager. It applies to the sender name and email, and also a sign-off block you can add to your emails too. This example shows the sales manager’s name merged into the email.
You can create complete content blocks for a sign-off so it includes the name, email, phone, photo, socials, etc.
Go to Options > Segments and pick the Sales Manager segment (it could have a different name in your account). Go to the Dynamic Fields tab and click the New Dynamic Field button. Enter “SIGNOFF”.
You then need to make a sign off for each of your sales managers. Click the Segments tab, go into each sales manager and you’ll see a SIGNOFF field. Drop in the sign off as HTML and Text and you’re done. You can then use this dynamic field in your emails:
{DYNAMIC:SALESMANAGER:SIGNOFF}
If that all sounds horribly complex, don’t sweat. Contact us and we’ll help set it all up.
Segments
You can use any other segment you’ve created to merge in dynamic content as above. It could be based on demographic or geographic data you wish to use to personalize your emails.
Contact Custom Fields
You can add your own custom fields to extend the standard ones we provide against a contact.
Go to Options > Segments and pick the Custom Fields tab. Then click the New Custom Field button. Enter the field name (i.e. Dietary Requirements) and our platform will generate a System Name (in this case DIETARYREQUIREMENTS).
That’s given you an empty bucket against each of your contacts. You can populate the data either by mapping the field to your CRM or importing data from Excel. When that’s done (you still with me?), you can dynamically merge the data into your emails. In this case, you need to use {CUSTOMFIELD:DIETARYREQUIREMENTS:VALUE}.
Events
You’ll probably know that we have an event solution built into our platform. No? It allows you to centrally drive event registration and check-in, and it has some cool tools for generating stuff like certificates of attendance.
Rather than repeatedly entering the event, venue, speaker, agenda, etc onto each invitation, reminder, confirmation and follow-up (phew), you can use more automation. Just pop the info under Events, pick an event layout from our Email Library and you’re done.
If you prefer coding, here’s a little taster of an event confirmation email. You can see all dynamic event fields at the bottom of this page.
Automating insights/blog emails
You can also automate the distribution of your insights/blog content. We’ve created a solution that picks up content from your website and allows your clients to choose content by topic. This is called Content Distribution System or CDS for short. It gives your clients a fantastic experience and saves you a ton of time on email build and send.
Automating Fund Document Distribution
Carrying on with our love of acronyms, we have a fund document distribution solution called DDS. This picks up a feed usually from your document provider and again allows your clients to follow funds of interest. There’s usually custom work involved in implementing it – contact hello@stoneshot.com for more info.
Today’s Date
This one is useful for newsletters and market commentary emails. You can add today’s date dynamically into your emails but adding {CURRENTDATE:ddd MMM d yyyy}. That will give you something like “Mon Nov 21 2022”, except it will be today’s date! All options are listed at the bottom of this page.
Conditional logic
Ok, we’re going to get a little more techie now. You’ve got this but we’re here if you need help.
So you’ve added a {FIRSTNAME} to your email but you’re worried about contacts that have nothing in First Name. You need an IF statement.
{IF:FIRSTNAME:HASVALUE}
Hi {FIRSTNAME}
{ELSE}
Dear client
{/IF}
So if First Name has a value, we’ll use it. If not, we’re going generic.
You can look for specific values too. This code block uses CITY against a contact but you could equally use a segment, event session/venue, custom contact field and more.
{IF:CITY:EQUALS:London}
Call our team in London on 020 7628 4444
{ELSEIF:CITY:EQUALS:New York}
Call our team in New York on (347) 352-8186
{ELSEIF:CITY:EQUALS:Singapore}
Call our team in Singapore on 3157 5127
{ELSE}
Send an email to support@stoneshot.com
{/IF}
We hope you enjoyed digging into dynamic emails. Personalization is huge and your efforts will be rewarded many times over.
XXXXX
Contact Merge Fields
{EMAIL}
{FIRSTNAME}
{LASTNAME}
{TITLE}
{COMPANY}
{PHONE}
{CUSTOM1}
Date Formats
Format specifier | Description | Examples |
---|---|---|
“d” | The day of the month, from 1 through 31. | 6/1/2009 1:45:30 PM -> 1 6/15/2009 1:45:30 PM -> 15 |
“dd” | The day of the month, from 01 through 31. | 6/1/2009 1:45:30 PM -> 01 6/15/2009 1:45:30 PM -> 15 |
“ddd” | The abbreviated name of the day of the week. | 6/15/2009 1:45:30 PM -> Mon |
“dddd” | The full name of the day of the week. | 6/15/2009 1:45:30 PM -> Monday |
“x” | The day suffix. | 6/15/2009 1:45:30 PM -> th |
“h” | The hour, using a 12-hour clock from 1 to 12. | 6/15/2009 1:45:30 AM -> 1 6/15/2009 1:45:30 PM -> 1 |
“hh” | The hour, using a 12-hour clock from 01 to 12. | 6/15/2009 1:45:30 AM -> 01 6/15/2009 1:45:30 PM -> 01 |
“H” | The hour, using a 24-hour clock from 0 to 23. | 6/15/2009 1:45:30 AM -> 1 6/15/2009 1:45:30 PM -> 13 |
“HH” | The hour, using a 24-hour clock from 00 to 23. | 6/15/2009 1:45:30 AM -> 01 6/15/2009 1:45:30 PM -> 13 |
“m” | The minute, from 0 through 59. | 6/15/2009 1:09:30 AM -> 9 6/15/2009 1:09:30 PM -> 9 |
“mm” | The minute, from 00 through 59. | 6/15/2009 1:09:30 AM -> 09 6/15/2009 1:09:30 PM -> 09 |
“M” | The month, from 1 through 12. | 6/15/2009 1:45:30 PM -> 6 |
“MM” | The month, from 01 through 12. | 6/15/2009 1:45:30 PM -> 06 |
“MMM” | The abbreviated name of the month. | 6/15/2009 1:45:30 PM -> Jun |
“MMMM” | The full name of the month. | 6/15/2009 1:45:30 PM -> June |
“tt” | The AM/PM designator. | 6/15/2009 1:45:30 PM -> PM |
“y” | The year, from 0 to 99. | 1/1/0001 12:00:00 AM -> 1 1/1/0900 12:00:00 AM -> 0 1/1/1900 12:00:00 AM -> 0 6/15/2009 1:45:30 PM -> 9 |
“yy” | The year, from 00 to 99. | 1/1/0001 12:00:00 AM -> 01 1/1/0900 12:00:00 AM -> 00 1/1/1900 12:00:00 AM -> 00 6/15/2009 1:45:30 PM -> 09 |
“yyy” | The year, with a minimum of three digits. | 1/1/0001 12:00:00 AM -> 001 1/1/0900 12:00:00 AM -> 900 1/1/1900 12:00:00 AM -> 1900 6/15/2009 1:45:30 PM -> 2009 |
“yyyy” | The year as a four-digit number. | 1/1/0001 12:00:00 AM -> 0001 1/1/0900 12:00:00 AM -> 0900 1/1/1900 12:00:00 AM -> 1900 6/15/2009 1:45:30 PM -> 2009 |
Event Fields
EVENT SESSION DETAILS | |
---|---|
{EVENT:EVENTSESSION:ID} | Session ID |
{EVENT:EVENTSESSION:INDEX} | Session Index (in collection of sessions) |
{EVENT:EVENTSESSION:NAME}/{EVENT:EVENTSESSION:LOCATION} | Session Name (location) |
{EVENT:EVENTSESSION:SESSIONURL} | Session URL |
{EVENT:EVENTSESSION:STARTTIME} | Start Time |
{EVENT:EVENTSESSION:STARTTIME:FORMAT} | Start Time (with optional format) |
{EVENT:EVENTSESSION:STARTDATE} | Start Date |
{EVENT:EVENTSESSION:STARTDATE:FORMAT} | Start Date (with optional format) |
{EVENT:EVENTSESSION:ENDTIME} | End Time |
{EVENT:EVENTSESSION:ENDTIME:FORMAT} | End Time (with optional format) |
{EVENT:EVENTSESSION:ENDDATE} | End Date |
{EVENT:EVENTSESSION:ENDDATE:FORMAT} | End Date (with optional format) |
{EVENT:EVENTSESSION:SESSIONTYPE} | Session Type (Online / Conference Call / Seminar) |
{EVENT:EVENTSESSION:CLIENTSESSIONID} | Clients Session ID |
{EVENT:EVENTSESSION:REGION} | Region |
{EVENT:EVENTSESSION:PROVIDER} | Provider |
{EVENT:EVENTSESSION:CPD} URL to | CPD PDF Landing (Download) |
{EVENT:EVENTSESSION:CPDVIEW} URL to | CPD PDF Landing (View) |
{EVENT:EVENTSESSION:OCR} URL to | One click registration |
{EVENT:EVENTSESSION:CALENDAR} URL to | ICS calendar file |
SEMINAR DETAILS | |
{EVENT:EVENTSESSION:ARRIVETIME} | Arrive Time |
{EVENT:EVENTSESSION:ARRIVETIME:FORMAT} | Arrive Time (with optional format) |
ONLINE (WEBCAST) DETAILS | |
{EVENT:EVENTSESSION:WEBCASTURL} | Webcast URL |
{EVENT:EVENTSESSION:BANNERURL} | Banner URL |
{EVENT:EVENTSESSION:MEDIATYPE} | Media Type |
{EVENT:EVENTSESSION:DURATION} | Duration |
CONFERENCE CALL DETAILS | |
{EVENT:EVENTSESSION:CONFERENCEID} | Conference Call ID |
{EVENT:EVENTSESSION:UKDIALIN} | UK Conference Call Dial-in Number |
{EVENT:EVENTSESSION:INTDIALIN} | International Conference Call Dial-in Number |
{EVENT:EVENTSESSION:CONFERENCECALLURL} | Conference Call URL |
SPEAKER DETAILS | |
{EVENT:EVENTSESSION:SPEAKER:NAME} | Speaker Name |
{EVENT:EVENTSESSION:SPEAKER:JOBTITLE} | Speaker Job Title |
{EVENT:EVENTSESSION:SPEAKER:LOCATION} | Speaker Location |
{EVENT:EVENTSESSION:SPEAKER:DESCRIPTION} | Speaker Description |
{EVENT:EVENTSESSION:SPEAKER:PHOTOURL} | Speaker Photo URL |
{EVENT:EVENTSESSION:SPEAKER:SPEAKERPROFILEURL} | Speaker Profile URL |
VENUE DETAILS | |
{EVENT:EVENTSESSION:VENUE:CITY} | Venue City |
{EVENT:EVENTSESSION:VENUE:CAPACITY} | Venue Capacity |
{EVENT:EVENTSESSION:VENUE:NAME} | Venue Name |
{EVENT:EVENTSESSION:VENUE:DESCRIPTION} | Venue Description |
{EVENT:EVENTSESSION:VENUE:CONTACTNAME} | Venue Contact Name |
{EVENT:EVENTSESSION:VENUE:CONTACTPHONE} | Venue Contact Telephone |
{EVENT:EVENTSESSION:VENUE:CONTACTEMAIL} | Venue Contact Email |
{EVENT:EVENTSESSION:VENUE:ADDRESS1} | Venue Address 1 |
{EVENT:EVENTSESSION:VENUE:ADDRESS2} | Venue Address 2 |
{EVENT:EVENTSESSION:VENUE:ADDRESS3} | Venue Address 3 |
{EVENT:EVENTSESSION:VENUE:ADDRESS4} | Venue Address 4 |
{EVENT:EVENTSESSION:VENUE:COUNTY} | Venue County |
{EVENT:EVENTSESSION:VENUE:COUNTRY} | Venue Country |
{EVENT:EVENTSESSION:VENUE:POSTCODE} | Venue Postcode |
{EVENT:EVENTSESSION:VENUE:REGION} | Venue Region |
{EVENT:EVENTSESSION:VENUE:PHOTOURL} | Venue Photo URL |
{EVENT:EVENTSESSION:VENUE:MAPURL} | Venue Map URL |
{EVENT:EVENTSESSION:VENUE:DIRECTIONSPDFURL} | Venue Directions PDF URL |
{EVENT:EVENTSESSION:VENUE:ADDRESSLINE} | Single Line Address |
{EVENT:EVENTSESSION:VENUE:ADDRESSMULTI} | Multi Line Address |