top of page
Writer's pictureNaveen VM

Marketing Cloud Dynamic Email Based on Different Languages

Updated: May 14, 2021

Let's say that you / your company has an international product / service and as an email marketer, you will need to get in touch with customers in all the countries. You also know that you might need to get in touch with customers with their country languages to get more open & click rate.


Have you ever wondered how much time it would take to create each email with different languages of content, Preview & test the emails, creating a journey builder and adding multiple decision splits based upon country and add each email to those splits.

Uff... so much time for one email ?!


Or If you have a single email and you are using dynamic content or enhanced dynamic content, you have to maintain too much content for different countries and too much work on adding rules, content and testing it out.


Now, we have a solution! You just need a little amount of knowledge on the ampscript that's it!


Step 1: We need a Target data extension to which we need to send out an email. Below is the screenshot in which we have customers from different countries in the US, Germany & France.


Data Extension with different country records
Data Extension with different country records

Step 2: We need to create a data extension for email language translation:

  • In the below screenshot, Country_ISO is the primary key. Select some common identifiers between the Target DE and Translation DE. In this case I have taken country ISO as the common identifier.

  • Email content will be changing based upon the country ISO row.

  • For example, if the Target DE one of the recipients has country ISO 'DE' then we have made the ampscript to look for 'DE' in translation DE and pick up the related content.

  • You can also notice that in the Header Text column I have added the HTML directly in the data extension which the ampscript will render HTML along with content.


Data Extension for Content Translation
Data Extension for Content Translation

Step 3: Create an email:

Below is the initial email I have created:

Dynamic Email Based on  Different Languages
Dynamic Email Based on Different Languages

Step 4: Change the email with AMPscript:

Below is the AMPscript to be placed in a HTML content (view code snippet).


Code Description:

  • Line 2 - It will fetch the Country_ISO field value from the Target data extension

  • Line 3 - The LookUp function will fetch the value of Subject attribute if the matching country_ISO has been found between Target DE and Translation DE.

  • You can also add an If and else condition if the country_ISO couldn't able to match the translation DE then add the country_ISO as default as 'US'

  • Replace the subject with Ampscript variable - %%=v(@Subject)=%%.

  • For Links you can replace it with - %%=RedirectTo(@CTA_Link)=%%

  • Similarly repeat the steps for other email contents as well like Pre-header, Header image etc..


Outcome:

Below is the email for different languages:

German:


French:

If you feel you need to change the content at a later point of time, you just need to change the contents in data extension. You don't have to worry about updating the journey builder email, ampscript will take care of those.


This is a great time saver! Let me know your thoughts on this.


Please feel free to leave your feedback/comment in case of any queries.


Happy Learning!



6,437 views4 comments

Recent Posts

See All

4 Comments


Roland
Roland
Jul 17

This is a rather complicated solution which only works for plain text. You have to manage a external table with translations, you have no human readable email while editing (editing now requires an IT person) and it only works for plain text. Inserting images based on cryptic URLs isn't realistic.


Also 'country' is a pretty bad condition to base the language on. But I'll assume that's the only data you have available.


Is there a way to have multiple blocks in the template and use AMPscript to include/exclude each block depending on a given condition?


We have language preference and membership type available. We have use this to make emails like shown above, but it's not user friendly.

We would…


Like

Hi Thanks for this.


Can you please tell how we can render personalization with such implementation. I tried implementing the same solution. But when I am trying to render the ampscript variable in my content using this solution, this is not rendering the ampscript value correctly.

Like

Adnan Essa
Adnan Essa
Sep 01, 2021

This is a great way of scaling up journeys across multiple languages.


How would you breakdown the performance of each email for each market if you use 1 journey...e.g. Belgian and Nederlands are setup in a Business Unit and have been deployed within 1 journey....how would we monitor performance for belgium vs nederlands?

Like
Naveen VM
Naveen VM
Sep 01, 2021
Replying to

Thanks for your feedback Adnan! Yes indeed its a nice & easy way to scale up.

With respect to performance I didn't see any big impact on performance. I have been using this same way for 110+ countries.

Like
bottom of page