Messages in multiple languages
UpdatedCustomer.io supports multiple character sets out of the box. If your app/site has multiple languages, there are a few ways you can localize your messages. In every case, you’ll need to assign people an attributes representing their language preference. In most of our examples, we refer to this attribute as language
.
Try our new Language Settings instead!
These instructions predate our new localizationA process of setting up messages with two or more languages, and using your workspace’s Language Settings to make sure that people in your audience receive messages in their preferred language. feature, which helps you send messages in multiple languages without complicated conditions or liquidA syntax that supports variables, letting you personalize messages for your audience. For example, if you want to reference a person’s first name, you might use the variable {{customer.first_name}}
.. Learn more
There are a few ways to localize your messages:
- (Recommended) Our new localization feature for newsletters.
- Use action conditions and set up separate messages in your campaign for each language.
- Use liquid conditions inside a message.
- Set up separate campaigns for each language with conditions determining who enters each campaign.
The condition per-message method
Using this strategy, you only have one campaign that includes separate messages for each language.
Advantages:
- fewer campaigns overall
- open, click, and conversion stats are partially separate (you can view the stats per message, but you’ll need to export data from multiple campaigns if you want to see the overall stats for a particular language)
- you can easily make changes to messages sent in different languages
Disadvantages:
- grouping messages sent in series (a few days from one another) can get messy because of the large number of messages included in the workflow
- you can’t easily find or export data for all the messages sent in a particular language
Sample Setup
Your campaign has messages separated by language using an action condition. This way, only those profiles whose language attribute/value is set as “fr” will receive the French email. Others who do not have the attribute/value set to “fr” will skip this message. The same applies to all the messages in the workflow as long as they have a condition filter added.
Once you add the condition filter to all your messages, the Workflow page will look something like this:
Note: If you’re using this strategy for a Welcome campaign and you notice delays in sending attribute updates sent to Customer.io, you can add a 2-3 minutes delay before the first message to give your app enough time to send us the correct information.
The per-message method (using liquid)
Using this strategy, you only have one campaign and one message per marketing scenario, but each user will see the content in its own language.
Advantages:
- fewer campaigns overall
- making changes to messages sent in multiple languages is easier (you only need to edit one message)
Disadvantages:
- open, click, and conversion stats are mixed together, so running reports per language is more difficult
Sample Setup
In this example, we’ll create a test within a message (in the editor) using conditional (if/else) statements in a message body. If the user’s set language is French or Italian we’ll present localized greetings; if neither, we can fall back to English.
{% if customer.language == "fr" %}
Bonjour!
{% elsif customer.language == "it" %}
Ciao!
{% else %}
Hello!
{% endif %}
Note: Most people using this strategy have 2-5 languages they are managing messaging for. Also watch out for character limits in subject lines and body copy.
The per-campaign method
Using this strategy, each language has its own campaign.
Advantages:
- you can easily group messages sent in series (a few days from one another)
- open, click, and conversion stats are separate
- by adding a tag like [FR] in the campaign name you can easily find all the campaigns targeted at a specific audience
Disadvantages:
- it increases the number of campaigns in your account
- if you need to make changes for multiple languages, this needs to be done campaign-by-campaign
Sample Setup
If your app is available in 3 languages (English, French and Italian), you might have 3 campaigns for each of the three languages:
- Welcome email - fr
- Welcome email - it
- Welcome email - en
Then you’d have 3 segments:
- “Language is French”
- “Language is Italian”
- “Language is English”
Those segments are then applied as Filters on the campaigns.
You might have the same trigger conditions for your campaigns, but the filters for language restrict who should get the message to French, Italian, or English speakers.