Qué aprenderás

Cómo usar CSS personalizado para cambiar el aspecto del chat web de Klaviyo: el launcher, la ventana de chat, las burbujas de mensajes y el Composer de mensajes. Aprenderás a qué variables de tema y nombres de clase se puede apuntar de forma segura, y cuáles se romperán cuando Klaviyo publique una actualización.

Este artículo se aplica tanto si usas el chat web por sí solo como si lo usas como parte de Klaviyo Customer Hub. La interfaz del 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 asistencia de Klaviyo puede ofrecer orientación general, pero no puede escribir ni depurar CSS personalizado por ti.

Necesitarás:

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

Antes de escribir CSS personalizado, comprueba si la configuración de diseño integrada ya hace lo que necesitas. Los colores, las fuentes, la forma del botón y la posición del launcher se pueden configurar sin código, y esa configuración se mantiene tras las actualizaciones de Klaviyo. Recurre al CSS personalizado solo para lo que no cubra la configuración de diseño.

Dónde añadir tu CSS personalizado

Dónde encuentras el editor de CSS personalizado depende de la 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 estilo.
  3. Haz clic en Añadir CSS personalizado o edita el CSS que ya está ahí.
  4. Pulsa 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 estilo.
  3. Haz clic en Añadir CSS personalizado o edita el CSS que ya está ahí.
  4. Pulsa Guardar.

Si tienes habilitado Klaviyo Customer Hub, los ajustes de diseño del chat web te dirigirán a Klaviyo Customer Hub en su lugar. Esto es lo esperado (Klaviyo Customer Hub se encarga del diseño de ambas superficies, así que hay un único lugar para aplicar estilo a todo).

Cómo se aplica el CSS personalizado

El CSS se añade a una etiqueta de estilo en el escaparate, después de los propios estilos de Klaviyo. De esto se desprenden dos cosas:

  • Tu CSS se impone. 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. Limita siempre el alcance de los selectores a un elemento de chat en lugar de escribir reglas sin calificar como button { … }, que afectarían a toda la tienda.

Empezar con variables de tema

La forma más fiable de cambiar el estilo del chat web es sobrescribir las variables de tema de Klaviyo en un bloque :root. Son estables, se propagan correctamente por toda la interfaz y es mucho menos probable que se rompan que si se segmentan 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 encima de un mensaje

--atlas-message-border-radius

16px

Radio de las esquinas en todos los globos de mensajes

Los mensajes de comprador (salientes) reutilizan intencionadamente los colores de tu marca: la burbuja usa --atlas-button-primary y el texto usa --atlas-text-primary-inverse; ambos los configuras 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 de ayuda

--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 los botones principales y las burbujas de los compradores

--atlas-border-light

rgba(0, 0, 0, 0.05)

Divisores sutiles

--atlas-border-focus

#41a1e6

Color 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 tipográficas

Variable

Predeterminado

Controles

--atlas-font-family

Pila de fuentes del sistema

Tipo de letra

--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 de texto pequeño

--atlas-font-weight-normal

400

Grosor del cuerpo

--atlas-font-weight-heading

700

Grosor del encabezado

Varios de ellos ya están escritos a partir de la configuración de diseño. Es preferible configurar las fuentes y los colores en la IU de configuración de diseño (usa las variables para los valores que la IU no expone).

Orientar elementos con enlaces de clase

Cuando una variable de tema no sea suficiente, selecciona elementos directamente. Klaviyo garantiza los nombres de clase que aparecen 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, lo que rompe tu CSS de forma silenciosa. Regla general: si una clase empieza por kl-hub-, es segura. Si no lo hace, no lo es.

Elementos de chat

Selector

Elemento

.kl-hub-launcher

El botón flotante del iniciador del chat

.kl-hub-drawer

La ventana de chat

.kl-hub-drawer__header

Encabezado de la ventana de chat

.kl-hub-drawer__content

El área de mensajes desplazable

.kl-hub-message

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

.kl-hub-chat-input-wrapper

El contenedor de Composer de mensajes

.kl-hub-chat-input

El campo de texto de Composer

.kl-hub-chat-prompt-button

Iniciador de conversación y botones de respuesta rápida

.kl-hub-modal-veil

El fondo detrás de la ventana de chat

La ventana del chat también incluye una clase que nombra la pantalla actual (.kl-hub-route-chat) para el propio chat. En el chat web independiente, esto 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 te permite delimitar el CSS a una sola pantalla.

El botón de envío no tiene una clase dedicada. Oriéntalo a través del 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 hasta .kl-hub-h5)

.kl-hub-p

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

.kl-hub-link

Enlaces

.kl-hub-button

Cualquier botón (también .kl-hub-button-primary, .kl-hub-button-secondary, .kl-hub-button-tertiary)

.kl-hub-input

Cualquier entrada de texto

.kl-hub-card

Tarjetas, incluidas las fichas de producto

.kl-hub-thumbnail

Miniaturas de productos

.kl-hub-icon

Iconos

.kl-hub-toast

Notificaciones de aviso

Aplicar un estilo diferente a los mensajes de los agentes y de los compradores

Esta es la solicitud más común y necesita un enfoque específico. Las burbujas de agentes y compradores comparten el único mensaje .kl-hub Clase: no hay ninguna clase estable que los distinga, por lo que no puedes seleccionar una directamente.

En su lugar, usa las variables del tema, que ya tratan a ambas 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 iniciador 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 lanzador establece varias propiedades directamente en el elemento, por lo que las reglas del lanzador necesitan !important para surtir efecto. Este es el único caso en el que se requiere de forma habitual.

Amplía la ventana del chat en el escritorio

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

Si el CSS no se guarda

Cuando guardas, Klaviyo comprueba que el CSS se analiza correctamente. Si no es así, verás El CSS no es válido; comprueba la sintaxis. y los cambios no se guardarán.

Una hoja de estilo solo se rechaza directamente cuando no produce ninguna regla, lo que normalmente significa que lo que pegaste no es CSS. Causas habituales:

  • Pegar texto sin formato, HTML o una etiqueta de estilo 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 bloqueará el guardado. 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 le siguen. Se ignora una llave de cierre suelta. Así que, si una regla que escribiste no tiene efecto, comprueba la sintaxis de todo lo que hay encima, no solo la propia regla.

Lo que el CSS personalizado no puede hacer

  • Cambia el texto. El CSS personalizado no puede editar el texto. Para eso, usa la configuración de diseño y contenido.
  • Reordenar o reposicionar elementos más allá de lo que permite el diseño CSS. La estructura del chat no se puede personalizar.
  • Dirige las burbujas del agente y del comprador por separado por clase. Usa las variables del tema, como se describe arriba.
  • Resiste a los rediseños automáticamente. Los enlaces de clase y las variables son estables en las actualizaciones habituales, pero un rediseño importante puede requerir revisar el CSS. Vuelve a probar después de las versiones principales.

Recursos adicionales

  • Cómo dar estilo a tu Klaviyo Customer Hub

    Descubre las opciones de diseño para dar estilo al panel 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, se recomienda darle estilo para que parezca una extensión de tu sitio web.

  • Primeros pasos con el chat web

    Obtén información sobre el chat web, que es un canal de comunicación bidireccional que puedes añadir a tu sitio web. El chat web se puede configurar por sí solo para que lo uses con Customer Agent y Helpdesk, pero también está diseñado para formar parte de forma integral de Klaviyo Customer Hub. El chat web permite a tu empresa mantener conversaciones en directo y personalizadas con los visitantes de tu sitio web para que puedan obtener fácilmente respuestas a sus preguntas o ayuda con problemas.

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

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

¿Te ha resultado útil este artículo?
Utiliza este formulario solo para enviar comentarios sobre el artículo. Más información sobre cómo contactar con el servicio de asistencia.

Descubre más sobre Klaviyo

Klaviyo Community
Conecta con compañeros, socios y expertos de Klaviyo para encontrar ideas, compartir información 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 al servicio de asistencia a través de tu cuenta.

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

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