Personalization and Dynamic Variables
In terms of marketing communication automation, personalization refers to the substitution of dynamic variables to personal contact data. At the moment of the message send, variables in the message template are substituted by the corresponding data taken from a contact card.
The most common example of personalization is the %FIRSTNAME% variable that is substituted by a customer's name, provided the corresponding field is filled in the contact card.
The substitution principle can be applied to other data:
- Contact surname;
- City or country;
- Promo code or QR code link;
- Name of the operating manager;
- Address, email and phone number of the physical location;
- Bonuses in the customer’s account, etc.
Personalization is used for both bulk and triggered campaigns in all channels - Email, SMS, Web Push, Mobile Push, Viber.
To see all personalization options available for your account, go to your profile > Settings > Additional fields. Additional fields can contain any contact data you send to eSputnik through API.
How to Add Personalization to Messages
SMS, Web Push, Mobile Push, Viber
The SMS, Web Push, Mob Push, and Viber editors have a similar interface, with the personalization icon placed identically. Click it to unroll the list with available variable options.
In the email editor, the personalization feature is hidden by default and gets available only when you edit text. To use it, click any text piece to disclose the top menu and click Merge tags.
How to Use Dynamic Variables
Using variables, you can add any personal info depending on the available data in the contact card. For example, to address a customer by name, use the %FIRSTNAME% variable.
In the message, a variable is substituted by the value specified in the contact card data field. If the particular field is empty, the variable will be ignored and no data will be substituted.
In this case, depending on the punctuation and copy, the user may receive a message with an evident space or missing word.
To avoid it:
- Add a vertical bar (|) after the variable you’re using (%FIRSTNAME|%). In eSputnik, it’s added by default to any variable.
- Enter alternative text after the bar (%FIRSTNAME|friend%).
Contacts whose names are specified in the cards will receive messages with a personal greeting. Contacts without known names will receive messages with a standard greeting.
This substitution principle applies to all variables. Take a look at the example with more dynamic variables.
Note. Variable names can differ depending on the contact field names you have in your account.
To add a variable for an image, click the image block, click URL and insert the variable (for example, %PERSONAL.QRCODE%) in Image path.
Or you can add a variable as an src attribute straight to code.
The variable value should be a link with an absolute path, for example: https://example.com/qr_code.png
The more contact data you have, the more dynamic variables you can use. Make sure to update your contact base on a regular basis. You can do this through import or API integration. Also, you can send campaigns to collect additional contact data.
How to Use Velocity for Email
Dynamic variables help personalize your messages, but they get inapplicable if you have few or no contact fields filled. Due to the absence of data for substitution, some blocks of the email copy can be incomplete and confusing.
The possible solution for email is to hide certain blocks unless all data is available. To do this, you can use Velocity. For substitution in messages, Velocity can use data not from the contact card but from events sent to the system.
To use it in the email, click the structure you want to hide and open Code editor.
As shown in the example below, add variables (in our example PERSONAL.PROMOCODE and PERSONAL.QRCODE) to the code in the commented format: #if($data.get('PERSONAL.PROMOCODE')!='' and $data.get('PERSONAL.QRCODE')!='').
Add the if/else statement. The if/else statement will execute the code for the structure if the specified conditions are true. For example, if both data pieces (personal promo code and QR code) are available, the block will be shown in the email. If one of them isn’t available, the whole block will be hidden.
Add #end to specify the end of the conditional array.
Apart from hiding blocks, the if/else statement can also check whether a certain contact field is filled. For example, to check the contact name field, add to the code
#if($data.get('FIRSTNAME') and $data.get('FIRSTNAME')!='')
This principle applies to any variable you want to check.
Additional personalization can be delivered to emails through personalized product recommendations. Learn more on how to set up product recommendations for email.