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
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.
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.
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.
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:
You could use a data element in DTM/Launch to capture this with a small JS snippet:
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:
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