맞춤형 콘텐츠, 배민은 사장님께 어떻게 제공할까? : 배민외식업광장 세그먼트 적용기
안녕하세요. 배민외식업광장서비스팀 강경림입니다.
2022년 12월 CMS(Content Management System) 슬롯화 프로젝트로 기술 블로그를 찾아왔었는데요.
1년 6개월이라는 시간이 흐르는 동안 배민외식업광장 CMS에는 어떤 변화들이 있었는지, 어떻게 발전되어 왔는지를 공유드리고 싶어 다시 한번 기술 블로그에 문을 두드리게 되었습니다.
들어가기 전에
배민외식업광장 CMS는 슬롯화를 통해 배민외식업광장에 접속하는 사장님들에게 다양한 디자인으로 시의적절한 다양한 콘텐츠를 제공할 수 있게 되었지만, 모든 사용자가 동일한 콘텐츠를 봐야 한다는 아쉬움이 있었어요.
CMS 슬롯화가 궁금하시면, 아래 게시글을 읽어 주세요 🙂
배민외식업광장에 접속하는 사장님들은 ‘가게를 운영하는 사장님’이라는 공통점이 있지만, 사장님들이 겪는 어려움과 상황은 서로 달랐기 때문에 일률적인 콘텐츠 제공으로는 사장님의 문제상황 해결에 도움을 드리는 데 한계가 있었습니다.
그래서 우리는 특성이 유사한 사장님들을 묶어 세그먼트를 만들고, 세그먼트별로 다른 슬롯을 제공할 수 있는 방법이 없을까 고민하게 되었어요.
슬롯을 모아 슬롯판 구성하기
세그먼트별 다른 슬롯에 제공하기로 했을 때, 가장 먼저 했던 고민은 ‘어떻게 배민외식업광장을 구성하고 있는 많은 슬롯에 세그먼트를 적용할 수 있을까?’ 하는 것이었어요.
슬롯에 세그먼트를 붙이면, 슬롯 내에 세그먼트 우선순위를 설정할 수 있는 기능이 필요하고, 슬롯의 수만큼 세그먼트를 운영하기 위한 리소스가 들어갈 것이 우려되었습니다.
또, 슬롯은 이미 슬롯 노출을 위한 서비스 및 지면 정보를 비롯 슬롯을 구성하는 콘텐츠, 슬롯의 디자인과 데이터를 결정하는 모듈에 대한 정보 등을 가지고 있었는데요.
여기에 세그먼트 정보까지 슬롯에 부여하게 되면, 사용자 접속 시 조건에 맞는 슬롯을 찾아 화면을 구성해야 하기 때문에 복잡도가 상승하고, 이후 성과 측정을 하기에도 어려움이 있을 것이라고 판단했어요.
우리는 이미 여러 슬롯을 모아 하나의 판을 만들어 사용자에게 제공하고 있었기 때문에 슬롯이 모여있는 판을 여러 개 만들어서 각각의 판에 세그먼트를 적용해 보기로 했습니다.
세그먼트 작업에 앞서 배민외식업광장은 하나의 지면에서 여러 개의 슬롯판을 가질 수 있도록 구조 변경을 진행했어요.
세그먼트를 만드는 다양한 방법
세그먼트를 붙일 슬롯판이 완성되고, 본격적으로 ‘세그먼트’를 어떻게 만들 수 있을까?에 대한 고민을 하던 중 마케팅 타깃팅 툴을 만드는 BUDS팀에서 ‘사장님향 BUDS’ 출시 계획을 공유해 주셨습니다.
BUDS 툴에 대한 이야기는 기술블로그 마케팅 타깃팅 툴 BUDS 제작기, 탄생부터 수출 역군이 되기까지 글에서 보실 수 있어요.
우리는 BUDS 팀에서 세그먼트를 제공하는 방식에 대한 설명을 듣고, 우리가 고려해 볼 수 있는 안은 무엇인지 고민했어요.
BUDS는 사용자 정보를 조합한 세그먼트 조건 그룹을 생성하여 특정 시간 생성된 사용자 정보가 담긴 CSV 파일을 AWS Storage 저장하게 되면 각 서비스에서 해당 CSV 파일을 가져와서 사용하는 형태로 서비스를 제공하고 있었습니다.
우리가 직접 사장님을 분류하는 기능을 만드는 것을 고려하는 것보다, 유지 보수 및 개발 효율화를 위해 이미 노하우가 쌓인 BUDS 팀에서 제공하는 기능을 적극 활용하는 것으로 개발 방식을 정하고, BUDS를 사용해 대상자를 특정할 수 없을 경우 직접 사용자 파일을 업로드하여 사용할 수 있는 별도의 기능을 개발하기로 결정했습니다.
A/B 테스트도 해보자
우리의 고민은 여기서 끝나지 않았어요. ‘특정 조건에 맞는 사용자에게 특정 슬롯판을 보여주는 것이라면, 슬롯판을 A/B 테스트 플랫폼과도 연동을 할 수 있지 않을까?’라는 생각을 했습니다.
A/B 테스트 플랫폼에서 설정한 실험 KEY, 타깃 구분 값을 슬롯판과 연동해서 실험 KEY 별 타깃 구분 값에 따라 슬롯판을 제공하는 기능까지 추가하기로 최종 스펙을 정했어요.
슬롯판과 세그먼트를 연결
슬롯판, 세그먼트, A/B 테스트, 실험 KEY까지 모든 준비가 완료된 것처럼 보였지만, 또 하나의 난관에 봉착하게 됩니다.
한 명의 사용자가 동시 여러 세그먼트에 속할 수 있고, 그럴 경우 어떤 슬롯판을 보여줘야 하는지 우선순위를 지정할 수 있어야 했는데, 일자별로 다른 세그먼트를 운영하고 싶은 니즈를 충족하면서 운영상 어려움이 없게 기능을 만들어야 했어요.
그래서 떠올린 생각이 캘린더 UI에 세그먼트 우선순위를 넣어서 쓰자! 였어요.
이미 배민외식업광장 CMS에서는 일자별로 노출되는 배너의 우선순위를 관리하고 있었기 때문에, 그와 비슷한 형태로 우선순위를 관리할 수 있게 기능을 제공하기로 했는데요.
문제는 A/B 테스트가 세그먼트와 동시에 존재할 때 A/B 테스트보다 특정 세그먼트의 우선순위가 높을 경우, 모수 분배가 실험 플랫폼에서 지정한데로 이뤄지지 않아, 제대로 된 실험이 되지 않을 수 있다는 우려가 있었어요.
물론 세그먼트 설정 시 이를 유의해 달라고 안내를 하는 방식으로 진행해도 되지만, 최소 3개 이상의 유관부서에서 해당 기능을 사용하기 때문에 운영자가 잘 사용해 줄 것이라는 것에만 기댈 순 없는 상황이었어요.
그래서 A/B 테스트를 캘린더에 넣을 경우, 항상 가장 상위 우선순위로 자동 설정 될 수 있도록 만들어 A/B 테스트 진행 시에도 문제 없도록 기능을 제공하기로 했어요.
사장님마다 다른 화면을 볼 수 있어요
‘슬롯판 만들기’, ‘BUDS 연동하기’, ‘슬롯판과 세그먼트 연결하기’, ‘세그먼트 우선순위 설정하기’의 작업을 거쳐 배민외식업광장에 접속하시는 사장님 그룹 특성에 맞는 화면을 노출할 수 있게 되었습니다.
한번에 모든 작업이 이뤄진 것이 아니었고, 하나 하나 순차적으로 만들고 작업과 작업을 연결하는 과정에서 여러 번의 수정이 이뤄졌어요.
세그먼트 기능을 오픈하는 날 처음 슬롯을 오픈하는 날 만큼이나 떨렸던 것 같아요.
기능의 동작보다 걱정되었던 것은 세그먼트 운영이 운영자 분들이 사용하기 어렵지 않을까? 하는 것이었는데요.
기능 오픈 전 시연을 통해 미리 공유를 드리고, 기능 오픈 후에도 다시 한번 기능과 관련된 설명회를 가졌던 것이 많은 도움이 되었습니다.
운영자 분들이 생각보다 쉽게 사용해주셨고, 이용하기 편리하다고 이야기해주셔서 뿌듯했던 기억이 납니다.
콘텐츠 방송국을 만든다는 계획은 어떻게?
앞선 글을 통해 사장님들이 지나다니는 곳이라면 어디서든 사장님에게 도움이 될 수 있는 콘텐츠를 발견할 수 있도록 슬롯을 확장하려는 계획을 가지고 있다고 이야기했었는데요.
CMS는 ‘배민셀프서비스’, ‘배민사장님앱’ 내 노출되는 콘텐츠 지면과의 연동을 통해 보다 많은 곳에서 사장님께 콘텐츠를 제공하고 있어요.
특히 ‘배민셀프서비스’의 경우, 지면 내 대략 50% 정도가 CMS와 연동되었는데요. 연동 이후 1인당 평균 클릭 횟수가 2회 이상으로 ‘배민셀프서비스’에서 기능을 이용하시는 사장님들이 가게를 운영하는데 콘텐츠 활용 니즈가 있다는 점을 확인할 수 있었고, ‘배민셀프서비스’에 노출한 콘텐츠의 전체 조회수는 평균 6배 이상 증가하는 효과를 볼 수 있었습니다.
CMS는 서비스 운영 및 개발을 거듭하면서 콘텐츠 생산 및 유통 이외에도 사장님 대상 미션 제공 등 여러 가지 기능들을 담고 있어요.
이후 기회가 된다면, 배민외식업광장 CMS의 새로운 기능을 블로그에 소개할 수 있도록 하겠습니다.