Guía de migración · Versión 09.26
Configuración multiidioma para Klaviyo
Esta guía te muestra cómo usar la función de traducción de Klaviyo para asegurarte de que tus usuarios reciben emails en el idioma correcto. Para que sea más fácil de seguir, esta guía asume que el alemán es el idioma principal de la tienda y que el inglés se añade como segundo idioma.
1. Contexto
En julio de 2025, Klaviyo lanzó una función de traducción que permite traducir emails directamente dentro de Klaviyo. Igual que con las traducciones en Shopify, primero creas tu email en un idioma y después lo traduces.
Cuando se envía el email, Klaviyo determina qué versión de idioma debe mostrarse según el idioma seleccionado en el perfil.
Core benefits
- Hay traducciones con IA disponibles.
- Pasas menos tiempo creando emails duplicados.
- Reduces el riesgo de enviar emails en el idioma equivocado.
2. Configuración de la función de traducción
2.1 Configuración básica
Para utilizar la función de traducción, ve a Configuración → Traducción en Klaviyo y actívala.
A continuación, elige qué propiedad debe utilizar Klaviyo para determinar el idioma. Utiliza la locale proporcionada por Shopify.
La locale de Shopify se divide automáticamente en idioma y país dentro de Klaviyo, lo que facilita la segmentación y la gestión de flujos y campañas.
- Locale
- Locale: País
- Locale: Idioma
Después de seleccionar la locale, define los idiomas que quieres soportar y establece un idioma predeterminado. Si la mayoría de tus usuarios habla alemán, puedes usar alemán como idioma por defecto. Si tu audiencia es más internacional, el inglés suele ser la mejor opción.
2.2 Migrar perfiles existentes
Si ya llevas tiempo usando Klaviyo, el siguiente paso es asegurarte de que todos tus perfiles activos existentes tengan un locale definido.
Primero, crea un segmento con:
- Propiedades de una persona → Locale = Not Set
- Y: La persona puede recibir email marketing
Después, reduce a 0 el número de perfiles sin locale siguiendo los pasos de abajo.
01 Resincronizar Shopify
Ve a la integración de Shopify en Klaviyo y vuelve a importar tus contactos. Esto permitirá enriquecer perfiles antiguos donde el locale no se había enviado anteriormente.
02 Usar propiedades de idioma antiguas
Si anteriormente guardabas el idioma de tus clientes en otra propiedad personalizada, utiliza tu segmento “Locale = Not Set” como trigger de un flujo.
- Añade un split condicional basado en tu propiedad de idioma antigua.
- Dirige a los usuarios según su idioma (DE, EN, ES, FR, etc.) a diferentes ramas.
- Utiliza una acción de “Update Profile Property” y asigna correctamente el valor de $locale (de, en, es, fr, etc.).
- Pon el flujo en Live y usa “Add past profiles” en el trigger para que también entren los perfiles existentes.
03 Usar asignaciones de listas
Si todavía quedan usuarios en el segmento “Locale = Not Set”, utiliza sus pertenencias a listas para categorizarlos, por ejemplo si antes separabas usuarios por idioma en diferentes listas.
Aplica la misma lógica de flujo: usa el segmento como trigger, haz un split por lista y luego actualiza el locale.
04 Asignar un valor por defecto
Si ya has agotado todas las opciones y aún quedan perfiles sin locale, asigna un valor por defecto (por ejemplo, inglés).
Objetivo
Objetivo: tu segmento “Locale = Not Set” debería estar en 0.
2.3 Etiquetar nuevos perfiles
Una vez migrados los datos históricos, asegúrate de que los nuevos perfiles reciban automáticamente una locale.
Los nuevos perfiles normalmente se crean a través de:
- Formularios de Klaviyo o scripts onsite
- Registros de Back in Stock
- Checkout de Shopify
- Formularios de newsletter de Shopify
- Herramientas externas como Typeform, apps de quiz o herramientas de consulta
2.3.1 Script onsite de Klaviyo
Si un visitante navega por tu tienda pero no inicia el checkout, Klaviyo puede no saber qué idioma o país ha utilizado. Añade este snippet en tu theme.liquid antes de la etiqueta de cierre </body>:
<!-- Start Klaviyo MultiLanguage -->
<script>
klaviyo.identify({
{% if customer.email %}
'$email': '{{ customer.email }}',
{% endif %}
'$locale': '{{ request.locale.iso_code }}-{{ localization.country.iso_code }}'
});
</script>
<!-- End Klaviyo MultiLanguage -->
Esto garantiza que tanto el idioma como el país se sincronicen automáticamente con Klaviyo en todo momento. Cada vez que se crea un nuevo perfil —ya sea a través de un formulario de Klaviyo o un registro de Back in Stock— la locale correcta se envía al instante.
Al mismo tiempo, cualquier cambio que se realice más adelante en tu tienda (por ejemplo, si un cliente cambia el idioma o estaba mal asignado) se refleja automáticamente en Klaviyo, manteniendo todos los perfiles actualizados y correctos.
Ve además en Klaviyo a Integrations > Shopify y, dentro de la integración de Shopify, a Sync to Shopify. Activa allí la opción para sobrescribir en Shopify el locale almacenado en Klaviyo. De esta forma, los perfiles creados en Klaviyo también pueden crearse en Shopify con el locale correcto.
2.3.2 Herramientas externas / apps
Las herramientas externas son un poco más complejas, pero normalmente ya requieren un sistema claro para mapear los distintos idiomas. Una vez definido este sistema, puedes utilizarlo para asignar la locale correcta en Klaviyo de forma consistente, ya sea directamente mediante un paso de “Update Profile Property” o de forma indirecta a través de Shopify Flow, incluso de manera retroactiva para perfiles existentes.
3. Configuración de formularios de suscripción
Para garantizar una experiencia de idioma coherente en tus formularios (registro y Back in Stock) y en los correos de doble opt-in —lo que impacta directamente en la tasa de confirmación— necesitas una pequeña pero importante configuración.
Empieza creando una lista separada para cada idioma. Por ejemplo:
- Newsletter DE
- Newsletter EN
- Newsletter ES
Para cada lista, adapta el correo de doble opt-in al idioma correspondiente. Si el correo de confirmación se envía en el idioma incorrecto, puede reducir significativamente tu tasa de suscripción.
Puedes ignorar otras páginas relacionadas con listas, como las páginas de preferencias o de baja, ya que Klaviyo generalmente utiliza tus configuraciones predeterminadas al enviar campañas o flujos.
3.1 Configuración de formularios de Klaviyo
Al utilizar formularios de Klaviyo, debes asegurarte de que los visitantes siempre vean el formulario de registro en el idioma correcto, para evitar que, por ejemplo, un formulario en alemán aparezca en la versión en inglés de tu tienda.
Si utilizas Shopify Markets, Shopify estructura automáticamente tus URLs por locale (por ejemplo, /en_DE o /fr_FR). Estos patrones de URL pueden utilizarse para controlar qué formulario se muestra a cada usuario.
Esto te permite mostrar el formulario correcto según el idioma (y, si aplica, el país).
Ejemplo
Para la versión en inglés de tu tienda, las URLs pueden contener /en (por ejemplo, tudomain.com/en_DE). Aquí, 'en' representa el idioma y 'DE' el país. Utiliza esta información para crear tu formulario de registro:
01 1. Crear tu formulario
Crea tu formulario de registro en el idioma deseado (por ejemplo, empieza con la versión en inglés).
02 2. Configurar el targeting
En el editor de formularios, ve a Targeting → Targeting y configura el formulario para que solo se muestre en páginas que contengan tudomain.com/en.
03 3. Configurar el comportamiento de envío
Configura lo siguiente para el botón de envío en el idioma inglés:
- Añade los suscriptores a tu lista de newsletter en inglés (para el email de doble opt-in).
- Añade un campo personalizado oculto con Locale = en
04 4. Duplicar para otros idiomas
Una vez que tu formulario en inglés esté configurado, duplícalo y adáptalo para otros idiomas.
- Actualiza todos los textos al idioma correspondiente.
- Asegúrate de mostrarlo solo en páginas con el identificador de idioma adecuado.
- Conecta el formulario con la lista de newsletter correspondiente.
- Actualiza el campo oculto de locale (por ejemplo, 'fr').
- Repite esto para todos los idiomas
Importante: Tu idioma por defecto
Para tu idioma por defecto no tendrás un identificador en la URL. En este caso, procede de la siguiente manera:
- Actualiza todos los textos al idioma por defecto.
- Ve a Targeting → Targeting y selecciona 'Don't show on' en URLs que contengan tus otros idiomas (por ejemplo, tudomain.com/en, tudomain.com/fr, etc.).
- Conecta el formulario con la lista de newsletter del idioma por defecto.
- Actualiza el campo oculto de locale al idioma por defecto (por ejemplo, 'es').
3.2 Configuración de Back in Stock
Si utilizas el snippet estándar de Back in Stock de Klaviyo para añadir una función de notificación en productos agotados, te enfrentarás a tres desafíos al configurar un sistema multilingüe:
- ¿Cómo aseguras que el formulario de Back in Stock se muestre en el idioma correcto?
- ¿Cómo se transfiere el locale del usuario a su perfil en Klaviyo?
- ¿Y cómo envías el email de doble opt-in en el idioma correcto si los usuarios también quieren suscribirse a la newsletter?
El locale se establece automáticamente cuando se crea un perfil mediante el script de la sección 2.3.1 (si está correctamente implementado).
Esto significa que solo necesitas centrarte en dos aspectos: las traducciones y la asignación a la lista correcta.
Sigue estos pasos para configurarlo:
01 1. Añadir el snippet de Back in Stock
Inserta el snippet de Back in Stock en tu archivo theme.liquid antes de la etiqueta de cierre </body> y define placeholders para todos los elementos que quieras traducir.
<script src="https://a.klaviyo.com/media/js/onsite/onsite.js"></script>
<script>
var klaviyo = klaviyo || [];
klaviyo.init({
account: "XXXXX",
list: "{{ 'general.back_in_stock.list' | t }}",
platform: "shopify"
});
klaviyo.enable("backinstock", {
trigger: {
product_page_text: "{{ 'general.back_in_stock.product_page_text' | t }}",
product_page_class: "button w-full",
product_page_text_align: "center",
product_page_margin: "10px 0px 0px 0px",
product_page_width: "100%",
replace_anchor: false
},
modal: {
headline: "{product_name}",
body_content: "{{ 'general.back_in_stock.body_content' | t }}",
email_field_label: "{{ 'general.back_in_stock.body_email_field_label' | t }}",
button_label: "{{ 'general.back_in_stock.button_label' | t }}",
subscription_success_label: "{{ 'general.back_in_stock.subscription_success_label' | t }}",
footer_content: "",
additional_styles: "@import url('https://fonts.googleapis.com/css?family=Inter+Neue');",
drop_background_color: "#000",
background_color: "#fff",
text_color: "#000",
button_text_color: "#fff",
button_background_color: "#000",
close_button_color: "#ccc",
error_background_color: "#fcd6d7",
error_text_color: "#C72E2F",
success_background_color: "#d3efcd",
success_text_color: "#1B9500",
newsletter_subscribe_label: "{{ 'general.back_in_stock.newsletter_subscribe_label' | t }}"
}
});
</script>
02 2. Sustituir tu ID de cuenta de Klaviyo
Sustituye 'XXXXX' por tu clave pública de API de Klaviyo. Puedes encontrarla en Settings → API Keys → Public API Key.
03 3. Añadir traducciones para el idioma por defecto
Ve a tu archivo de locale (por ejemplo, en.default.json) y añade el siguiente bloque de traducción dentro de la sección 'general':
"back_in_stock": {
"body_content": "Register to receive a notification when this item comes back in stock.",
"email_field_label": "Email",
"button_label": "Notify me when available",
"subscription_success_label": "You're in! We'll let you know when it's back.",
"product_page_text": "Notify Me When Available!",
"newsletter_subscribe_label": "Save 10% when signing up for our newsletter.",
"list": "ID of your English list"
},
Personaliza el ID de la lista y las traducciones según tus necesidades.
Debería verse similar a esto:
04 4. Añadir traducciones para otros idiomas
Repite este proceso para cada idioma y adapta tanto los textos como el ID de la lista. Por ejemplo, en tu archivo de.json:
"back_in_stock": {
"body_content": "Erhalte eine Benachrichtigung, sobald dieser Artikel wieder verfügbar ist",
"email_field_label": "E-Mail-Adresse",
"button_label": "Sag mir Bescheid, wenn der Artikel wieder da ist!",
"subscription_success_label": "Geschafft! Wir informieren dich, sobald der Artikel zurück ist.",
"product_page_text": "Sag mir Bescheid, wenn der Artikel wieder da ist!",
"newsletter_subscribe_label": "Werde Teil der Community und spare zusätzlich 10% auf deinen Erstkauf.",
"list": "ID deiner deutschen Liste"
},
05 5. Repetir para todos los idiomas
Asegúrate de que cada idioma tenga su propio conjunto de traducciones y esté conectado a la lista correcta.
3.3 Integración de Shopify y listas basadas en idioma
Para las suscripciones al newsletter que se realizan directamente a través del checkout de Shopify, ya no es necesario utilizar un Shopify Flow adicional para enviar los emails de double opt-in en el idioma correcto.
Configuración recomendada:
01 Crear una lista maestra para todos los registros a través de Shopify
Ve en Klaviyo a Lists & Segments y crea una lista maestra en la que se añadan todos los contactos a través de la integración de Shopify. Necesitarás esta lista además de tus listas individuales por idioma.
02 Crear una lista maestra para todos los registros a través de Shopify
Ve a Integrations > Shopify y selecciona allí tu lista maestra en “Sync your Shopify email subscribers to Klaviyo”.
03 Gestionar el idioma del DOI por locale en las Default Consent Pages
Ve en Klaviyo a Settings > Others > Default Consent Pages. Traduce allí la E-Mail Confirmation Page. De esta forma, los perfiles creados a través de Shopify pueden recibir directamente el email de double opt-in en el idioma adecuado.
4. Páginas de baja y preferencias
Ahora también puedes traducir directamente en Klaviyo las páginas de baja y preferencias. Para ello, ve a Settings > Other > Default Consent Pages.
Configuración recomendada:
01 Traducir las Preference Pages
Dentro de tus Default Consent Pages, ve a Preference Pages y traduce la página a todos los idiomas que utilizas en tu tienda.
02 Traducir la Unsubscribe Page
A continuación, traduce también tu Unsubscribe Page a los distintos idiomas. De esta forma, los usuarios también verán la versión adecuada en su idioma cuando quieran darse de baja.
03 Alternativa: Hosted Pages
Como alternativa, puedes seguir utilizando Klaviyo Hosted Pages personalizadas. Esto puede ser útil si necesitas más control sobre el diseño, el contenido o las opciones adicionales de preferencias.
5. Configuración de flows
Dentro de tus flows también puedes aprovechar los datos de locale que provienen de Shopify.
Existen dos enfoques principales:
5.1 Flows separados o conditional splits
Esto es similar a la configuración clásica: puedes filtrar flows completos por idioma o utilizar conditional splits dentro de un mismo flow.
Ventajas
- Fácil diferenciación por idioma o país.
- Permite emails completamente diferentes por mercado.
- Visibilidad del rendimiento por idioma o país.
Desventajas
- Más flows o ramas que gestionar.
- Más trabajo manual.
- Los destinatarios pueden quedar “bloqueados” en el flujo inicial según el idioma.
Elige este enfoque si quieres tener visibilidad completa de cómo funcionan tus flows en diferentes idiomas o mercados.
5.2 Uso de la función de traducción
Si principalmente quieres comunicarte en el idioma correcto y no necesitas reporting por idioma, puedes utilizar la función de traducción de Klaviyo dentro de un único flow central.
Ventajas
- Solo necesitas mantener un único email.
- Las traducciones con IA están disponibles — solo necesitas revisarlas.
- Estructura de flows más limpia y fácil de gestionar.
Desventajas
- Sin diferenciación integrada entre mercados.
- Sin reporting por idioma o país.
Elige este enfoque si buscas una configuración más sencilla y solo necesitas comunicar en el idioma correcto sin analizar el rendimiento por mercado.
6. Configuración de campañas
Con la nueva función de traducción, en teoría ya no necesitas campañas separadas por idioma. En su lugar, puedes enviar una única campaña a todos y controlar el idioma mediante la función de traducción.
Sin embargo, para análisis y datos a nivel de mercado, puede seguir teniendo sentido dividir las campañas por idioma o país. Esto es especialmente útil si quieres entender cómo funciona una campaña en mercados y/o idiomas específicos.
Por lo tanto, debes decidir qué configuración se adapta mejor a tu caso:
6.1 Una campaña usando la función de traducción
Si tu objetivo principal es enviar emails en el idioma correcto —y no necesitas análisis detallados por idioma— sigue estos pasos:
- Crea los segmentos que quieres targetear sin especificar un idioma.
- Diseña y escribe tu email de campaña primero en un idioma.
- Una vez finalizado el email, utiliza la función de traducción de Klaviyo para añadir las demás versiones.
Ventajas
- Gestionas los segmentos en función del comportamiento, no del idioma.
- Envías una única campaña a una audiencia más grande, lo que puede ser útil para A/B testing.
- La IA de Klaviyo puede traducir la mayor parte del email por ti, solo necesitas revisarlo y ajustarlo.
Desventajas
- El reporting se muestra como un resultado global, no desglosado por idioma o país.
- Tienes menos visibilidad sobre qué versión de idioma funciona mejor.
Elige este enfoque si principalmente quieres enviar el idioma correcto y buscas la configuración más simple posible.
6.2 Campañas separadas usando exclusiones por idioma o país
Utiliza este enfoque si es importante para ti entender cómo funcionan los distintos idiomas o países.
- Crea tus segmentos principales sin condiciones de idioma o país.
- Crea segmentos adicionales por idioma, por ejemplo:
- Perfiles en alemán (Locale: Language = de) y en inglés (Locale: Language = en).
- Segmentos por país como perfiles en Alemania (Locale: Country = DE), Austria (Locale: Country = AT) u otros mercados relevantes.
- Para un análisis más profundo, crea combinaciones de idioma-país como perfiles en alemán en Alemania (Locale = de_DE) o en inglés en Alemania (Locale = en_DE).
- Al enviar campañas, utiliza tu segmento principal como 'Send to' y excluye los idiomas o países que no quieres targetear.
Envío por idioma
Utiliza un segmento principal y controla cada versión de la campaña mediante exclusiones.
Ventajas
- Puedes analizar el rendimiento de cada campaña por idioma o país.
- Al usar segmentos de idioma o país como exclusiones, puedes reutilizarlos en múltiples campañas sin necesidad de crear nuevos segmentos cada vez.
- Obtienes mayor control sobre la comunicación y el análisis por mercado.
Desventajas
- Es ligeramente más complejo de gestionar (comparado con la opción 1), ya que siempre debes trabajar con exclusiones (por ejemplo, para emails en alemán excluir perfiles en inglés — y viceversa).
- Requiere crear manualmente un email separado para cada idioma.
- La configuración de campañas lleva más tiempo que con una única campaña traducida.
Elige este enfoque si quieres mejor reporting y mayor control por idioma, país o mercado.
Conclusión
Con la nueva función de traducción, gestionar el multi-idioma en Klaviyo se ha vuelto mucho más sencillo. Si sigues los pasos de esta guía, deberías terminar con una configuración limpia en la que el locale se sincroniza correctamente desde Shopify.
Esta guía se centra únicamente en la configuración multilingüe dentro de Klaviyo.
Desde 2026, Klaviyo también es compatible con Shopify Markets a través de los llamados Locale Aware Catalogs. Esto te permite sincronizar datos de producto específicos por mercado desde Shopify a Klaviyo, incluyendo idioma, moneda, precios y URLs de producto localizadas — para que tus emails siempre muestren la información correcta para cada mercado.
Todo ha funcionado — tu guía está en camino.
Revisa tu bandeja de entrada. Si no aparece, comprueba también spam o promociones.
¿Aún pensando en tu setup multilingüe?
Deja que implementemos tu setup multilingüe por ti
Configuramos tu sistema multilingüe por completo — limpio, estructurado y listo para usar en Shopify y Klaviyo.
- Migración de tu setup de idiomas existente
- Limpieza de propiedades de idioma en Klaviyo
- Integración limpia con Shopify localization
- Estructura de flows y segmentos
- Sistema escalable para varios mercados