
앱을 열었을 때 "송금이 완료됐어요"라는 문구가 있고, 다른 앱은 "이체가 처리되었습니다"라고 한다면, 어떤 문구가 더 자연스럽게 느껴지나요?
나는 UX 라이팅 때문에 앱에 대한 인상이 바뀐 순간을 기억한다. 어느 앱의 온보딩 화면에서 예상치 못하게 기발하고 독특한 문구를 마주했을 때, 나도 모르게 웃음이 나오면서 그 서비스에 대한 인식이 훨씬 좋아졌다. "이 팀은 진짜로 사용자를 생각하고 있구나"라는 감정이 자연스럽게 생겼다. 말 한마디로 천냥 빚을 갚는다는 속담처럼, UX 라이팅 하나가 브랜드에 대한 전반적인 인식을 바꿀 수 있다는 걸 그때 실감했습니다.
토스는 금융 앱이지만 유독 '말'이 친근합니다. 이 친근함은 우연이 아닙니다. 토스는 앱 안의 모든 문구에 일관된 원칙을 적용합니다. 이 글은 토스의 공식 UX 라이팅 가이드를 PM·기획자 관점에서 분석하고, Google이 제안하는 AOE(Anatomy of an Experience)와 GOE(Grammar of an Experience) 관점으로 재해석한 내용을 담고 있습니다.
Google AOE / GOE란?
글을 본격적으로 읽기 전에 두 가지 프레임워크를 짧게 짚고 넘어가겠습니다.
AOE(Anatomy of an Experience)는 사용자 경험을 구성하는 요소들을 해부하는 관점입니다. 화면 안의 타이틀, 본문, 버튼 레이블, 에러 메시지 등 각 UI 텍스트가 '어떤 역할'을 하는지, 그리고 그것들이 전체 경험 안에서 어떻게 연결되는지를 봅니다.
GOE(Grammar of an Experience)는 경험의 문법, 즉 텍스트가 따라야 할 일관된 규칙 체계입니다. 말투(톤앤매너), 문장 구조, 단어 선택 기준이 여기에 해당합니다. GOE가 잘 정의된 제품일수록 어떤 화면에서든 "이 제품다운" 언어를 유지합니다.
토스의 UX 라이팅 가이드는 사실상 GOE를 명문화한 문서입니다. 그리고 각 원칙은 AOE의 각 구성 요소(에러 메시지, 버튼, 안내 문구 등)에 적용됩니다.
원칙 1. 해요체 — GOE의 기초, 일관성
토스는 앱 안의 모든 문구에 해요체를 씁니다. 상황·맥락 무관하게 예외 없이 적용됩니다.
GOE 관점에서 이것은 매우 중요한 결정입니다. 문체의 일관성이 깨지는 순간, 사용자는 무의식적으로 "이 제품이 나에게 다르게 말하고 있다"는 이질감을 느낍니다. 특히 금융 서비스처럼 신뢰가 중요한 영역에서는 이 이질감이 불안으로 연결될 수 있습니다.
💡 PM/기획자 체크포인트
신규 기능을 기획할 때 기존 문구의 말투를 먼저 확인하세요.
아무리 좋은 기능도 말투가 튀면 전체 경험이 흔들립니다.
원칙 2. 능동적 말하기 — AOE에서 '행동'을 설계하다
토스는 수동형 표현을 최소화합니다. 세 가지 방법을 씁니다.
- '됐어요' → '했어요': "송금이 완료됐어요" → "송금했어요"
- '~었' 빼기: "연결되었어요" → "연결됐어요" → "연결해요"
- 동사 바꿔쓰기: 상태를 설명하는 대신 행동을 전달
AOE 관점에서 보면 이 원칙은 화면의 행동 유도 지점(CTA)과 직결됩니다. 수동형 문장은 사용자가 결과를 받아들이는 느낌을 주고, 능동형 문장은 사용자가 무언가를 해냈다는 느낌을 줍니다. UX에서 이 차이는 전환율과 만족도에 영향을 미칩니다.
💡 PM/기획자 체크포인트: 완료 화면, 성공 메시지의 문구를 점검하세요. "처리되었습니다"가 아닌 "보냈어요"가 맞습니다.
원칙 3. 긍정적 말하기 — 에러조차 경험으로 만드는 법
토스는 "안 돼요", "없어요" 대신 "~하면 할 수 있어요" 형태로 씁니다. 에러 메시지도 예외가 아닙니다.
특히 주목할 만한 원칙이 있습니다. 다이얼로그의 왼쪽 버튼은 항상 '닫기'입니다. '취소'라는 단어는 사용자가 진행 중인 작업 자체가 취소된다고 오해할 수 있기 때문입니다. 이것은 AOE에서 버튼 레이블의 역할을 얼마나 정밀하게 설계했는지를 보여주는 대표적인 사례입니다.
혜택 대상 안내 문구에서도 마찬가지입니다. 특정 혜택을 받을 수 없는 사용자에게도 "이 혜택은 받을 수 없어요"가 아니라 "다른 혜택을 받을 수 있어요"처럼 긍정형으로 표현합니다. 사용자가 화면을 빠르게 스캔할 때 부정형 문장은 "서비스 전체를 쓸 수 없다"고 오해하게 만들 수 있기 때문입니다.
💡 PM/기획자 체크포인트: 에러 메시지, 제한 안내 문구를 전수 검토하세요. 부정형 문장 하나가 사용자 이탈의 원인이 될 수 있습니다.
원칙 4. 캐주얼한 경어 — 브랜드 페르소나를 텍스트로 구현하기
"~시겠어요?", "~께"와 같은 과도한 경어를 피하고 친근한 말투를 씁니다. 구체적으로는 이렇습니다.
- '~시' 빼기: "어떻게 도와드릴까요?" → "무엇을 도와드릴까요?"
- '계시다' → '있다'
- '여쭤보다' → '확인하다, 묻다'
- '께' → '에게'
GOE 관점에서 이것은 브랜드 페르소나를 언어로 구현하는 방식입니다. 토스가 지향하는 페르소나는 "격식 있는 은행원"이 아니라 "똑똑하고 친근한 금융 친구"입니다. 과도한 경어는 오히려 이 페르소나를 흐트러뜨립니다.
단, 사용자 정보를 받는 질문에서 기계적으로 '~시'를 빼면 어색해질 수 있습니다. 이럴 때 토스는 파악하고 싶은 정보를 '주어'로 써서 문장을 재구성합니다. 예를 들어 "직업이 어떻게 되세요?" → "직업이 뭐예요?"처럼요.
💡 PM/기획자 체크포인트: 온보딩 질문, 정보 입력 화면에서 어색한 경어 표현을 찾아보세요. 단순히 '~시'를 빼는 것보다 문장 구조 자체를 재설계하는 것이 더 자연스럽습니다.
원칙 5. 명사+명사 쓰지 않기 — 언어의 온도를 높이는 방법
한자어 명사를 동사 형태로 풀어씁니다.
- "계좌 연결" → "계좌를 연결해요"
- 풀기 어려운 경우: '{명사}가 {명사}해서' 형태로 캐주얼하게
GOE 관점에서 이 원칙은 언어의 온도와 관련됩니다. 명사+명사 조합은 공문서, 매뉴얼에서 주로 쓰이는 방식이며 차갑고 딱딱한 느낌을 줍니다. 이를 풀어쓰면 문장에 온도가 생기고 사용자가 읽기 편해집니다.
💡 PM/기획자 체크포인트: 기능명, 섹션 타이틀에 명사+명사 조합이 많지 않은지 살펴보세요. 특히 신규 기능의 이름을 지을 때 이 원칙을 적용하면 더 직관적인 네이밍이 가능합니다.
실무에서 가장 놓치기 쉬운 것 — 온보딩 문구
토스의 5가지 원칙 중 실무에서 가장 놓치기 쉬운 것은 단연 온보딩 문구입니다. 온보딩은 사용자가 서비스를 처음 만나는 순간이기 때문에, 이 시점의 UX 라이팅이 사용자의 리텐션과 브랜드 선호도에 직접적인 영향을 미칩니다.
흥미로운 점은 UX 라이팅의 품질이 비단 사용자에게만 영향을 미치는 것이 아니라는 점입니다. 세심하고 일관된 언어로 설계된 제품을 만드는 팀은, 업계 안에서 "일 잘하는 팀"으로 인식됩니다. UX 라이팅을 잘 하면 사용자 경험이 좋아지는 것은 물론, 그 제품을 만든 기획자와 PM 개인의 역량에 대한 인식도 함께 높아집니다.
PM·기획자를 위한 실천 요약
토스의 UX 라이팅은 단순히 "예쁜 말 쓰기"가 아닙니다. GOE(경험의 문법)를 명문화하고, AOE(경험의 해부) 각 지점에 일관되게 적용하는 시스템적 접근입니다.
- 해요체 — GOE의 기초. 말투 통일이 신뢰를 만든다.
- 능동적 말하기 — 완료/성공 지점에서 사용자의 행동감을 살린다.
- 긍정적 말하기 — 에러와 제한조차 긍정형으로 재설계한다.
- 캐주얼한 경어 — 브랜드 페르소나를 언어로 구현한다.
- 명사 풀어쓰기 — 문장에 온도를 더한다.
말 한마디로 천냥 빚을 갚듯, UX 라이팅은 사용자에게 어떤 인식을 줄 수 있는지, 어떻게 긍정적인 반응을 이끌어낼 수 있는지를 결정하는 강력한 도구입니다. 토스의 브랜드 분석과 UX 라이팅을 공부하면서 더 성장하는 기획자가 되기 위한 노력, 오늘부터 시작해보세요.