Case study / 02
Map Implementation
Auchan was collecting delivery addresses with no way of knowing whether they were real. Research found the fix. This is the record of why it did not ship.
Summary
Auchan's online grocery collected delivery addresses through a manual form, and what came out of it was often not precise enough for the delivery fleet to act on. Benchmarking and five interviews pointed at the same answer: a search that returns real addresses as the customer types, and a map to confirm them. A different flow shipped. I built both of them side by side so the choice would be concrete, and this page is what that decision looked like from the inside.
- Role
- Product Designer
- Timeline
- 5 months
- Company
- Ocado Technology
- Platform
- Desktop & Mobile web · Web app
01
The Problem
Auchan's platform asked new customers to type their delivery address into a form. That part worked: people wrote down where they lived.
One platform, several retailers, and their address steps were not the same. Auchan's was a form of separate fields: street name, street number, door, postal code, city. Ocado Retail's was already a search that returned addresses as you typed, and it worked for them. What it could not do was show you the place it had found.
What failed was underneath, and it failed for both. In certain cases the platform's address service could not recognise what had been entered and returned nothing at all. That was a limitation of the integration, not of the customer's typing. The order carried an address the system could not resolve into a place, and the delivery fleet had no reliable idea of where to take it.
For the customer it was a dead end. The address they had just typed was not found, and the form offered no way forward and no way back.
That is not a friction problem, it is an operations one. An order that cannot be delivered is a failed order, and it was keeping Auchan Poland from operating normally.
The customer had done their part. The form had nowhere to send them when the system could not.
Whatever came next had two conditions on it, and both were written down before any of the work started.
Requirements
From the briefThe customer must be able to use the map even if their address is not found.
- With a clear notice telling them the interactive map is there
The customer must be able to enter the formatted address as they wish.
- If the service pre-fills the address from the pin, they must be able to edit it the way they need
02
Benchmarking
In order to understand how a map should be designed and how the interactions on it worked, the first step was to perform a benchmarking with some grocery retailers and delivery platforms that included a map as a method for introducing a deliverable address.
| Manual form | Lookup | Interactive map | Autocomplete | Address error | |
|---|---|---|---|---|---|
![]() | Yes | No | No | Yes | Yes |
![]() | No | Yes | No | Yes | Yes |
![]() | Yes | Yes | No | Yes | Yes |
![]() | Yes | Yes | Yes | Yes | Yes |
![]() | No | Yes | Yes | Yes | Yes |
Three patterns kept coming back
Lookup
Most of them made use of a lookup. This method doesn't give visual feedback of the address entered.
A lookup is a finder made of an input field, where the result is not known until a step later. Different from a search field, where you know instantly whether the address was found.
Autocompletion
This not only avoids as many errors as possible, but also is comfortable for the user, and more accurate for us to find.
Errors
Addresses that can't be found are shown in an empty state. If the address doesn't exist or isn't deliverable yet, it's rarely clarified and the copy is standard. Understanding an error better leads to better recovery.
03
User Research
I sat five people in front of the two mechanisms the project was really choosing between: Auchan's address form, a set of fields you fill in and hope for the best, and Glovo's map, which offers you real addresses as you type. The same three situations in both.
The point was never whether they could finish. It was what they said while they tried, and what changed when they moved from one to the other.
Participants
In moderated 45 minute interviews
Products
- Auchan
- Glovo
Set against each other
Tasks
Change the delivery address in Auchan's mobile web to one that does not exist. Manual form only, the lookup was out of scope.
Add an address that does not exist in the Glovo app, to order food.
Add an address outside the delivery area in the Glovo app.
Add an address that exists and is deliverable in the Glovo app.
Objectives
Why do people give up at the address step?
What do they need when the address cannot be found, or nobody delivers there?
What changes when they can point at a map instead of describing where they live?
What we learned
Multiple address fields feel cumbersome and old
After users tried to add a new delivery address in both Auchan and Glovo, all users (5/5) compared them and had concerns with the Auchan address form.
What they said
“It looked liked my grandma prepared the website or something because it didn't give me like the trust I needed and I didn't like it.”
What I’d do
Have only one field to add the address like other platforms, to avoid confusion and make it simpler.
Without proper feedback, users abandon the product entirely
What they said
“Either send them to hell, as we say in Seville, go to another site or wait for me to have a day off and go shopping.”
What I’d do
Also, having a way to contact someone could help.
A map plus automatic suggestions builds trust
What they said
“I like that it is connected to Google, so you are writing and the addresses that are stored in Google are displayed, so there's less chance of error.”
What I’d do
Have address suggestions while typing and include a map as a confirmation.
Allow to change the address to update the map live.
Make the city very clear and show stores and road names.
All users (5/5) entered address details differently, which always led to errors
All users used different ways to introduce an address, i.e. “First floor, Door#2” could be introduced like “1-2”, “Piso 1 Puerta 2”, “1/2”. Some found it very clear that there were different fields for every detail: street, number, floor, door, zip code. One field is more flexible and easier on mobile, but it doesn't avoid errors.
What they said
“It would be a bit clearer, if there were two sections, one for the floor and one for the door. I may read only floor, and forget to put the door. It happened to me! I always come back to check the address three times.”
What I’d do
Having only one field with clear steps like Glovo (i.e. "floor, door, details").
Optional address details like providing photos of the intercom or text/audio explanations would prevent errors.
Conclusion
Of the two mechanisms they were put in front of, 5 of 5 preferred the search field and its confirmation over the lookup
They said the flow with the interactive map was friendlier, gave more help, was less error prone and less old-looking. One stated the alternative looked like a one-time delivery address, for clothes shopping. They did like having a zip code input to reach the correct town.
04
The Workshop
The next step was to build and moderate a workshop with all stakeholders: UX Design, UX Research, Product Managers and Engineers, to look at the information together and learn from everyone what could be done and what not.
Agenda
1.5 hoursIcebreaker
Presentation
- Benchmarking insights
- What the interviews found
Ideation
- Free ideation
- Impact / Effort matrix
Wrap-up and next steps
The benchmark and the interviews were presented together, one after the other, rather than circulated as two documents: five platforms and five participants making a single argument, in front of the people who would have to build whatever came next.
I brought three explorations of my own, drawn in August while the research was still warm. One was the flow the evidence pointed at. The other two changed almost nothing: a map that could not be interacted with, placed further down the flow, with the step people were already using left alone.
The two cheap ones were the point. I wanted the room to have something to choose between, including a version of my own argument that cost almost nothing to agree to.
Only then did we ideate. Anything from anyone first, with no filter and no ownership, and then the room placed what it had produced on an impact / effort matrix and voted on it.
The most voted ideas
- Rework the whole flow
- Merge everything as much as possible (fields, screens, etc)
- Remove redundant fields
- Show the deliverable area on a map
- Allow an interactive pin
- Keep the manual form as an alternative after inputting
Concerns
28 raisedHuman error
- What if the customer confirms the Google address and then accidentally moves the pin on the map?
- If the customer edits the address to something we don't find, where do we place the pin?
- The user can use wrong or pre-set coordinates
- Customers can make mistakes when editing the address, and introduce addresses that don't make sense
- Allowing the edit in the same confirmation screen will update the found address, which can lead to errors
- Error prone: the pin might be put by mistake in the wrong location
- What happens if they edit the address on the map to one that is not valid? Is that possible?
- It doesn't cover human errors
- Risk of the user not moving the pin
Intuitive design
- Inexperienced users might not know how to move the pin on the map
- It needs to be very intuitive that there will be an interactive map
- Users might not know how to find their address on the map
- The importance of placing the pin in the accurate position might not be obvious
- We need an intuitive way to place the map from the input, and to make clear it needs to be updated and confirmed
- It might not be obvious that the user can enter their own address manually
- Autocomplete API against Geocode API
Validation
- If the address the customer typed does not exist, how do we determine the original pin position?
- We need to warn the user that the address will now rely on their own accuracy
- Edge case: the coordinates might not be deliverable
- Is the user aware there is a lookup under the hood?
- If the user makes a typo and decides to keep their own address, do we save the address with the typo?
- The address is not validated, so it might not exist
- The map was the users' preferred choice, so why not use it as the alternative from the start?
Flow
- It needs an alternative middle screen for when no addresses were found
- Two confirmation screens in the same process
- The confirmation page is being used to edit the address, with the pin on the map
Relation pin to address
- Moving the pin around doesn't change the formatted address, the postal code included
- What happens when we move the pin: can we freeze it and just edit the address?
05
The Flow the Team Proposed
This is what the engineering team proposed, and these are its screens as I built them: in the real flow, with the real components, so that what we were disagreeing about would be a thing on a screen rather than two descriptions of something imagined.
01
Add your address
Six fields, three of them required. Ocado Retail's step was one.
02
Address not found
When nothing matches at all. No map here, and no way on.
03
Select your address
The other branch: when something similar matches. The found address arrives preselected.
04
Confirm your address
A map, a movable pin, and the address written in the past tense underneath.
The pin moved. The address did not.
The map on the last screen can be navigated and the pin can be dragged. Its own banner says so. What it cannot do is change anything. The address printed under it is the one the customer typed, in the past tense, and where the pin ends up is never saved. Someone could confirm an address in Barcelona, leave the pin in Guatemala, and nothing about that would be recorded anywhere.
Which is requirement 02, the one that says the customer must be able to enter the formatted address as they wish: if the service pre-fills from the pin, they must be able to edit it. Here the pin fills nothing and edits nothing.
Four objections, and none about taste
Moving the pin could lose the correct address
A user who moves the pin will see that the address where he will receive the order is where the pin is placed. But we keep in the information the original one he introduced in the form.
It keeps the form, which the research had ruled out
Research validated that users disliked the address form for being tedious and inaccurate. Here we not only keep it: it's the first step, when a search field with suggestions was proven to work much better.
If a map is the solution, why not put it in the right place?
The “found addresses” is a great idea, but could probably be fixed with autosuggestions. It felt like we were reinventing the wheel, while doing the exact same thing a search field + suggestions would do more actionably and accurately.
A not-found address could still be submitted
We would be showing the information entered and a zoomed out map where the user could move the pin until the address coincides, raising the same problems as the first point.
So I built the other one too
06
The Flow I Proposed
Built in the same weeks as the one above, in the same components, around the pattern every map search on the market already uses: one field, suggestions as you type, and a map that confirms.
It was also the smaller change for the client. Ocado Retail already had the search and it worked for them; what it could not do was show them the place it had found. This adds that, and takes nothing away.
01
Enter your address
One field, and the map is there from the start. If the address cannot be found, placing a pin is a way in rather than a dead end.
02
Suggestions as you type
Still the same screen. Entering the address by hand is one of the options offered, not the entrance.
03
Confirm your address
The address, the map and the edit in one place. Its own notice says it: edit, or navigate the map.
The map comes first
Many fields create different filling patterns. One field is easier to use, but must include suggestions to avoid errors. Interviews confirmed this was the most comfortable and preferred input method. Some users start typing the street, others the postcode, so this ensures both find what they're looking for.
Suggestions as you type
Users want feedback from the start. This not only prevents errors: live visual feedback of what we are doing and achieving is much more useful.
Editing and the pin are the same act
There should be a correlation between what the user is doing and what is displayed on the screen. Editing the address moves the map, and moving the pin rewrites the address.
The same step, three ways
| Already there | Mine | Theirs | |
|---|---|---|---|
| Address input | One field: a postcode lookup | One search field | A form of six fields |
| Screens on the longest path | One | Two | Three |
| The map | None | There from the first screen | On the last screen |
| The pin | Places and rewrites the address | Changes nothing, and is saved nowhere | |
| When nothing is found | Place a pin, on the same screen | A screen with no way on | |
| Entering it by hand | A button on the same screen | One of the options offered | The only way in |
I took it to the whole of UX, around thirty designers, in the reviews we ran every week. The agreement there was not about preference: it was the flow that met the two requirements the brief had set, and the one the benchmark and the interviews had been pointing at since August.
Then both flows went back to the engineering team in a catchup, side by side. Theirs was chosen. That is the version that went out to Ocado Retail and Auchan.
Everything the project had produced pointed one way. The decision went the other.
07
What the Clients Said
The flow went out to the two retailers that would have to run it. Both of them came back, and neither of them came back about the map.
Ocado Retail did not want the form
They mentioned the four-field address form: for them, the lookup they already had was sufficient to find a proper address. It is the step this flow replaced.
What they said
“Don't make things worse for the 98% when solving for the 2%.”
What I’d do
A search field like they use could help us.
Auchan had never asked for the form to change
Their fields had already been changed once, at their own request. Shortening the form and merging fields would do more harm than good, and it was being proposed without research behind it.
What they said
“There should be separate fields for: street name, street number, door, postal code, city.”
What I’d do
Compromises the form standardisation idea, again.
The suggestions step confused them
They did not understand the warning banner, nor why the found address arrives already selected for them. It was not as clear as we had assumed.
What I’d do
We would need to rethink the preselection.
The banner may need a better position.
So did the confirmation screen
They did not understand why floor and door are asked for again, having already been filled in. The flow does say those fields are hidden when the customer has filled them, but that is not what the screen communicated.
What I’d do
If it is not necessary, remove it. And so I will.
Why?
The plan was one short address form for every retailer. That is not good practice to begin with. Address formats follow country standards, and matching them takes proper research. And it was being disproved in front of us, by retailer after retailer rejecting it.
Neither of them asked for anything the research had not already found
Ocado Retail asked for a search field. Five of five participants had already put a multi-field form beside one and come away with concerns about the form, and one of them said it looked like their grandmother had built the site. Auchan asked for the floor and the door in separate fields. Five of five had entered those details differently from one another, which is where the errors were coming from.
The search field Ocado Retail asked for is the one I had put in front of the team two weeks earlier.
08
Three More Attempts
The catchup after the clients replied changed exactly one thing: the form was adjusted where Auchan had insisted it be left alone. The rest of the flow stayed as it was.
So I stopped arguing for my flow and started arguing for less. Their structure, their screens, their order, and one defect fixed at a time. Three rounds through the back half of October and November, each one drawn, each one taken through the UX reviews, each one returned.
Three rounds
Each smaller than the lastMake the map change the address
- Keep their screens exactly as they were, and let moving the pin rewrite the address underneath it. The defect the board had named in September and both clients had just walked into.
Make the suggestions real
- Lock the list of matching addresses to results as accurate as the service could return, so the screen in the middle stops offering approximations to choose between.
Make the map navigable
- Not editable any more, just navigable. By this round I was asking for the screen to do the thing its own banner already said it did.
All three were rejected.
Then I escalated it to the Head of Design, who came to a call to back the position. He was pushed back on as well.
By then the argument had been made in every form an argument can take. What it had never had was someone able to decide it.
Research, a benchmark of five platforms, twenty-eight written concerns, two flows built side by side in the real product, thirty designers agreeing, and finally the two clients themselves. None of it was disputed. None of it moved anything either.
So we stopped, and that was a decision rather than a surrender. The Head of Design and I agreed that the next round would cost more than it could return, and that the sensible thing left to do was protect the one line still worth holding.
Where it landed
NovemberThe team's flow ships
- Their structure, their screens, and the pin as it was
The forms stay as each retailer had them
- No forced standardisation, which is the thing both clients had rejected
09
The Outcome
The team's flow is what shipped. It is live in Auchan, in Poland and in Spain, and the address step that was sending undeliverable orders to a fleet is not doing that any more.
The forms in front of it are still each retailer's own. That is the piece I held on to, and it is the one both clients had asked for without knowing they were arguing my case.
Not every project ships the way it was designed. This one is here precisely because of what happened to it.
Learnings
- Building the other side's proposal yourself, in the real product, is the fastest way to turn a disagreement into a comparison.
- When to escalate. The evidence was complete by the end of October, and three more rounds of producing it changed nothing.
- A client's objection is data. Both retailers rejected the same thing the research had, months later and without knowing it.
- One address form for four retailers is not a simplification. It is a bet against the way each country writes an address.
Skills demonstrated
The Challenge
Several things made this one harder than it looked:
- The fault was in the platform, not in the design. Nothing I could draw would make the address service return what it could not find.
- One platform, four retailers and two countries, over a thing that is local by definition: how a country writes down an address.
- An engineering proposal that had momentum before any of the research existed.
- Nobody in the room could decide. The design organisation agreed with the evidence and the engineering team decided otherwise.
A benchmark, five interviews, twenty-eight written concerns, two flows built side by side and thirty designers in agreement did not move the decision, and neither did the clients when they said the same thing, so I stopped and protected what could still be protected.
Impact
Shipped · Auchan, Poland and SpainThe flow I argued for is not the one that shipped. Auchan runs the address step today, in Poland and in Spain.
And every retailer kept its own address form. That was the one line still worth holding, and it is the thing both clients had asked for without knowing they were arguing my case.
What I would do differently
Not the design. The timing of the escalation. I took it to the Head of Design after the third attempt at a middle ground, and the moment for it was after the first. The evidence was complete by the end of October, and nothing produced after that date changed anybody's mind. The second and the third were me hoping an argument would win on repetition.
The part I would do again is the part that cost the most: building their flow myself, in the real product, with the real components. It is the only reason this page can put two things side by side instead of telling you about a disagreement.
Until the next project
Keep reading








