Skip to main content

브레인커머스에서의 여정들

· By simpson · 20 min read

SEO 트래픽이 로그인도 안 하고 바로 bounce 되는 문제

잡플래닛은 SEO 트래픽이 가장 많다. non-branded keywords 도 많다. 예를 들어 구글에서 "삼성전자 리뷰" ({{기업명}}+"리뷰") 를 검색하고 들어오면 해당 기업의 리뷰 상세페이지 (예시) 로 유입된다. 로그인을 안 하면 아무런 정보를 볼 수 없기 때문에 value first (유저는 지금 당장 리뷰를 보고 싶어!), cost later (회원 가입이라는 허들) 와 반대되고, 그렇기 때문에 해당 트래픽의 bounce rate 가 높았다

*https://toss.tech/article/value-first-cost-later

해결책1: 카카오 로그인 시 홈으로 리다이렉 되는 이슈

회원가입/로그인을 대다수의 유저가 카카오 로그인을 사용하고 있는데, 카카오 씽크의 redirect url 세팅이 잘 못 돼 있어서 홈페이지로 리다이렉 되고 있었음. 상세페이지에서 가입 후 jobs to be done 의 conversion funnel 을 앰플리튜드에서 분석 후 심각성을 알아낸 뒤 개발 priority 를 올려서 JTBD 컨버전 up

해결책2: 인앱메세지로 회원가입 유도

잡플래닛은 컨텐츠 비지니스다. 고로 비싼 컨텐츠를 무료로 풀 순 없는 법. 근데 로그인 안 하면 아무것도 안 보여주고, value 에 대한 멘탈모델을 그려주는 유도 장치가 없었다. 상세 페이지로 진입한 유저에게 인앱메세지로 "회원가입하면 어떤 value 를 줄게" 라고 유도하자 회원가입 up

Catalog Management system 도입으로 광고+CRM 자동화

잡플래닛에선 다양한 채용공고에 지원자가 골고루 발생해야한다. 하지만 수동으로 광고 소재를 만들 경우 CTR, 광고 성과 등을 고려했을 때 인지도 있는 회사의 채용 공고를 위주로 집행할 수 밖에 없었다. 이런 문제를 해결하기 위해 Catalog management system 중 하나인 confect.io 를 빠르게 도입하여 수천개의 공고를 몇시간만에 만들어낼 수 있었다. 빅쿼리에 적재 돼 있는 데이터 중 CTR 을 올릴 수 있을만한 데이터인 잡플래닛 평점과 기업별 태그, 기업 브랜드 로고 등을 직접 쿼리해서 Google Sheet 에 Bigquery data connector 를 사용하여 개발 도움 없이 구현하였다

가장 중요한 CTA 버튼이 Below the fold 에 floating으로 노출

잡플래닛의 비지니스 모델 중 채용 공고가 있다. 채용 공고 상세 페이지의 ATF 에 지원하기 라는 세상에서 제일 중요한 CTA 버튼이 몇몇 해상도에서 스크롤을 끝까지 내려야 노출이 되고 있었다. 이건 정말 디테일의 차이라고 본다. 바퀴벌레가 지나가고 있는 것을 봤다면 그냥 밟아 죽이면 된다. 무조건 빠르게 처리 해야하는 일들이 이런 것일듯

App push permision 에 Soft prompt 적용

앱푸시 CRM 에서 가장 중요한 건 opt in rate 이다. 한국의 경우엔 double opt-in (이게 안드로이드 13 전에는 opt-out 방식이여서 필요했을 수도 있는데, 13부터는 opt-in 으로 바뀌면서 double opt-in 의무를 풀어주면 좋겠다고 생각함) 이라서 무척 까다롭다. 대부분의 앱들이 first app open 시에 native push prompt 를 띄우는 만행을 저지르고 있다. 이 경우에 opt-in rate 는 50% 수준 (물론 앱바앱이지만) 이다. 이 만행은 첫 소개팅 자리에서 인사도 하기 전에 "당신의 인스타 핸들을 알려주실 수 있을까요? 디엠 보내려구요" 라고 말하는 것과 비슷한 것이다. 브레이즈 인앱메세지로 soft prompt 를 띄워서 value first 를 한 뒤 동의를 하면 바로 in-app message chaining (동의 버튼 클릭 시 custom event 를 개발로 할 수도 있고 custom html in-app message 로 이벤트를 보냄과 동시에 딥링크도 전송할 수 있을듯. 후자는 FE 리소스도 필요하니까 그냥 모바일팀이 전자로 해결해주는게 편할지도) 으로 custom event 와 딥링크를 전송해서 토스트팝업으로 "yyyy-mm-dd hh:mm 에 마수동 했다" 띄워주고 딥링크로 native prompt (system prompt 라고도 부름) 를 띄워주거나 (native prompt 를 띄울 수 있는 횟수는 OS 별로 다르다) 띄울 수 없을 땐 setting app 으로 딥링크 탈 수 있게 개발이 필요하다. native prompt 를 총알이라고 표현하는데, 딱 한 두 발밖에 없는 총알을 아껴뒀다가 soft prompt 에서 거절한 유저를 계속 타겟팅하면 opt-in rate 가 조금씩 계속 올라간다

Bigquery > Google Sheet Connector > Sheet2API > Braze Connected Contents

브레이즈는 유저 행동이나 attribute 에 기반하여 만들어진 툴이다. 고로 컨텐츠나 서비스 베이스로 캠페인을 짜려면 꽤 고급 기술들이 사용돼야한다. 스카이스캐너 다닐 때 최고의 CRM 캠페인은 Price alert 푸시 (관심 있는 항공권의 가격이 변동 됐을 때 푸시 보내는) 였는데 이는 유저 행동+디비 변동 두 개를 조합해야만 가능하다. (이를 2019년쯤에 개발 팀장님 한 명이랑 한국 스타트업에서 구현했지만 마무리는 못 해서 production 까진 못 간 슬픈 기억이...) 이를 개발 디펜던시 없이 할 수 있는 방법을 구현했다.

*24년 2월 5일 업데이트 내용: Sheet2API 가 은근 비싸서 Catalog <> Bigquery Sync 로 변경 중

채용 공고를 봤으나 x 분 이 내에 미지원한 유저 리타겟팅

이 캔바스를 통해 지원율 up. re-send 전략을 통해 조금 더 up

Value first 구현하기

"{{기업명}}+리뷰"를 검색 후 들어온 유저에게 해당 유저가 본적 있는 채용 공고 리스트를 nested user attribute 로 저장하여 이메일로 CRM. 이 캔바스의 컨버전이 오르고 좀 더 좋은 컨텐츠를 내보내고 싶다는 생각을 하고 있었는데, 마침 개발팀에서 공고의 유사도를 바탕으로 가장 비슷한 공고 5개를 추출 해 놓은 API 가 있었음. 이걸로 컨텐츠 갈아꼈더니 컨버전 up.

이게 성과가 잘 나니까 동일한 형태의 CRM 을 알림톡 + Branch Quicklink API 로 구현 완료. https://www.jobplanet.co.kr/job/search?posting_ids%5B%5D=1273555 <- 이런식으로 jobposting detail page 가 있다면 jobposting id 인 1273555 를 connected contents 로 불러오고 해당 jobposting ID 와 비슷한 채용 공고를 5개 이상 불러오고 해당 공고의 jobposting id 를 이용하여 웹+앱 분기 딥링크를 만들고 해당 long link 를 shorten 하기 위해 Quicklink API 를 호출하였음. Connected Contents 로 빅쿼리와 연동된 구글시트의 데이터를 불러오고 해당 데이터로 알림톡을 쏘는데, 알림톡 쏠 때 각각의 다이나믹 URL 을 호출 시 Branch Quick link 를 호출하는 꽤 복잡한 CRM 이였다. 기술 개발이 다 되니 해당 캠페인을 구현하는데 30분밖에 안 걸림

*자세한 사항은 이 블로그 포스팅을 보심 됩니다.

구리지만 마중물인 모바일웹

잡플래닛은 PC, mWeb, App 플랫폼을 각각 운영하고 있음. mWeb 에서는 크리티컬 컨버전이 나오지 않기 때문에 리소스를 붑고 있지 않았음. 하지만 트래픽 비중이 높고, 대부분의 performance marketing 의 마중물이기 때문에 중요성이 높다고 판단하였음. 게다가 performance marketing 의 ROI 를 높일 수 있다면 더 많은 비용을 소진하여 user growth 를 만들 수도 있기 때문에 impact 가 컸음.

Web to app: AppsFlyer to Branch.io

AppsFlyer 는 web to app 솔루션에 대한 투자를 잘 안 하는 것 같다. 고로 두 플랫폼을 운영한다면 Branch.io 를 적극 추천하고 web to app 또한 적극 추천한다. value first, cost later 개념이 또 나오는데, 앱다운로드 자체가 cost (friction) 이고 deferred deeplink 도 안 돼 있다면 내가 광고에서 본 아이템을 앱에서 어떡게 찾을지 막막하다.

앱스플라이어에서 브랜치로 마이그레이션하면서 브랜치 담당자의 적극적인 지원 (내 영향력을 소모하여) 을 받아 라이브 코딩/디버깅까지 했고, 개발자가 쉽게 구현할 수 있도록 거의 Technical Product Manager 역할을 수행했다. 마텤은 마케팅이냐 테크냐 grey area 이기 때문에 둘 중 한쪽에서 반대 사이드의 어느정도 부분을 커버 했을 때 빠르게 업무가 진행될 수 있다.

Branch.io Journeys + deeplinking 구현. 웹 URL 과 앱 URI 가 다른 경우가 있어서 meta data 에 deeplink_path 정보를 넣어주면 된다. 이 정도 개발은 나도 할 수 있게 되어서 해당 코드를 깃헙에 구현해서 개발자에게 친절하게 알려드림. 대부분 개발자는 마텤이나 마케팅을 짜치다고 생각하는 경향이 있기 때문에 마케터, 프로덕 매니저, 그로스 담당자는 개발을 배우거나 적어도 개발자와 컴케하는 법, 모티베이션 올려주는 법 등을 알아야한다고 생각한 또 하나의 케이스.

페이스북만의 메타 태그 중 하나인 App Links 가 있는데, 이 정보가 있어야지만 메타 플랫폼에서 딥링크가 스무스하게 열린다. (메타 공식 문서) 이 메타태그가 없으면 앱 딥링크 시 알럿창을 띄우는데, link click to deeplink CVR 이 얼마일지 생각해보면 우리 독의 밑이 얼마나 빠졌는지 확인할 수 있다. 딥링크가 깔끔하게 떨어지는 캐치테이블 케이스를 확인하고 캐치테이블의 head 에 App Links 가 있는 것을 확인하였다. 바로 본인의 깃헙에 테스트 해 봤고, 실제 잘 작동하는지 체크 해 본 뒤 개발자에게 가이드를 직접줘서 go the extramile 할 수 있었다

페이지 타입별 impact 조사하여 pritization

로딩 스피드나 CSS 깨짐 등은 페이지 타입별로 개발이 돼야한다고 함. 어떤 페이지 타입이 가장 임팩트가 있을지 프레임워크 ($지표로 환산) 를 통해 조사 후 우선순위 부여 예정

대표님들의 고민거리 긁어드리기

매체에서는 컨버전 X 만큼 나왔다고 리포팅 되는데, 체감하는 uplift 는 낮은 거 같아

programatic 매체에서 conversion optimization 을 하는 경우 기존 유저들을 타겟팅 하는 경향이 생길 수 밖에 없다. 근데 Impression 까지 켜 놓을 경우 이미 인게이지가 높은 기존 유저에게 Impression 만 딜리버해도 컨버전이 찍히니까 컨버전이 뻥튀기 될 수 밖에 없다. 컨버전에서 Impression 을 끔으로서 해결. Impression 끄니까 좀 더 진실에 가까운 숫자가 찍히게 됐다.

매체간 컨버전 카운팅 방식이 다른 점 때문에 media mix 가 정확하지 않을 수 밖에 없다. 이 경우에는 MMP (web to app 은 브랜치가 대장이고, 브랜치는 저에게 소개 받고 도입하셔야합니다) 를 도입해야한다.

Last touch, MMM, Incrementality 세 개로 삼각측량이 가장 진화된 모델인 거 같다. (How today’s top consumer brands measure marketing’s impact)

매체에서 컨버전 된 유저들이 어떤 컨버전인지 알고 싶어

매체에서는 컨버전 raw data 를 주지 않는다. 캥기는게 있는걸까? 왜인지는 잘 모르겠음. MMP raw data 로는 알 수 있는데, 보기가 귀찮다. 이 경우엔 MMP webhook > Braze transformations 로 받아서 Amplitude /Mixpanel 등으로 쏴 주면 된다.

소프트 스킬

스프린트 도입

애자일하게 일해본 적 없는 팀이 애자일을 도입하는건 꽤 어려운 거 같다. 일단 스프린트라는 책을 다 읽게 시켰는데, 독서모임을 한 번도 해 본적이 없어서 여전히 동상이몽이 강했다. 책 자체가 코로나보다 훨씬 이 전에 나왔던터라 협업툴+리모트 근무 툴, 환경 등이 많이 바뀐 부분을 반영하지 못 하는 부분도 컸다. 책에선 0 to 1 제품 위주 얘기라서 마케팅팀에게 어떻게 대입하는지 애를 먹는 중

위키 도입

아틀라시안에서 노션으로 갈아타는 경험을 했는데, 회사 내에선 티켓+OKR 까지는 제대로 구현해 놨는데, 컨플루언스를 대체할 위키 시스템을 갖추지 않고 있었다. 애자일에서 커뮤니케이션 코스트를 줄이는 가장 좋은 방법은 리얼타임컴케, 슬랙, 티켓팅, OKR, 위키를 잘 쓰는 게 핵심인 거 같은데, 위키가 없으면 티켓으로 완성된 결과물에 대한 공유된 내재화 되기가 어렵다. 10분 정도 구글링 해 보고 가장 위키를 잘 도입하는 방법을 배우고 팀에 적용했다

SEO

서사 (딴소리) 입니다. product channel fit : 잡플래닛과 나와의 인연은 꽤 깊다. 잡플래닛이 PMF 를 빠르게 찾고 initial growth 를 만들어야겠다고 생각했을 때 대표님과 마케팅 팀장님이 나를 퍼포먼스 마케팅 컨설턴트로 고용해 주셨다 (본인의 잡플래닛 아이디는 995번째임) 마케팅 팀장님의 불꽃같은 열정으로 페이스북 광고 소재를 미친듯이 만들었고, 결국 cost per signup 0원까지 찍었다. 두 번째 그로스 채널은 SEO 였는데, 해당 컨설턴트도 내가 소개시켜줬다.

Technical SEO: 담당 SEO 컨설턴트는 나와 합을 많이 맞춰본 사람이다. PO 체계로 변경되면서 SEO impact 에 대한 이해도가 낮은 스쿼드에서 SEO 를 deprioritize 시켰고 경쟁사들의 SEO 노력으로 인해 SEO 에서 diminishing return 이 나오고 있던 상황이였다. impact analysis 를 하고 PO 들에게 셀링한 결과 작은 리소스로 큰 임팩트를 낼 수 있었다. Search console 뿐 아니라 다양한 유/무료 SEO tool (관련 페북 포스팅) 과 앰플리튜드 (앰플은 start session 이벤트가 없으니 referrer 가 있는 이벤트로 봐야한다. 역시 앰플보단 믹스패널이 좋지) 로 분석, 최적화 가설 및 실험 만들기를 할 수 있다. 시작부터 비싼 툴 사는 것도 방법이겠지만 좀 더 라이트하게 시작할 땐 mangools 툴 추천. 최고의 SEO 강의 요약본 페북 포스팅.

https://predraft.ai/ https://seo.ai/ 이런 Gen AI SEO 툴도 나오기 시작.

Editorial SEO: technical SEO 로 두 번째 growth engine 을 탑재한 잡플래닛이 컴퍼니타임즈라는 에디토리도 만들기 시작. 디스트리뷰션 채널은 SEO 와 뉴스레터 (대량으로 뉴스레터 보낼 땐 subscriber size 로 프라이싱하는 툴이 가성비 좋음. 다만 open rate 이 낮아질 경우 ROI 가 안 나올 수 있는데, engage 없는 구독자를 sunset 해 주는 것이 필요하다. 요건 내 필살기라서 비공개->사실 검색하면 다 나옴). 문제는 에디터들이 글쓰기 이 외의 부분을 신경을 못쓴다는 점이였다. 에디터가 SEO 를 도입하게 하기 위해서 실상을 보여줄 수 있는 구글시트 대시보드를 만들어줬다. 퍼블리싱 후 x, y, z 일 후의 view 숫자를 볼 수 있게 됐더니 어떤 컨텐츠는 거의 노출이 없고, 어떤 컨텐츠는 노출이 많은 사실을 알게 돼서 에디터들이 SEO 에 관심을 갖게 된 계기를 마련했다. 키워드 리서치, 브레인스토밍, re-write 등 다양한 전략을 알려드렸고 바로바로 성과로 이어지게 됐다. 예를 들어 "키워드를 타겟팅하는게 아니라, 토픽 (group of keywords) 을 타겟팅한다. Sub-topic keywords 를 발굴해야한다" 라는 원칙을 소개 해 드리고 가장 성과가 좋았던 컨텐츠에 서브 토픽을 추가하여 re-write 했더니 해당 키워드 랭킹이 빠르게 올라갔다.

나 자신을 해고하라

나는 최고의 그로스 전문가라고 생각하고 그렇게 행동하기 위해 많은 노력을 한다. (물론 술도 많이 먹지만) 그렇기 때문에 내 시간은 무척 비싼데, 고용주 입장에서 비용 대비 아웃풋이 나오지 않을 경우 결국 짤리거나 페이컷을 당할 수 밖에 없다. 내 전문성 (하드 스킬 뿐 아니라 소프트 스킬도 중요) 이 낮아서인 경우가 많다. 큰 회사에서는 다양한 이해관계가 얽혀 있어서 회사 레벨에서 우선 순위를 정하기 힘들다. 그로스 영역은 대부분 fancy 해 보이지 않은 배관공 (지저분하지만 해야하는 일들) 같은 일들이 많아서 이해관계자 설득하기가 너무 힘들다. 이건 내가 풀 수 있는 문제가 아닌 or 별로 신경쓰고 싶지 않은것 같아서, 차라리 소수의 인원이 얼라인 된 빠른 AI-driven 회사에서 더 난이도 높은 문제를 빠르게 원팀으로 해결해보고 싶다. 그래야 AI 에 대체되지 않는 전문가의 입지를 빼앗기지 않을 것이다.

사용된 개념들

Fogg Behavior Model

BJ Fogg 박사님이 고안한 모델. 쉬울수록 (frictionless), 동기가 높을수록 허들을 더 잘 넘는다. 연말정산 시스템이 아무리 허들이 높다한들 동기 (돈 받자) 가 하늘을 찌르니 허들을 넘을 수 밖에. 이 friction 을 없애준 것이 삼쩜삼인듯. 많은 유저 (대한민국의 연말정산 하는 모든 국민) 을 대상으로 엄청난 허들 (pain point) 을 1년에 한 번 없애주는 제품임. wide users X high painpoint X low frequency 인 제품인데 마지막 약점을 어떻게 극복할지 팝콘각

페트릭 캠벨의 problem > cause > solution

이 방식대로 생각했으나 블로그에선 일부러 problem 과 cause 를 자세하게 소개하지 않았음. 문제 정의가 너무나도 중요한데 root cause 를 알아보고 이에 딱 맞는 solution 을 내는 것이 여간 어려운 일이 아님. 이게 안 되면 오버스펙으로 리소스를 날리거나 언더스펙으로 문제를 해결하지 못한다.

물고기 잡는 법 배우기

사수가 없어서 배우질 못했다는 사람을 보면 참 안타깝다. 호기심이 크거나 해당 문제를 해결하지 못 하면 큰일나는 환경이 아니라면 환경/남탓하고 평생 살 수도 있을 거 같지만, 앞으로는 AI 때문에 이런 사람들의 미래는 암울하다. 본인이 직접 문제 해결 방법을 찾아야하는데, 내가 가장 잘 쓰는 방법은 3개다.

영어로 구글링, 해당 커뮤니티/CSM (Braze, Amplitude 리셀러인 CJ 맥소노미를 강력 추천합니다. 제 추천 받고 CJ 와 계약하는 것을 추천합니다) 에 질문하기, LLM 에 헬프치기.

Unknow unknown area 간극 메꾸는 방법

내가 뭘 모르는지 모르는 상태, 이게 내 밥줄의 영역이라면 빠르게 메꿔야한다. 고로 새로운 것을 배우고, 배웠던 것 중 쓸모 없어진 것들을 Unlearn 하는 게 필요하다. 이를 위해선 메타인지가 가장 중요함. 내가 관심 있는 영역의 팟캐스트 듣기, 영어 컨텐츠 (귀한 정보는 대부분 영어로 돼 있음), 배우고 싶은 사람 팔로우/비비기 (정성을 담은 콜드콜), 나보다 더 뛰어난 사람을 주변에 두기. 개인적으로 Brian Balfour 를 엄청 존경하는데, 그가 내는 컨텐츠를 소비하면서 그의 주변 인물 (Andrew Chen, Casey Winters 등) 로 퍼지면서 더 많은 컨텐츠를 받아본다.

Focus on detail

채용공고 디테일 페이지가 예전에는 복수로 노출 될 수 있는 방법이 있어서

https://www.jobplanet.co.kr/job/search?posting_ids[]=1229586 URL 이 이런식으로 구현 돼 있었고 아래와 같이 인코딩 되었다.

https://www.jobplanet.co.kr/job/search?posting_ids%5B%5D=1229586

문제는 몇몇 환경에서 인코딩에 [0] 처럼 0이라는 숫자를 임의로 넣게 되면서 랜딩이 잘 안 되는 엣지케이스가 생겼다.

URL 을 https://www.jobplanet.co.kr/job/search?posting_ids=1229586 로도 접근 가능하도록 백엔드팀과 협업하여 이런 엣지케이스를 해결함

Updated on 2025년 10월 23일