O que você vai aprender

Como usar CSS personalizado para mudar a aparência do chat web da Klaviyo — o launcher, a janela de chat, os balões de mensagem e o Composer de mensagens. Você vai aprender quais variáveis de tema e nomes de classe é seguro segmentar e quais vão quebrar quando a Klaviyo lançar uma atualização.

Este artigo se aplica se você usa o chat web sozinho ou como parte do Klaviyo Customer Hub. A interface de chat é a mesma nos dois casos, então o mesmo CSS funciona para ambos.

Antes de começar

O CSS personalizado só é recomendado para profissionais de marketing com conhecimento técnico, ou para quem tem acesso a um desenvolvedor. A equipe de suporte da Klaviyo pode oferecer orientações gerais, mas não pode escrever nem depurar CSS personalizado para você.

Você vai precisar de:

  • Uma função de Proprietário, Administrador ou Gerente
  • Familiaridade com seletores CSS e propriedades personalizadas (variáveis CSS)

Antes de escrever CSS personalizado, verifique se as configurações de design integradas já fazem o que você precisa. Cores, fontes, formato do botão e posição do launcher são configuráveis sem código, e essas configurações permanecem após atualizações do Klaviyo. Use CSS personalizado apenas para o que as configurações de design não cobrem.

Onde adicionar seu CSS personalizado

O local onde você encontra o editor de CSS personalizado depende da sua configuração.

Se você usa o Klaviyo Customer Hub

  1. Navegue até Klaviyo Customer Hub > Design.
  2. Role até a seção Personalizado na parte inferior das configurações de estilo.
  3. Clique em Adicionar CSS personalizado ou edite o CSS que já está lá.
  4. Clique em Save.

Se você usa o chat web independente

  1. Navegue até Configurações > chat web > Design.
  2. Role até a seção Personalizado na parte inferior das configurações de estilo.
  3. Clique em Adicionar CSS personalizado ou edite o CSS que já está lá.
  4. Clique em Save.

Se você tiver o Klaviyo Customer Hub ativado, as configurações de design do chat web vão direcionar você para o Klaviyo Customer Hub. Isso é esperado — o Klaviyo Customer Hub é responsável pelo design das duas superfícies, então há um único lugar para estilizar tudo.

Como o CSS personalizado é aplicado

Seu CSS é adicionado a uma tag style na sua vitrine, depois dos próprios estilos da Klaviyo. Duas coisas decorrem disso:

  • Seu CSS prevalece. Como ele carrega por último, suas regras substituem os padrões do Klaviyo sem precisar de !important na maioria dos casos.
  • Seu CSS não está com escopo definido para o chat. Ele se aplica à sua página inteira. Sempre defina o escopo dos seletores para um elemento do chat em vez de escrever regras genéricas como button { … }, que afetariam toda a sua vitrine.

Comece com variáveis do tema

A forma mais confiável de redefinir o estilo do chat web é sobrescrever as variáveis de tema da Klaviyo em um bloco :root. Elas são estáveis, fazem a cascata corretamente por toda a interface e têm muito menos chance de quebrar do que segmentar elementos individuais.

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

Variáveis de mensagens na conversa

Variável

Padrão

Controles

--atlas-chat-bubble-background

#f2f2f2

Plano de fundo das mensagens do agente (recebidas)

--atlas-chat-bubble-text-primary

#322e2f

Cor do texto das mensagens do agente (recebidas)

--atlas-chat-bubble-display-name

#797979

Nome do remetente exibido acima de uma mensagem

--atlas-message-border-radius

16px

Raio do canto em todos os balões de mensagem

As mensagens do comprador (de saída) reutilizam intencionalmente as cores da sua marca: o balão usa --atlas-button-primary e o texto usa --atlas-text-primary-inverse, ambos definidos por você nas configurações de design.

Variáveis de cor e de superfície

Variável

Padrão

Controles

--atlas-background-main

#faf9f8

Plano de fundo da janela de chat

--atlas-background-content

#ffffff

Cartões e superfícies elevadas

--atlas-text-primary

#1d1e20

Texto do corpo

--atlas-text-secondary

#4b4d4e

Texto secundário e de ajuda

--atlas-text-placeholder

#747576

Texto de placeholder do Composer

--atlas-primary-color

#3f5260

Cor de destaque

--atlas-button-primary

#3f5260

Plano de fundo do botão principal e do balão do cliente

--atlas-text-primary-inverse

#ffffff

Texto em botões principais e em bolhas do comprador

--atlas-border-light

rgba(0, 0, 0, 0.05)

Divisórias sutis

--atlas-border-focus

#41a1e6

Cor do anel de foco

Variáveis de forma e espaçamento

Variável

Padrão

Controles

--atlas-drawer-inset-border-radius

12px

Raio do canto da janela de chat

--atlas-button-border-radius

8px

Raio do canto do botão

--atlas-input-border-radius-normal

8px

Raio do canto da entrada

--atlas-card-border-radius-normal

24px

Raio do canto do cartão

--atlas-shadow-medium

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

Sombra da janela do chat

Variáveis de tipografia

Variável

Padrão

Controles

--atlas-font-family

Pilha de fontes do sistema

Fonte do corpo

--atlas-heading-font-family

Pilha de fontes do sistema

Fonte do título

--atlas-font-size-normal

16px

Tamanho base do corpo

--atlas-font-size-small

14px

Tamanho do texto pequeno

--atlas-font-weight-normal

400

Peso do corpo do texto

--atlas-font-weight-heading

700

Peso do título

Vários deles já são definidos nas suas configurações de design. Definir fontes e cores na IU das configurações de design é preferível — use as variáveis para valores que a IU não expõe.

Direcione elementos com ganchos de classe

Quando uma variável do tema não for suficiente, direcione os elementos diretamente. A Klaviyo garante os nomes de classe abaixo.

Qualquer nome de classe que você encontrar no inspetor do seu navegador e que não esteja nesta lista não é seguro para usar. A maioria dos nomes de classe internos inclui um hash de build (por exemplo, Chat-chatWindow-a1B2c) que muda sempre que a Klaviyo lança uma atualização, quebrando seu CSS silenciosamente. Regra geral: se uma classe começa com kl-hub-, é seguro. Se não, não é.

Elementos do chat

Seletor

Elemento

.kl-hub-launcher

O botão flutuante de abertura do chat

.kl-hub-drawer

A janela de chat

.kl-hub-drawer__header

O cabeçalho da janela de chat

.kl-hub-drawer__content

A área de mensagem rolável

.kl-hub-message

Uma bolha de mensagem (do agente e do comprador)

.kl-hub-chat-input-wrapper

O contêiner do Composer de mensagens

.kl-hub-chat-input

O campo de texto do Composer

.kl-hub-chat-prompt-button

Botões de início de conversa e de resposta rápida

.kl-hub-modal-veil

O plano de fundo atrás da janela de chat

A janela de chat também tem uma classe que nomeia a tela atual — .kl-hub-route-chat para o próprio chat. No chat web independente, isso é sempre .kl-hub-route-chat. No Klaviyo Customer Hub, isso muda conforme o cliente navega (.kl-hub-route-home, .kl-hub-route-orders, e assim por diante), o que permite que você delimite o CSS para uma única tela.

O botão de envio não tem uma classe dedicada. Direcione-o pelo Composer:

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

Elementos compartilhados

Seletor

Elemento

.kl-hub-text

Qualquer elemento de texto

.kl-hub-heading

Qualquer título (também .kl-hub-h1 através de .kl-hub-h5)

.kl-hub-p

Texto de parágrafo (também .kl-hub-p-small, .kl-hub-p-tiny, .kl-hub-p-large)

.kl-hub-link

Links

.kl-hub-button

Qualquer botão (também .kl-hub-button-primary, .kl-hub-button-secondary, .kl-hub-button-tertiary)

.kl-hub-input

Qualquer entrada de texto

.kl-hub-card

Cartões, incluindo cartões de produto

.kl-hub-thumbnail

Miniaturas de produto

.kl-hub-icon

Ícones

.kl-hub-toast

Notificações toast

Estilizar as mensagens do agente e do cliente de formas diferentes

Essa é a solicitação mais comum e precisa de uma abordagem específica. Os balões de agente e comprador compartilham a única mensagem .kl-hub Classe — Não há nenhuma classe estável distinguindo-os, portanto, você não pode selecionar uma diretamente.

Em vez disso, use as variáveis do tema, que já tratam os dois 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 também define as cores dos seus botões principais. Se você precisar que o balão do shopper e seus botões sejam diferentes, isso não é compatível no momento.

Exemplos

Acerte tudo

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

Títulos e botões em maiúsculas

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

Deixe o inicializador maior com uma sombra personalizada

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

O launcher define várias propriedades diretamente no elemento, então as regras do launcher precisam de !important para terem efeito. Este é o único lugar em que isso é exigido com frequência.

Amplie a janela de chat no desktop

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

Se o seu CSS não salvar

Ao salvar, a Klaviyo verifica se o seu CSS é analisado corretamente. Se não for, você verá CSS inválido. Verifique a sintaxe. e suas alterações não serão salvas.

Uma folha de estilos só é rejeitada completamente quando não produz nenhuma regra, o que geralmente significa que o que você colou não é CSS. Causas comuns:

  • Colar texto simples, HTML ou uma tag de estilo em vez de regras de CSS
  • Colar parte de uma declaração em vez de uma regra completa
  • Uma folha de estilo na qual toda regra tem um erro de sintaxe

Um único erro de sintaxe geralmente não bloqueia o salvamento. Em vez disso, ele quebra silenciosamente as regras ao redor. Texto solto antes de uma regra é absorvido pelo seletor dessa regra, então a regra não corresponde a nada. Uma regra não fechada engole as declarações que vêm depois dela. Uma chave de fechamento solta é ignorada. Então, se uma regra que você escreveu não tiver efeito, verifique a sintaxe de tudo acima dela, não apenas da própria regra.

O que o CSS personalizado não pode fazer

  • Alterar texto. O CSS personalizado não pode editar o texto. Para isso, use as configurações de design e conteúdo.
  • Reordenar ou reposicionar elementos além do que o layout de CSS permite. A estrutura do chat não é personalizável.
  • Direcione os balões do agente e do comprador separadamente pela classe. Use variáveis de tema, conforme descrito acima.
  • Resista automaticamente a reformulações. Os ganchos de classe e as variáveis são estáveis em atualizações normais, mas uma reformulação significativa pode exigir que você revise seu CSS. Teste novamente após grandes lançamentos.

Recursos adicionais

  • Como Personalizar seu Klaviyo Customer Hub

    Saiba mais sobre as opções de design para estilizar a gaveta do seu Klaviyo Customer Hub e como você pode projetá-la para combinar com a sua marca. Como a interface do Klaviyo Customer Hub está integrada à experiência do cliente, é uma boa prática estilizar para que ela pareça uma extensão do seu site.

  • Guia de introdução ao chat web

    Saiba mais sobre chat web, um canal de comunicação bidirecional que você pode adicionar ao seu site. O chat web pode ser configurado separadamente para você usar com o Customer Agent e o Helpdesk, mas também foi projetado para ser uma parte integrada do Klaviyo Customer Hub. O chat web permite que sua empresa tenha conversas ao vivo e personalizadas com visitantes no seu site, para que eles possam encontrar respostas para suas perguntas ou ajuda com problemas com facilidade.

  • Solução de problemas de CSS, JavaScript e HTML personalizados na Klaviyo

    Saiba como solucionar problemas de código personalizado ao importar um modelo de HTML personalizado ou criar seu próprio modelo com código personalizado.

Esse artigo foi útil?
Use esse formulário somente para dar feedback sobre os artigos. Saiba como entrar em contato com o suporte.

Saiba mais sobre a Klaviyo

Community
Conecte-se com colegas, parceiros e especialistas da Klaviyo para ter ideias, compartilhar insights e tirar dúvidas.
Parceiros
Contrate um especialista certificado pela Klaviyo para ajudá-lo com uma tarefa específica ou para gerenciamento contínuo de marketing.
Suporte

Acesse o suporte na sua conta.

Suporte por e-mail (teste gratuito e contas pagas) Disponível 24 horas

Chat/assistência virtual
A disponibilidade varia conforme o local e o tipo de plano