The fundamentals of ecommerce are no different from those of any other business. Merchants expose their products to potential customers who eventually make a purchase, placing an order. In contrast to traditional businesses, ecommerce deals are carried out remotely with customers shopping from anywhere, almost always using self-service models.
A customer's journey can be divided into two phases. Phase one is the discovery of products, and phase two is the purchase. In product discovery, customers look for products and get inspired by brands. The experience is essentially read-only, made up of browsing, searching, filtering, and watching. At some point, the customer decides to purchase a product, adding it to the shopping cart. This marks the beginning of a new phase, which I call the "order pipeline".
It is now a read-write experience. From where the order is just a draft with some items (aka a shopping cart), each action is designed to help the customer progress through the order pipeline, until the critical moment at which the customer adds a payment method and places their order, authorizing the merchant to receive their money.
However, the process does not end when an order is placed. The merchant needs to capture the payment and ship the order to the customer, who hopefully will keep the product and not return it. The only orders that generate revenue are those that have been successfully paid and have not been returned.
It is very common for merchants and developers to focus all their attention on the first phase, ignoring the importance of the second phase. Having an attractive website, with great content and fast loading times is essential, but the order pipeline is arguably the heart of any business. An ecommerce system should be designed around a flexible, reliable, and stateless order flow.
By nature, the product discovery experience is more volatile. The marketing and product teams are constantly testing new features, customer interactions, and merchandising options. Which is totally fine. Ideally, they should be able to iterate rapidly while relying on a steady order pipeline that allows them to get orders from anywhere.
Anatomy of an order
In order to understand the pipeline stages, let's first examine what an order is and what the building blocks are for each stage.
Market
The scope of an order is dictated by its market, which determines the merchant, price list, inventory model, active promotions, tax calculator, payment methods, and shipping options. In many cases, changing the market can invalidate order data consistency. This is why it is recommended that an order's market never changes. It is safer to create a new order if you need to change the market of an order.
Line items
Order content is represented by its line items. Some line items are manually added. When a customer decides to make a purchase, for example, they add a SKU to the shopping cart, which creates a line item for the order. Other line items, instead, are automatically added based on rules.
A shipping cost line item is added based on the shipping method selected. A promotion engine adds line items with negative amounts based on active promotion rules. A tax calculator adds tax amounts, etc.
Order total is determined by adding up all the line item amounts, multiplied by each quantity. Depending on the market's tax calculator, taxes can either be added to the total or included in the total amount.
Customer
The customer is the person or company who makes the purchase. The only thing needed at this level is an identifier, such as an email address or phone number. It is possible for a customer to be a guest, i.e., someone who has never registered their personal information with the business, or a registered customer. Communication about order status changes, such order or as shipment confirmations, is done via the customer's contact information.
Billing address
The billing address is the address that the customer uses when placing an order. Traditionally, the billing address has been requested only to validate credit card authorizations. The truth is that regardless of the method of payment that is used to complete the order, a billing address is always required. It is the legal address that receives an order invoice. Even if the order only contains digital products, the billing address is still mandatory.
Shipping address
The shipping address is used as the order's destination address. In many cases, it coincides with the billing address, but it's not always the case. Customers can use one address for billing and another for shipping. When doing business in multiple markets, the shipping address can be restricted by the shipping zones of each market. As an example, a selected market might lock the shipping country and it is not possible to select a shipping address from a different country. In the case of an order containing only digital products, the shipping address is not required.
Shipments
Orders can be split into multiple shipments, depending on the market's inventory model. A split order can be caused by the distribution of stock (the order items are available at different stock locations) or by products that cannot be shipped together because they have different shipping constraints. It is essential to make this information available during checkout so that the customer has full visibility. The order's market can determine the shipping options available for each shipment.
Shipping methods
For each shipment associated with an order, there can be a different shipping method. There will be a delivery lead time and cost associated with a shipping method. During checkout, customers will select a shipping method for each shipment. A shipping cost line item is added to the order as a result of the selection.
Payment method
Depending on the market, different payment methods may be available. Different payment gateways might handle different payment methods. As a convenience, we assume there is only one method of payment for the order. For those cases where you want to accept multiple payment sources (e.g., multiple credit cards) for a single order, you can design a multi-payment method which handles payment splitting and refunding.
Transactions
There are a number of transactions associated with each order. Transactions can be authorizations, captures, voids, or refunds. Order balance is calculated as the order total minus all captures plus all refunds. A zero final order balance indicates that the total order amount has been captured and no refunds have been issued.
Pipeline stages
Now that we've outlined all the major components of an order, let's see how they're put together. A typical order pipeline consists of three main stages: cart, checkout, and fulfillment. With each stage, a piece is added to the order to complete the model and progress the order status. During the funnel, a percentage of the customers abandon the process, lowering the conversion rate.
The cart stage
The cart stage of the pipeline begins with a customer adding an item to their shopping cart. The purpose of this stage is to create a new order and manage its line items. Upon creation, the order is in draft status and associated with the current market. The market can be specified by country or by any other logic you desire.
The add to cart action creates a line item. The quantity of a line item can be changed by updating it. Finally, removing an item from an order corresponds to deleting a line item. Order totals, taxes, and promotions should be recalculated with each action.
An average of 8-10% of visitors to a website create a shopping cart. Typically, carts are anonymous at this stage. Because you don't have the customer's contact details, you cannot consider them a lead just yet.
The checkout stage
Checkout occurs when a customer is happy with the content of their order and decides to provide their personal information. A typical checkout flow begins with the customer being asked to login or proceed as a guest. In either case, the order is assigned to a contact at this point and becomes "recoverable" if abandoned.
During checkout, the customer enters their billing and shipping addresses, chooses a shipping method for each shipment, and enters their payment method information. In case the customer is registered, you can pull the customer's address from their address book or a saved payment method from their wallet to speed up checkout.
The customer confirms their intent to purchase by placing the order. The order status becomes placed but the payment is generally only authorized, which means that the funds are blocked for a period of time but have not yet been transferred to the merchant account.
The average conversion rate of an ecommerce website ranges from 2 to 3%, which means 60-80% of customers abandon their carts. Clearly, optimizing the checkout flow and making it as smooth as possible has a significant impact on the business.
The fulfilment stage
Orders are not yet complete when they are placed. The average fulfilment rate is 80-90%. The stock shown on the website must actually be available. A website with inaccurate stock information can lead to overselling issues that prevent orders from being fulfilled. When the stock is available, merchants capture the payment. If the capture succeeds, the merchant picks, packs, and ships the order.
Payment is captured, order is fulfilled and parcels are delivered to customers. Hopefully, the customer is satisfied with the order and doesn't return it, which happens generally 20-30% of the time. At the end of the day, customer happiness is what counts, and every step of the pipeline can make a difference.