쇼핑 중 가격을 알 수 없다면?
우리는 종종 이유를 알 수 없는 오류 앞에서 당황한다. 잘 되던 와이파이가 갑자기 끊기거나, 멀쩡하던 컴퓨터가 먹통이 될 때. "왜?"라는 질문에 명쾌한 답이 없으면 답답함은 배가 된다. 그리고 이때, 시스템의 침묵은 불신을 안겨준다.
이번 14일 차 챌린지는 바로 그런 난감한 순간을 다루는 과제였다. 사용자가 가격 비교 앱을 쓰던 중 알 수 없는 오류가 발생했다. 우리는 사용자에게 앱을 쓸 수 없다고 알려야 하지만, '왜' 그런지는 설명할 수 없다. 더 어려운 점은, 그럼에도 불구하고 사용자가 앱을 계속 사용하도록 유도해야 한다는 것이다.
이유 없는 문제 앞에서 사용자의 짜증을 달래고, 다시 한번 우리 앱을 믿고 시도하게 만드는 말. 어쩌면 사과보다 더 어려운, 신뢰를 지키는 글쓰기에 대해 고민을 해 보았다.
사용자가 '실시간' 가격 비교 앱을 통해 쇼핑을 하고 있습니다. 사용자가 상품 가격을 확인하던 중, 알 수 없는 문제가 발생했습니다.
<챌린지> : 사용자에게 지금 앱에 접근할 수 없음을 알리되, '이유'는 명시하지 않고 앱을 계속 사용하도록 유도하는 메시지를 작성하세요.
글자 수 제한: 헤드라인 30자, 본문 120자, 버튼 15자 이내
'이유를 알릴 수 없다'는 제약 조건이 가장 큰 허들이었다. UX 라이팅의 기본 원칙 중 하나는 '정확함'인데, 이번 과제는 그 원칙을 정면으로 위배하라고 요구하고 있기 때문이다. 이유 없는 오류를 보며 사용자는 분명 답답함을 느낄 것이고, 최악의 경우 '내 폰이 문제인가?' 혹은 '이 앱이 뭔가 잘못됐나?' 하는 불필요한 의심까지 품게 될 수 있다.
그럼에도 불구하고 사용자를 붙잡아야 한다. 그렇다면 텍스트는 '객관적인 정보 전달'이 아니라, 신뢰 회복과 부정적 감정 완화에 초점을 맞춰야 할 것이다. 사용자의 이탈을 막고, "왜"인지 모르는 이 불편함을 감수하고서라도 앱을 계속 사용하게 만들어야 한다.
오늘 과제는 이처럼 조금 억지스럽고 사용자의 불편한 감정을 끌어내고 있어서, 전략을 수립하는 데 조금 어려움을 겪었다. 그럼에도 내가 했던 고민과 생각의 결론을 짧게 적어보자면 이렇다.
1. 솔직하게 상태를 인정하자
- "왜" 안되는지는 말할 수 없지만, 무엇이 안 되고 있는지는 명확하게 알려야 한다고 생각했다. 변명이라고 느껴지지 않는 선에서 이 정보를 전달해야만 한다.
2. 부드러운 톤을 사용하자
- 사용자는 이미 핵심 기능을 이용하지 못해 실망한 상태다. 여기에 딱딱한 오류 코드 메시지를 던지는 것은 사용자의 분노에 기름을 붓는 격이다. ~생겼어요, ~해 주시겠어요? 와 같이, 시스템이 완벽하지 않음을 인정하고, 사용자에게 양해를 구하는 부드러운 톤이 필요하다고 판단했다. 나아가 이러한 톤은 시스템의 '인간미'를 챙기는 데 도움을 줄 것이다.
3. 앱의 가치를 상기시키자
- 사용자가 이 앱을 쓰는 이유는 '최저가 확인'이다. 이 목표가 좌절된 순간, "이 앱은 당신의 그 목표를 위해 노력 중"이라는 맥락을 본문에 녹여내야 한다. 이는 사용자가 앱을 떠나지 못하도록 하는 동기가 될 수 있다.
4. 사용자에게 통제권을 주자
- 오류 메시지는 막다른 길이 되어서는 안 된다. 사용자가 고를 수 있는 '다시 시도하기', '다른 상품 보기', '그냥 닫기(X)' 등 다양하고 명확한 선택지를 제공함으로써, 이 상황을 스스로 통제하고 있다는 느낌을 주어야 한다.
오늘은 국내 가격 비교 서비스의 대표 격이라 할 수 있는 다나와 앱 UI를 기반으로 작업했다.
1. 헤드라인 : "가격 정보를 불러오지 못했어요"
가장 먼저 사용자가 겪고 있는 문제('가격 정보 로딩 실패')를 명확하게 전달했다. '못했어요'라는 표현으로 시스템의 실패를 솔직하게 인정하는 톤을 선택했다.
2. 본문 : "정확한 최저가를 찾기 위해, 잠시 후 다시 시도해 주시겠어요?"
본문에서는 간결성 확보를 가장 중시해서 썼다. 처음에는 '일시적인 오류가 생겼어요.'라는 문장을 본문 첫 줄에 넣었었다. 하지만 다시 보니, 헤드라인에서 이미 '불러오지 못했다'라고 말했는데, 또 '오류가 생겼다'라고 반복하는 것은 군더더기처럼 느껴졌다.
또한, '일시적'이라는 정보는 굳이 명시하지 않아도, 바로 뒤에 이어지는 '잠시 후'라는 표현이 그 의미를 충분히 담고 있다고 판단했다.
그래서 과감히 그 문장을 삭제했다. 그 결과, 본문은 다음 두 가지 핵심 요소만으로 재구성되었다.
2-1. "정확한 최저가를 찾기 위해, "
시스템이 '최저가 확인'이라는 사용자의 목표를 위해 노력했음을 먼저 보여줬다. 이를 통해 사용자는 이 서비스에 더 머무를 동기를 다시 한번 상기할 수 있을 것이다. 다시 말해, 앱 사용을 유도하는 핵심적인 부분이라 할 수 있다.
2-2. "잠시 후 다시 시도해 주시겠어요?"
'발생했습니다', '시도해 주세요' 같은 딱딱한 표현 대신, 부드러운 질문형 문장을 선택했다. 이유를 알 수 없는 오류 앞에서 시스템마저 딱딱하게 느껴진다면 사용자의 불쾌감이 더 커질 것 같았다. 다음 행동을 부드럽게 '요청'하는 것이 더 적합하다고 판단했다.
3. 버튼 : 다시 시도하기 / 다른 상품 보기
사용자의 원래 목표('다시 시도하기')를 메인 버튼으로, 차선책('다른 상품 보기')을 보조 버튼으로 제공했다. 닫기(X) 버튼도 추가하여 사용자에게 이 서비를 통제할 수 있는 느낌을 주려 했다.
오늘 과제는 '정답'을 찾기보다 '최선의 타협점'을 찾는 과정에 가까웠다. 이유를 말할 수 없다는 제약 속에서, 어디까지 솔직해야 하고 어디까지 사용자의 감정을 배려해야 할지 계속 저울질해야 했다. 최종안을 완성했지만, 여전히 몇 가지 지점에서는 고민이 남는다.
1. 이모지 사용이 적합했을까?
오류 상황에서 슬픈 표정 이모지를 선택한 것은 의도적인 결정이었다. 가격 비교 실패가 사용자에게 치명적인 불편을 주는 것은 아니라고 판단했고, 딱딱한 오류 전달보다는 서비스의 친근함을 유지하며 유감을 표현하는 것이 더 낫다고 생각했다.
하지만 이 선택이 정말 옳았을까? 혹시 문제 상황의 심각성을 제대로 전달하지 못하고, 오히려 앱의 전문성을 떨어뜨려 보인 것은 아닐까 하는 의문이 남는다. 이모지와 같은 아이콘의 제1역할은 '빠른 상황 인지'인데, 감정적인 접근이 이를 방해했을 수도 있겠다고 생각이 들었다.
2. 앱 사용 지속 유도, 이것으로 충분했을까?
이번 챌린지의 주요한 목표는 오류가 발생했음에도 사용자가 앱을 계속 사용하도록 유도하는 것이었다.. 나는 본문의 '정확한 최저가를 찾기 위해'라는 맥락 설명이, 사용자가 이 앱의 가치(최저가 확인)를 다시 한번 인지하고 재시도하도록 유도할 것이라 생각했다. 하지만 이것이 너무 소극적인 접근은 아니었을까 하는 아쉬움이 남는다. 앱의 가치와 다음 행동을 더 명확하게 연결하기 위해서 다른 접근을 시도해야 했냐는 고민이 든다.
이제 15일 차 챌린지만 남았다. 15번의 챌린지에 너무 장기간 임했다는 생각이 들면서도, 중간에 그만두지 않고 공부 기록을 쌓아왔다는 사실이 만족스럽기도 하다. UX 라이터 신입 공고가 적어서 최근 직무에 대한 고민을 오래 하는 중인데, 내가 어느 길로 가든 이 챌린지를 통해 쌓아온 고민이 물거품이 되지는 않을 것이다. 역시 행동만이 결과를 낳는다. 올해가 벌써 두 달밖에 남지 않았는데, 남은 두 달도 열심히 기록하고 성장해야겠다.