So verwendest du benutzerdefiniertes CSS, um Web-Chat zu gestalten
Übersicht
So verwendest du benutzerdefiniertes CSS, um das Erscheinungsbild des Klaviyo Web-Chats zu ändern – den Launcher, das Chatfenster, die Nachrichtenblasen und den Nachrichten-Composer. Du erfährst, welche Theme-Variablen und Klassennamen du sicher ansprechen kannst und welche beim Ausrollen eines Updates durch Klaviyo nicht mehr funktionieren.
Dieser Artikel gilt unabhängig davon, ob du Web-Chat allein oder als Teil von Klaviyo Customer Hub verwendest. Die Chat-Oberfläche ist in beiden Fällen gleich, daher funktioniert dasselbe CSS für beide.
Bevor du anfängst
Benutzerdefiniertes CSS wird nur für technisch versierte Marketer*innen empfohlen oder für diejenigen, die Zugang zu Entwickler*innen haben. Das Support-Team von Klaviyo kann allgemeine Hinweise geben, kann jedoch kein benutzerdefiniertes CSS für dich schreiben oder debuggen.
Du brauchst:
- Eine Rolle als Kontoinhaber, Administrator oder Manager
- Vertrautheit mit CSS-Selektor*innen und benutzerdefinierten Eigenschaften (CSS-Variablen)
Bevor du benutzerdefiniertes CSS schreibst, prüfe, ob die integrierten Design-Einstellungen bereits das tun, was du brauchst. Farben, Schriftarten, Button-Form und Launcher-Position lassen sich alle ohne Code konfigurieren, und diese Einstellungen bleiben bei Klaviyo-Updates erhalten. Verwende benutzerdefiniertes CSS nur für das, was die Design-Einstellungen nicht abdecken.
Wo du dein benutzerdefiniertes CSS hinzufügst
Wo du den Editor für benutzerdefiniertes CSS findest, hängt von deiner Einrichtung ab.
Wenn du den Klaviyo Customer Hub verwendest
- Gehe zu Klaviyo Customer Hub > Design.
- Scrolle zum Abschnitt Benutzerdefiniert unten in den Stileinstellungen.
- Klicke auf Benutzerdefiniertes CSS hinzufügen oder bearbeite das bereits vorhandene CSS.
- Klicke auf Speichern.
Wenn du eigenständigen Web-Chat verwendest
- Navigiere zu Einstellungen > Web-Chat > Design.
- Scrolle zum Abschnitt Benutzerdefiniert unten in den Stileinstellungen.
- Klicke auf Benutzerdefiniertes CSS hinzufügen oder bearbeite das bereits vorhandene CSS.
- Klicke auf Speichern.
Wenn du Klaviyo Customer Hub aktiviert hast, führen dich die Web-Chat-Designeinstellungen stattdessen zu Klaviyo Customer Hub. Das ist zu erwarten – Klaviyo Customer Hub verwaltet das Design für beide Oberflächen, sodass es einen Ort gibt, um alles zu gestalten.
Wie benutzerdefiniertes CSS angewendet wird
Dein CSS wird in einem Style-Tag in deinem Storefront hinzugefügt, nach den eigenen Styles von Klaviyo. Daraus ergeben sich zwei Dinge:
- Dein CSS setzt sich durch. Da es zuletzt geladen wird, überschreiben deine Regeln in den meisten Fällen die Standardeinstellungen von Klaviyo, ohne dass !important erforderlich ist.
- Dein CSS ist nicht auf den Chat begrenzt. Es gilt für deine gesamte Seite. Begrenze deine Selektoren immer auf ein Chat-Element, statt einfache Regeln wie button { … } zu schreiben, die dein gesamtes Storefront betreffen würden.
Beginne mit Theme-Variablen
Die zuverlässigste Methode, den Web-Chat neu zu gestalten, besteht darin, die Theme-Variablen von Klaviyo in einem :root-Block zu überschreiben. Diese sind stabil, sie werden korrekt durch die gesamte Benutzeroberfläche vererbt, und es ist deutlich weniger wahrscheinlich, dass sie kaputtgehen, als wenn du einzelne Elemente gezielt ansprichst.
:root {
--atlas-chat-bubble-background: #f0ebe4;
--atlas-message-border-radius: 4px;
} Variablen für Chat-Nachrichten
Variabel | Standard | Steuerelemente |
|---|---|---|
|
| Hintergrund von Agent*innen-Nachrichten (eingehend) |
|
| Textfarbe von Agent*innen-Nachrichten (eingehend) |
|
| Absendername, der über einer Nachricht angezeigt wird |
|
| Eckenradius bei allen Nachrichtenblasen |
Nachrichten von Shopper*innen (ausgehend) verwenden absichtlich deine Markenfarben wieder: Die Sprechblase nutzt --atlas-button-primary und der Text nutzt --atlas-text-primary-inverse – beides legst du in den Designeinstellungen fest.
Farb- und Oberflächenvariablen
Variabel | Standard | Steuerelemente |
|---|---|---|
|
| Hintergrund des Chatfensters |
|
| Karten und erhöhte Oberflächen |
|
| Haupttext |
|
| Sekundärer und Hilfstext |
|
| Composer-Platzhaltertext |
|
| Akzentfarbe |
|
| Hintergrund der primären Schaltfläche und der Shopper-Bubble |
|
| Text auf primären Schaltflächen und Shopper-Bubbles |
|
| Dezente Trennlinien |
|
| Fokus-Ringfarbe |
Form- und Abstandsvariablen
Variabel | Standard | Steuerelemente |
|---|---|---|
|
| Eckradius des Chatfensters |
|
| Eckradius der Schaltfläche |
|
| Eckradius für Eingaben |
|
| Eckradius der Karte |
|
| Schatten des Chatfensters |
Typografie-Variablen
Variabel | Standard | Steuerelemente |
|---|---|---|
| System-Schriftartenstapel | Schriftart für Text |
| System-Schriftartenstapel | Überschriftenschriftart |
|
| Basis-Textgröße |
|
| Kleine Textgröße |
|
| Textkörper-Gewichtung |
|
| Überschriftstärke |
Einige davon werden bereits durch deine Designeinstellungen vorgegeben. Schriftarten und Farben in der Design-Einstellungs-UI festzulegen ist vorzuziehen – verwende die Variablen für Werte, die die UI nicht verfügbar macht.
Elemente mit Klassen-Hooks ansprechen
Wenn eine Theme-Variable nicht ausreicht, sprich Elemente direkt an. Klaviyo garantiert die folgenden Klassennamen.
Jeder Klassenname, den du in der Inspector-Ansicht deines Browsers findest und der nicht auf dieser Liste steht, ist nicht sicher zu verwenden. Die meisten internen Klassennamen enthalten einen Build-Hash (z. B. Chat-chatWindow-a1B2c), der sich jedes Mal ändert, wenn Klaviyo ein Update veröffentlicht, wodurch dein CSS stillschweigend nicht mehr funktioniert. Faustregel: Wenn eine Klasse mit kl-hub- beginnt, ist sie sicher. Wenn nicht, ist sie es nicht.
Chat-Elemente
Selektor | Element |
|---|---|
| Die schwebende Chat-Launcher-Schaltfläche |
| Das Chatfenster |
| Die Kopfzeile des Chatfensters |
| Der scrollbare Nachrichtenbereich |
| Eine Sprechblase (Agent*in und Käufer*in gleichermaßen) |
| Der Message-Composer-Container |
| Das Textfeld „Composer“ |
| Konversationseinstieg und Schnellantwort-Schaltflächen |
| Der Hintergrund hinter dem Chatfenster |
Das Chatfenster trägt außerdem eine Klasse, die den aktuellen Bildschirm benennt – .kl-hub-route-chat für den Chat selbst. Im eigenständigen Web-Chat ist das immer .kl-hub-route-chat. Im Klaviyo Customer Hub ändert sie sich, wenn der*die Kund*in navigiert (.kl-hub-route-home, .kl-hub-route-orders, und so weiter), sodass du CSS auf einen Bildschirm eingrenzen kannst.
Die Schaltfläche „Senden“ hat keine dedizierte Klasse. Richte es über den Composer aus:
.kl-hub-chat-input-wrapper .kl-hub-button-primary {
background: #2f4f4f;
} Geteilte Elemente
Selektor | Element |
|---|---|
| Beliebiger Text |
| Jede Überschrift (auch .kl-hub-h1 bis .kl-hub-h5) |
| Absatztext (auch .kl-hub-p-small, .kl-hub-p-tiny, .kl-hub-p-large) |
| Links |
| Jede Schaltfläche (auch .kl-hub-button-primary, .kl-hub-button-secondary, .kl-hub-button-tertiary) |
| Beliebige Texteingabe |
| Cards, einschließlich Produktkarten |
| Produkt-Miniaturansichten |
| Symbole |
| Toast-Benachrichtigungen |
Agent*innen- und Shopper-Nachrichten unterschiedlich gestalten
Dies ist die häufigste Anfrage, und sie erfordert einen spezifischen Ansatz. Agent*innen- und Shopper-Bubbles teilen sich die einzelne .kl-hub-message Klasse – es gibt keine stabile Klasse, die sie unterscheidet, daher kannst du keine davon direkt auswählen.
Verwende stattdessen die Theme-Variablen, da diese die beiden bereits unterschiedlich behandeln:
: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 färbt auch deine primären Schaltflächen. Wenn sich die Shopper-Blase und deine Schaltflächen unterscheiden sollen, wird das derzeit nicht unterstützt.
Beispiele
Alles rechtwinklig machen
:root {
--atlas-drawer-inset-border-radius: 0;
--atlas-message-border-radius: 0;
--atlas-button-border-radius: 0;
--atlas-input-border-radius-normal: 0;
} Überschriften und Buttons in Großbuchstaben
.kl-hub-heading,
.kl-hub-button {
text-transform: uppercase;
letter-spacing: 0.04em;
} Launcher mit einem benutzerdefinierten Schatten vergrößern
.kl-hub-launcher {
width: 72px !important;
height: 72px !important;
box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25) !important;
} Der Launcher setzt mehrere Eigenschaften direkt auf dem Element, daher benötigen Launcher-Regeln !important, um wirksam zu werden. Dies ist der einzige Ort, an dem es routinemäßig erforderlich ist.
Vergrößere das Chatfenster auf dem Desktop
@media (min-width: 900px) {
.kl-hub-drawer {
width: 480px;
}
} Wenn dein CSS nicht gespeichert wird
Wenn du speicherst, prüft Klaviyo, ob dein CSS geparst werden kann. Wenn nicht, siehst du Ungültiges CSS. Bitte überprüfe deine Syntax. und deine Änderungen werden nicht gespeichert.
Ein Stylesheet wird nur dann vollständig abgelehnt, wenn es überhaupt keine Regeln erzeugt, was normalerweise bedeutet, dass das, was du eingefügt hast, kein CSS ist. Häufige Ursachen:
- Einfügen von Plaintext, HTML oder einem Style-Tag statt CSS-Regeln
- Einfügen eines Teils einer Deklaration statt einer vollständigen Regel
- Ein Stylesheet, in dem jede Regel einen Syntaxfehler hat
Ein einzelner Syntaxfehler blockiert das Speichern in der Regel nicht. Stattdessen macht er die Regeln drum herum stillschweigend kaputt. Verirrter Text vor einer Regel wird in den Selektor dieser Regel aufgenommen, sodass die Regel auf nichts zutrifft. Eine nicht geschlossene Regel verschluckt die Deklarationen, die danach folgen. Eine verirrte schließende geschweifte Klammer wird ignoriert. Wenn eine Regel, die du geschrieben hast, also keine Wirkung hat, überprüfe die Syntax von allem darüber, nicht nur die Regel selbst.
Was benutzerdefiniertes CSS nicht kann
- Text ändern. Mit benutzerdefiniertem CSS kannst du keine Formulierungen bearbeiten. Verwende dafür die Design- und Inhaltseinstellungen.
- Elemente neu anordnen oder neu positionieren, über das hinaus, was das CSS-Layout zulässt. Die Struktur des Chats ist nicht anpassbar.
- Agent*innen- und Shopper-Blasen separat nach Klasse ansprechen. Verwende Theme-Variablen, wie oben beschrieben.
- Überstehe Redesigns automatisch. Klassen-Hooks und Variablen sind bei normalen Updates stabil, aber ein umfangreiches Redesign kann erfordern, dass du dein CSS erneut prüfst. Teste nach großen Releases erneut.
Weitere Ressourcen
- So gestaltest du den Klaviyo Customer Hub
Erfahre mehr über Designoptionen zum Gestalten deines Klaviyo Customer Hub-Drawers und wie du ihn passend zu deiner Marke designen kannst. Da die Oberfläche des Klaviyo Customer Hub fest in das Kund*innenerlebnis eingebunden ist, ist es Best Practice, sie so zu gestalten, dass sie wie eine Erweiterung deiner Website wirkt.
- Erste Schritte mit dem Web-Chat
Erfahre mehr über Web-Chat, einen 2-Wege-Kommunikationskanal, den du zu deiner Website hinzufügen kannst. Web-Chat kann eigenständig eingerichtet werden, damit du ihn mit Customer Agent und Helpdesk nutzen kannst, ist aber auch als nahtloser Bestandteil des Klaviyo Customer Hub konzipiert. Web-Chat ermöglicht es deinem Unternehmen, Live- und personalisierte Gespräche mit Besucher*innen auf deiner Website zu führen, damit sie leicht Antworten auf ihre Fragen oder Unterstützung bei Problemen erhalten können.
- Fehlerbehebung bei benutzerdefiniertem CSS, JavaScript und HTML in Klaviyo
Hier erfährst du, wie du benutzerdefinierten Code behebst, wenn du eine benutzerdefinierte HTML-Vorlage importierst oder deine eigene benutzerdefiniert codierte Vorlage erstellst.