Cómo usar CSS personalizado para dar estilo al chat web
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
- Ve a Klaviyo Customer Hub > Diseño.
- Desplázate hasta la sección Personalizado en la parte inferior de la configuración de estilos.
- Haz clic en Agregar CSS personalizado o edita el CSS que ya está ahí.
- Haz clic en Guardar.
Si usas chat web independiente
- Ve a Configuración > chat web > Diseño.
- Desplázate hasta la sección Personalizado en la parte inferior de la configuración de estilos.
- Haz clic en Agregar CSS personalizado o edita el CSS que ya está ahí.
- 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.
:root {
--atlas-chat-bubble-background: #f0ebe4;
--atlas-message-border-radius: 4px;
} Variables de mensajes de chat
Variable | Predeterminado | Controles |
|---|---|---|
|
| Fondo de los mensajes del agente (entrantes) |
|
| Color del texto de los mensajes del agente (entrantes) |
|
| Nombre del remitente que se muestra arriba de un mensaje |
|
| 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 |
|---|---|---|
|
| Fondo de la ventana de chat |
|
| Tarjetas y superficies elevadas |
|
| Cuerpo del texto |
|
| Texto secundario y auxiliar |
|
| Texto de marcador de posición de Composer |
|
| Color de realce |
|
| Fondo del botón principal y de la burbuja del comprador |
|
| Texto en botones principales y burbujas del comprador |
|
| Divisores sutiles |
|
| Color de acentuación del anillo de enfoque |
Variables de forma y espaciado
Variable | Predeterminado | Controles |
|---|---|---|
|
| Radio de esquina de la ventana de chat |
|
| Radio de esquina del botón |
|
| Radio de esquina de entrada |
|
| Radio de esquina de la tarjeta |
|
| Sombra de la ventana de chat |
Variables de tipografía
Variable | Predeterminado | Controles |
|---|---|---|
| Pila de fuentes del sistema | Fuente del cuerpo |
| Pila de fuentes del sistema | Fuente del encabezado |
|
| Tamaño base del cuerpo |
|
| Tamaño del texto pequeño |
|
| Peso corporal |
|
| 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 |
|---|---|
| El botón flotante del iniciador de chat |
| La ventana de chat |
| El encabezado de la ventana de chat |
| El área de mensajes desplazable |
| Una burbuja de mensaje (tanto de agente como de comprador) |
| El contenedor del Composer de mensajes |
| El campo de texto de Composer |
| Botones de inicio de conversación y de respuesta rápida |
| 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:
.kl-hub-chat-input-wrapper .kl-hub-button-primary {
background: #2f4f4f;
} Elementos compartidos
Selector | Elemento |
|---|---|
| Cualquier elemento de texto |
| Cualquier encabezado (también .kl-hub-h1) mediante .kl-hub-h5) |
| Texto del párrafo (también .kl-hub-p-small, .kl-hub-p-tiny, .kl-hub-p-grande) |
| Enlaces |
| Cualquier botón (también .kl-hub-button-primary, .kl-hub-botón-secundario, .kl-hub-botón-terciario) |
| Cualquier entrada de texto |
| Tarjetas, incluidas las tarjetas de producto |
| Miniaturas de producto |
| Iconos |
| 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:
: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
: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
.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
.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
@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.