Personalizing an E-mail campaign

ACTITO lets you personalize your e-mails in order to display text elements specific to each of your contacts. This can call on attributes of the Profile table, but also on various other data.

This allows you to personalize using the attributes of the Custom Tables of your Data Model : Interactions and Linked Data tables (Repository tables cannot be used on their own : they are imbricated into a profile table of another custom table).

Inserting personalizations

To insert a personalization, type the $ tag followed by the name of your personalization between curly brackets (for example, ${firstName}) where you want your personalization to appear in your message. When the recipient will receive the e-mail, this tag will be replaced by the corresponding value for their profile.


It is not allowed to use special characters or spaces in the technical name of personalizations. For instance, ${firstname} must be used instead of ${first name}.

In addition, you can also insert personalizations directly using the quickpicker. Clicking on this button will allow to search through all your profile attributes, or any other data source you added (see below).

By selecting an attribute, a personalization will be automatically added to your message, with the correct syntax.


The quickpicker is available in the the template editor but also everywhere you can insert personalizations :

  • in the links wizard

  • in the images wizard

  • in links parameters

  • in the headers (step 1)

  • in the reply-to address (step 1, advanced parameters)



By default, the quickpicker allows to personalize on Profile and Technical attributes.

You can click on "Add a new datasource" to include more advanced data : see the "Expert mode" section below to learn about advanced sources.

Defining Personalizations

To define personalization parameters, click on the 'Personalizations' button.


Simple personalizations

You will reach the personalization settings interface. By default, you will see the personalizations included in the subject and the content.

  • When the name of the variable is exactly the same as a profile attribute, the matching will be pre-filled.

  • If you used the quickpicker, the matching will be pre-filled too.

  • In other cases, you will need to match your personalization with the data of your choice.

First of all, it is necessary to select the data source from which the personalization value will come.

Five data sources are available by default in the dropdown menu:

  • Constant: replaces the variable by a fixed value. This is useful for testing or in a campaign template.

  • Profile: allows you to call on every profile attribute. These are the most common personalizations.

  • Technical value: allows you to use technical attributes, such as the profileId of the campaign name.

  • Gender test: allows you to display a different message according to the gender of the profile, for example, Sir/Madam (only available if your DB has the standard attribute "sex")

  • Link: allows you to refer to a link. It can be an unsubscribe link, a webversion link, a link towards an ACTITO form or a custom URL.

Provided by API

This 6th option is only available for scenarized and transactional e-mails.


It is useful if the trigger of the e-mail is done programmatically by API call.

The value of the personalization can be therefore provided directly in the "parameters" array of the body of the call used to trigger a scenarized e-mail or a transactional e-mail.

This allows to personalize the e-mail with data that are not stored in Actito, but are coming from an external system, where the trigger event of the call happens, which automatizes the e-mail sending.

HTML content

Through the advanced parameters of a "provided by API" personalization, it can be defined as "HTML content".


This means that in the API call made to trigger the e-mail, you'll be able to directly integrate a snippet of HTML code, which will interpreted in the final rendering of the e-mail.

This is the only way to inject HTML in a campaign defined through the template editor!

Testing 'provided by API' variables

As the final e-mail will the triggered by an API call, it might be relevant to carry out tests together with one of your developers.

Nevertheless, Actito gives you the possibility to test your e-mail directly in the interface, without involving technical resources.

If you use a personalization 'provided by API', an additional button will indeed be automatically displayed at the 'Check and test' step.


It lets you simulate test values for your personalizations, so that your test e-mails really use data to validate their final rendering.

These data are stored in the cache of your browser. They therefore do not appear if another user edits the campaign, or if you change session.


Expert mode

In addition to 'base' sources, it is possible to use more advanced data.

To do so, you need to activate the 'expert mode' on the top left of the interface.

A new tab called 'Data sources' will appear in the interface. Three kinds of advanced data can be added.

Once selected, the source will be available in the bottom part of this screen and you will be able to allocate it to the correct personalization parameter.



This allows you to personalize with an external file (.csv file) that you can upload.

This is useful to personalize with one-off data which do not need to be stored in ACTITO because it is only used in this specific campaign (such as a discount code).


You will need to specify the file parameters :

  • File type : it must a .csv file (or a .zip compressed CSV file), which can use commas, semicolons or tabs as separator.

  • File encoding : UTF-8 is the most common format, but other encodings are allowed.

  • Key attribute : this is the profile attribute that will be used to match the values in the file with the profiles. This does not need to be a unique attribute. You can push your one-off data according to the postcode, for example.

The format of the file must follow some specifications :

  • The file contains one column for the key attribute given above. This must be the first column of the file.

  • The file must contain one column by external personalization (as the file can be used to define several personalizations at once).

  • The columns must have headers (they will be used in the personalization picker)

  • Each possible value for the key attribute will correspond to one row

  • The maximum size of the file is 50MB.


This allows you to personalize using information from an ACTITO survey.

This includes the answers given by the profile to the form questions, but also technical data such as the participation moment.


This allows you to personalize using the attributes of the Custom Tables of your Data Model : Interactions and Linked Data tables (Repository tables cannot be used on their own : they are imbricated into a profile table or another custom table).

Due to their nature, interaction tables often contain several lines for the same profile (for example, in an 'order' table, the same profile can have several orders).

  • Defining which line must be used by the personalization:

By default, ACTITO will take the last line. What exactly is the 'last' line is defined when the table is created. Usually, it will be the line with the latest creation date.

However, in some cases, another sorting method might be more relevant to your communication. If you do not want to use the 'default' option, click on the cog icon to the right of the data source line.

You will have two options:


  • Provided by the scenario: this option should be chosen for your scenarized sendings when the start block of the scenario is related to the value of the personalization (for example, if the scenario is triggered by a ticket creation). In doing so you will be sure that the information used to trigger the scenario and the information used in the personalization are the same.

This option is only available for scenarized and transactional campaigns.

  • By default + filter: You can reduce the range of possible results by adding criteria, like for a targeting.


  • Defining the number of lines used

By default, a personalization can only refer to one line of data.

Yet by nature, custom tables can often contain several data entries for one profile. There are options that allows you to personalize with multiple lines at once.

Therefore, the "use a maximum of" field allows you to configure how many lines you want to display. For instance, if a client makes an unusually large order, you may want to avoid displaying all the products bought in the confirmation e-mail if you don't want it to be astonishingly long.


You have the possibility to order these lines according to an attribute and to retrieve them in ascending or descending order.

The order will vary according to the type of the attribute chosen :

  • Ascending means the most ancientdate first, the smallest number first or alphabetical order for texts.

  • Descending means the most recentdate first, the biggestnumber first or unalphabetical order for texts.


The number and order of lines is only relevant when using features that allows personalization on multiple values :

  • Loops personalizations : loops can be used for all kinds of e-mails but are especially relevant for transactional e-mail (see "Loop personalizations" in Creating a Transactional E-mail for more explanation).

  • Displaying all values as a list : see the "Multivalue attributes and custom tables" section in the below chapter.

Configuring personalizations

After selecting your data source, it is not necessary to use the data exactly as it is. You can transform it.
To do so, click on the cog icon to the right of the personalization line.

You will reach the advanced parameters.


Multi-value attributes and custom tables

Some profile attributes can be multi-valued (identified by the images/download/thumbnails/624689700/image2021-4-15_14-42-2.png icon), which means that a single field can hold several values for the same profile (ex: a "hobbies" attribute).

In addition, custom tables (interaction and linked data) can also hold several lines associated to the same profile.

These types of data unlock additional advanced parameters.

  • Display all values as a list

This option allows you to display all* the values associated to a profile one after the other as a list in a single sentence (* or the number defined in "number of lines used").

For example, this can be used to display the names of all the children of a profile (stored in a linked data table), or list all the interests of a profile (stored in a multi-value attribute).

This feature lets you structure the list by choosing the separators that will come between the values, but also how to start and close the list.


This enables highly personalized communication.





Displaying the values as a list is very useful to display a single class of information on the same line.

However, to display structured sets of data (such as several products, each with a name, a picture, a quantity and a price), it may be better to use loop personalizations (see "Loop personalizations" in Creating a Transactional E-mail for more explanation).

  • Filter function

What if you send an e-mail about potential interests of a profile, but you want to only focus on some specific interests that a profile might have stored in his multi-values attribute.

No need to say "Hey ${firstName}, we know you're a fan of football, basketball, cycling, fly-fishing and knitting" if you want to get them to subscribe to your articles about ball sports.

The filter function will allow you to only keep the values that are relevant to your topic.


You have 2 options :

  • Exclude : to remove the possible values that you do not want to display.

  • Keep only : to explicitly state the possible values that you want to display.


Now your communication will be personalized with the own interests of your profiles, depending on what sports they like, all while filtering the irrelevant options.

All attributes

The following advanced parameters are available for personalizations on all attributes (profile and custom tables).

  • Define a default value

You can define a default value, which will replace the personalization if it does not have a default value for the profile.
If no default value is defined in such a case, the personalization will be empty (a blank space will be displayed).


  • Transformation function

Some values allow data transformation:


You can create a mapping to replace attribute values by a custom value.

For example, you can replace the "post code" by the name of the closest store, or the 'sex' attribute allows you to create a 'gender test' and display 'Sir' or 'Madam'.

You can input the values one by one, or copy paste a list, in which case the format of the mapping should "key=value" lines, with a carriage return as separator.

Date format

You can choose how to format dates (and date+time) attributes.