Highlighted

Best approach in Adobe analytics to implement Multilingual website

kuldipj

17-04-2019

Dear Adobe Experts,

Please guide/suggest us to implement adobe analytics in multilingual website.

As our website support multiple languages and customers wants us to provide the data flow in report suites in single language so whatever language user choose the data collection should always be in one language.

Also our website content coming dynamically from CMS (content management system) so how to manage or control this type of implementation.

Please provide your thoughts and suggestions.

Thanks in advance for your valuable thoughts

Replies

Highlighted

Asheesh_P

MVP

27-04-2019

Hi Kuldip,

I would "Disable Multi-byte Character Support" in New Report Suite

You have to contact your Account Manager or Customer Care to change the multibyte character support for an existing report suite.

I would then use virtual report suites for multi-language reports.

Thanks,

Asheesh

Highlighted

brentrad

29-04-2019

I am not sure what type of website this is, what variables your client wants, or how the URLs/site is structured, but will try to weigh in on your ask.

One option would be to write JavaScript that looks for URL patterns and matches those to specific values you want recorded in your dimensions.  For example, imagine that your contact us page URL is either mysite.com/contact/ (for English), mysite.com/es/contacto/ (for Spanish), or mysite.com/fr/contacter/ (for French). You want to capture dimension values in English only, and the dimensions you care about are Page Name and Section.

pagename: 'Contact'

channel: 'Contact"

**/contact**

**/contacto**

**/contacter**

Note that going the page pattern route is going to be fairly laborious up front, since you'll need to know all the dimension values that you care about, and what URLs are associated with those specific values.

For things like custom links and buttons, you can probably use HTML elements to map to specific variables values.

Highlighted

salimj

30-04-2019

A reasonable best practice for multilanguage sites is to utilize a language variable (preferably in a data layer) and provide all the reporting in a single language (ideally localized to your report consumers). You would want to avoid having pages named differently to align with the language. Since you're also using a CMS, partnering with your developers is key in getting the data exposed consistently.

There are a few ways to do this, but let me cover the top 2 . (using the contact us example from another post above):

1.) Scenario: Developer is unable to expose metadata in a data layer

- Assuming you have your pages structured with the language at the top level, you can use URL patterns to extract the language:

ie:

English: https://my.site.com/en/contact-us.html

Spanish: https://my.site.com/es/contact-us.html

French: https://my.site.com/fr/contact-us.html

You could use a data element in DTM/Launch to capture this with a small JS snippet:

document.location.pathname.split('/')[1]

The above would first return the pathname which = "/en/contact-us.html"

Next, you're asking JS to split that value using "/" as a delimiter, returning an array (0="", 1="en", 2="contact-us.html").

Last, you're asking to return the value at position 1 of the array since all arrays start at 0.

2.) Scenario: Developer can expose a data layer

This option is the easiest one and involves exposing the language code in the data layer:

myDataLayer: {

     page: {

          name: "contact-us",

          language: "fr"

     }

}

Scenario 2 is by far the easiest for you as a marketer/implementor since the data layer can scale comfortably and provides more reliability than string manipulation or site scraping.

By putting this value in a prop/eVar, you can slice your pages by language or as mentioned above, create a VRS based on the language.

Hope that Helps