Objetivos del artículo

Cómo usar CSS personalizado para cambiar la apariencia del chat web de Klaviyo: el iniciador, la ventana de chat, las burbujas de mensaje y el Composer de mensajes. Aprenderás qué variables de tema y nombres de clase son seguros para segmentar, y cuáles se romperán cuando Klaviyo lance una actualización.

Este artículo aplica tanto si usas el chat web por sí solo como si lo usas como parte de Klaviyo Customer Hub. La interfaz de chat es la misma en ambos casos, por lo que el mismo CSS funciona para ambos.

Antes de empezar

El CSS personalizado solo se recomienda para especialistas en marketing con conocimientos técnicos o para quienes tengan acceso a un desarrollador. El equipo de soporte de Klaviyo puede ofrecer orientación general, pero no puede escribir ni depurar CSS personalizado por ti.

Necesitarás lo siguiente:

  • Un rol de Propietario, Administrador o Gerente
  • Familiaridad con selectores CSS y propiedades personalizadas (variables CSS)

Antes de escribir CSS personalizado, revisa si los ajustes de diseño integrados ya hacen lo que necesitas. Los colores, las fuentes, la forma del botón y la posición del iniciador se pueden configurar sin código, y esos ajustes se mantienen tras las actualizaciones de Klaviyo. Recurre al CSS personalizado solo para lo que los ajustes de diseño no cubren.

Dónde agregar CSS personalizado

Dónde encuentras el editor de CSS personalizado depende de tu configuración.

Si usas Klaviyo Customer Hub

  1. Ve a Klaviyo Customer Hub > Diseño.
  2. Desplázate hasta la sección Personalizado en la parte inferior de la configuración de estilos.
  3. Haz clic en Agregar CSS personalizado o edita el CSS que ya está ahí.
  4. Haz clic en Guardar.

Si usas chat web independiente

  1. Ve a Configuración > chat web > Diseño.
  2. Desplázate hasta la sección Personalizado en la parte inferior de la configuración de estilos.
  3. Haz clic en Agregar CSS personalizado o edita el CSS que ya está ahí.
  4. Haz clic en Guardar.

Si tienes habilitado Klaviyo Customer Hub, la configuración de diseño del chat web te dirigirá a Klaviyo Customer Hub. Esto es lo esperado: Klaviyo Customer Hub controla el diseño de ambas superficies, así que hay un solo lugar para dar estilo a todo.

Cómo se aplica el CSS personalizado

Tu CSS se agrega a una etiqueta de estilo en tu tienda, después de los propios estilos de Klaviyo. De esto se desprenden dos cosas:

  • Tu CSS gana. Como se carga al final, tus reglas anulan los valores predeterminados de Klaviyo sin necesidad de !important en la mayoría de los casos.
  • Tu CSS no está limitado al chat. Se aplica a toda la página. Incluye siempre el alcance de los selectores a un elemento de chat, en lugar de escribir reglas sin ámbito como button { … }, que afectarían a toda la tienda.

Empieza con las variables del tema

La forma más confiable de cambiar el estilo del chat web es sobrescribir las variables de tema de Klaviyo en un bloque :root. Estas son estables, se aplican en cascada correctamente en toda la interfaz y es mucho menos probable que se rompan que al dirigir elementos individuales.

css
:root {
  --atlas-chat-bubble-background: #f0ebe4;
  --atlas-message-border-radius: 4px;
}

Variables de mensajes de chat

Variable

Predeterminado

Controles

--atlas-chat-bubble-background

#f2f2f2

Fondo de los mensajes del agente (entrantes)

--atlas-chat-bubble-text-primary

#322e2f

Color del texto de los mensajes del agente (entrantes)

--atlas-chat-bubble-display-name

#797979

Nombre del remitente que se muestra arriba de un mensaje

--atlas-message-border-radius

16px

Radio de esquina en todas las burbujas de mensajes

Los mensajes del comprador (salientes) reutilizan intencionalmente los colores de la marca: la burbuja usa --atlas-button-primary y el texto usa --atlas-text-primary-inverse; ambos se configuran en los ajustes de diseño.

Variables de color y superficie

Variable

Predeterminado

Controles

--atlas-background-main

#faf9f8

Fondo de la ventana de chat

--atlas-background-content

#ffffff

Tarjetas y superficies elevadas

--atlas-text-primary

#1d1e20

Cuerpo del texto

--atlas-text-secondary

#4b4d4e

Texto secundario y auxiliar

--atlas-text-placeholder

#747576

Texto de marcador de posición de Composer

--atlas-primary-color

#3f5260

Color de realce

--atlas-button-primary

#3f5260

Fondo del botón principal y de la burbuja del comprador

--atlas-text-primary-inverse

#ffffff

Texto en botones principales y burbujas del comprador

--atlas-border-light

rgba(0, 0, 0, 0.05)

Divisores sutiles

--atlas-border-focus

#41a1e6

Color de acentuación del anillo de enfoque

Variables de forma y espaciado

Variable

Predeterminado

Controles

--atlas-drawer-inset-border-radius

12px

Radio de esquina de la ventana de chat

--atlas-button-border-radius

8px

Radio de esquina del botón

--atlas-input-border-radius-normal

8px

Radio de esquina de entrada

--atlas-card-border-radius-normal

24px

Radio de esquina de la tarjeta

--atlas-shadow-medium

0px 8px 16px 0px rgba(55, 63, 71, 0.2)

Sombra de la ventana de chat

Variables de tipografía

Variable

Predeterminado

Controles

--atlas-font-family

Pila de fuentes del sistema

Fuente del cuerpo

--atlas-heading-font-family

Pila de fuentes del sistema

Fuente del encabezado

--atlas-font-size-normal

16px

Tamaño base del cuerpo

--atlas-font-size-small

14px

Tamaño del texto pequeño

--atlas-font-weight-normal

400

Peso corporal

--atlas-font-weight-heading

700

Grosor del encabezado

Varias de estas ya están escritas en la configuración de diseño. Es preferible configurar las fuentes y los colores en la interfaz de configuración de diseño: usa las variables para valores que la interfaz no expone.

Dirige elementos con ganchos de clase

Cuando una variable del tema no funciona, segmenta elementos directamente. Klaviyo garantiza los nombres de clase a continuación.

Cualquier nombre de clase que encuentres en el inspector del navegador y que no esté en esta lista no es seguro de usar. La mayoría de los nombres de clase internos incluyen un hash de compilación (por ejemplo, Chat-chatWindow-a1B2c) que cambia cada vez que Klaviyo publica una actualización y rompe tu CSS sin avisar. Regla general: si una clase empieza con kl-hub-, es segura. Si no, no lo es.

Elementos del chat

Selector

Elemento

.kl-hub-launcher

El botón flotante del iniciador de chat

.kl-hub-drawer

La ventana de chat

.kl-hub-drawer__header

El encabezado de la ventana de chat

.kl-hub-drawer__content

El área de mensajes desplazable

.kl-hub-message

Una burbuja de mensaje (tanto de agente como de comprador)

.kl-hub-chat-input-wrapper

El contenedor del Composer de mensajes

.kl-hub-chat-input

El campo de texto de Composer

.kl-hub-chat-prompt-button

Botones de inicio de conversación y de respuesta rápida

.kl-hub-modal-veil

El fondo detrás de la ventana de chat

La ventana de chat también incluye una clase que nombra la pantalla actual: .kl-hub-route-chat para el chat en sí. En el chat web independiente, esta siempre es .kl-hub-route-chat. En Klaviyo Customer Hub, cambia a medida que el comprador navega (.kl-hub-route-home, .kl-hub-route-orders, y así sucesivamente), lo que permite delimitar el CSS a una sola pantalla.

El botón de envío no tiene una clase dedicada. Apúntalo mediante el Composer:

css
.kl-hub-chat-input-wrapper .kl-hub-button-primary {
  background: #2f4f4f;
}

Elementos compartidos

Selector

Elemento

.kl-hub-text

Cualquier elemento de texto

.kl-hub-heading

Cualquier encabezado (también .kl-hub-h1) mediante .kl-hub-h5)

.kl-hub-p

Texto del párrafo (también .kl-hub-p-small, .kl-hub-p-tiny, .kl-hub-p-grande)

.kl-hub-link

Enlaces

.kl-hub-button

Cualquier botón (también .kl-hub-button-primary, .kl-hub-botón-secundario, .kl-hub-botón-terciario)

.kl-hub-input

Cualquier entrada de texto

.kl-hub-card

Tarjetas, incluidas las tarjetas de producto

.kl-hub-thumbnail

Miniaturas de producto

.kl-hub-icon

Iconos

.kl-hub-toast

Notificaciones tipo toast

Dar estilo de forma diferente a los mensajes del agente y del comprador

Esta es la solicitud más común y requiere un enfoque específico. Los globos del agente y del comprador comparten la misma .kl-hub-message clase; no hay una clase estable que los distinga, así que no puedes seleccionar uno directamente.

En su lugar, usa las variables del tema, que ya tratan estos dos de forma diferente:

css
:root {
  /* Agent messages */
  --atlas-chat-bubble-background: #f0ebe4;
  --atlas-chat-bubble-text-primary: #2b2b2b;

  /* Shopper messages */
  --atlas-button-primary: #1f3a3d;
  --atlas-text-primary-inverse: #ffffff;
}

--atlas-button-primary también da color a los botones principales. Si necesitas que la burbuja del comprador y los botones sean diferentes, actualmente eso no es compatible.

Ejemplos

Cuadra todo

css
:root {
  --atlas-drawer-inset-border-radius: 0;
  --atlas-message-border-radius: 0;
  --atlas-button-border-radius: 0;
  --atlas-input-border-radius-normal: 0;
}

Encabezados y botones en MAYÚSCULAS

css
.kl-hub-heading,
.kl-hub-button {
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

Haz que el launcher sea más grande con una sombra personalizada

css
.kl-hub-launcher {
  width: 72px !important;
  height: 72px !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25) !important;
}

El launcher establece varias propiedades directamente en el elemento, por lo que las reglas del launcher necesitan !important para surtir efecto. Este es el único lugar en el que se requiere de forma habitual.

Amplía la ventana de chat en el escritorio

css
@media (min-width: 900px) {
  .kl-hub-drawer {
    width: 480px;
  }
}

Si tu CSS no se guarda

Cuando guardas, Klaviyo revisa que el CSS se analice correctamente. Si no es así, verás CSS no válido. Revisa la sintaxis. y los cambios no se guardarán.

Una hoja de estilos solo se rechaza por completo cuando no genera ninguna regla, lo que normalmente significa que lo que pegaste no es CSS. Causas comunes:

  • Pegar texto sin formato, HTML o una etiqueta style en lugar de reglas CSS
  • Pegar parte de una declaración en lugar de una regla completa
  • Una hoja de estilos en la que cada regla tiene un error de sintaxis

Un solo error de sintaxis normalmente no impedirá que se guarde. En su lugar, rompe silenciosamente las reglas a su alrededor. El texto suelto antes de una regla se incorpora al selector de esa regla, por lo que la regla no coincide con nada. Una regla sin cerrar se traga las declaraciones que siguen. Se ignora una llave de cierre suelta. Así que, si una regla que escribiste no tiene efecto, revisa la sintaxis de todo lo que está arriba, no solo la regla en sí.

Lo que el CSS personalizado no puede hacer

  • Cambia el texto. El CSS personalizado no puede editar el texto. Usa la configuración de diseño y contenido para eso.
  • Reordena o cambia de posición los elementos más allá de lo que permite el diseño de CSS. La estructura del chat no se puede personalizar.
  • Segmenta por clase las burbujas de agentes y compradores por separado. Usa las variables del tema, como se describió arriba.
  • Sobrevive a los rediseños automáticamente. Los ganchos de clase y las variables son estables en las actualizaciones normales, pero un rediseño importante puede requerir que vuelvas a revisar el CSS. Vuelve a hacer pruebas después de lanzamientos importantes.

Recursos adicionales

  • Cómo personalizar el estilo de Klaviyo Customer Hub

    Conoce las opciones de diseño para dar estilo a tu cajón de Klaviyo Customer Hub y cómo puedes diseñarlo para que coincida con tu marca. Dado que la interfaz de Klaviyo Customer Hub está integrada en la experiencia del cliente, es una práctica recomendada darle estilo para que parezca una extensión de tu sitio web.

  • Primeros pasos con el chat web

    Obtén más información sobre el chat web, que es un canal de comunicación bidireccional que puedes agregar a tu sitio web. El chat web se puede configurar por separado para que lo uses con Agente de Clientes y Helpdesk, pero también está diseñado para ser una parte integrada de Klaviyo Customer Hub. El chat web permite que tu empresa interactúe en conversaciones en vivo y personalizadas con los visitantes de tu sitio web, para que puedan obtener fácilmente respuestas a sus preguntas o ayuda con problemas.

  • Solución de problemas de CSS, JavaScript y HTML personalizados en Klaviyo

    Descubre cómo solucionar problemas del código personalizado al importar una plantilla HTML personalizada o al crear una plantilla personalizada con código.

¿Te resultó útil este artículo?
Usa este formulario solo para enviar comentarios sobre el artículo. Más información sobre cómo contactar al equipo de asistencia.

Descubre más sobre Klaviyo

Comunidad
Conecta con colegas, socios y expertos de Klaviyo para inspirarte, compartir ideas y resolver todas tus dudas.
Socios
Contrata a un experto certificado por Klaviyo para ayudarte con una tarea específica o para la gestión continua de marketing.
Asistencia

Accede a la asistencia a través de tu cuenta.

Asistencia por correo electrónico (prueba gratuita y cuentas de pago) Disponible 24/7

Asistencia virtual/por chat
La disponibilidad varía según la ubicación y el tipo de plan