개발 slecs

읽는 경험 개선하는 네 가지 위젯 추가

목차

콘텐츠 플랫폼에서 사용자가 한 번 방문한 후 다시 돌아오게 만드는 것만큼 중요한 지표는 없다. Retention이 떨어지면 아무리 좋은 글을 쓰고 배포해도 소용이 없기 때문이다. 이번 작업은 그 retention을 높이기 위해 포스트 읽기 경험에 네 가지 위젯을 한 번에 추가한 것이다.

Retention을 높이는 네 가지 전략

목차(Table of Contents), 읽음 진행바(Reading Progress), 최근 본 글(Recently Viewed), 관련 글(Related Posts). 겉으로 보면 흔한 블로그 기능들이지만, 각각 사용자 행동에 다른 영향을 미친다.

위젯 주 목적 사용자 행동
목차 긴 글 스캔 용이성 관심 섹션으로 빠른 이동
진행바 읽음 진행도 시각화 완독 유도, 심리적 완성감
최근본글 과거 상호작용 상기 재방문 유도, 시리즈글 탐색
관련글 현재 글과 유사한 콘텐츠 제시 다음 읽을 글 발견 용이

특히 이 네 가지를 함께 배치하는 것이 중요했다. 혼자만으로는 효과가 제한적이지만, 조합하면 사용자 여정 전 단계를 아우를 수 있기 때문이다. 목차로 현재 글을 효율적으로 탐색하고, 진행바로 완독을 유도한 뒤, 최근본글과 관련글로 다음 읽을 거리를 제시한다는 흐름이다.

구현에서 마주한 설계 결정

단순해 보이지만 구현 단계에서는 여러 트레이드오프를 고민했다.

먼저 최근본글과 관련글은 사용자 행동 데이터가 필요하다. 데이터베이스에 어떻게 저장할지, 쿼리를 어떻게 최적화할지 결정해야 했다. src/lib/db.ts 파일을 수정한 이유가 여기다. 사용자가 포스트를 읽을 때마다 기록하고, 최근본글 위젯은 그 히스토리를 조회하는 방식으로 설계했다.

목차와 진행바는 정적 생성과 실시간 추적의 경계에 있다. 목차는 포스트 메타데이터에서 추출 가능하지만, 진행바는 클라이언트에서 스크롤 이벤트를 감지해야 한다. 이 두 위젯이 Post 레이아웃에 함께 들어간 이유도 여기다 — 포스트를 렌더링할 때 동시에 초기화되어야 하기 때문이다.

개별 컴포넌트로 분리한 것도 의도적이었다. 나중에 위젯별 on/off 토글이 필요할 때도 고려했고, 팀원이 특정 위젯만 개선하고 싶을 때 다른 부분에 영향을 주지 않도록 하기 위함이었다. 단일 책임 원칙을 따르다 보니 네 개의 파일이 생겼지만, 그 덕분에 테스트와 유지보수가 한결 수월했다.

의사결정 과정과 팀 논의

처음에는 각 위젯의 우선순위를 두고 고민했다. 첫 배포에는 목차와 진행바만 포함하고, 최근본글과 관련글은 별도 개선안으로 미룰까? 하는 생각도 했다. 하지만 결국 한 번에 추가하기로 결정했다. 이유는 사용자 경험 관점에서 이 네 가지가 상호보완적이기 때문이다. 목차만 있으면 현재 글은 잘 읽지만 다음 행동이 막힐 수 있다. 반대로 관련글만 많으면 글을 읽는 것 자체는 힘들 수 있다. 함께 있어야 제 역할을 하는 셈이다.

이런 식의 의사결정은 팀 논의에서 나온다. 누군가는 "일단 목차부터", 누군가는 "관련글이 우선", 누군가는 "다 함께"라는 입장이 있었다. 각 의견을 들으며 데이터, 사용자 피드백, 개발 일정, 유지보수 복잡도를 균형 잡았다. 스코핑 단계에서 가장 중요했던 질문은 "만약 한 가지를 빼면 사용자 경험이 크게 떨어지나?"였다. 그 질문에 모두 '예'라고 답했으니 한 번에 가는 게 맞았다.

데이터 추적과 성능 고려

데이터베이스 쿼리 부담도 고려했다. 특히 최근본글은 매 사용자마다 히스토리를 추적해야 하니 read 부하가 클 수밖에 없다. 하지만 이 정도 트래픽은 캐싱 전략으로 충분히 대응 가능했다. 관련글 조회도 사용 가능한 범위 내였다. 만약 사용자가 몇 배로 늘어난다면? 그때는 더 정교한 인덱싱이나 별도의 추천 엔진을 고려해야 할 것 같지만, 지금은 과도 설계보다는 실제 필요가 생길 때 개선하기로 했다.

남는 배움

Retention 개선은 단 하나의 기능이 아니라 사용자 여정의 여러 지점에 개입하는 시스템적 접근이어야 한다는 것을 다시 확인했다. 개별 위젯의 효과도 중요하지만, 그것들이 어떻게 함께 작동하는지가 더 중요하다. 다음 단계는 이 위젯들이 실제로 얼마나 효과적인지 측정하고, 그 데이터로 다시 설계하는 순환을 만드는 것이다. 예를 들어, 목차는 많이 클릭되지만 관련글은 거의 안 클릭된다면? 그럼 관련글 알고리즘을 다시 생각해야 한다. 그렇게 반복하면서 정말 작동하는 retention 전략이 만들어진다.


🛒 이 글과 어울리는 추천 상품

*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.

댓글 0

첫 댓글 달아줘.