Skip to main content

Communication between customers and companies can be very complex. A single customer may communicate with a company over extended time periods and use variety of channels. It is very hard to represent such a complicated relationship in a rigid structure. So we try to strike a balance between easy to understand, easy to work with, easy to analyze conversation structure and covering all the complexities.

In general we strive to make the most common patterns very easy to work with and natural while rare communication patterns may not be covered entirely.

Customer Journey has this hierarchical structure in Salted CX:

  • Customer Journey is at the highest level of the structure containing all Conversations, Engagements and Turns that are related to a single customer. Customer Journey never ends and new conversations can be associated with it. There is only one customer journey for one customer.
  • Conversation is a set of engagements (touch points) customers go through when resolving one request, topic or similar. This corresponds to different concepts in different platforms. Most commonly Conversation in Salted CX represents cases, tickets, phone calls (including transfers), email thread, etc. Deciding when a conversation ends and another conversation starts can be business dependent. Salted CX uses conservative defaults (not to link unrelated engagements) to link engagements into a single Conversation. One customer can have multiple conversations in parallel. Conversations also never end and more engagements can be added to a conversation anytime in the future.
  • Engagement is an interaction between a customer and a single agent (person or bot) or a service. Salted CX tries to keep Engagements simple and “analytical-friendly”.
  • Turn is a single message or talk by a participant (agent or customer) in an Engagement.

In this hierarchy, a Turn belongs to a single Engagement. An Engagement belongs to a single Conversation. A conversation belongs to a single Customer (and the customer’s journey).

The table below compares the key features of the key objects in the customer journey.

Customer JourneyConversationEngagementTurn
Names on Different PlatformsJourney, Timeline, Customer History, Contact HistoryInteraction, Contact, CallInteraction, Conversation, Call, Touch, Contact, Segment, LegMessage
High-Level DescriptionEvery experience of one of your customer including notes and internal communication related to that customer.Communication with a single customer related to a “single topic”. The topic is not determined based on content but based on information from the communication platforms that enable to link walkthrough of the customer into a single one. Exact method depends on the platform but common method to link the conversation together can be case number, ticket number, email thread and similar links.Contribution of a single agent or a service to a conversation. Whenever agent “talk” to a different agent, or goes through an automated experience (IVR, bot, self-service, etc.) a new engagement is created to represent the agent or the automated service.A single action or event that happens during an engagement.
Technical DescriptionA container that contains all engagements related to a single customer (physical person).A container that contains all engagements related to the conversation.Single item in engagement data set.Single item in turn data set.
Data Level DescriptionCustomers are stored in Customers data set. TheyConversations do not have a dedicated data set in the Logical Model. Conversation is only identified by an attribute in Engagement data set. The ID of the conversation is an UUID that can be used to segment data. The conversation does not have its attributes. It relies on attributes of the contained engagements.Engagement is a primary unit for reporting. Engagement is good for reporting as it can be uniquely attributed to specific attributes.Turns data set is not exposed in reporting. You cannot build metrics on top of it.
Reporting RecommendationThe lifecycle of the customer can be very complex with many attributes changing over time. You can use aggregate reports metrics to calculate overall statistics segmented by attributes in the customer data set. Segmenting by other attributes requires special attention.Conversation can range from a very simple containing just one engagement to very complex with multiple engagements. This engagements can have very different values in individual attributes (queues in which the agent waited, agents who handled them, outcome, etc.). The different values in attributes among engagements require special attention when reporting.Engagement is a default reporting unit for most metrics. They are easy to attribute to individual attributes as each engagement has only one value for each attribute.Reporting on turns is not currently available in Salted CX reporting. Turns are visible when you drill to a customer journey.
ExamplesEntire customer experience including physical visits, important actions in the web, in an app and any conversation between the company and the customer.Inbound phone call including all of its transfers.
Entire email thread between a customer and a company
Live chat session transferred that was escalated to a phone call.
Agent responding to a transfer from another agent.
Customer walk through an IVR.
Message send via a chat.
Piece of talk in a phone call.
When does it startWhen a customer first time contacts you in any way or you contact the customer.When you customer reaches to your company regarding with a request or you reach to the customer.When an agent (or a service) becomes busy by handling the customer.When the event happens.
When does it endNever. The customer journey does not have a set end.Never. Conversation can be appended by additional engagements at any time.As soon as agent is no longer busy with handling the customer.Very soon after the start typically.
Data
Start Time AttributeConversation Start TimeStart TimeTurn Time
End Time AttributeEnd Time

Customer Journey

Customer journey is a complete history of communication between a single customer and the company. The journey can include different communication channels and also customer contact with other company touch points such as activity on the company web, retail visits, etc.

Customers can use multiple Contacts (email addresses, phone numbers, chat handles) to talk to the company. If we have information what contact belong to the same customer we try to link them so users can see customers crossing channels. These information might not always be available to us so the same customer may appear to be separate Customers in different channels.

Conversation

The conversation is fairly vaguely defined. It roughly corresponds to communication between one customer and the company regarding a single topic. One conversation can include customers touching multiple touch points, using different channels, talking to different agents, and combining it with self-service.

There can be multiple conversations happening in parallel with the same customer. Salted CX tries to do default minimal grouping of Engagements into Conversations based on available information such as email threads, a call with transfers, etc.

Conversation does not have any attributes of its own. It relies on the attributes of individual Engagements within the conversation.

We enable Developers to link more Engagements into the same Conversation. With this option, we enable them to draw boundaries between conversations that are specific for their business. We also delegate the responsibility to them so we do not develop complex universal heuristics to link Engagements that may or may not be related to the same Conversation.

Engagement

Engagement represents a period of time when a customer is interacting with a company touchpoint. The touchpoint can be an agent, bot, web, retail location or anything else that facilitates contact between the company and the customers.

Engagement is an “analytical-friendly” part of Conversation. What makes it analytical friendly is that a single Engagement has one value for the keep attribute that applies to the entire Engagement. This means it is easy to attribute metric values by these attributes. Also whenever these attribute changes it is a good indication that a new Engagement is created. For example when a Customer changes their communication channel, when the customer starts to talk to another agent, etc.

Engagements within a single Conversation can overlap in case the customer is engaged with multiple Agents or in multiple channels.

Turn

Turn is a sub-unit of Engagement. It represents an action that a participant made during the Engagement. The meaning of turn is dependent on the type of Engagement.

These are examples of Turns:

  • In Menu Engagement each Turn represents a single step in the menu.
  • In Messaging Engagements each turn represents a message sent by a participant.
  • In Voice Engagements each Turn represents a continuous talk by a single participant.
  • In Web or Application Engagements each Turn represents a single action performed in the application.

Turn enables very granular reporting on actions and events happening during the Engagement.

See Turn data set for more information.