O que você vai aprender

Como usar CSS personalizado para alterar a aparência do chat web da Klaviyo — o inicializador, a janela de chat, os balões de mensagem e o Composer de mensagens. Você vai aprender quais variáveis de tema e ganchos de classe usar e como evitar seletores que podem mudar quando a Klaviyo atualizar a interface.

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.

Para ocultar o launcher em determinadas páginas do seu site ou mostrá-lo apenas em determinadas páginas, consulte Como mostrar ou ocultar o launcher em páginas específicas.

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. Acesse Klaviyo Customer Hub > Design e clique em Edite seu Hub.
  2. Selecione Estilo na barra lateral esquerda e role até CSS personalizado.
  3. Clique no botão + ao lado de Custom CSS e insira seu CSS ou edite o CSS que já está lá.
  4. Clique em Save. Se um teste de visibilidade estiver em execução, ao salvar você o encerra antecipadamente. Clique em Finalizar teste e publicar apenas se você estiver pronto para encerrar o teste.

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 e insira seu CSS 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.

Depois de salvar, verifique o chat no seu site em larguras de desktop e de celular. Abra e feche o iniciador, envie uma mensagem e verifique os estados da resposta e do botão de envio. Para desfazer uma alteração, remova o CSS afetado e salve novamente.

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:

  • Regras posteriores podem substituir regras anteriores. Seu CSS é carregado depois dos estilos da Klaviyo, mas a especificidade do seletor, os estilos inline e as animações ainda podem ter precedência. Use !important apenas quando necessário.
  • 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

Comece substituindo as variáveis de tema do Klaviyo em um bloco :root. Isso permite que você altere cores e formas compartilhadas sem precisar definir cada elemento individualmente. Essas mudanças também podem afetar outras partes do Klaviyo Customer Hub. As tabelas abaixo mostram os padrões básicos da folha de estilos; suas configurações de design podem substituir esses valores.

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

Variáveis de mensagens na conversa

Variável

Base padrão

Controles

--atlas-chat-bubble-background

#f2f2f2

Plano de fundo dos balões de mensagem do agente humano

--atlas-chat-bubble-text-primary

#322e2f

Cor do texto dos balões de mensagem do agente humano

--atlas-text-primary

#1d1e20

Cor do texto do Customer Agent e das respostas automatizadas

--atlas-message-border-radius

12px

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

Base 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

Base padrão

Controles

--atlas-drawer-inset-border-radius

12px

Raio de canto da janela de chat flutuante

--atlas-button-border-radius-normal

8px

Raio de canto de botão Standard. Use --atlas-button-border-radius-small e --atlas-button-border-radius-tiny para botões menores.

--atlas-input-border-radius-normal

8px

Raio do canto da entrada

--atlas-card-border-radius-small

12px

Raio do canto do cartão

--atlas-window-shadow

2px 4px 5px 0 rgba(0, 0, 0, 0.03), 8px 16px 9px 0 rgba(0, 0, 0, 0.03), 18px 36px 12px 0 rgba(0, 0, 0, 0.02)

Sombra da janela de chat flutuante independente no desktop

Variáveis de tipografia

Variável

Base 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.

Use nomes de classe que comecem com kl-hub- para CSS personalizado. As tabelas abaixo não são uma lista exaustiva. Evite nomes de classe internos gerados, como Chat-chatWindow-a1B2c, porque eles podem mudar entre versões e fazer com que seu CSS deixe de corresponder.

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

Um contêiner de mensagem de texto, incluindo respostas sem balões

.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

A sobreposição ao redor da janela de chat. O chat flutuante independente no desktop não tem fundo esmaecido.

.kl-hub-speaker-divider .kl-hub-text

Texto de introdução do palestrante

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:not(:disabled) {
  --atlas-button-primary: #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

Mensagens de texto entre agente humano e comprador compartilham a .kl-hub-message classe. O Customer Agent e as respostas automatizadas também usam isso. Não há uma classe estável que selecione apenas um tipo de remetente.

Use variáveis de tema para estilizar de forma diferente os balões do agente humano e do comprador. O Customer Agent e as respostas automatizadas não têm balão e usam --atlas-text-primary como cor do texto. Defina o escopo das variáveis para .kl-hub-message para manter essas mudanças dentro dos contêineres de mensagens:

css
.kl-hub-message {
  /* Human-agent messages */
  --atlas-chat-bubble-background: #f0ebe4;
  --atlas-chat-bubble-text-primary: #2b2b2b;

  /* Customer Agent and automated replies */
  --atlas-text-primary: #2b2b2b;

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

Definir --atlas-button-primary em :root também muda os botões principais. O exemplo acima define isso apenas nos contêineres de mensagens, então os botões principais fora das mensagens mantêm as configurações de design. Isso também afeta links dentro de mensagens recebidas.

Exemplos

Deixe a janela de chat, os balões de mensagem, os botões e os campos de entrada quadrados

css
:root {
  --atlas-drawer-inset-border-radius: 0;
  --atlas-message-border-radius: 0;
  --atlas-button-border-radius-normal: 0;
  --atlas-button-border-radius-small: 0;
  --atlas-button-border-radius-tiny: 0;
  --atlas-input-border-radius-normal: 0;
  --atlas-input-border-radius-small: 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

O launcher usa regras de CSS mais específicas e animações de tamanho, então este exemplo usa !important. Fixar a largura e a altura dele também impede que ele se expanda para notificações ou conteúdo de Adicionar ao carrinho. Verifique esses estados para ver se há conteúdo cortado antes de manter essas substituições de tamanho.

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

Amplie a janela de chat no desktop

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

Solucionar problemas de CSS personalizado

No chat web independente, a Klaviyo verifica seu CSS antes de salvar. Se a verificação falhar, você verá CSS inválido. Verifique a sintaxe. e suas alterações não serão salvas.

Essa verificação rejeita uma folha de estilos não vazia quando o navegador não consegue interpretar nenhuma regra. Você pode limpar o campo e salvar para remover seu CSS personalizado. Se você vir o erro, verifique se há:

  • 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

Salvar com sucesso não garante que toda regra seja válida ou corresponda a um elemento. Os navegadores podem ignorar um CSS inválido ou interpretá-lo de forma diferente do que foi planejado. Se uma regra não tiver efeito, verifique a sintaxe acima dela, assim como a própria regra, especialmente textos soltos antes dos seletores e chaves ausentes.

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.

  • Como mostrar ou ocultar o launcher em páginas específicas

    Oculte o inicializador do chat web e do Klaviyo Customer Hub em determinadas páginas do seu site ou mostre-o apenas em determinadas páginas, com um pequeno snippet de CSS no tema do seu site.

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