Chapter 2

Solving People Problems

What is a customer?

Who are we building this system for? If you’re in eCommerce, the answer seems simple: it’s for your customers. But what exactly is a customer? It’s critical to define who this person is early in the process. Without this clarity, you risk creating a chatbot that caters to a user base that’s only superficially engaged or worse, wastes resources on interactions that don’t drive value to your business.

Let’s think about this. If someone visits your site and asks, "How tall is the Eiffel Tower?" Are they a customer? No. For that, they can use Google, or one of the many generalized chatbots floating around the web. Your eCommerce chatbot isn’t a trivia service, nor should it aspire to be. The real value comes from understanding that a customer is a distinct subset of all your users, with a very specific purpose in mind.

A customer has either already purchased something from your store or is on the path to doing so. This distinction is critical. Their needs are narrow, focused, and often time-sensitive. They might ask, "Where is my package?" or "What’s the return policy?" These questions aren’t meant to spark a long conversation or test your chatbot’s conversational skills. They’re seeking specific, actionable information. Information that is directly tied to their purchase, shipping details, or product inquiries.

For instance, when a customer asks, "Where is my package?" they don’t want to be led down a winding conversation path with a chatbot that tries to be too clever or versatile. They’re not interested in general shipping policies or engaging in small talk—they want to know exactly where their package is right now. If your bot answers with, “Your order is on its way and will arrive by [date],” then it has done its job. No more, no less.

A customer’s intent is rarely to chat with your bot, but to find solutions to their problems. This is where many chatbot systems fail. They assume the user wants a conversation when, in fact, the user is simply looking for a resolution.

Failing to recognize this basic but crucial distinction can lead to over-designing your chatbot, giving it features or functionality that don’t actually serve your core audience. The focus should always be on utility and speed. Chatbots are not about showing off the latest AI tech or trying to mimic human conversation. They are problem-solving tools, designed to address specific customer needs as efficiently as possible.

Why do customers want to chat in the first place?

The simple answer is: because you have failed them.

When a customer turns to your chatbot for help, it often means that somewhere along the customer journey, your website or service has already let them down. Maybe they couldn’t find their tracking information, got lost in the labyrinth of FAQs, or encountered a roadblock while trying to resolve an issue. Whatever the reason, at the moment they initiate a chat, they are likely already feeling frustrated or confused. And at that point, they’re not interested in navigating another layer of complexity. They want a fast, simple solution.

I once worked with a client that predominantly received variations of the same question: “Where is my order?” You would think that with such a repetitive query, the solution would be obvious. Their initial fix was to create a pre-written script that customer service agents could quickly copy and paste, cutting down response times. On the surface, it seemed like a practical solution—make the responses faster. But the reality was, they failed to recognize the underlying issue. The reason so many customers were asking about their order status wasn’t because they needed an agent’s help; it was because the information was buried five pages deep within the website. The real problem was poor UI and a confusing design that obscured critical information.

It’s essential to understand this: customers don’t want to chat with your chatbot. In an ideal world, they would find the information or support they need directly on your website. The perfect customer experience is one where they never have to contact you at all because every step of their journey, from browsing to purchase to post-purchase, has been designed to anticipate their needs and provide the information they expect, exactly where they expect it. When customers have to resort to chatting with a bot, it’s usually a last-ditch effort to resolve an issue that should have been solved elsewhere.

A good example is tracking information. If your customers have to dig through multiple pages just to find the status of their order, you’ve failed them. And once they reach out to your chatbot, they’re already dissatisfied with their experience. A chatbot can be a quick way to resolve this issue, but a better solution would be ensuring that order information is visible and easily accessible throughout the user’s journey on your site.

This goes beyond order tracking—whether it’s information about returns, payment methods, or product availability, customers expect these details to be easy to find. If they have to ask, it means you’ve either hidden the information, made it difficult to navigate, or failed to clarify it. When a chatbot steps in, it should be a safety net, not the first point of contact.

In many cases, customers don’t want a conversation—they want a resolution. And the best way to deliver that is to build a website that prioritizes clarity, usability, and accessibility from the ground up. Think of your chatbot as a backup plan, not the primary interface for solving problems.

Customers should be able to answer common questions themselves without contacting support at all. The easier it is for them to do this, the less you’ll have to rely on chatbots or human agents to pick up the slack. In fact, the best chatbots aren’t necessarily the ones that engage users in witty conversations—they’re the ones that users don’t need to use in the first place because the website does its job so well.

By minimizing the need for interaction and making information readily available, you’re not only improving the customer experience but also reducing the strain on your support systems. When customers do reach out, it should be for the complex, edge-case issues that truly need assistance—not for something as simple as checking the status of an order.

In other words, a chatbot is a solution to poor UI.

How do customers ask questions in the real world?

In a perfect world, customers would be clear and concise with their questions. They would state the problem, provide all the necessary information, such as the order number, and have realistic expectations for how it could be resolved. But in the real world, customer service inquiries are rarely straightforward. Instead of neat, well-structured questions, you often get a jumble of thoughts, emotions, and grievances. A sort of verbal diarrhea. It’s understandable, of course, because a satisfied customer isn’t the one sending support tickets. More often than not, it's a frustrated, confused, or even angry customer. And angry customers will bury the lede.

I’ve gone through countless customer service emails over the years, and one thing is clear: there’s no way an AI—or even a human—can handle 100% of requests perfectly. One particularly memorable example was an email from a customer that simply read: “My husband is dead.” That was it. No other context, no explanation, no follow-up. What is the system supposed to do with that? How do you interpret the intent behind this? The correct response, of course, is to immediately cancel any subscriptions or recurring services tied to the account and send a message of condolence. And absolutely do not follow it up with an automatic retention offer for a 10% discount if they stay.

This is just one extreme example, but it highlights a critical point: customers are not always rational. They are dealing with emotions, and sometimes their messages reflect that. A chatbot, or even a human customer service representative, might be left guessing if the input is unclear.

Customers also make assumptions. For example, let’s say a customer is browsing a product page for shorts and decides to ask a question. They open the chat box and type: “Do these come in blue?” The customer service agent, whether it’s a human or an AI, has no idea what the customer is referring to. “These” could mean any number of products, and without context, the question is unanswerable. Customers often assume that the chatbot or agent knows which page they’re on or what they’re talking about, but this lack of specificity leads to frustration on both sides.

When customers are truly frustrated, they don’t even state the problem directly. Instead, they start by venting about your service or product. I’ve seen cases where the actual issue was only mentioned in the customer’s fourth email. The first three emails were filled with complaints about how your service ruined their day, how they bought something from you last year that didn’t meet their expectations, or how the stitching on a product wasn’t up to their niece’s standards. By the time they reach the actual problem, like a billing issue or a delayed shipment, the core of their complaint has been buried under layers of unrelated grievances.

Human agents often struggle to decipher these tangled messages, and an AI, no matter how advanced, will find it even more challenging. But here’s where a well-designed chatbot can help. While it may not be able to resolve the issue instantly, it can gather valuable context by pulling key data points from the customer’s messages: order history, the product page they were viewing, or even their tone of frustration. This way, the chatbot can prepare as much relevant information as possible before escalating the issue to a human agent, streamlining the process and making it easier for everyone involved.

Real-world customer interactions are messy, and it’s crucial to remember that chatbots are tools, not miracle workers. They need to be designed with enough flexibility to handle ambiguity and incomplete information. Ultimately, the goal is not just to reply but to provide the most meaningful response based on whatever fragmented information the customer offers. It's about piecing together the puzzle, even when some of the pieces are missing.


The Secret Sauce

If there is a punch line to this book, than let me make it clear and as early as possible. The secret ingredient that makes a truly effective chatbot is Integration. Integration with existing eCommerce workflows is crucial. Businesses rarely build from scratch, they often use platforms like shopify, magento, woocommerce. They use help desk software like Zendesk, Help Scout, or Salesforce. For retrieving real-time package data there are different carriers like UPS, USPS, Fedex. Integrating your chatbot with all these platforms is what allows your automated agent to actually answer questions and provide value.

While AI plays a critical role in understanding the customer’s message, it’s the seamless integration with these systems that allows the chatbot to deliver accurate and timely solutions.

Behind the chatbot is an application with many heads. This application has integration with several software, it can use AI to determine the context of a user generated message, and it can use these tools to make decisions based on different companies policies.

← CH01: A Place to Start
CH03: Integration →