How to setup personalized chat for customer engagement using bots

In order to implement this automation , we had to make sure that we should have the following to create a true one-to-one personalization, based on individual customer’s past behavior, purchase, feedback and intent

  • Customer/Visitor Identification Methodology
  • Access to customer past behavior across all sources
  • Access Customer Segmentation tags
  • Bot Application and the Keywords Data File
  • Product Recommendation tags
  • Current Session sentiment tags

The biggest challenge of this exercise would be to identify the customer and be able to chat intelligently using his past behavior or purchases and recommend a relevant product that is of interest to him or even look at the latest support ticket tagged to the customer and have a resolution for their queries

We structured the setup/implementation into 3 steps.

The fastest way to implement an effective customer engagement automation was to build a custom chat bot and integrate it with an unified customer data stack, which would give us insights about customer’s behavior, products that can be recommended, profile tags and other important tags necessary to build context.

Building a chat bot application

Using the Eliza bot framework which works on array of keywords with decomposition patterns and reassembly, we built a chat application that consisted of the keywords and patterns. The data dictionary file was a dynamic file that synced with the product list, available on the commerce platform for all product related information like current price, availability status, offers and discounts and more.

A custom logic was incorporated to extract product related keywords. However the synonyms and preprocessing keywords were added manually. This was an one time effort and would be updated only if there was a new product type or category

We zeroed in on a platform(Plumb5) with unified customer stack, where we could readily implement points A, B, C and E using APIs. Though we could get the breadth of data about a single customer, we decided to use the following in our application

On chat session active; the Plumb5 script would pass the customer id – which would be queried to get a json file containing all information of that user

We created a data file which contained demographic profile tags (Male, Married, Likes Blue, Cream, Checkered etc), Affinity score and VAPR(Viewed, Added to Cart, Purchased, Rejected) status for products browsed, Behavior Segment tags, Purchase segment tags, Sentiment tags derived from feedback, call center data and comments and associated products for recommendation

To give a small introduction on why we chose Plumb5 over others is that the unified stack encompasses a scoring model to auto-segment customers based on behavior, purchase and feedback sentiments. The unified stack is centered around a customer and querying a user id can fetch all user related scores and tag information

This would allow us to identify user’s demographic profile, past purchases, intent score, segment tags immediately and allow us to change recommendations and offers based on conversational patterns.

For instance, If there was a particular customer on an apparel store, who have browsed through 50 products in the past, is back on the website. It is important to understand the kind of products he was interested in, which would give us insights like product type, color, patterns and more. This would help us recommend or be relevant to their interests, and keep the conversations meaningful

The highlight of this integration was the ability to get tags like colors and patterns. Using object extraction algorithms, color and patterns were identified from the visitor behavioral journey (from pages/images viewed in the past on website, mobile app or email) and tagged back to the user. So this gives us the option to sort and recommend products based on color and pattern tags.

The sentiment tags associated with the product would give us the option to set rules to recommend whether to propose or exclude similar products

To keep conversations more contextual to the behavior, we parsed each line posted by the customer to understand the state of sentiment in the current conversation. We added 4 states (Excited, Normal, Irritated, Doubtful) and readjusted tone of responses based on states

The screen of the chat application (prototype). It has to go through its grind of iteration but what excited us to post this article, is the capability to automate a contextual conversation, with very less human intervention.