With customers based all around the globe, the ability to deliver messages in multiple languages lets you interact with customers using their preferred language. 

With Blueshift, you can send messages in different languages using the following two methods:


In order to deliver messages in a customer’s preferred language, you must add a custom attribute for the customer that indicates the preferred language.

For example, you can add the custom attribute “locale” for the customer. Then you can assign the preferred language based on language and region as locale=en (English) or locale=en-us (U.S. English) or locale=es (Spanish) or locale=es-mx (Spanish as used in Mexico) and so on.

You can refer to the list of ISO 639-1 codes for localization or see Apple’s Language and Locale IDs for more information.

Filtering at the Journey Level

Requires: Multiple templates

Pros: Templates are simple/ easy to read

Cons: Multiple branches cause journeys to be more complex

To use this approach, you must create message templates for each different language that you want to send the messages in. Then in the campaign journey, use the user attribute filter to branch the journey based on the customer’s language. You can also use the Decision Split trigger to split the journey based on language.


In the following example, we have a campaign journey where we want to send emails to the target audience in French or English. We have created two separate email templates, Bon Voyage in English and Bon Voyage - fr in French.

Using two email triggers

In the campaign journey, we have two triggers. 

  • To send an email to French speaking customers, we check for locale = fr.
  • To send an email in English to all other customers, we check for locale != fr.


Splitting journey based on language

Use the Decision Split trigger to split the journey based on language.

  • Path 1 is for French speaking customers where we check for locale = fr.
  • The Everything Else path is for all other customers.


Filtering at the Template Level

Requires: Single messaging template

Pros: Low complexity in the journey since there’s a single branch

Cons: Templates are more complex as content from multiple languages are all packed into one

To use this approach, you must use Liquid in your templates to personalize content based on language. The campaign journey itself does not require any filtering based on language. 

Example 1: Here is an example of using language based personalization in the email Subject:

{% if user.locale == "fr" %}
Bonjour {{user.firstname}}! Partez pour un Voyage Fantastique!
{% else %}
Hello {{user.firstname}}! Go on a Fantastic Voyage!
{% endif %}


Example 2: If you are using the Visual Studio to create your email templates, you can use the Row conditions to display the row based on the customer’s preferred language.


Email previews


Was this article helpful?
0 out of 0 found this helpful



Please sign in to leave a comment.