UX Design · M&S Food

Redesigning error messages for M&S self-service checkouts

A research-led UX initiative to reduce colleague interventions, improve customer confidence, and bring consistency to the 40+ error states across the SCOTs till system.

Shipped and live in store
RetailService DesignContent DesignIn-StoreAccessibility

My Role

Product Designer

Stores Live

1,000+ UK

SCOTs till UI

−20%

Error States

40+ Unified


Team

I worked as one of two UX designers on this project, collaborating closely with a product manager and an engineer throughout research, design, and handoff.

Product Designer (me)Senior DesignerProduct ManagerEngineer

The problem

Roughly 20% of all M&S self-service checkout transactions required a colleague to step in and assist. The brief was clear: the error messages customers encountered were confusing, inconsistent, and often failed to tell them what to do next. With over 40 error states across the SCOTs till system, there was no unified logic governing when each message type should appear, what language it should use, or how urgent it should feel.

20%of transactions required colleague intervention — many triggered by customers not understanding what an error message was asking them to do
Examples of existing M&S self-checkout error messages

Research & discovery

Understanding the full scope

My first step was to audit every existing error state and map them by where they occurred in the customer journey. This gave the team a shared picture of the problem before any design decisions were made.

System errors

App failures and unexpected states outside customer control

Scan errors

Unrecognised items, weight checks, 2D barcodes, loose produce

Payment errors

Declined cards, contactless failures, Sparks Pay, voucher errors

I also reviewed prior in-store research from CLX identifying hardware and interface pain points — small fonts, confusing amber light states, tagged items causing transaction stalls — and conducted a heuristic review against Nielsen Norman error message guidelines.

The heuristic review revealed two consistent failures across the existing 40+ states. First, visibility of system status — several error screens gave customers no indication of what had gone wrong or whether the till was still processing, leaving them to wait with no feedback loop. Second, match between system and the real world — error copy frequently used internal system language ("error code 4061", "void tenders cash") that had no meaning to a customer standing at a checkout. These two findings became the foundation for the copy rules applied across all redesigned states: every message had to name the problem in plain language, and every message had to tell the customer what to do next.

Audit mapping of existing error states across the self-checkout customer journey

Research methods

How I gathered insight

Desk research — Nielsen Norman

Used NN/g error principles as a framework to evaluate existing copy: explicit, human-readable, polite, precise, and constructive.

Heuristic review

Evaluated SCOTs UI against usability heuristics — particularly visibility of system status and real-world language match.

In-store observations (CLX)

Reviewed existing store observation reports capturing real customer behaviour and confusion points at self-checkout.

User testing — Zoom & in-store intercepts

Tested prototypes with real customers end-to-end. Participants showed a noticeably higher understanding of redesigned messages vs. existing designs.

Heuristic review board covering visibility of system status and real-world language match

Design thinking

Building a system, not just screens

Rather than redesigning individual error states in isolation, I focused on defining the logic that would govern all of them — a taxonomy where each error type had clear behavioural rules, so future messages could be placed into the right pattern by default.

  • Full screen / critical: Chosen for payment failures and system errors because these states block the entire transaction. Taking over the full UI with a yellow background signals urgency to both the customer and any nearby colleague, and prevents the user from interacting with a till that cannot currently process their action.
  • Pop-up alert: Used for interrupts that require a decision but don't stop the whole transaction — such as age verification or item substitution. A grey mask overlay communicates that the current flow is paused without abandoning it, keeping the customer's basket and context intact.
  • Interrupter: Reserved for states requiring physical action — like re-scanning an item or placing goods in the bagging area. These require no on-screen CTA and auto-escalate after one minute of inactivity, because any further digital prompt would be redundant if the customer has already stepped away.

Each error state was documented with explicit trigger rules — the exact condition under which it appears — to remove ambiguity during engineering handoff.

Three self-checkout error states: help is coming, scanning error, and confirm item removal

Accessibility

Accessibility was built into the error taxonomy from the start. Given that self-service checkouts are used by customers with a wide range of needs — including those with low vision, cognitive differences, or motor impairments — each error state was reviewed against the M&S in-house accessibility framework. Colour was never used as the sole indicator of error severity; the yellow full-screen state was always accompanied by explicit header copy and a primary CTA. Touch target sizes on dismissal buttons were specified to meet minimum interactive element requirements, and the reading order of each error component was documented for developer handoff to ensure screen reader compatibility where applicable.


Outcomes

The redesigned error system was delivered live into M&S stores nationally. By establishing explicit trigger rules for each of the three message types — and replacing ambiguous system codes with plain, action-oriented language — the design removed the primary reason customers were unable to self-serve: not knowing what the error meant or what to do next.

Shipped

Redesigned error states are live in M&S stores nationally across the SCOTs system.

User testing

Prototype testing showed a measurable improvement in customer comprehension — participants could correctly identify what had gone wrong and what action to take, compared to the existing states where the most common response was to call a colleague.

Design system

A unified error state taxonomy was delivered for engineering handoff, covering all five message types (confirmation, success, warning, error, system) with explicit trigger conditions, dismissal rules, copy constraints, and accessibility specifications — removing the ambiguity that had previously led to inconsistent implementation across till variants.


Skills & tools

FigmaHeuristic reviewUser testingIn-store interceptsContent designError state taxonomyDesign system thinking