Customer.io supports multiple character sets out of the box. If your app/site has multiple languages, there are three common strategies for localization/internationalization. All of them require you having a customer attribute containing the language information already stored on the user profile, though. In our walkthroughs, we called this attribute language.
Using this strategy, you only have one campaign that includes separate messages for each language.
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.
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.
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.
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.
Using this strategy, each language has its own campaign.
If your app is available in 3 languages (English, French and Italian), you might have 3 campaigns for each of the three languages:
Then you’d have 3 segments:
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.
Internationalization/localization is a really hard problem to solve. However, it’s one that we care about. Please let us know; tell us more about your use case, so we can improve our features to make localization easier!