2024. 6. 10. 13:15ㆍRe-design!
퍼소나 = 사용자 세분화 하기
사용자 중심 디자인에는 사용자 이해가 우선 합니다. 그래서 사용자를 정의하는데 퍼소나 방법을 많이 사용합니다. 공감을 위해 가상 인물에 이름을 지어주거나 사진을 붙이고 스토리를 부여하기도 하는데요. 퍼소나의 진정한 의미는 사용자를 세분화하는 데 있습니다. 우리는 사용자는 모두 다르다는 걸 알면서도 종종 뭉뚱그려 생각하는 경향이 있거든요.
설문 조사에서 우리 제품을 50%가 좋아한다라고 했을 때. 우리 제품을 반만 좋아하는 애매한 사용자 집단이 좀 더 좋아하는(수치를 높이는) 방법을 찾지는 않잖아요. 좋아하는 집단과 좋아하지 않는 집단이 반반정도 있다는 것이니. 좋아하는 집단에 집중해 좋아하는 부분을 더 강조하거나, 좋아하지 않는 집단이 가진 문제를 찾아 해결하는 전략을 세워 디자인하게 됩니다.
데이터를 이용한 퍼소나도 사용자를 세분화하는 데 의의가 있습니다. 정성 조사가 대부분 10명이하로 표본이 제한되어 있는 반면에 전체 사용자를 대상으로 실제 사용자는 어떻게 행동하는지, 어떤 유형이 있는지 확인해 볼 수 있는 장점이 있습니다. “데이터 기반 퍼소나" 이름으로 회사에서 GA로그 데이터로 사용자를 이해해보려는 실험을 시리즈로 공유하려고 하는데요. 이번에는 유입 검색어로 사용자를 군집화하는 방법을 소개합니다.
개별 사용자 로그 데이터로 정성 분석 하듯이
저희는 정량 데이터를 개별 사용자 단위로 보면서 정성 분석에 가깝게 사용하고 있는데요. GA4가 되면서 개별 사용자를 구분하여(user_pseudo_id) 볼 수 있게 되었습니다. 물론 익명으로 수집되고 한 명의 사용자가 아니라 브라우저에서 부여한 고유 아이디로 구분합니다. 동일한 사람이 다른 브라우저나 pc와 폰으로 각기 접속하면 다른 id로 잡히게 되는 한계가 있습니다.
로그를 통해 한 사용자가 어떤 페이지를 방문하고 어떤 요소들을 클릭했는지 fly on the wall 방식으로 살펴 볼 수 있습니다. 개별 사용자가 어떻게 사이트를 이용하는지 직접 들여다보는 게 사용자를 이해하는 데 많은 도움이 됩니다. 디자인에서 더블다이어몬드 방법은 구체화와 추상화를 반복해가며 탐색하는 것을 강조하는데요. 이렇게 개별 사용자 단위로 보거나 집단의 특성을 찾거나 하는 식으로 구체화와 추상화를 번갈아가며 사용자 행태를 확인합니다. 개별 사용자를 볼 때는 전체에서 무작위로 추출하거나 특이한 행태를 보이는 집단 내에서 뽑기도 합니다. GA의 기본 설정에서는 page_view 위주로 이벤트 로그가 남는데 tagmanager를 이용하면 이벤트를 확장할 수 있습니다. 저희는 클릭좌표를 남겨 히트맵을 보고 있습니다. 그리고 비슷한 사용 행태를 가지는 사용자를 묶어 사용자 집단을 나누는데요. 이건 이후 글에서 자세히 다루도록 하겠습니다.
GA에서 개별 사용자 로그 얻기
GA4 설정에서 BigQuery를 연동하면(Analytics > Admin > Product Links > BigQuery Links) DB에 GA 이벤트가 저장됩니다. DB 사용하듯이 쿼리로 GA 데이터에 접근해 필요한 정보를 가져올 수 있습니다. 이후에는 pxd 블로그와 pxd.co.kr 사이트 GA 데이터를 예제로 보여드리려고 합니다.
누가 방문하는지 나눠 보기
사용자를 구분해 보는 기본 정보로는 우선 referrer를 이용해 어디를 통해 방문하는지 확인할 수 있습니다. 크게 직접 주소를 입력하고 오는지 검색을 통해 오는지, 다른 사이트의 링크를 통해 오는지 나눠봅니다. 같은 주소로 묶어도 너무 많으니 계층적으로 묶어 보면 좋습니다. 보로노이 트리맵을 사용해 시각화하면 계층적 정보에서 주요 요소를 한눈에 파악하는데 도움이 됩니다. 우선은 루트 도메인으로 묶고 안 묶이는 단독 도메인은 최상위 도메인으로 적당히 묶어서 보고 있습니다. pxd 블로그는 구글이나 네이버 검색으로 들어오는 사람이 대부분이고 우리 블로그 자체 링크나 브런치에 소개된 글을 통해 들어오는 방문자가 눈에 띕니다. 부산대 맞춤법 검사기 통해 방문하는 분도 보이고요. :) 레퍼러 없이 직접 url을 입력하거나 이메일 링크를 통해 접근하는 경우도 많은데 여기서는 제외하였습니다.
유입 검색어 군집화
75%정도는 검색을 통해 방문하는데. 검색어는 사용자의 니즈가 분명히 담겨있으니 사용자를 이해하는 중요한 단서가 됩니다. 하지만 EU의 개인정보 보호법에 따라 이제는 GA에서 구글 검색 키워드를 남기지 않습니다. 대신 네이버 검색은 캠페인으로 처리하는지 검색 키워드를 event_params의 term으로 분리해서 제공합니다. 구글 검색은 구글 서치 콘솔 을 설정하면 관리하고 있는 도메인 별로 구글 검색 키워드 통계를 받을 수 있습니다. 구글 시트로 내보내기를 하면 사용자가 키워드로 검색했을 때 우리 사이트가 얼마나 노출되었는지 그리고 얼마나 클릭했는지, 검색 결과에서 노출되는 위치는 평균적으로 몇 번째였는지를 보여줍니다. 첫 번째로 결과에 나와야 클릭율이 높게 나오고요.
텍스트 임베딩
그런데 이렇게 키워드별로 나열하면 사용자가 어떤 주제에 관심을 가지고 우리 사이트에 방문하는지 쉽게 파악이 되지 않습니다. 비슷한 키워드끼리 묶어서 보면 좋은데요. 단순히 같은 단어가 아니라 비슷한 의미를 가지는 키워드를 묶으려면 텍스트 임베딩을 사용하면 됩니다. 텍스트를 숫자 벡터로 변환해 주어서 다차원 공간에서 가깝거나 방향이 비슷하면 비슷한 의미일 가능성이 높습니다. Openai embedding 서비스가 상당히 저렴하기 때문에 쉽게 사용할 수 있습니다. 그런데 토큰화할때 한국어는 단어가 아닌 거의 음절 단위로 쪼개서 전혀 다른 의미여도 음절이 같으면 비슷하다고 묶는 경우가 많더라고요. 한국어에 특화된 모델이 유사도를 계산하거나 할 때는 더 성능이 좋은 것 같고요. 저는 다음의 문장 트랜스포머 모델을 사용했습니다. https://huggingface.co/bespin-global/klue-sroberta-base-continue-learning-by-mnr
군집화
각각의 유사도를 알면 비슷한 것끼리 묶을 수 있는데. K-means 처럼 단순히 정해진 개수로 나누거나 유사도에 따라 계층적으로 묶을 수 있습니다. 필요에 따라 두 가지를 병행해서 사용하고 있는데 다양한 클러스터링 방법 중에 적합한 방법을 사용하면 됩니다.
CTR(Click Through Rate)을 히트맵으로 표시해 보는 것도 도움이 됩니다. 옅게 표시된 UX 같은 키워드는 유입이 많긴 하지만 다른 검색결과도 많아서 저희 블로그로 일부가 유입되고, “최초의 마우스"처럼 CTR이 높은 진한 부분은 저희 블로그가 검색 결과 상위로 고유한 컨텐트라는 걸 한눈에 파악할 수 있습니다.
시간에 따른 유입 키워드 변화
네이버 검색을 2월과 5월을 비교하면 확연히 다른데요. 두가지 중요한 사실을 알 수 있습니다. 2월에 가장 많은 비중을 차지했던 UI UX 키워드가 사라졌습니다. 네이버 검색 순위에서 밀렸다는 거죠. 그리고 또 하나 “조형 요소와 원리" 키워드 유입이 가장 많아졌는데요. 개강을 했다는 걸 알 수 있습니다. :) 이렇게 시계열로 변화를 비교하면서 트렌드를 확인하고 컨텐트 관리를 하는 데 사용할 수 있습니다.
유입 검색어 별 이용 행태
단순히 이러한 검색어로 유입이 된다는 걸 아는 것보다 특정 검색어로 방문한 사용자의 니즈에 따라 사용 패턴이 다른지 아는 게 중요합니다. 저희 www.pxd.co.kr 회사 홈페이지를 방문하는 사용자 이동 흐름을 표시한 그래프인데요. 어떤 페이지에 주로 관심이 있는지 간단히 파악할 수 있습니다. 큰 원이 많은 사용자가 방문한 페이지이고 큰 화살표가 페이지에서 이동이 많은 경로를 나타냅니다.
여기서도 사용자를 세분화하면 사용자를 이해하는 데 더 도움이 됩니다. pxd 사이트의 네이버 유입 검색어에는 디자인 시스템과, 디자인 가이드가 많은데요. 이 사용자들은 검색 결과로 나온 우리 디자인 스토리 페이지로 들어와서 내용을 읽고 만족했기 때문에 바로 이탈합니다. 회사 소개 같은 건 관심이 아니었으니까요. pxd나 피엑스디로 우리 회사를 이미 알고 검색해 방문한 사용자들은 예상대로 각각의 페이지를 골고루 관심을 가지고 확인해 보는 걸 알 수 있습니다. 이분 들은 최근에 /jobs와 /people에 접근이 많은데. 취업을 준비하는 분들이 이미 pxd에 대해서 아는 상태에서 방문하셨던 것 같습니다.
유입 검색어 분석해 보기
유입 키워드를 클러스터링하여 분석해 볼 수 있는 데모 페이지를 만들었습니다. 구글 시트나 엑셀에서 키워드, 크기 컬럼을 복사해서 붙여 넣으면 의미별로 묶어 보로노이 트리맵으로 시각화해줍니다. 텍스트 분석에 워드클라우드를 많이 사용하는데 이를 개선해서 워드 버블이라고 이름 붙였습니다.
https://word-bubble-uxtechlab.replit.app/bubble
정리
사용자를 세분화하면 사용자를 보다 잘 이해할 수 있습니다. 특성을 정량화해 벡터로 만들면 알고리즘을 이용해 간단히 유형을 나눠 볼 수 있습니다. 정성조사에서 퍼소나 만들 때 복잡하게 꼬여있는 행동 변수 맵핑을 수작업으로 어렵게 유형을 나눴었는데요. 행동 변수를 정량화해 군집화 알고리즘을 사용하면 쉽게 유형을 나눌 수 있습니다. 사용자를 세분화하는 건 정답이 있는 것이 아니라 과제의 목표에 따라 전략적으로 선택하는데요. 어떤 행동 변수를 선택해 사용자를 나눌지에 집중하면 보다 나은 결과를 얻을 수 있습니다. 다음번에는 쉽게 행동 패턴을 찾고 사용자를 세분화하는 도구를 소개하겠습니다.
UXTech Lab에서 GA 데이터를 기반해 사용자를 세분화하는 도구를 만들고 있습니다. 미리 사용해 보고 싶으시면 폼에 남겨주세요. 미리 사용 해보기 신청