このページで学べること

カスタムCSSを使用してKlaviyoウェブチャットの外観(ランチャー、チャットウィンドウ、メッセージバブル、メッセージコンポーザー)を変更する方法。どのテーマ変数とクラス名が安全にターゲットにできるか、またどれがKlaviyoがアップデートをリリースすると壊れるかを学びます。

この記事は、ウェブチャットを単体で使用する場合も、Klaviyo Customer Hubの一部として使用する場合も適用されます。チャットインターフェースはどちらの場合も同じであるため、同じCSSを両方に使用できます。

始める前に

カスタムCSSは、技術に詳しいマーケター、またはデベロッパーにアクセスできる方にのみ推奨されます。Klaviyoのサポートチームは一般的なガイダンスを提供できますが、カスタムCSSの作成やデバッグはできません。

必要なもの:

  • オーナー、管理者、またはマネージャーのロール
  • CSS セレクターとカスタムプロパティ(CSS 変数)に関する知識

カスタムCSSを記述する前に、組み込みのデザイン設定で必要な内容がすでに実現できないか確認してください。色、フォント、ボタンの形状、ランチャーの位置はすべてコードなしで設定でき、これらの設定はKlaviyoのアップデート後も保持されます。デザイン設定でカバーできない内容に限って、カスタムCSSを使用してください。

カスタムCSSを追加する場所

カスタムCSSエディターの場所は、設定内容によって異なります。

Klaviyo Customer Hub を使用している場合

  1. Klaviyo Customer Hub > [デザイン]に進みます。
  2. スタイル設定の下部にある カスタム セクションまでスクロールします。
  3. [カスタムCSSを追加] をクリックするか、すでにあるCSSを編集してください。
  4. [保存] をクリックします。

スタンドアロンのウェブチャットを使用している場合

  1. [設定] > [ウェブチャット] > [デザイン] に移動します。
  2. スタイル設定の下部にある カスタム セクションまでスクロールします。
  3. [カスタムCSSを追加] をクリックするか、すでにあるCSSを編集してください。
  4. [保存] をクリックします。

Klaviyo Customer Hubを有効にしている場合、ウェブチャットのデザイン設定からはKlaviyo Customer Hubが表示されます。これは想定どおりです。Klaviyo Customer Hubが両方の画面のデザインを管理しているため、すべてのスタイルを設定する場所は1か所になります。

カスタムCSSの適用方法

CSS は、ストアフロントの style タグ内で、Klaviyo 独自のスタイルの後に追加されます。ここから、次の2点が導かれます:

  • 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

Composerのプレースホルダーテキスト

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

メッセージComposerコンテナ

.kl-hub-chat-input

Composerのテキストフィールド

.kl-hub-chat-prompt-button

会話スターターとクイック返信ボタン

.kl-hub-modal-veil

チャットウィンドウの背後の背景

チャットウィンドウには、現在の画面に名前を付けるクラス(.kl-hub-route-chat)も含まれます。チャット自体の場合。スタンドアロンのウェブチャットでは、これは常に .kl-hub-route-chat です。Klaviyo Customer Hub では、買い物客が移動するにつれて変わります(.kl-hub-route-home、.kl-hub-route-orders、など)それにより、CSS の適用範囲を1つの画面に限定できます。

送信ボタンには専用のクラスがありません。Composerで対象にします:

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 クラスを共有しています。— 安定した区別用クラスが存在しないため、どちらか一方を直接選択することはできません。

代わりに、すでにこの2つを別々に扱うテーマ変数を使用してください。

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 でカスタム CSS、JavaScript、HTML のトラブルシューティングを行う

    カスタム HTML テンプレートをインポートする場合や独自のカスタムコード テンプレートを作成する場合に、カスタムコードのトラブルシューティングを行う方法を確認します。

この記事は役に立ちましたか?
この記事へのフィードバックには、このフォームのみを使用してください。 サポートへの連絡方法.

Klaviyo の詳細を見る

コミュニティ
同業者、パートナー、Klaviyo のエキスパートとつながり、インスピレーションを得たり、インサイトを共有したり、あらゆる質問への回答を得たりできます。
パートナー
特定のタスクのサポートや継続的なマーケティング管理のために、Klaviyo 認定エキスパートを雇いましょう。
サポート

アカウントからサポートにアクセスしてください。

メールサポート (無料トライアルと有料アカウント) 24 時間 365 日利用可能

チャット/バーチャル アシスタント
利用可否は地域およびプランタイプによって異なります