Come usare CSS personalizzato per definire lo stile della web chat
Cosa imparerai
Come usare i CSS personalizzati per modificare l’aspetto della web chat di Klaviyo: il launcher, la finestra della chat, le bolle dei messaggi e il Composer dei messaggi. Scoprirai quali variabili del tema e nomi di classe è sicuro prendere come riferimento e quali si romperanno quando Klaviyo rilascerà un aggiornamento.
Questo articolo si applica sia se utilizzi la web chat da sola sia come parte di Customer Hub. L’interfaccia della chat è la stessa in entrambi i casi, quindi lo stesso CSS funziona per entrambi.
Prima di iniziare
Il CSS personalizzato è consigliato solo per addetti al marketing con competenze tecniche o per chi ha accesso a uno sviluppatore. Il team di assistenza di Klaviyo può offrire indicazioni generali, ma non può scrivere o eseguire il debug del CSS personalizzato per te.
Ti servirà:
- Un ruolo di Proprietario, Amministratore o Manager
- Familiarità con i selettori CSS e le proprietà personalizzate (variabili CSS)
Prima di scrivere CSS personalizzato, verifica se le impostazioni di progettazione integrate fanno già quello che ti serve. Colori, font, forma dei pulsanti e posizione del launcher sono tutti configurabili senza codice e queste impostazioni rimangono anche dopo gli aggiornamenti di Klaviyo. Usa il CSS personalizzato solo per ciò che non è coperto dalle impostazioni di progettazione.
Dove aggiungere il tuo CSS personalizzato
Il punto in cui trovi l'editor CSS personalizzato dipende dalla tua configurazione.
Se utilizzi Customer Hub
- Vai a Customer Hub > Design.
- Scorri fino alla sezione Personalizzato in fondo alle impostazioni dello stile.
- Fai clic su Aggiungi CSS personalizzato oppure modifica il CSS già presente.
- Clicca su Salva.
Se utilizzi la web chat autonoma
- Vai su Impostazioni > web chat > Design.
- Scorri fino alla sezione Personalizzato in fondo alle impostazioni dello stile.
- Fai clic su Aggiungi CSS personalizzato oppure modifica il CSS già presente.
- Clicca su Salva.
Se hai Customer Hub abilitato, le impostazioni di design della web chat ti indirizzeranno invece a Customer Hub. È previsto: Customer Hub gestisce il design per entrambe le superfici, quindi c’è un unico posto per personalizzare lo stile di tutto.
Come viene applicato il CSS personalizzato
Il tuo CSS viene aggiunto a un tag di stile sulla vetrina del tuo negozio, dopo gli stili di Klaviyo. Da questo derivano due aspetti:
- Il tuo CSS ha la meglio. Poiché viene caricato per ultimo, le tue regole sostituiscono le impostazioni predefinite di Klaviyo senza bisogno di !important nella maggior parte dei casi.
- Il tuo CSS non è delimitato alla chat. Si applica all’intera pagina. Definisci sempre l’ambito dei selettori su un elemento della chat, invece di scrivere regole generiche come button { … }, che interesserebbero l’intera vetrina del negozio.
Inizia con le variabili del tema
Il modo più affidabile per modificare lo stile della web chat è sovrascrivere le variabili del tema di Klaviyo in un blocco :root. Sono stabili, vengono applicate correttamente a cascata in tutta l’interfaccia e hanno molte meno probabilità di interrompersi rispetto al puntare a singoli elementi.
:root {
--atlas-chat-bubble-background: #f0ebe4;
--atlas-message-border-radius: 4px;
} Variabili del messaggio via chat
Variabile | Impostazioni predefinite | Controlli |
|---|---|---|
|
| Sfondo dei messaggi dell'agente (in arrivo) |
|
| Colore del testo dei messaggi dell’agente (in arrivo) |
|
| Nome del mittente mostrato sopra un messaggio |
|
| Raggio dell'angolo su tutte le bolle dei messaggi |
I messaggi di Shopper (in uscita) riutilizzano intenzionalmente i colori del tuo brand: la bolla usa --atlas-button-primary e il testo usa --atlas-text-primary-inverse, che imposti entrambi nelle impostazioni di progettazione.
Variabili di colore e superficie
Variabile | Impostazioni predefinite | Controlli |
|---|---|---|
|
| Sfondo della finestra della chat |
|
| Schede e superfici rialzate |
|
| Testo del corpo |
|
| Testo secondario e di supporto |
|
| Testo segnaposto di Composer |
|
| Colore d'accento |
|
| Sfondo del fumetto del cliente e del pulsante principale |
|
| Testo sui pulsanti principali e nelle bolle per i clienti |
|
| Divisori discreti |
|
| Colore del contorno della messa a fuoco |
Variabili di forma e spaziatura
Variabile | Impostazioni predefinite | Controlli |
|---|---|---|
|
| Raggio dell'angolo della finestra della chat |
|
| Raggio dell'angolo del pulsante |
|
| Raggio dell'angolo di input |
|
| Raggio dell'angolo della scheda |
|
| Ombra della finestra della chat |
Variabili tipografiche
Variabile | Impostazioni predefinite | Controlli |
|---|---|---|
| Stack di font di sistema | Carattere del corpo |
| Stack di font di sistema | Carattere dell'intestazione |
|
| Dimensione base del corpo del testo |
|
| Dimensione del testo piccola |
|
| Peso corporeo |
|
| Spessore dell’intestazione |
Molti di questi sono già compilati in base alle impostazioni di design. È preferibile impostare font e colori nell’interfaccia utente delle impostazioni di design: usa le variabili per i valori che l’interfaccia utente non espone.
Elementi di destinazione con hook di classe
Quando una variabile del tema non basta, indirizza direttamente gli elementi. Klaviyo garantisce i nomi delle classi riportati di seguito.
Qualsiasi nome di classe che trovi nell’inspector del browser e che non è presente in questo elenco non è sicuro da usare. La maggior parte dei nomi di classe interni include un hash di build (ad esempio Chat-chatWindow-a1B2c) che cambia ogni volta che Klaviyo rilascia un aggiornamento, interrompendo silenziosamente il CSS. La regola generale: se una classe inizia con kl-hub-, è sicura. Se non lo fa, non lo è.
Elementi della chat
Selettore | Elemento |
|---|---|
| Il pulsante mobile del launcher della chat |
| La finestra della chat |
| Intestazione della finestra della chat |
| L'area dei messaggi scorrevole |
| Una bolla di messaggio (sia dell'agente che dell'acquirente) |
| Il contenitore del Composer dei messaggi |
| Il campo di testo di Composer |
| Pulsanti per avviare la conversazione e di risposta rapida |
| Lo sfondo dietro la finestra della chat |
La finestra della chat include anche una classe che indica la schermata corrente — .kl-hub-route-chat per la chat stessa. Nella web chat autonoma questa è sempre .kl-hub-route-chat. In Customer Hub cambia man mano che chi fa acquisti naviga (.kl-hub-route-home, .kl-hub-route-orders, e così via), il che ti permette di applicare CSS a una sola schermata.
Il pulsante di invio non ha una classe dedicata. Prendilo come target tramite il Composer:
.kl-hub-chat-input-wrapper .kl-hub-button-primary {
background: #2f4f4f;
} Elementi condivisi
Selettore | Elemento |
|---|---|
| Qualsiasi elemento di testo |
| Qualsiasi intestazione (anche .kl-hub-h1) tramite .kl-hub-h5) |
| Testo del paragrafo (anche .kl-hub-p-small, kl-hub-p-tiny kl-hub-p-large) |
| Link |
| Qualsiasi pulsante (anche .kl-hub-button-primary, kl-hub-button-secondary kl-hub-button-tertiary) |
| Qualsiasi inserimento di testo |
| Schede, incluse le schede prodotto |
| Anteprime del prodotto |
| Icone |
| Notifiche toast |
Stilizzare in modo diverso i messaggi dell'agente e del cliente
Questa è la richiesta più comune e richiede un approccio specifico. Le bolle di agente e acquirente condividono la singola classe .kl-hub-message — non esiste una classe stabile che le distingua, quindi non puoi selezionarne una direttamente.
Usa invece le variabili del tema, che gestiscono già i due elementi in modo diverso:
: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 colora anche i pulsanti principali. Se ti serve che la bolla del cliente e i pulsanti siano diversi, al momento non è supportato.
Esempi
Rendi tutto squadrato
:root {
--atlas-drawer-inset-border-radius: 0;
--atlas-message-border-radius: 0;
--atlas-button-border-radius: 0;
--atlas-input-border-radius-normal: 0;
} Intestazioni e pulsanti in maiuscolo
.kl-hub-heading,
.kl-hub-button {
text-transform: uppercase;
letter-spacing: 0.04em;
} Rendi più grande il launcher con un’ombreggiatura personalizzata
.kl-hub-launcher {
width: 72px !important;
height: 72px !important;
box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25) !important;
} Il launcher imposta diverse proprietà direttamente sull’elemento, quindi le regole del launcher devono includere !important per avere effetto. Questo è l’unico caso in cui è normalmente necessario.
Allarga la finestra della chat su desktop
@media (min-width: 900px) {
.kl-hub-drawer {
width: 480px;
}
} Se il CSS non si salva
Quando salvi, Klaviyo verifica che il CSS venga analizzato correttamente. Se non è così, vedrai CSS non valido. Controlla la tua sintassi. e le modifiche non verranno salvate.
Un foglio di stile viene rifiutato del tutto solo quando non produce alcuna regola, il che di solito significa che ciò che hai incollato non è CSS. Cause comuni:
- Incollare testo normale, HTML o un tag di stile anziché regole CSS
- Incollare una parte di una dichiarazione anziché una regola completa
- Un foglio di stile in cui ogni regola presenta un errore di sintassi
In genere, un singolo errore di sintassi non blocca il salvataggio. Invece, compromette silenziosamente le regole attorno. Il testo fuori posto prima di una regola viene inglobato nel selettore di quella regola, quindi la regola non corrisponde a nulla. Una regola non chiusa ingloba le dichiarazioni che la seguono. Una parentesi graffa di chiusura isolata viene ignorata. Quindi, se una regola che hai scritto non ha alcun effetto, controlla la sintassi di tutto ciò che c’è sopra, non solo della regola stessa.
Cosa non può fare un CSS personalizzato
- Modifica il testo. Il CSS personalizzato non può modificare la formulazione. Per farlo, usa le impostazioni di progettazione e dei contenuti.
- Riordina o riposiziona gli elementi oltre ciò che consente il layout CSS. La struttura della chat non è personalizzabile.
- Segmenta separatamente le bolle di agenti e di acquirenti per classe. Usa le variabili del tema, come descritto sopra.
- Sopravvivi automaticamente alle riprogettazioni. Gli hook delle classi e le variabili sono stabili durante gli aggiornamenti normali, ma una riprogettazione significativa potrebbe richiedere di rivedere i CSS. Ripeti il test dopo le release principali.
Risorse aggiuntive
- Come definire lo stile del tuo Customer Hub
Scopri le opzioni di design per lo stile del drawer di Customer Hub e come puoi progettarlo in modo che rispecchi il tuo brand. Poiché l'interfaccia di Customer Hub è parte integrante dell'esperienza del cliente, la best practice è applicarne lo stile in modo che appaia come un'estensione del tuo sito web.
- Primi passi con web chat
Scopri la web chat, un canale di comunicazione bidirezionale che puoi aggiungere al tuo sito web. La web chat può essere configurata in modo indipendente per l'uso con Customer Agent e Helpdesk, ma è anche pensata per essere una parte integrante e fluida di Customer Hub. La web chat consente alla tua azienda di interagire in tempo reale con conversazioni personalizzate con chi visita il tuo sito web, così può ottenere facilmente risposte alle sue domande o assistenza per eventuali problemi.
- Risoluzione dei problemi relativi a CSS, JavaScript e HTML personalizzati in Klaviyo
Scopri come risolvere i problemi del codice personalizzato quando importi un modello HTML personalizzato o crei un modello con codice personalizzato.