Retailers talk endlessly about creating a seamless customer experience. Customers are supposed to move effortlessly between the website, app, and store, with their preferences following them, their loyalty status being recognised, and their purchases informing what happens next.
At least, that is the theory.
The reality often feels very different. From the customer’s side, the website, app, and physical store may share a logo, colour palette, and brand name, but behave like three loosely connected businesses. Sometimes, those gaps do more than create irritation. They actively cost the retailer money.
The dress I had already bought
I recently bought a dress from a very large online retailer. Not long afterwards, I received an email reminding me to buy it.
There was just one problem: I had already bought it.
There was also a second problem — for the retailer, at least. The dress was now 30% off, so I did what many shoppers would do: I returned the original dress and bought it again at the reduced price.
As a marketer, I could imagine several possible explanations. Perhaps the audience for the email had been created before my purchase and had not been refreshed before the campaign was sent. Purchase data might have been taking too long to reach the email platform, or the reminder may have been based on a product view or abandoned browse signal that had not been cancelled after purchase. Perhaps the order and email systems were not properly connected, or the campaign simply lacked a recent-purchaser exclusion.
I cannot know which of these caused it. As a customer, however, none of that mattered. The retailer had reminded me to buy something I already owned and alerted me to a discount I might otherwise have missed.
The email did not generate an additional sale. It reduced the value of a sale the retailer had already secured.
The campaign may still have looked successful
This is where the story becomes especially interesting from a marketing perspective. On the surface, the email may have performed brilliantly: I opened it, clicked, and placed an order. Revenue was generated and may well have been attributed to the campaign, so someone reviewing the report could easily have concluded that the email had worked.
But that interpretation would ignore what happened outside the campaign dashboard. The second order was placed at a 30% discount, while the first, full-price order was returned. The retailer then had to process the return, refund the payment, handle the item, fulfil the replacement order, and potentially absorb further delivery and operational costs.
What appeared to be a conversion may actually have had negative incremental value.
This is the danger of looking at attributed revenue in isolation. Attribution tells us that an interaction occurred before a purchase, but it does not necessarily tell us that the campaign created additional revenue. In this case, the email may have claimed credit for a transaction while simultaneously eroding the margin on an existing one.
That is a rather different definition of success.
Customers do not shop in channels
The problem is not limited to email. Customers rarely think in terms of channels in the way businesses do. They do not sit down and decide to begin an “app journey” before moving into an “in-store journey”. They are simply shopping.
A customer might discover a product through email, research it on the website, save it in the app, view it in-store, buy it online, and return it to a physical shop. They do whatever is convenient for them in that moment. To the retailer, each action may sit in a different system. To the customer, it is one continuous experience.
That distinction matters.
Customers do not think:
The retailer’s loyalty platform probably uses a different customer identifier from its ecommerce platform.
They think:
Why doesn’t this company know who I am?
They do not think:
The in-store transaction data may not yet have synced with the customer data platform.
They think:
Why are you recommending something I bought yesterday?
And they certainly do not think:
The app and website probably have separate authentication processes.
They think:
Why do I need another login?
The customer sees one brand. In some cases, the retailer’s systems may see three different people.
Adding an app does not create an omnichannel experience
Retail apps are often positioned as the answer to convenience, loyalty, and personalisation. They can certainly improve the experience, but only when they are connected properly to everything around them. Otherwise, the app simply becomes another silo.
A customer may be recognised in the app but not on the website. A purchase made through the app may not immediately affect email targeting, while an app-only offer may not be understood or accepted by store staff. Loyalty points may appear in one place before another, receipts from store purchases may be missing from the app, and a product already bought through the app may continue to appear in email recommendations.
In those situations, the app has not created an omnichannel experience. It has created another channel.
The experience only becomes genuinely omnichannel when behaviour in one environment changes what happens in the others. An app purchase should affect email targeting, an in-store return should affect product recommendations, and a website purchase should update loyalty status. A loyalty reward should be visible and usable wherever the customer chooses to shop, while a store colleague should be able to understand an app offer without the customer having to explain the brand’s own promotion to them.
Presence across multiple channels is not the same as connection between them.
One shopper, several identities
Identity is often where these experiences begin to break down. A shopper may have:
- an ecommerce account,
- an app login,
- a loyalty account,
- a loyalty card number,
- a cookie-based profile,
- a store purchase linked to a payment card,
- and email activity linked to an email address.
The retailer may possess a large amount of data about that person while still failing to recognise that all those records belong to the same customer.
I experienced this with a beauty brand where the online shopping account and loyalty account required separate registrations. From the company’s perspective, there may have been a perfectly logical technical reason. From the customer’s perspective, it felt absurd. I had already given the brand my details and created an account, so why was I being asked to do it again?
This is an important point for marketers. The problem is not always a lack of data, because retailers often already hold the information they need. The problem is that the data may be held in different systems, connected to different identifiers, updated at different speeds, or unavailable at the moment a marketing decision is made.
Collecting more data will not solve a recognition problem if the existing data cannot be joined together.
Loyalty is where the cracks become especially visible
Loyalty programmes are supposed to make customers feel recognised and rewarded, yet they can also reveal how fragmented the customer experience has become.
I have encountered brands where joining the loyalty programme requires a separate registration from creating an online shopping account. I have also seen rewards surrounded by restrictions, such as being unavailable on sale products or only applying under particular conditions.
From inside the business, there may be sound commercial or technical reasons for those rules. From the customer’s perspective, however, the experience can feel unnecessarily complicated. They have already created an account, shared their details, and demonstrated their loyalty, yet they are still being asked to register again or navigate another set of conditions.
Each rule may make commercial sense when viewed from inside the business. Together, however, they can create an experience that feels less like loyalty and more like negotiation.
Once a benefit has been presented as something the customer has earned, restricting how it can be used can feel as though part of that reward is being taken away. The programme says, “We value your loyalty.” The experience can feel more like, “We value it, provided you meet all the conditions.”
The hidden cost of disconnected systems
Poorly connected retail journeys are often discussed as a customer-experience problem. They are, but they are also a commercial problem.
The obvious consequences include irritation, confusion, and reduced trust. The less obvious consequences can include:
- avoidable returns,
- unnecessary discounting,
- duplicated fulfilment,
- increased customer-service contacts,
- wasted promotional spend,
- inappropriate product recommendations,
- inaccurate campaign attribution,
- and customers being trained to delay purchases.
The dress example illustrates several of these at once. The retailer had already achieved the ideal outcome — a full-price purchase — but its own marketing then encouraged me to reverse that outcome.
There is also a longer-term behavioural consequence. When customers repeatedly receive discounts shortly after purchasing, they may begin to distrust the original price. They learn that buying now carries a risk because the product might be cheaper tomorrow. That can train customers to wait, monitor promotions, or abandon full-price purchases altogether.
A poorly timed campaign does not only affect one order. It can alter future buying behaviour.
Data lag matters because timing changes meaning
A small delay in data may sound like a technical issue, but in marketing, timing changes the meaning of a message.
A product reminder sent before purchase may be helpful, while the same reminder sent after purchase may look careless. A price-drop message sent to someone considering a product may encourage conversion, but the same message sent immediately after they bought it at full price may encourage a return. A loyalty reminder sent before points expire may be useful, whereas the same reminder sent after the customer has already redeemed them may undermine confidence in the programme.
The content has not changed. The context has.
This is why data latency cannot be treated as a purely technical concern. It directly affects customer perception and commercial outcomes.
Marketers do not always need every data point in real time, but they do need to understand which customer actions must be reflected quickly enough to prevent the next message from becoming irrelevant, misleading, or costly. Purchases, cancellations, returns, and reward redemptions should be high on that list.
Omnichannel is not a channel strategy
Many businesses describe themselves as omnichannel because they have stores, a website, an app, email, SMS, push notifications, and a loyalty programme. That is not necessarily omnichannel. It is multichannel.
Omnichannel is not about how many places the brand appears. It is about whether the customer’s behaviour in one place influences what happens next somewhere else.
If a customer buys through the app, does the website recognise the purchase? If they return the product in-store, does email targeting change? If they join the loyalty programme on the website, are they already recognised in the app? If they receive an app offer, can they use it in-store? If customer service opens their record, can they see the same journey the customer has experienced?
If the answer is no, the channels may be available, but the experience is not joined up.
Audit the journey, not just the platforms
Retail teams often evaluate platforms independently. The email platform is reviewed for campaign performance, the app for engagement, the website for conversion, the loyalty system for participation, and the stores for sales. Each channel may appear to be performing well.
The problems become visible when the customer moves between them.
That is why retailers should test complete journeys rather than reviewing each platform in isolation. A practical audit might involve:
- Viewing a product on the website.
- Saving it in the app.
- Purchasing it online or in-store.
- Checking whether the purchase appears in the app.
- Checking whether loyalty points update.
- Monitoring the emails, push notifications, and recommendations that follow.
- Returning the product through a different channel.
- Observing how quickly the rest of the experience changes.
This kind of journey testing can expose problems that dashboards miss. It can reveal where data arrives too slowly, where identities split, where campaign logic fails, and where the customer is being asked to compensate for gaps between systems.
The most valuable omnichannel audit may not begin in a reporting platform. It may begin with a marketer downloading the app, visiting the store, buying something, making a return, and watching what the brand does next.
Your customer does not care about your architecture
Customers understand that retail businesses are complex, and they do not expect perfection. However, they do expect the brand to remember the most important actions they have already taken.
They expect a purchase to be recognised, loyalty to follow them, and the app, website, and store to feel as though they belong to the same company. They also expect marketing to respond to what they have done, rather than blindly continuing with what the campaign calendar had planned.
The retailer that sent me the dress email may have seen a successful campaign, an order, and a measurable return on email activity. I saw a brand reminding me to buy something I had already bought — and giving me a very good reason to send it back.
Your customers will never see the systems behind their experience, but they will notice every time those systems fail to recognise them.
