학습 내용

커스텀 CSS를 사용해 Klaviyo 웹 채팅의 모양(런처, 채팅 창, 메시지 말풍선, 메시지 캠페인 컴포저)을 변경하는 방법을 알아보세요. 어떤 테마 변수와 클래스 이름을 안전하게 타겟팅할 수 있는지, 그리고 어떤 것들은 Klaviyo가 업데이트를 배포하면 깨지는지 알아보실 수 있어요.

이 문서는 웹 채팅을 단독으로 사용하든 Klaviyo 고객 허브의 일부로 사용하든 모두 적용돼요. 채팅 인터페이스는 두 경우 모두 동일하므로, 같은 CSS가 둘 다에 적용돼요.

시작하기 전에 알아야 할 것

맞춤 CSS는 기술에 익숙한 마케터이거나 개발자의 도움을 받을 수 있는 경우에만 권장돼요. Klaviyo의 지원팀은 일반적인 안내는 제공할 수 있지만, 맞춤 CSS를 대신 작성하거나 디버깅해 드릴 수는 없어요.

필요한 것:

  • 소유자, 관리자, 또는 매니저 역할
  • CSS 선택기와 사용자 지정 속성(CSS 변수)에 대한 이해

사용자 정의 CSS를 작성하기 전에, 기본 제공 디자인 설정만으로도 필요한 작업을 이미 할 수 있는지 확인해 보세요. 색상, 글꼴, 버튼 모양, 런처 위치는 모두 코드 없이 구성할 수 있으며, 이러한 설정은 Klaviyo 업데이트 후에도 유지됩니다. 디자인 설정에서 다루지 않는 부분에만 사용자 정의 CSS를 사용해 보세요.

맞춤 CSS를 추가할 위치

Custom CSS 편집기 위치는 설정에 따라 달라요.

Klaviyo 고객 허브를 사용하는 경우

  1. Klaviyo 고객 허브 > 디자인으로 이동합니다.
  2. 스타일 설정 하단의 사용자 지정 섹션으로 스크롤해 주세요.
  3. 맞춤 CSS 추가를 클릭하거나, 이미 있는 CSS를 편집해 주세요.
  4. 저장을 클릭합니다.

독립형 웹 채팅을 사용하는 경우

  1. 설정 > 웹 채팅 > 디자인으로 이동합니다.
  2. 스타일 설정 하단의 사용자 지정 섹션으로 스크롤해 주세요.
  3. 맞춤 CSS 추가를 클릭하거나, 이미 있는 CSS를 편집해 주세요.
  4. 저장을 클릭합니다.

Klaviyo 고객 허브가 활성화되어 있으면 웹 채팅 디자인 설정이 대신 Klaviyo 고객 허브로 이동해요. 이것은 정상이에요 ― Klaviyo 고객 허브가 두 표면의 디자인을 모두 관리하므로, 한곳에서 모든 스타일을 설정할 수 있어요.

사용자 지정 CSS 적용 방식

CSS는 Klaviyo 자체 스타일 뒤에, 스토어프런트의 style 태그에 추가돼요. 이로부터 두 가지가 따라와요:

  • CSS가 우선 적용돼요. 마지막에 로드되기 때문에 대부분의 경우 !important 없이도 규칙이 Klaviyo의 기본값을 재정의해요.
  • CSS가 채팅 범위로 스코프되지 않았어요. 페이지 전체에 적용돼요. 전체 스토어프런트에 영향을 줄 수 있는 button { … } 같은 기본 규칙을 작성하는 대신, 항상 선택자를 채팅 요소로 스코프해 주세요.

테마 변수부터 시작하세요

웹 채팅을 다시 스타일링하는 가장 신뢰할 수 있는 방법은 :root 블록에서 Klaviyo의 테마 변수를 재정의하는 거예요. 이 값들은 안정적이고, 전체 인터페이스에 올바르게 캐스케이드되며, 개별 요소를 대상으로 하는 것보다 깨질 가능성이 훨씬 낮아요.

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

채팅 메시지 변수

변동 가능

기본값

제어

--atlas-chat-bubble-background

#f2f2f2

에이전트(수신) 메시지의 백그라운드

--atlas-chat-bubble-text-primary

#322e2f

상담원(수신) 메시지의 텍스트 색상

--atlas-chat-bubble-display-name

#797979

메시지 위에 표시되는 발신자 이름

--atlas-message-border-radius

16px

모든 메시지 말풍선의 모서리 반경

쇼퍼(발신) 메시지는 의도적으로 브랜드 색상을 재사용해요. 말풍선에는 --atlas-button-primary가, 텍스트에는 --atlas-text-primary-inverse가 적용되며, 두 값 모두 디자인 설정에서 지정해요.

색상 및 표면 변수

변동 가능

기본값

제어

--atlas-background-main

#faf9f8

채팅 창 배경

--atlas-background-content

#ffffff

카드 및 올려진 표면

--atlas-text-primary

#1d1e20

본문 텍스트

--atlas-text-secondary

#4b4d4e

보조 및 도우미 텍스트

--atlas-text-placeholder

#747576

캠페인 컴포저 플레이스홀더 텍스트

--atlas-primary-color

#3f5260

강조 색상

--atlas-button-primary

#3f5260

기본 버튼 및 쇼퍼 버블 배경

--atlas-text-primary-inverse

#ffffff

기본 버튼 및 쇼퍼 버블의 텍스트

--atlas-border-light

rgba(0, 0, 0, 0.05)

은은한 구분선

--atlas-border-focus

#41a1e6

초점 링 색상

형태 및 간격 변수

변동 가능

기본값

제어

--atlas-drawer-inset-border-radius

12px

채팅 창 모서리 반경

--atlas-button-border-radius

8px

버튼 모서리 반경

--atlas-input-border-radius-normal

8px

입력란 모서리 반경

--atlas-card-border-radius-normal

24px

카드 모서리 반경

--atlas-shadow-medium

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

채팅 창 그림자

타이포그래피 변수

변동 가능

기본값

제어

--atlas-font-family

시스템 글꼴 스택

본문 글꼴

--atlas-heading-font-family

시스템 글꼴 스택

제목 글꼴

--atlas-font-size-normal

16px

기본 본문 크기

--atlas-font-size-small

14px

작은 텍스트 크기

--atlas-font-weight-normal

400

본문 두께

--atlas-font-weight-heading

700

제목 글꼴 두께

이 중 몇 가지는 디자인 설정에서 이미 작성돼 있어요. 디자인 설정 UI에서 글꼴과 색상을 설정하는 것이 더 바람직해요. UI에서 노출하지 않는 값에는 변수를 사용하세요.

클래스 훅으로 요소를 타겟팅하세요.

테마 변수로는 해결할 수 없을 때는 요소를 직접 대상으로 지정해 주세요. Klaviyo는 아래 클래스 이름을 보장해요.

브라우저의 검사기에서 찾은 클래스 이름 중 이 목록에 없는 것은 안전하게 사용할 수 없어요. 대부분의 내부 클래스 이름에는 빌드 해시(예: Chat-chatWindow-a1B2c)가 포함되며, Klaviyo에서 업데이트를 배포할 때마다 변경되어 CSS가 조용히 깨질 수 있어요. 경험칙은 이래요. 클래스가 kl-hub-로 시작하면 안전해요. 그렇지 않으면 안전하지 않아요.

채팅 요소

선택기

요소

.kl-hub-launcher

플로팅 채팅 런처 버튼

.kl-hub-drawer

채팅 창

.kl-hub-drawer__header

채팅 창 헤더

.kl-hub-drawer__content

스크롤 가능한 메시지 영역

.kl-hub-message

메시지 말풍선(에이전트와 쇼퍼 모두)

.kl-hub-chat-input-wrapper

메시지 캠페인 컴포저 컨테이너

.kl-hub-chat-input

캠페인 컴포저 텍스트 필드

.kl-hub-chat-prompt-button

대화 스타터 및 빠른 답변 버튼

.kl-hub-modal-veil

채팅 창 뒤의 배경

채팅 창에도 현재 화면의 클래스 이름이 포함돼요 ― .kl-hub-route-chat 채팅 자체에 사용돼요. 단독 웹 채팅에서는 항상 .kl-hub-route-chat이에요. Klaviyo 고객 허브에서는 쇼퍼가 탐색함에 따라 변경돼요(.kl-hub-route-home, .kl-hub-route-orders, 등). 이를 통해 한 화면에만 CSS 범위를 지정할 수 있어요.

전송 버튼에는 전용 클래스가 없어요. 캠페인 컴포저를 통해 타겟팅하세요:

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

공유 요소

선택기

요소

.kl-hub-text

모든 텍스트 요소

.kl-hub-heading

모든 제목(또한 .kl-hub-h1 ~ .kl-hub-h5)

.kl-hub-p

단락 텍스트(또한 .kl-hub-p-small, .kl-hub-p-tiny, .kl-hub-p-large)

.kl-hub-link

링크

.kl-hub-button

모든 버튼(또한 .kl-hub-button-primary, .kl-hub-button-secondary, .kl-hub-button-tertiary)

.kl-hub-input

모든 텍스트 입력

.kl-hub-card

제품 카드를 포함한 카드

.kl-hub-thumbnail

제품 썸네일

.kl-hub-icon

아이콘

.kl-hub-toast

토스트 알림

스타일링 에이전트와 쇼퍼 메시지를 다르게 하기

이 요청이 가장 흔하며, 특정한 접근 방식이 필요해요. 에이전트와 쇼퍼 버블은 단일 .kl-hub-message class — 이를 구분하는 안정적인 클래스가 없으므로 하나를 직접 선택할 수 없어요.

대신 두 요소를 서로 다르게 처리하도록 이미 설정된 테마 변수를 사용하세요:

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는 기본 버튼에도 색상을 적용해요. 쇼퍼 버블과 버튼 색상을 다르게 해야 한다면, 현재는 지원되지 않아요.

예시

모든 모서리를 각지게 만들기

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

대문자 제목 및 버튼

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

사용자 지정 그림자를 추가해 런처를 더 크게 만들기

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

런처는 여러 속성을 요소에 직접 설정하므로, 런처 규칙이 적용되려면 !important가 필요해요. 이 경우에만 보통 필요해요.

데스크톱에서 채팅 창을 더 넓게 하세요

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

CSS가 저장되지 않는 경우

저장하면 Klaviyo에서 CSS가 정상적으로 파싱되는지 확인해요. 정상적으로 파싱되지 않으면 잘못된 CSS입니다. 구문을 확인해 주세요.가 표시돼요. 그러면 변경 사항이 저장되지 않아요.

스타일시트는 규칙을 전혀 생성하지 않을 때만 완전히 거부되는데, 이는 보통 붙여넣은 내용이 CSS가 아니라는 뜻이에요. 일반적인 원인:

  • CSS 규칙 대신 일반 텍스트, HTML 또는 style 태그를 붙여넣는 경우
  • 완전한 규칙이 아니라 선언의 일부를 붙여넣기
  • 모든 규칙에 구문 오류가 있는 스타일시트

단일 구문 오류만으로는 보통 저장이 차단되지 않아요. 대신 주변 규칙이 조용히 깨져요. 규칙 앞에 불필요한 텍스트가 있으면 해당 규칙의 선택자에 흡수되어, 그 규칙이 아무것도 일치시키지 않게 돼요. 규칙을 닫지 않으면 뒤따르는 선언을 모두 삼켜 버려요. 불필요한 닫는 중괄호는 무시돼요. 따라서 작성한 규칙이 효과가 없다면, 규칙 자체만이 아니라 그 위에 있는 모든 내용의 구문을 확인해 보세요.

사용자 정의 CSS로 할 수 없는 작업

  • 텍스트 변경. 사용자 지정 CSS로는 문구를 수정할 수 없어요. 이를 위해 디자인 및 콘텐츠 설정을 사용해 주세요.
  • CSS 레이아웃에서 허용하는 범위를 넘어 요소를 재정렬하거나 위치를 변경 할 수 없어요. 채팅의 구조는 사용자 지정할 수 없어요.
  • 클래스별로 에이전트 버블과 쇼퍼 버블을 각각 타겟팅하세요. 위에서 설명한 대로 테마 변수를 사용하세요.
  • 리디자인을 자동으로 견디세요. 클래스 훅과 변수는 일반 업데이트에서는 안정적이지만, 대규모 리디자인에서는 CSS를 다시 검토해야 할 수 있어요. 주요 릴리스 후에는 다시 테스트해 주세요.

추가 자료

  • Klaviyo 고객 허브 스타일 지정 방법

    Klaviyo 고객 허브 서랍의 스타일을 지정하기 위한 디자인 옵션과 브랜드에 맞게 디자인하는 방법을 알아보세요. Klaviyo 고객 허브 인터페이스는 고객 경험에 깊이 자리 잡고 있으므로 웹사이트의 확장처럼 보이도록 스타일을 지정하는 것이 모범 사례예요.

  • 웹 채팅 시작하기

    웹 채팅에 대해 알아보세요. 웹 채팅은 웹사이트에 추가할 수 있는 양방향 커뮤니케이션 채널이에요. 웹 채팅은 고객 에이전트 및 헬프데스크와 함께 사용할 수 있도록 단독으로 설정할 수도 있지만, Klaviyo 고객 허브의 매끄러운 일부가 되도록 설계되기도 했어요. 웹 채팅을 사용하면 웹사이트 방문자와 실시간으로 개인화된 대화를 나눌 수 있어, 질문에 대한 답변이나 문제 해결을 위한 도움을 쉽게 받을 수 있어요.

  • Klaviyo에서 사용자 지정 CSS, JavaScript 및 HTML 문제 해결

    사용자 지정 HTML 템플릿을 가져오거나 자체 사용자 지정 코드 템플릿을 빌드할 때 사용자 지정 코드 문제를 해결하는 방법을 알아보세요.

이 도움말 문서가 유용했나요?
이 형식은 도움말 문서 피드백 용도로만 사용하세요. 지원 팀에 문의하는 방법.

Klaviyo에서 자세히 살펴보기

커뮤니티
동료, 파트너, Klaviyo 전문가와 연결되어 영감을 받고 인사이트를 공유하며, 모든 궁금한 사항에 대해 답을 얻으세요.
파트너
특정 작업을 도와주거나 지속적인 마케팅 관리를 위해 Klaviyo 인증 전문가를 고용하세요.
지원

계정을 통해 지원에 액세스하세요.

이메일 지원 (무료 체험 및 유료 계정) 연중무휴 24시간 사용 가능

채팅/가상 비서
사용 가능 여부는 위치 및 요금제 유형에 따라 다름