Forum Discussion

Caspar657's avatar
Caspar657
Active Member
2 years ago

Scaling Onboarding Journeys Across Languages and Countries

Hey Bonfire, 

We've got an interesting challenge where we'd like to take an onboarding journey in one country and scale it up to work globally, so across 16 languages and 133 countries. Has anyone done this before, and if so, do you have pointers on how to set up the journeys to make sure they work and aren't too much of a nightmare to edit?

  • DavidO's avatar
    DavidO
    Strategist II

    Hey Caspar657 

    I can only speak from a translation perspective here as someone who is currently localising an onboarding campaign. The current onboarding canvas remains identical in flow and design at the moment, but all the content for the emails is drawn from content blocks for the relevant langauge.

    Essentially an email looks like this:


    This block uses liquid and the users locale to then capture the relevant language block and render it out. For example:

     

    {%- capture headingLanguage -%}
        
        {%- if {{${most_recent_locale}}} == 'es_MX' -%}
        {{content_blocks.${Email_es-ES_OnboardingEmailHeading}}}
        {%- elsif {{${most_recent_locale}}} == 'pt_PT' -%}
        {{content_blocks.${Email_pt-PT_OnboardingEmailHeading}}}
        {%- elsif {{${most_recent_locale}}} == 'zh_TW' -%}
        {{content_blocks.${Email_zh-TW_OnboardingEmailHeading}}}
        {%- else -%}
        {{content_blocks.${Email_en-EN_OnboardingEmailHeading}}}
        {%- endif -%}
    
    {%- endcapture -%}
    
    {{headingLanguage}}

     

    You could also achieve the same thing inside the email with if /else statements rather than nesting blocks, but this way I don't really have to touch the email or canvas to add / update new languages.

    There is likely quite a few ways to do this. This is just our current setup.