Skip to content

Campaigns in multiple languages

This how-to article will go over how to send messages in different languages within campaigns.

Being able to deliver messages in multiple languages allows users to interact and reach their customers in a truly personalized way.

Braze allows you to send messages in different languages from our dashboard. When composing a campaign, our language templating feature enables you to easily create one message that appears in different languages depending on the user’s phone settings.

Here’s how you can set up a message in multiple languages:

Step 1: Feature opt-in

When composing your campaign, click Add Languages.

Step 2: Select languages

Select the languages that your message will be in. The selections offered in the dropdown menu will be all of the languages that your users currently have. Braze automatically tracks the language in users’ device settings and includes this information in each user’s profile.

After you select your languages, the snippet textbox will alter to feature a template that you can copy and paste into the content of your message. This template uses conditional logic to handle multiple languages in a single campaign.

Step 3: Select fields

Select the fields that you want to appear in different languages. These fields will differ depending on the message channel:

  • Email: Subject and body
  • Android push: Message, Title, Summary Text, Sound, and Custom URL
  • iOS push: Message, Sound, and Custom URL
  • In-app message: Message
  • Windows Universal push: Text 1, Text 2, Text 3, and Image Name

A warning will display if you have already entered content in any of the selected fields. You can choose to replace existing content with the templated text or insert the templated text after the existing text.

Step 4: Insert fields

Using the buttons at the bottom of the dialogue, choose how you wish to insert the templated text into the message composer, or copy and paste the template into the desired location.

Step 5: Add language variations

After inserting your templated text into the desired fields, type in different variations for each language. For each field where there is templating, you should enter the variations after the bracketed segment of templating. The variation should correspond to the language code referenced in the brackets before it. For instance, in the message’s body, this might look like:

{% if ${language} == 'en' %}
{% elsif ${language} == 'fr' %}
{% else %}
{% endif %}

For the title of an Android push, this might look like:

{% if ${language} == 'en' %}Hello!{% elsif ${language} == 'fr' %}Bonjour!{% else %}Hello!{% endif %}

The text you enter after {% else %} will display to users who:

  • Have a language that was not selected in Step 2.
  • Have a language that is not supported by Braze. Braze supports the languages represented by ISO 639-1 two-letter codes, as well as a few additional ones not included in that set. For a complete list, check out our iOS Localization page.
  • Have a device where the language is undetectable. (This is highly unlikely).

We recommend entering text here that you think your users are most likely to understand. To ensure smooth delivery, you should always enter content after {% else %}.

Anything entered outside of the template block will behave like normal content and display for all users.

Step 6: Preview message

Click the Personalized Preview button and enter a user’s ID or email to see how the message would appear to that individual, depending on their language. You’ll also be able to see how your entire message looks as a whole and decide whether to add languages to more fields than the ones you had previously chosen.

Step 7: Finish campaign

Complete the remaining steps for creating your campaign.

New Stuff!