Wat je leert

Hoe je aangepaste CSS gebruikt om het uiterlijk van Klaviyo-webchat te wijzigen: de launcher, het chatvenster, de berichtbubbels en de Composer voor berichten. Je leert welke themavariabelen en classnamen je veilig kunt targeten, en welke kapotgaan wanneer Klaviyo een update uitrolt.

Dit artikel is van toepassing, of je nu webchat op zichzelf gebruikt of als onderdeel van Klaviyo Customer Hub. De chatinterface is in beide gevallen hetzelfde, dus dezelfde CSS werkt voor allebei.

Voordat je van start gaat

Aangepaste CSS wordt alleen aanbevolen voor technisch onderlegde marketeers of voor wie toegang heeft tot een developer. Het supportteam van Klaviyo kan algemene richtlijnen geven, maar kan geen aangepaste CSS voor je schrijven of debuggen.

Je hebt nodig:

  • Een rol als eigenaar, Beheerder of manager
  • Bekendheid met CSS-selectors en aangepaste eigenschappen (CSS-variabelen)

Voordat je aangepaste CSS schrijft, kijk eerst of de ingebouwde ontwerpinstellingen al doen wat je nodig hebt. Kleuren, lettertypen, knopvorm en de positie van de launcher zijn allemaal zonder code te configureren, en die instellingen blijven behouden na Klaviyo-updates. Gebruik aangepaste CSS alleen voor wat de ontwerpinstellingen niet dekken.

Waar je je aangepaste CSS toevoegt

Waar je de editor voor aangepaste CSS vindt, hangt af van je configuratie.

Als je Klaviyo Customer Hub gebruikt

  1. Navigeer naar Klaviyo Customer Hub > Ontwerp.
  2. Scroll naar het gedeelte Aangepast onderaan de stijlinstellingen.
  3. Klik op Aangepaste CSS toevoegen of bewerk de CSS die er al staat.
  4. Klik op Opslaan.

Als je standalone webchat gebruikt

  1. Navigeer naar Instellingen > Webchat > Design.
  2. Scroll naar het gedeelte Aangepast onderaan de stijlinstellingen.
  3. Klik op Aangepaste CSS toevoegen of bewerk de CSS die er al staat.
  4. Klik op Opslaan.

Als je Klaviyo Customer Hub hebt ingeschakeld, verwijzen de ontwerpinstellingen voor webchat je in plaats daarvan naar Klaviyo Customer Hub. Dit is verwacht — Klaviyo Customer Hub beheert het ontwerp voor beide oppervlakken, dus er is één plek om alles te stylen.

Hoe aangepaste CSS wordt toegepast

Je CSS wordt toegevoegd aan een style tag op je storefront, na de eigen stijlen van Klaviyo. Hieruit volgen twee dingen:

  • Jouw CSS wint. Omdat die als laatste laadt, overschrijven je regels in de meeste gevallen de standaardinstellingen van Klaviyo zonder dat je !important nodig hebt.
  • Je CSS is niet beperkt tot de chat. Het is van toepassing op je hele pagina. Beperk je selectors altijd tot een chatelement in plaats van kale regels te schrijven zoals button { … }, die je hele storefront zouden beïnvloeden.

Begin met themavariabelen

De meest betrouwbare manier om webchat opnieuw vorm te geven, is door de thema-variabelen van Klaviyo in een :root-blok te overschrijven. Deze zijn stabiel, ze lopen correct door de hele interface heen en ze gaan veel minder snel stuk dan wanneer je je richt op individuele elementen.

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

Variabelen voor chatberichten

Variabel

Standaard

Bedieningselementen

--atlas-chat-bubble-background

#f2f2f2

Achtergrond van agentberichten (inkomend)

--atlas-chat-bubble-text-primary

#322e2f

Tekstkleur van berichten van agent (inkomend)

--atlas-chat-bubble-display-name

#797979

Naam van de afzender die boven een bericht wordt weergegeven

--atlas-message-border-radius

16px

Hoekradius op alle tekstballonnen

Shopper- (uitgaande) berichten hergebruiken bewust je merkkleuren: de bubbel gebruikt --atlas-button-primary en de tekst gebruikt --atlas-text-primary-inverse, die je allebei instelt in de ontwerpinstellingen.

Kleur- en oppervlaktevariabelen

Variabel

Standaard

Bedieningselementen

--atlas-background-main

#faf9f8

Achtergrond van chatvenster

--atlas-background-content

#ffffff

Kaarten en verhoogde oppervlakken

--atlas-text-primary

#1d1e20

Tekst

--atlas-text-secondary

#4b4d4e

Secundaire tekst en helpertekst

--atlas-text-placeholder

#747576

Tekst van tijdelijke aanduiding voor Composer

--atlas-primary-color

#3f5260

Accentkleur

--atlas-button-primary

#3f5260

Achtergrond van primaire knop en shopper-bubble

--atlas-text-primary-inverse

#ffffff

Tekst op primaire knoppen en shopperbubbels

--atlas-border-light

rgba(0, 0, 0, 0.05)

Subtiele scheidingslijnen

--atlas-border-focus

#41a1e6

Kleur van focusring

Vorm- en afstandsvariabelen

Variabel

Standaard

Bedieningselementen

--atlas-drawer-inset-border-radius

12px

Hoekradius van het chatvenster

--atlas-button-border-radius

8px

Hoekradius van knop

--atlas-input-border-radius-normal

8px

Hoekradius van invoer

--atlas-card-border-radius-normal

24px

Hoekradius van kaarten

--atlas-shadow-medium

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

Schaduw van chatvenster

Typografievariabelen

Variabel

Standaard

Bedieningselementen

--atlas-font-family

Systeemlettertypestack

Lettertype van tekst

--atlas-heading-font-family

Systeemlettertypestack

Lettertype van koptekst

--atlas-font-size-normal

16px

Basisgrootte van de bodytekst

--atlas-font-size-small

14px

Kleine tekstgrootte

--atlas-font-weight-normal

400

Body-gewicht

--atlas-font-weight-heading

700

Gewicht van kop

Een aantal hiervan is al ingevuld op basis van je ontwerpinstellingen. Lettertypen en kleuren instellen in de gebruikersinterface van de ontwerpinstellingen heeft de voorkeur — gebruik de variabelen voor waarden die de UI niet blootstelt.

Richt je op elementen met class-hooks

Als een themavariabele niet volstaat, richt je dan direct op elementen. Klaviyo garandeert de onderstaande class-namen.

Elke klassenaam die je in de inspector van je browser vindt en die niet op deze lijst staat, is niet veilig om te gebruiken. De meeste interne klassennamen bevatten een build-hash (bijvoorbeeld Chat-chatWindow-a1B2c) die elke keer verandert wanneer Klaviyo een update uitrolt, waardoor je CSS ongemerkt kapotgaat. Vuistregel: als een class met kl-hub- begint, is die veilig. Als dat niet zo is, is die dat niet.

Chatelementen

Selector

Element

.kl-hub-launcher

De zwevende knop voor het starten van een chat

.kl-hub-drawer

Het chatvenster

.kl-hub-drawer__header

De koptekst van het chatvenster

.kl-hub-drawer__content

Het scrollbare berichtgebied

.kl-hub-message

Een berichtballon (van agent en shopper)

.kl-hub-chat-input-wrapper

De container van de Composer voor berichten

.kl-hub-chat-input

Het tekstveld van de Composer

.kl-hub-chat-prompt-button

Knoppen voor gespreksstarter en snelle antwoorden

.kl-hub-modal-veil

De achtergrond achter het chatvenster

Het chatvenster bevat ook een class met de naam van het huidige scherm — .kl-hub-route-chat voor de chat zelf. In standalone webchat is dit altijd .kl-hub-route-chat. In Klaviyo Customer Hub verandert dit terwijl de shopper navigeert (.kl-hub-route-home, .kl-hub-route-orders, enzovoort), waardoor je CSS kunt afbakenen tot één scherm.

De verzendknop heeft geen specifieke class. Richt je erop via de Composer:

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

Gedeelde elementen

Selector

Element

.kl-hub-text

Elk tekstelement

.kl-hub-heading

Alle rubrieken (ook .kl-hub-h1 via .kl-hub-h5)

.kl-hub-p

Alineatekst (ook .kl-hub-p-small, .kl-hub-p-tiny, .kl-hub-p-large)

.kl-hub-link

Links

.kl-hub-button

Elke knop (ook .kl-hub-button-primary, .kl-hub-button-secondary, .kl-hub-button-tertiary)

.kl-hub-input

Tekstinvoer

.kl-hub-card

Kaarten, waaronder productkaarten

.kl-hub-thumbnail

Productthumbnails

.kl-hub-icon

Pictogrammen

.kl-hub-toast

Toastmeldingen

Agent- en shopperberichten anders opmaken

Dit is het meest voorkomende verzoek en hiervoor is een specifieke aanpak nodig. Bubbels van agents en shoppers delen dezelfde .kl-hub-message class — er is geen stabiele class die ze onderscheidt, dus je kunt er niet direct één selecteren.

Gebruik in plaats daarvan de themavariabelen, die de twee al verschillend behandelen:

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 kleurt ook je primaire knoppen. Als je de shopper bubble en je knoppen verschillend wilt hebben, wordt dat momenteel niet ondersteund.

Voorbeelden

Alles afronden

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

Hoofdletters voor koppen en knoppen

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

Maak de launcher groter met een aangepaste schaduw

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

De launcher stelt verschillende eigenschappen rechtstreeks in op het element, dus launcherregels hebben !important nodig om effect te hebben. Dit is de enige plek waar het doorgaans vereist is.

Maak het chatvenster op desktop breder

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

Als je CSS niet wil opslaan

Wanneer je opslaat, controleert Klaviyo of je CSS kan worden geparseerd. Als dat niet zo is, zie je Ongeldige CSS. Controleer je syntaxis. en je wijzigingen worden niet opgeslagen.

Een stylesheet wordt alleen volledig geweigerd wanneer het helemaal geen regels oplevert, wat meestal betekent dat wat je hebt geplakt geen CSS is. Veelvoorkomende oorzaken:

  • Platte tekst, HTML of een style-tag plakken in plaats van CSS-regels
  • Een deel van een declaration plakken in plaats van een volledige rule
  • Een stylesheet waarin elke regel een syntaxfout heeft

Eén enkele syntaxisfout blokkeert meestal niet het opslaan. In plaats daarvan overtreedt het stilletjes de regels eromheen. Losse tekst vóór een regel wordt opgenomen in de selector van die regel, waardoor de regel nergens mee matcht. Een niet-afgesloten regel slokt de declaraties op die erna volgen. Een losse sluitaccolade wordt genegeerd. Dus als een regel die je hebt geschreven geen effect heeft, controleer dan de syntaxis van alles erboven, niet alleen van de regel zelf.

Wat aangepaste CSS niet kan doen

  • Tekst wijzigen. Aangepaste CSS kan de bewoording niet wijzigen. Gebruik daarvoor de instellingen voor ontwerp en content.
  • Elementen opnieuw ordenen of verplaatsen buiten wat de CSS-layout toestaat. De structuur van de chat is niet aanpasbaar.
  • Richt je afzonderlijk op agent- en shopperbubbels per class. Gebruik themavariabelen, zoals hierboven beschreven.
  • Doorsta herontwerpen automatisch. Class-hooks en variabelen blijven stabiel bij normale updates, maar bij een ingrijpend herontwerp moet je je CSS mogelijk opnieuw bekijken. Test opnieuw na grote releases.

Extra hulpbronnen

  • Je Klaviyo Customer Hub stylen

    Lees meer over ontwerpopties voor het stylen van je Klaviyo Customer Hub-lade, en hoe je deze kunt ontwerpen zodat die bij je merk past. Omdat de interface van Klaviyo Customer Hub verweven is met de klantervaring, is het best practice om deze zo te stylen dat hij aanvoelt als een uitbreiding van je website.

  • Aan de slag met webchat

    Meer informatie over webchat, een 2-weg communicatiekanaal dat je aan je website kunt toevoegen. Webchat kan zelfstandig worden ingesteld voor gebruik met Klantenserviceagent en Helpdesk, maar is ook ontworpen om naadloos onderdeel te zijn van Klaviyo Customer Hub. Met webchat kan je bedrijf live, gepersonaliseerde gesprekken voeren met bezoekers op je website, zodat ze eenvoudig antwoorden op hun vragen kunnen krijgen of hulp bij problemen.

  • Problemen oplossen met aangepaste CSS, JavaScript en HTML in Klaviyo

    Lees hoe je problemen met aangepaste code oplost bij het importeren van een aangepaste HTML-template of het bouwen van je eigen template met aangepaste code.

Was dit artikel nuttig?
Gebruik dit formulier alleen voor feedback op artikelen. Meer informatie over hoe je contact opneemt met support.

Ontdek meer van Klaviyo

Community
Maak contact met collega's, partners en Klaviyo-experts om inspiratie op te doen, inzichten te delen en antwoorden te krijgen op al je vragen.
Partners
Huur een Klaviyo-gecertificeerde expert in om je te helpen met een specifieke taak of voor doorlopend marketingbeheer.
Support

Krijg ondersteuning via je account.

E-mailsupport (gratis proefperiodes en betaalde accounts) 24/7 beschikbaar

Chat-/virtuele assistentie
Beschikbaarheid varieert per locatie en type abonnement