チャット対応終了時にアンケートを表示する

アンケート用の接客テンプレートの Script をカスタマイズすることで、チャット対応終了時(会話のステータスが 対応済み に変更になったタイミング)に、ユーザーにアンケートを配信する事ができます。

基本コード

以下のコードをアンケート用の接客テンプレートに実装することで、会話ステータスが対応済みになったタイミングで、ユーザーが閲覧している画面にアンケートが配信されます。

// 対応終了時にアンケートを表示する
chat.emitter.on('talk_chat_status_changed', function(data) {
  if (data.chatStatus == 'closed') {
    widget.show();
    chat.deactivate();
  }
});

アンケート回答とスレッドを紐付ける

アンケート回答イベント _answer_question に「アンケート回答の対象になった会話スレッドの ID」を紐付けることが可能です。これにより、会話スレッドごとの満足度調査といった分析が行えるようになります。

_answer_question イベントに「アンケート回答の対象になった会話スレッドの ID」を紐付けるには、上述の基本コードをベースとして、以下のコードをアンケート用の接客テンプレートに実装します。

var lastThreadId;

// 対応終了時にアンケートを表示させる
chat.emitter.on('talk_chat_status_changed', function(data) {
  if (data.chatStatus == 'closed') {
    widget.show();
    chat.deactivate();
    lastThreadId = data.thread_id
  }
});

//  (中略)

// アンケート回答イベントを発火
widget.method('submit', function() {
  var values = generateQA();
  values.thread_id = lastThreadId;
  tracker.track('_answer_question', values);
    
  // (中略)
});

📘

アンケート回答イベント送信用の Widget API について

上述のサンプルコードよりもシンプルなコードでアンケート回答イベントを送信することができる Widget API を現在開発中です。

Widget API の提供準備ができ次第、新しいサンプルコードも本ページに記載する予定です。

上記のコードで発生する _answer_question イベントのスキーマは以下のようになります。

{
  `${接客サービスID}`: {
    questions: [`${question_id1}`, ...],
    `question_${question_id1}`: {
      choices: [String],
      free_answer: String
    }
    ...
  }
  thread_id: '5cbd85489a325509984d5d5d' // アンケート回答の対象になった会話スレッドのID
}