Skip to main content

Data Analytics for FAQ Chatbot

As more users start to interact with your FAQ chatbot, it will be quite helpful for your team to keep track on the hit count of each question entry on your FAQ data source. You can utilize this data to check which questions are more popular among users and adjust your content accordingly. In this section, we will guide you through on setting up your analytics for FAQ chatbot.

Please make sure you have input the "Analytics ID" & "Analytics Category" of the question entries you want to keep data tracking on.

Expected Outcome

  1. Once matched with an FAQ entry, WOZTELL will save the Analytics Category & Analytics ID.
Example of FAQ Chatbot with Analytics
Example of FAQ Chatbot with Analytics
Example of FAQ Chatbot Data source with Analytics
Example of FAQ Chatbot Data source with Analytics
  1. The total count & unique count of each saved Analytics Category & Analytics ID are displayed on the Dashboard.
Dashboard with Question Analytics
Dashboard with Question Analytics
tip

Total count refers to the total number of interactions in a node while the unique count refers to the number of users which has passed through a node.


Sample Tree Structure

Tree Structure of FAQ Chatbot with Keyword Groups Match & Diversion
Tree Structure of FAQ Chatbot with Keyword Groups Match & Diversion

Edit the Tree Node for FAQ Module

  1. Head to the Tree Node for FAQ Module.

  2. Toggle on "Analytics" and select "Advanced".

  3. Paste the following code:

return new Promise((resolve) => {
let ans = this.member.botMeta.tempData.faqAns || []
if (ans.length === 1) {
resolve({
category: "Type Text",
action: ans[0]["Analytics Category"],
label: ans[0]["Analytics ID"],
})
} else {
resolve()
}
})
tip

You may change the wordings of "category" as you see fit. In this procedure, we set the wording based on whether has typed text to trigger the entry or has chosen the diversion option to trigger the entry.

  1. Save the node.

Edit the Tree Node for Diversion

  1. Head to the Tree Node for Diversion.

  2. Toggle on "Analytics" and select "Advanced".

  3. Paste the following code into "Advanced":

return new Promise(async (resolve, reject) => {
let result = this.member.botMeta.tempData.faq
resolve({
category: "Diversion",
action: result["Analytics Category"],
label: result["Analytics ID"],
})
})
tip

You may change the wordings of "category" as you see fit. In this procedure, we set the wording based on whether has typed text to trigger the entry or has chosen the diversion option to trigger the entry.

  1. Save the node. Test your chatbot and see if you can get the expected outcome.

For more details on how to apply analytics on a chatbot flow, you may refer this documentation here.