Search

다크패턴 유형 가이드

다크패턴 유형 가이드란?

토스가 누구나 마음 놓고 송금할 수 있는 금융 앱이 되려면 사용자의 신뢰 자산이 필수적이에요.
의도적으로 사용자의 오인지를 유도하는 다크패턴은 서비스의 단기적 성공을 이끌 수 있지만, 토스가 오랜 시간 힘겹게 쌓아 올린 신뢰 자산을 거덜내는 ‘독이 든 성배’라고 볼 수 있어요.
토스 다크패턴 유형 가이드는 서비스 목표를 정직하게 달성하기 위한 디자인 지침으로, 다크패턴을 분별할 기준이자 투명한 커뮤니케이션을 위한 나침반이 되어줄 거예요.
2024년 다크패턴페스티벌에서 제보 · 개선된 135개의 실제 사례를 바탕으로 만든 가이드예요.

1. 숨겨진 의도

Invisible Price

요금을 불투명하게 청구하는가?
서비스가 무료에서 유료로 바뀌거나 요금이 오를 때 명시적으로 알려주세요. 사용자는 결제 내용을 명확하게 인지하지 못한 채 본인도 모르게 돈을 쓰는 경험을 다크패턴이라고 인지해요.
무료 서비스인 것처럼 보이지만 '1,900원'을 결제한다는 내용이 작게 숨겨진 사례예요. 결제 내용을 타이틀에 넣어 사용자가 명확하게 인지할 수 있도록 수정했어요.
스크롤을 내려야만 사용자가 지불해야 하는 비용이 보이는 사례예요. 진입하면 연회비가 바로 보이도록 ATF 영역을 수정했어요.

Cheating Benefits

혜택을 과장하는가?
금전적 혜택을 실제보다 과장하지 마세요. 무조건 최대치의 혜택을 준다거나 특별히 나만 받을 수 있는 혜택이라고 말하기, 세그먼트 범위를 고려하지 않고 작성된 혜택성 문구, 만료된 이벤트나 광고 소재 모두 사용자에게 속았다는 느낌을 줄 수 있어요. 토스에서 가장 자주 보이는 다크패턴이에요.
기간이나 상한선 등의 조건 숨기기
받을 수 있는 혜택의 상한선이나 기준을 숨긴 사례예요. 타이틀에서 20%가 최대치라고 명시하고, 디스크립션에서도 조건을 설명하는 방식으로 수정했어요.
요금제를 2년 동안 써야 혜택을 받을 수 있다는 조건을 숨긴 사례예요. ’312,000원’ 앞에 ‘최대’를 붙여 수정했어요.
나만 받을 수 있는 것처럼 말하기
이벤트 대상자의 폭이 넓지만, 마치 소수의 특정 사용자를 위한 혜택인 것처럼 표현한 사례예요.
당장 받을 수 없는 혜택으로 유인
포인트를 받을 수 없는 세그먼트에게 포인트를 바로 받을 수 있는 것처럼 소구한 사례예요. 알림 받기를 강요하는 바텀 시트를 삭제하고, 사용자가 여부를 선택할 수 있게 버튼으로 수정했어요.

Hidden Cost

비용을 숨기는가?
사용자가 지불해야 하는 인지적, 심리적, 노동 비용을 감추지 마세요. 어떤 비용도 없이 혜택을 바로 받을 수 있을 것처럼 말하거나, 실제로는 광고지만 기능인 것처럼 포장하는 경우가 해당해요.
‘1원 받기’라는 레이블로 광고를 봐야 하는 비용을 숨기고 혜택을 곧바로 받을 수 있는 것처럼 표현한 사례예요. ’광고 보고 1원 받기’로 수정했어요.
버튼을 누르면 어떤 화면으로 이어지는지 애매모호한 사례예요. ’미션’이란 단어로 후속 액션을 연상케 하는 방식으로 수정했어요.
포인트를 받았다고 생각했는데, 알고 보니 동의를 해야 받을 수 있게 만든 사례예요.
레벨 5까지 프로그레스 바를 5번 채워야 햄버거를 받을 수 있지만, 1번만 채워도 받을 수 있는 것처럼 비용을 축소한 사례예요.

Misleading Questions

헷갈리게 질문하는가?
의도가 숨겨진 질문으로 사용자가 예상하기 어려운 선택을 유도하지 마세요. 사용자가 문구를 자세히 읽지 않고 버튼을 누른다는 습성을 활용해 우리가 원하는 행동을 유도하면 다크패턴 사례가 될 수 있어요.
버튼을 눌러 질문에 답하면 질문과 상관 없는 화면이 나와 사용자를 당황하게 만든 사례예요. 질문에서부터 후속 화면을 예상할 수 있도록 앞뒤 문구를 수정했어요.
마케팅 정보를 알림받는 동의문이지만, 기능성 알림인 것처럼 오인지를 유도하는 질문이에요.
Fake Reviews

2. 사용자 선택권 무시

Hard to Exit

사용자의 이탈 의사를 무시하는가?
이미 ‘No’라고 말한 사용자의 발목을 잡지 마세요. 이탈 의사를 표시한 사용자에게 다이얼로그 등으로 특정 행위를 반복적으로 요구하는 건 동선을 방해하는 다크패턴이에요.
반복 팝업
혜택을 둘러보다가 이탈하면 풀페이지로 쿠폰을 받게 유도하는 사례예요. 담당 사일로에서 이 화면 자체를 과감히 들어내는 방식으로 수정했어요.
이미 해지 의사를 밝힌 사용자도 사유를 선택해야만 해지할 수 있게 한 사례예요.
알림 받기를 하지 않았지만 서비스에 진입할 때마다 풀페이지로 의사를 묻는 사례예요. 거절하면 일주일 동안 이 페이지를 보여주지 않는 방식으로 수정했어요.

Unfair Hierarchy

화면의 위계가 사용성을 강요하는가?
사용자에게 중요한 기능보다 서비스가 보여주고 싶은 기능을 더 많이 강조하고 있진 않나요? CTA나 바텀시트처럼 누름직한 컴포넌트로 특정 사용성을 강요하는 건 사용자의 자연스러운 의도를 납치하는 다크패턴이에요.
프라이머리 버튼으로 하이재킹
사용자가 요금제 해지 의사를 표시한 상황에서 다른 요금제를 둘러보라고 권유하는 사례예요. 사용자가 원래 의도한 것처럼 바로 해지할 수 있도록 버튼의 위계를 수정했어요.
바텀시트로 하이재킹
공급자의 의도가 강력하게 반영된 바텀 시트로 사용자가 의도한 경험을 납치하는 사례들이에요.

Hidden Navigation

토스에 불리한 정보나 기능을 숨기는가?
사용자가 의사 결정할 때 필요한 정보나 기능은 바로 찾을 수 있어야 해요. 토스에 불리한 정보를 디스클레이머 영역에 숨겨두거나, 한참 퍼널을 진행한 뒤 마지막에 알려주진 않았는지 확인해주세요. 불필요하게 많은 클릭을 유도해 피로감을 느끼게 하는 패턴도 문제가 될 수 있어요.
토스에 불리한 해지 버튼을 디스클레이머에 숨겨둔 사례예요. 좀 더 쉽게 찾을 수 있도록 진입점을 통장관리 메뉴에 추가하는 방식으로 수정했어요.
알림을 해제할 수 있는 설정 버튼도 원래는 전체 탭에 들어가야만 찾을 수 있었어요. 알림 화면 우상단에 설정 버튼을 추가하는 방식으로 수정했어요.

Forced Options

토스에 유리한 옵션을 미리 선택해 뒀는가?
사용자가 아닌 토스가 원하는 옵션을 미리 선택해 둔 패턴이에요. 사용자가 선택을 바꾸지 않고 무심코 지나치도록 유도하기 때문에 문제가 돼요. 특히 Easy to Answer를 위해 프리필해 주는 경우, 다크패턴이 발생하지는 않았는지 주의해주세요.
'내 카드값 확인하기'를 눌렀는데 카드사뿐 아니라 은행, 증권사도 미리 체크된 사례예요. 사용자가 의도한 것보다 더 많은 항목이 체크되지 않도록 요건을 수정했어요.

3. 부정적 감정 활용

Threatening

위협적인 말로 마케팅하는가?
사용자가 불리한 선택을 한 것처럼 불안감이나 수치심을 자극하지 마세요. 토스가 원하는 선택지를 고르게 하려고 감정적으로 압박하는 것도 흔한 다크패턴이에요.
'그때 못 산 공모주...'라는 타이틀로 사용자의 아쉬움을 자극하는 사례예요. '상장한 공모주'라는 타이틀과 중립적인 디스크립션으로 수정했어요.
사용자가 유리한 옵션을 놓치고 있다고 감정적으로 압박하는 사례예요.

False Urgency

시간을 압박하는가?
시급하지 않은 사안임에도 마감을 강조해 사용자를 불안하게 하거나, 특정 시간이나 기간에만 할인이 가능하다는 거짓 정보로 사용자를 압박하는 패턴이에요. 정말 긴급한 안내가 필요할 땐 마감 시점 등을 명시적으로 드러내주세요.
글을 읽을 수 있는 시간 제한이 없으나 시간이 줄어드는 애니메이션으로 사용자의 조바심을 자극하는 사례예요. 애니메이션을 들어내고, '오늘이 가기 전'이라는 타이틀을 수정했어요.
사용자의 실제 보험 만기일과 다르게, 마감이 얼마 남지 않았다고 압박하는 사례예요.

다크패턴 관리 가이드 풀 버전

(별첨)_온라인_다크패턴_자율관리_가이드라인.pdf
838.8KB