인사이트 - ANALYSIS

ANALYSIS_image_thumbnail
GROWTH

데이터마케팅 정의와 사례 (ft. 패션 커머스)

September 20, 2024

데이터마케팅이란?

데이터마케팅이란 [데이터]를 활용하여 마케팅한다는 뜻으로 데이터드리븐마케팅(Data-driven Marketing)으로도 불릴 수 있습니다.

데이터마케팅과 데이터드리븐마케팅의 차이는 미미하나, 데이터마케팅은 데이터를 [활용] 하나 데이터 드리븐 마케팅은 데이터를 [기반]으로 하기에 후자에서 데이터의 중요성이 좀 더 강조된다고 볼 수 있습니다.

데이터마케팅의 프로세스

데이터마케팅을 위해서 필수 조건은 (당연하게도) 데이터 분석입니다. 결괏값을 측정하여 데이터를 잘 쌓아두고, 보유한 데이터를 가공하여 상황을 해석하고 문제나 개선점에 대한 인사이트를 도출하는 것이 기본적인 데이터 마케팅의 프로세스라고 할 수 있습니다.

그로스 조직(=그로스팀)은 기본적으로 데이터 드리븐 마케팅을 하기에, 프로세스가 같습니다.

데이터를 기반으로 가설을 세우고, 실험을 바탕으로 검증하고, 배움을 축적하는 과정을 빠르게 반복합니다. (*출처: 양승화 님의 그로스해킹)

양승화 님의 [그로스해킹] 책을 기반한 이미지 | 그로스 조직이 일하는 방식
양승화 님의 [그로스해킹] 책을 기반한 이미지

데이터 분석 사례

마티니에서 진행한 컨설팅 프로젝트였던, 패션 커머스를 기준으로 데이터마케팅의 사례를 보겠습니다.

커머스 내에서도 여러 안건의 데이터 분석이 있는데요. 1. 에디토리얼(=콘텐츠), 2. 프로모션 간의 비교 (미드세일 vs 시즌오프세일), 3. 주요 대시보드 (KPI, AARRR) 4. 특정 프로모션 (블랙프라이데이) 등입니다.

커머스 내 여러 안건의 데이터 분석 - 1. 에디토리얼(=콘텐츠), 2. 프로모션 간의 비교 (미드세일 vs 시즌오프세일), 3. 주요 대시보드 (KPI, AARRR) 4. 특정 프로모션 (블랙프라이데이)

데이터 분석 수단: 앰플리튜드(Amplitude)

블랙프라이데이 프로모션을 세부 사례로 앰플리튜드(Amplitude)를 활용했던 분석을 예시로 들어보겠습니다.

*앰플리튜드는 SaaS(Software as a Service: 클라우드 기반의 소프트웨어 제공 모델) 솔루션으로 웹/앱 서비스 내의 사용자 행동 분석을 할 수 있는 프로덕트 애널리틱스(Product Analytics)입니다.

앰플리튜드(Amplitude) 23FW 블랙 프라이데이 쿠폰 적용 매출 대시보드

데이터 분석의 이유

왜 프로모션 데이터 분석을 해야 할까요? 그 배경부터 먼저 짚고 넘어갑시다.

Boxed Text
✅ 목적/목표에 따른 성과 분석과 회고가 필요합니다.

다양한 형태로 스스로에게 질문을 해봅니다.

Q. 프로모션을 기획하고 운영한 후 가장 궁금한 것은?

Q. 프로모션을 운영한 이유는 무엇일까요?

여러 가설을 세워봅니다.

  • 활성 사용자 수를 늘리기 위해서
  • 재고 소진을 위해서
  • 매출을 늘리기 위해서

이렇게 물어보면, 보통은 '셋 다'라고 대답하는 경우가 많은데요. 충분히 이해는 하지만(^^...!) 우선순위는 정해야 합니다. 대개 우선순위는 [매출]이기에, 매출 관련 분석을 먼저 진행합니다.

매출 분석

매출의 기본적인 구성 요소를 먼저 파악합니다.

Boxed Text
매출 = 구매건수X구매건당 단가 = 주문수 X 건단가
Boxed Text
매출 = 구매자수X구매자당 단가 = 구매자수 X 객단가

*건단가와 객단가

건단가와 객단가는 혼용되어 쓰이기도 하는데요. 주문[건]의 건, 고[객]의 [객]을 생각하시면 됩니다.

즉 어제 제가 배민에서 점심 주문 건으로 1.5만 원을 쓰고 저녁 주문 건으로 2.5만 원을 썼다면 일 기준 제 건단가는 [1.5만 원] / [2.5만 원] 두 건일 것이고 제 객단가는 [1.5만 원]+[2.5만 원]의 4만 원이 될 수도 있습니다.

*물론 건단가와 객단가는 내부적으로 정의하기 마련입니다! 일간 건단가를 평균으로 낼 수도 있으니까요.

이에 따라 앰플리튜드(Amplitude)에서 매출, 주문수/건단가, 구매자수/객단가로 그래프를 구성합니다. 우선 매출로 전체적인 추이를 보고 주문수/건단가, 구매자수/객단가를 개별로 쪼개보는 것이죠.

앰플리튜드(Amplitude) 23FW 블랙 프라이데이 쿠폰 매출 비교, 객단가, 건단가, 주문수 비교 그래프 대시보드

해당 프로모션에서는 객단가와 건단가가 유사한 추이를 보이기에 특이 사항이 없다고 판단되었지만, 가끔 특정 프로모션에서 객단가와 건단가의 차이가 크게 발생하는 경우도 있습니다. (리셀러의 등장?!)

이외 위 그래프에서 두 개의 선이 있는데요. 데이터를 볼 때의 꼭 필요한 [비교 기준]입니다. 비교 기준은 사용자 특성이 될 수도, 행동이 될 수도 있지만 [기간]을 가장 기본적으로 고려합니다.

*비교 기준: 기간(일간, 주간, 월간, 분기, 반기, 연간… 시즌성 고려!

블랙프라이데이 프로모션의 분석이라면 전년도 11월과 비교하는 것 vs 전월인 10월과 비교하는 것 - 어떤 것이 더 합리적일까요? 당연히 전년도일 것입니다.

전월 10월과 당월 11월의 할인율, 마케팅 수준 등이 다를 테니까요. 물론 전년 대비 회원수도 브랜드수도 많아졌고 등의 변동 요인들이 많아 YoY만 비교하는 것이 의미가 없다고 판단된다면 결국 전년도(YoY)/전월(MoM)/전주(WoW) 등 비교 대상들이 많아질 수 있습니다.

데이터 분석의 차별점

현대의 직장인이라면 대개 모든 업무의 결과를 [숫자]로 보긴 합니다. 그렇다면 그냥 숫자를 확인하는 것과 데이터 분석의 가장 큰 차이점은 무엇일까요?

비교할 수 있어야 합니다!

예를 들어 2024년 7월 A 커머스의 구매 전환율 (메인 페이지 조회 > 결제 완료)이 10%라고 했을 때, 어떤 해석을 할 수 있을까요?

비교 기준 없이는 평가가 불가능합니다.

전월 대비 높아졌다/낮아졌다, 전년 대비 높아졌다/낮아졌다의 판단을 위해서는 전월 데이터, 전년도 데이터가 필요합니다.

전년, 전월, 전주의 데이터를 보며 추이를 확인했을 때 눈에 띄게 높거나/낮은, 혹은 변동이 생기는 시점을 찾아내어 그 배경이 무엇이었는지 파악하는 것이 필요합니다.

  • 최근 시일 내, 지난 시점과의 비교
Boxed Text
1️⃣ 시점을 기준으로 데이터 변화의 배경을 찾는 경우

혹은 유사한 프로모션이 진행되었던 시기와 비교하여 구매전환율이나, 구매수, 유입수, 가입수 등의 주요 지표에서 차이가 있었는지를 파악해 보는 것도 좋습니다.

  • 이전 유사 프로모션과의 비교
Boxed Text
2️⃣ 상황(배경)을 기준으로 데이터 변화의 시점을 찾는 경우

프로모션 vs 프로모션 간의 비교 외에도 uiux를 개선하거나 특정 기능을 배포했을 때 그 시점 이후의 변화가 있는지를 확인할 수 있습니다.

장바구니 구매 퍼널 /UIUX 개선 테스트 케이스
UIUX 개선 이후 전환율 비교를 통한 성과 분석

매출 세부 분석

매출을 구매수와 건단가, 구매자수와 객단가로 나눠 전반적인 추이를 파악한 후 세부 분석을 진행합니다.

매출은 결국 [사용자]가 [상품]을 [구매]하여 발생하는 결괏값입니다. 이에 따라 [사용자]와 [상품]의 측면에서도 분석을 진행합니다.

어떤 사용자가 구매했을까?

  • 기본적인 인구 통계: 성별, 연령 등
    *이를 기반으로 퍼포먼스 광고에서 타겟팅을 할 수 있습니다. (구매력이 높은 2534 여성 유저 등)
  • 기존 사용자 vs 신규 사용자
    *[신규]의 정의는 달라질 수 있습니다. (당월 가입, 최근 3개월 가입, 미구매 등)
  • RFM으로 구분해 본 사용자
  • 라플 응모/당첨 여부로 구분해 본 사용자
    ex. 라플에 응모했던 사용자, 라플에 응모하고 당첨됐으나 미구매한 사용자
  • 멤버십으로 구분해 본 사용자
  • 콘텐츠를 n회 이상 조회한 사용자

유저 특성(User Segment) 별로 구매전환율 비교 예시 이미지
유저 특성 별로 구매전환율 비교

어떤 상품을 구매했을까?

  • 카테고리
  • 남성, 여성, 생활, 세이버 스케이트, 브랜드, 세일
  • 브랜드
  • 상품

: 카테고리별, 브랜드별, 상품별 매출 추이

앰플리튜드(Amplitude) 23FW 블랙 프라이데이 쿠폰 매출 by 브랜드, 카테고리 그래프 대시보드

프로모션의 매출을 브랜드, 카테고리 등으로 나눠서 확인해 봅니다.

더 개별적으로는 브랜드를 기준으로 매출과 월별 성장률 등을 확인하며 주요 브랜드를 도출하기도 합니다.

그래서 데이터 마케팅

프로모션을 진행하고 쌓인 데이터를 분석하고 회고하고 다음 프로모션에 적용하는 것. 그것이 프로모션 측면에서 데이터를 활용한 데이터 마케팅이라고 볼 수 있습니다.

이외 데이터마케팅은 어떤 부문에도 동일하게 적용됩니다. 정량적인 수치로 표현되는 데이터를 쌓고, 데이터를 여러 측면에서 분석하고, 다음 유사 업무 시 배운 점을 적용하고 또 실험하는 것입니다.

ANALYSIS_image_thumbnail
GROWTH

B2B SaaS MRR 계산하기

September 12, 2024

Monthly Recurring Revenue, MMR 표지
MRR

MRR 이란?
Monthly Recurring Revenue로 월간 반복 매출 구독형 서비스의 경우 핵심 지표로 활용됩니다.

요즘은 누구나 한 번 쯤은 구독형 서비스를 결제해본 경험이 있을텐데 구독 비즈니스는 사용자가 카드를 등록하면 자동으로 월마다 반복적으로 자동결제가 됩니다. (유튜브 프리미엄 구독, 넷플릭스 등)

MRR 산출 공식은 다음과 같습니다.

Centered Boxed Text
MRR = 고객수 * 평균 청구 금액

예를 들면, 유튜브 프리미엄 월 구독 비용이 10,000원이고 이용자가 10명이라면 MRR 은 100,000원이 되는 겁니다. 

그런데 MRR이 100,000원 입니다. 에서  끝나면 안되겠죠?

MRR이 어떻게 변화했는지를 분석하는 것도 굉장히 중요합니다.

MRR 지표를 쪼개보면 아래와 같습니다.

  • NEW MRR : 신규 고객의 MRR
  • Expansion MRR : 기존 고객의 구독 상품 업그레이드의 MRR
  • Contraction MRR : 기존 고객의 구독 상품 다운그레이드의 MRR
  • Churn MRR : 구독 취소 
  • Reactivation MRR : 재활성화된 MRR 

그러면 이 지표를 가지고 우리는 New MRR을 구할 수 있습니다. 

Text Color Change

Net MRR = New MRR + Upgrade MRR - Churned MRR - Downgrade MRR + Reactivation MRR

 

실무하면서 MRR calculation 하는데 고생 고생을 했는데 이 방법으로 도움을 받을 수 있는 누군가를 위해 공유합니다.

우선 방법은 DB에 적재된 결제 데이터와 구글 스프레드 시트에서 세금계산서로 처리되는 고객 결제 내역을 바탕으로 Rawdata를 준비하고 파이썬을 활용해서 frequency(월결제, 연결제)를 flatten 해주고 이를 Looker Studio로 시각화해줍니다. 

1. DB에서 데이터 불러오기

2. 구글 스프레드시트에서 데이터 불러오기

3. 파이썬으로 데이터 클렌징하기

4. 클렌징한 DB, 스프레드시트 데이터 합치기

5. 클렌징 결과 시각화를 위해 구글 스프레드시트로 보내기

6. Looker Studio로 시각화 하기

아래는 실제 활용했던 MRR 대시보드 입니다. 

첫 번째 대시보드는 월매출과, MRR 지표 현황을 살펴보고 고객사별 월간 구독 현황을 확인 해볼 수 있고 ARR, 이번달 예상 매출도 확인 할 수 있게 구성했었습니다.

MRR 대시보드 예시 이미지 1
MRR 대시보드 예시(1)

두 번째 대시보드는 위에서 언급한 대로 MRR 지표를 쪼개서 모니터링하는 대시보드입니다.

이를 통해 MRR 상승하는데 어떤 지표 때문에 상승했는지 한눈에 볼 수 있습니다.  또한 MRR 성장추이도 함께 볼 수 있도록 구성되었습니다. 이제 이 대시보드를 통해서 전사가 우리 서비스의 MRR 현황을 볼 수 있고 이탈한 유저수가 특히 많았던 월에는 고객 인터뷰를 진행해보거나 해당 유저들의 특징을 파악해보면 어떤 지점에서 불편함을 느꼈는지 페인 포인트는 무엇이었는지 원인을 파악하고 제품 개선에 반영해볼 수 있겠죠? 

MRR 대시보드 예시 이미지 2
MRR 대시보드 예시(2)

DB에서 결제 데이터를 위의 컬럼만 파이썬 SQLAlchemy 를 활용해서 데이터를 불러옵니다. 

SELECT  
            user_id,
            company_name,
            sales,
            pay_datetime_id,
            freq,
            user_status    
FROM
        (SELECT tmp2.user_id,
               tmp2.company_name,
               tmp2.id,
               tmp1.sales,
               date_format(tmp1.auth_date, '%Y-%m-01') auth_date,
               tmp1.subscription_id,
               tmp1.user_status,
               tmp1.card_updated_at
          FROM
                    (SELECT B.user_id,
                           A.sales,
                           A.auth_date,
                           A.subscription_id,
                           A.user_status,
                           A.card_updated_at
                    FROM
                    (SELECT st0.*,
                            st1.user_status,
                            st1.card_updated_at
                    FROM
                    -- billing_payment_history 테이블에서 조건에 맞는 데이터 가져오기
                    (SELECT billing_id,
                           subscription_id,
                           auth_date,
                           IF(cancelled_at IS NULL ,amount, IF (amount <= cancellation_cancel_amount,0,cancellation_remain_amt)) AS sales
                    FROM nicepay_billing_payment_history
                    ) st0
                    left join
                    	-- nicepay_card_info 테이블에서 가장 최근의 카드 정보(created_at이 최대인)를 가져오며, user_status를 is_deleted와 is_active 값에 따라 ‘churned_user’ 또는 ‘active_user’로 설정
                        (select t1.billing_id,
                                t1.created_at,
                                t1.is_deleted,
                                t1.is_active,
                                t1.created_at card_updated_at,
                                (case when t1.is_deleted = 1 and t1.is_active = 0 then 'churned_user' else 'active_user' END) user_status
                                from nicepay_card_info t1
                        inner join (select billing_id,
                                            max(created_at) max_date
                                    from nicepay_card_info
                                    group by 1) t2
                        on t1.billing_id = t2.billing_id and t1.created_at = t2.max_date) st1
                    ON (st0.billing_id = st1.billing_id)) A
                    LEFT OUTER JOIN
                                    (SELECT billing_id,
                                            user_id
                                     FROM nicepay_billing_info) B
                    ON (A.billing_id = B.billing_id)) tmp1
INNER JOIN (SELECT user_id,
                        company_name,
                        id
            FROM user
          ) tmp2
ON (tmp1.user_id = tmp2.user_id)) tmp3
inner join
                    (select seq,
                            freq,
                            date_format(plan_start_datetime_id, '%Y-%m-01') subscription_plan_start_datetime_id
                     from subscription) tmp4
ON (tmp3.subscription_id = tmp4.seq)
where sales > 0;

 

먼저 계산을 위해 필요한 데이터를 DB에서 추출해주고 flatten을 해줄껍니다.

 

flatten이 뭐냐 뜻 그대로 평탄화한다는 의미입니다. 예를들어 고객이 연간 결제를 1,200,000원을 했다고 하면 월별 결제액은 12개월로 나눠서 월별로 데이터를 평탄화 해주는 과정이라고 보시면 됩니다.

 

#expand the yearly records
mrr_base = mrr_df.loc[np.repeat(mrr_df.index, mrr_df['freq'].map({"years":12,"months"1}))]
mrr_base.loc[mrr_base["freq"] == "years""sales"] /= 12
mrr_base.loc[mrr_base["freq"] == "years""pay_datetime_id"] += \
mrr_base.groupby(["user_id""freq"]).cumcount().loc[mrr_base["freq"] == "years"]\
.map(lambda i: pd.DateOffset(months=i)) 

저의 경우 DB에 기록되지 않은 세금계산서 데이터를 가지고 있었는데 

 

해당 데이터는 구글 스프레드시트에 기록하고 있으므로 구글 스프레드시트에서 데이터를 불러옵니다. 

#구글 스프레드시트에서 data load하기
scope = ['https://spreadsheets.google.com/feeds',
'https://www.googleapis.com/auth/drive']
credentials = ServiceAccountCredentials.from_json_keyfile_name(
'credential 파일 경로(json파일)', scope)
gc = gspread.authorize(credentials)
spreadsheet_url = "가져올 스프레드시트 주소"
gc1 = gc.open_by_url(spreadsheet_url).worksheet('시트 이름')

#기존에 기록된 데이터 가져와서 리스트 형태로 리턴
gc2 = gc1.get_all_values()

#데이터프레임으로 판다스로 가져오기
gc2 = pd.DataFrame(gc2, columns=gc2[0])
gc2 = gc2.reindex(gc2.index.drop(0))

#날짜 형식으로 변경
gc2['pay_datetime_id'] = pd.to_datetime(gc2['pay_datetime_id'])

#sales 컬럼 숫자로 변경
gc2['sales'] = gc2['sales'].astype(str).astype(int)

#expand the yearly records
gc2_base = gc2.loc[np.repeat(gc2.index, gc2['freq'].map({"years":12"months"1"2years":24}))]

# compute monthly fee and join date
#years 12개월로 나누기
gc2_base.loc[gc2_base["freq"] == "years""sales"] /= 12
gc2_base.loc[gc2_base["freq"] == "years""pay_datetime_id"] += \
gc2_base.groupby(["user_id""freq"]).cumcount().loc[gc2_base["freq"] == "years"] \
.map(lambda i: pd.DateOffset(months=i))

#2years 24개월로 나누기 / years 12개월로 나누기
gc2_base.loc[gc2_base["freq"] == "2years""sales"] /= 24
gc2_base.loc[gc2_base["freq"] == "2years""pay_datetime_id"] += \
gc2_base.groupby(["user_id""freq"]).cumcount().loc[gc2_base["freq"] == "2years"] \
.map(lambda i: pd.DateOffset(months=i))

gc2_base_result = gc2_base[['user_id''company_name''sales''pay_datetime_id''freq']]
출처: https://botongsaram.tistory.com/entry/B2B-SaaS-MRR-계산하기 [알랭드보통사람:티스토리]

 

위의 과정에서 DB에서 불러온 데이터와 구글 스프레드시트의 데이터 형태를 통일 시켰습니다. 

이제 Raw Data를 만들기 위해서 합쳐줍니다.

#구글시트rawdata와 DB에서 불러온 데이터의 결합
df_union= pd.concat([mrr_result, gc2_base_result])

 

데이터를 통합한 다음에 데이터 시각화를 위해 데이터 시각화를 위해 스프레드시트에 최종 정리된 데이터를 다시 구글 스프레드시트로 전달합니다.

 

# union 된 결과를 다시 구글 스프레드시트로
scope = ['https://spreadsheets.google.com/feeds',
'https://www.googleapis.com/auth/drive']
credentials = ServiceAccountCredentials.from_json_keyfile_name(
'credential 파일 경로(json)', scope)
gc = gspread.authorize(credentials)
spreadsheet_url = '스프레드시트주소
gc_mrr = gc.open_by_url(spreadsheet_url).worksheet('새로 데이터를 업로드할 시트명')
#기존에 기록되어 있던 데이터 삭제(처음 업로드할 때는 필요 없음)
gc_mrr.clear()
# 오늘 가져온 데이터 업로드
gd.set_with_dataframe(gc_mrr,merge)

 

위의 결과는 MRR 대시보드 예시(1)에서 활용했던 과정입니다. 

Text Color Change

New MRR + Upgrade MRR - Churned MRR - Downgrade MRR + Reactivation MRR

 

다음으로 MRR detail view 에 사용될 지표를 만들 차례입니다. 

 

# pay_datetime_id 열에서 월과 연도를 추출하여 새로운 열 생성
mrr_detail_result['month_year'] = mrr_detail_result['pay_datetime_id'].dt.to_period("M")

# max_date 컬럼 만들기
mrr_detail_result['max_date'] = pd.NaT

mrr_detail_result.head()

# user_id를 기준으로 그룹화
grouped = mrr_detail_result.groupby('user_id')

# 각 그룹에서 최대 결제일을 찾고 max_date 열에 할당
for name, group in grouped:
    max_date = group['pay_datetime_id'].max()
    max_index = group['pay_datetime_id'].idxmax()
    mrr_detail_result.loc[group.index, 'max_date'] = max_date

# 데이터프레임을 corporate_id와 pay_datetime_id 기준으로 정렬
transactions_ver2 = mrr_detail_result.sort_values(by=['corporate_id', 'pay_datetime_id'])

# 이전 거래 금액을 저장할 새로운 열 prev_amount 추가
transactions_ver2['prev_amount'] = transactions_ver2.groupby('corporate_id')['sales'].shift(1)

# 사용자 상태를 저장할 새로운 열 user_status 추가
transactions_ver2['mrr_status'] = 'new'

# 이전 거래 금액과 동일한 금액을 가진 사용자에게 'existing' 할당
transactions_ver2.loc[transactions_ver2['sales'] == transactions_ver2['prev_amount'], 'mrr_status'] = 'existing'

# 이전 거래 금액보다 높은 금액을 가진 사용자에게 'upgrade' 할당
transactions_ver2.loc[transactions_ver2['sales'] > transactions_ver2['prev_amount'], 'mrr_status'] = 'upgrade'

# 이전 거래 금액보다 낮은 금액을 가진 사용자에게 'downgrade' 할당
transactions_ver2.loc[transactions_ver2['sales'] < transactions_ver2['prev_amount'], 'mrr_status'] = 'downgrade'

# 이전에 'churned' 상태였고 이제 새로운 거래가 있는 사용자에게 'reactivation' 할당
# 모든 고유한 corporate_id 값을 포함하는 리스트 생성
corporate_ids = transactions_ver2['corporate_id'].unique()

# 각 corporate_id에 대해 루프를 돌며 각 거래의 상태를 업데이트
for corporate_id in corporate_ids:
    user_data = transactions_ver2[transactions_ver2['corporate_id'] == corporate_id]
    for i in range(1, len(user_data)):
        prev_month = user_data.iloc[i-1]['month_year']
        curr_month = user_data.iloc[i]['month_year']
        if (curr_month - prev_month).n > 1:
            transactions_ver2.loc[(transactions_ver2['corporate_id'] == corporate_id) & (transactions_ver2['month_year'] == curr_month), 'mrr_status'] = 'reactivation'

# user_status가 churn_user인 사용자의 마지막 결제일에 'churn' 상태 할당
transactions_ver2.loc[(transactions_ver2['user_status'] == 'churned_user') & (transactions_ver2['pay_datetime_id'] == transactions_ver2['max_date']), 'mrr_status'] = 'churned'
transactions_ver2.head()

 

이제 MRR 대시보드 예시(2)에 활용된 데이터가 전처리되었고 구글 스프레드시트로 데이터를 적재해주면 됩니다. 

 

이걸 매일 하기는 귀찮으니 Airflow DAG를 활용해서 자동화해주면 됩니다. 

 

여기까지 MRR계산을 위해 SQL, 구글 스프레드시트, python을 활용한 과정을 소개해봤습니다.

누군가 B2B SaaS에서 MRR 계산을 위해 고군분투하고 계시다면 이 코드가 도움이 되시면 좋겠네요 

 

추가로 초기에 대시보드 기획에 많은 참고가 되었던 Baremetrics라는 MRR 대시보드 외산 툴이 있는데 상당히 잘만들었다고 생각되는 서비스입니다.

 

SaaS 비즈니스를 운영하신다면 참고해보시면 좋을 서비스네요!

ANALYSIS_image_thumbnail
GROWTH

구글애널리틱스4 (GA4) 세그먼트 제대로 활용하기

September 9, 2024

GA 세그먼트란?

분석 데이터의 하위 집합입니다. 

사용자, 세션, 이벤트 데이터를 분리해서 세그먼트를 정의하면 분석하고자 하는 대상을 쉽게 정의할 수 있게 만드는 기능입니다. 

세그먼트를 정의하게 되면 특정 유저의 그룹 vs 나머지 유저의 특징을 비교 분석해 볼 수 있습니다. 

활용 방법 및 예시

GA4에서 세그먼트 기능을 통해 웬만한 유저들의 특징을 잡아낼 수 있습니다.  

그런데 GA4가 어떻게 유저들의 행동 데이터를 수집하고 활용하는지 제대로 알지 못하면 활용하기 힘들겠죠?

이번 글에서는 큰 틀에서 GA4가 어떤 원리로 조건이 설정되는지 알아보려고 합니다. 

세그먼트 유형 선택하기

세그먼트 생성화면을 들여다보면 꽤 많은 조건들을 설정할 수 있는 기능들이 많습니다.

일단 크게 3가지 유형의 세그먼트가 있습니다. (아래 유형에 대한 이해를 잘하셔야 합니다.)

세그먼트 유형 선택은 세그먼트를 조건에 해당하는 결과와 관련이 있는 거라고 생각하시면 이해하시기 쉬울 겁니다. 

특히! 각 유형별로 소스 / 매체 선택할 때 주의할 점을 꼭! 숙지하시길 바랍니다! 

GA4 세그먼트 생성
GA4 세그먼트 생성

Text with Indented Bullet Points
  • 사용자 세그먼트 : 특정 기준을 충족하는 사용자의 모든 이벤트를 포함하게 만듦
    • "방문자"와 관련된 분석을 한다면 사용자 세그먼트를 활용
    • 아래 세그먼트 중에 가장 큰 범위
    • 룩백 윈도우 (일반적으로 90일) 내에 사용자의 전체 구매 경로를 고려함
    • 트래픽 소스를 정의할 때는 First User(첫 사용자) ~ 로 시작하는 접두사만 선택됩니다.

사용자 세그먼트 내 트래픽 소스 정의할 때 범위가 사용자 범위로 되어 있는 첫 사용자 소스/매체 선택
사용자 세그먼트 내 트래픽 소스 정의할 때 범위가 사용자 범위로 되어 있는 첫 사용자 소스/매체 선택

Text with Indented Bullet Points
  • 세션 세그먼트 : 모든 이벤트가 포함되지만 기준과 일치하는 세션만 포함
    • 방문자보다 "방문"에 초점을 맞추는 세그먼트
    • 예를 들어 전환이 발생한 특정 세션과 그 순간 유저를 사이트로 유도한 트래픽 소스를 살펴볼 때!
    • 트래픽 소스를 정의할 때 접두사에 Session 이 되어야 함
사용자 세그먼트 내 트래픽 소스 정의할 때 범위가 사용자 범위로 되어 있는 세션 소스/매체 선택
세션 세그먼트 내 트래픽 소스 정의할 때 범위가 세션 범위로 되어 있는 세션 소스/매체 선택

Text with Indented Bullet Points
  • 이벤트 세그먼트 : 기준을 충족하는 특정 이벤트만 포함
    • 사용자, 세션 기반 세그먼트에 비해 더 구체적인 분석이 가능합니다.
    • 트래픽 소스를 정의할 때 접두사가 없어야 함
이벤트 세그먼트내 트래픽 소스 정의할 때 측정기준이 기여로 되어 있는 소스/메체 선택
이벤트 세그먼트내 트래픽 소스 정의할 때 측정기준이 기여로 되어 있는 소스/메체 선택

이렇게 정의는 그럭저럭 이해는 할 수 있지만 역시 예시를 통해 어떻게 데이터가 선택되는지 알아보겠습니다.

특정 유저가 2개의 세션 안에서 몇 가지 이벤트를 발생시켰다고 가정해 보겠습니다.

예시) 1명의 유저가 생성한 2개의 세션
예시) 1명의 유저가 생성한 2개의 세션

1. 사용자 세그먼트 예시

사용자 세그먼트 기준으로 구매한 유저를 세그먼트를 만들면 어떻게 데이터가 선택될까요? 

총 7개의 이벤트가 모두 선택됩니다. 사용자 기준이니까 조회한 날짜에 있는 이벤트가 모두 포함되기 때문입니다.

사용자 세그먼트 예시
사용자 세그먼트 예시

2. 세션 세그먼트 예시

최소 한 개의 구매 이벤트가 발생한 모든 세션의 데이터기 때문에 이 기준으로 충족되는 데이터는 purchase(구매) 이벤트가 발생한 session - 2 만 선택됩니다( session - 1 에는 구매 이벤트가 없음)

세션 세그먼트 예시
세션 세그먼트 예시

3. 이벤트 세그먼트 예시 

이벤트 기준이면 기준에 맞는 이벤트만 선택한다는 말이기 때문에 session - 2에서 발생한 purchase 이벤트만!! 선택됩니다. 다른 이벤트는 선택 안됩니다!

이벤트 세그먼트 예시
이벤트 세그먼트 예시

조건 범위 설정하기

여기서는 어떤 조건의 유저를 선택할지 셋팅하는 옵션을 선택할 수 있습니다. 

어떤 조건의 유저를 선택할지 셋팅하는 옵션을 선택하는 화면

여기서 AND, OR 조건을 선택할 수 있는데 회원가입과 구매 이벤트를 발생시킨 유저 선택해 보겠습니다.

 AND, OR 조건을 선택 화면

그런데 하단에 보면 포함할 조건 그룹 추가라는 버튼이 있습니다. 

포함할 조건 그룹 추가 버튼 설명 이미지

동일한 방식으로 회원가입과 구매를 한 조건을 설정하면 이렇게 할 수 있죠

회원가입과 구매를 한 조건을 설정 화면

즉 하나의 조건 그룹에 회원가입 이벤트와 구매 이벤트를 선택한 것이고 나머지 하나는 두 개의 조건 그룹에 회원가입 이벤트와 구매 이벤트가 각각 설정을 했습니다. 

첫 번째 방식과 차이점은 뭘까요? 동일한 결과가 나올까요? 결과는 동일합니다.

??? 

이게 무슨 말이냐면 그룹 간 영역에서 오른쪽 상단에 보면 사람모양의 드롭다운 버튼이 있습니다.

사람모양의 드롭다운 버튼 설명 이미지

이걸 클릭하면 조건 범위를 지정할 수 있습니다. 

세그먼트 설정할 때랑 동일한 방식이죠? 사용자, 세션, 이벤트 단위로 조건설정이 가능합니다. 

사용자, 세션, 이벤트 단위로 조건 설정 가능
  • 모든 세션
    • 이 조건일 때 동일한 조건 그룹에 여러 가지 조건이 있으면 조건 A가 session - 1에서 발생하고 조건 B가 session - 2에서 발생했다면 유저는 세그먼트에 포함됩니다. 
    • 이 조건일 때는 유저의 Life Time 동안 조건이 충족됩니다

  • 동일 세션 내
    • (세그먼트 생성 시 사용자 세그먼트를 선택했어도) 조건 A랑 조건 B가 동일한 세션(session - 1 or session - 2)내에서 발생하는 조건

  • 동일 이벤트 내
    • (세그먼트 생성시 사용자 세그먼트를 선택했어도)조건 그룹이 단일 이벤트에서 발생

세션 및 이벤트 세그먼트에는 조건 지정 범위에 대한 옵션이 더 적습니다. 아래 표는  사용할 수 있는 세그먼트 유형별 조건 범위 간 조합입니다. 

세그먼트 유형별 조건 범위 간 조합표

다시 예시를 들어볼게요 

GA4에서 첫 구매 유저를 따로 이벤트를 개발하지 않으면 특정하기 힘든데 회원가입 후 첫 구매 유저를 세그먼트로 한 번 만들어 보겠습니다.

해당 유저들을 특정하기 위한 필요한 이벤트는 first_visit(첫 방문)과 purchase 이벤트겠죠?

첫 구매 유저를 특정한다고 해도 이를 어떻게 정의하느냐에 따라 결과는 달라집니다! (주의!!)

유저의 행동은 정말 엄청나게 많은 경우의 수로 발생을 하죠. 

A유저 : 구매 의사 결정이 빠른 A유저는 동일한 세션 시간 내에서 구매

B유저 : 구매 의사 결정이 느린 B유저는 어제 상품을 처음 둘러보고 내일 구매

이 예시처럼 첫 구매를 동일한 세션 시간내 첫 구매를 한 유저를 특정할 것인지, 세션에 상관없이 첫 구매 유저를 식별한 것인지 정의하기 나름입니다. 

첫 구매 유저 세그먼트를 만든다면 어떤 조건을 설정해야 될까요? 

사용자 세그먼트를 기준으로 세그먼트를 설정하면 유저의 조건에 해당하지 않는 방문데이터도 포함되게 됩니다.

그러니까 첫 방문 이후 첫 세션에 구매를 하지 않아도 구매를 특정시킨 뒤에 제외 조건을 구매 조건을  2번 이상으로 설정하여 첫 구매한 유저를 식별할 수 있습니다. 

구매를 특정시킨 뒤에 제외 조건을 구매 조건을  2번 이상으로 설정하여 첫 구매한 유저를 식별하는 이미지

 

그런데 first_visit, 첫 구매 사용자의 방문 데이터만 확인하고자 한다면 사용자 세그먼트가 아닌 세션 세그먼트를 기준으로 동일 세션 내의 조건 범위를 선택하여 세그먼트를 생성해야 합니다. 

세션 세그먼트 기준 동일 세션 내의 조건 범위 선택하여 세그먼트 생성하는 화면

첫 구매 유저를 모든 세션 범위 조건으로 하여 세그먼트를 생성하고 재구매자(purchase 이벤트가 2번 이상)와 겹치는 부분이 없는지 세그먼트 중복 기능을 활용해 벤다이어그램으로 확인해 보겠습니다. 

구글 애널리틱스 (GA4) 세그먼트 중복 기능을 활용한 벤다이어그램

중복 없이 잘 나뉘었습니다. 이런 식으로 내가 가진 유저의 특징을 세그먼트로 만들어서 비교해 보는 과정이 굉장히 중요한 것 같습니다.

이 개념을 토대로 한 번 만들어 보시면 좋을 것 같습니다.

결론

GA의 세그먼트는 생각보다 할 수 있는 게 많긴 합니다.

하지만 제대로 활용하기 위해서는 위에 설명한 개념들이 잘 정리가 되어 있어야 됩니다.

이번 글을 쓰면서 느낀 건 솔직히 GA4는 사실 Amplitude를 사용해 봤다면 이런게 다 있나 싶을 정도로 불편하고... 뭔가 찜찜한 느낌을 지울 수 없었습니다.

이번 글에서 첫 구매 유저 세그먼트를 예시로 들었는데 GA4에서 First time purchases라는 측정항목이 존재하긴 하지만

이를 세그먼트로 활용은 못합니다...  약간 독립적인 측정항목 같은 느낌입니다. 

Text Color and Background Change

GA4내 First time purchasers(처음 구매자 수)라는 측정항목의 정의를 진짜 유저의 히스토리컬 데이터를 기반으로 첫 구매 이벤트를 측정한다고 합니다. 이걸 그런데.. 세그먼트로 못쓴다니..

Amplitude에서는 사실 아주 간단하게 첫 구매 유저를 특정할 수 있는 Historical Count 기능이 있어서.. 아쉬웠습니다.

(물론 제약 조건은 있습니다. 날짜 범위가 시작되기 전 최대 1년까지 기간만 포함됩니다. 그래도 이건 혁명적인 기능!)

Amplitude 내 구매완료 조건 설정 예시 화면

본질적으로 GA의 목적은 유저 획득에 초점을 맞춰져 있다면 Amplitude는 Product Analytics 툴로 사용자 행동 분석에 초점이 맞춰져 있긴 합니다. 그래서 목적에 맞지 않아서 해당 기능 개발을 하지 않은 건가 싶기도 합니다. 

당장 앰플리튜드를 도입하지 않을 거라면 속 편하게 GA4에서 First Purchase 이벤트 개발을 요청하거나 혹은 일단 소개드린 방식대로 우선 트렌드만 확인하는 용도로 세그먼트를 생성해서 데이터를 분석하시는 걸 권장드립니다.

ANALYSIS_image_thumbnail
GROWTH

퍼포먼스 마케팅이란?

September 6, 2024

전 보통 평일 아침에 운동을 하는데, 끝나고 나면 다른 멤버분들과 이야기를 나누게 됩니다. 아무래도 출근 시간이다보니 스몰톡이 직업 쪽으로 흘러갔습니다. [마케팅]을 하고 계신다고 하시더라고요.

반가운 마음에 전 그로스마케팅을 한다 말해더니 모르는 눈치십니다. [퍼포먼스마케팅]을 하시는 거냐 물었더니 그렇다고 합니다. 어떤 매체를 주로 운영하시냐 했더니 말끝을 흐리십니다.

얘기해보니 그 분의 업무는 <인스타그램 계정 육성> 이었습니다. 특정 부문의 콘텐츠만 게재하는 다수의 계정을 생성해서 ~N만의 팔로워를 가진 계정으로 키우고 광고를 받으며 수익화를 하는죠. 즉 [SNS마케팅]이자 [콘텐츠마케팅]이자 [인플루언서 마케팅]입니다. 저 또한 헷갈렸습니다. 이 또한 퍼포먼스 마케팅일까...?


퍼포먼스 마케팅이란? 정의와 뜻

퍼포먼스 마케팅이란 성과를 측정할 수 있는 마케팅

퍼포먼스는 마케팅은 퍼포먼스(Performance)의 실적, 성과라는 뜻에서 파생됩니다. 즉 퍼포먼스 마케팅이란 성과를 확인할 수 있는 마케팅입니다. 성과란 일의 결과를 뜻하고요.

시험을 보고 성적표를 받듯, 마케팅을 하고 이 일에 대한 성적표를 만들 수 있는 것이 퍼포먼스 마케팅입니다. 어떤 요소에서 얼마나 잘했는지에 대해서 수치 기반의 정량적인 기준으로 평가할 수 있는 거죠.

마케팅에 점수를 매길 수 있는 퍼포먼스 마케팅 표지
마케팅에 점수를 매길 수 있는 퍼포먼스 마케팅

왜 퍼포먼스 마케팅이 생겨났을까요?
마케팅의 성과는 어떻게 확인할 수 있을까요?


퍼포먼스 마케팅 이전에 전통적인 마케팅

전통적인 마케팅은 주로 ATL (Above The Line)에 속하는 전통적인 매체를 통한 것을 말합니다. TV, 라디오, 옥외 광고, 신문 등이 있겠죠.

이러한 매체들은 몇 명에게 노출되었는지까지는 대략 추산할 수 있지만 실제로 그 중에 몇 명이 어느 정도로 관심을 보였는지를 알 수 없습니다.

전통적인 마케팅 ATL 매체 중 TV
전통적인 마케팅 ATL 매체 중 TV

즉 TV가 틀어져있는 가구수는 셀 수 있겠지만, 그 가구 내에서 몇 명의 인원이 영상을 보고 있었는지, 다른 일을 하면서 보고 있었는지 아니면 TV 영상에만 집중하고 있었는지, 그래서 TV 광고에 나온 상품을 인지하게 되었는지 상호 작용이 불가능하므로 알기 어렵습니다.

라디오나 옥외광고도 마찬가지로, 라디오가 청취수는 알겠으나 청취수는 청취자수와 일치하지 않고 옥외광고의 경우 그 앞을 지나간 사람들을 추산할 수 있을 뿐입니다. 그러므로 전통적인 마케팅에서의 ATL 매체는 성과를 정확하게 측정하기가 어렵습니다.


퍼포먼스 마케팅의 중요성

마케팅에 돈을 쓴 만큼 얼마나 벌었는지 알고 싶겠죠?

그래서 비즈니스에서는 ROI를 묻습니다. 투자금 대비 이익률이죠. (이익-마케팅 비용)/(마케팅 비용)의 수식으로 비용 대비 매출이 아닌 [이익]의 수준을 봅니다.

마케팅에서는 주로 ROAS를 봅니다. (마케팅에 의한 매출)/(마케팅 비용)의 수식입니다. 여기서 주목할 점은 <마케팅에 의한 매출>입니다.

Text Color and Bold Change 전체 매출 중 마케팅이 기여한 매출은 얼마일까요?

마케팅에 의한 매출 = 마케팅에 의한 성과, 이를 알고 싶었기 때문에 성과(매출)을 측정할 수 있는 퍼포먼스 마케팅이 중요해졌다고 볼 수 있습니다.


퍼포먼스 마케팅의 주요 지표

CPM (Cost Per Mile), CPC (Cost Per Click), CTR (Click-Through Rate), CVR (Conversion Rate), CPA (Cost Per Action)

  • CPM (Cost Per Mile) 노출 1,000회당 비용
  • CPC (Cost Per Click) 클릭당 비용
  • CTR (Click-Through Rate) 클릭률
  • CVR (Conversion Rate) 환율
  • CPA (Cost Per Action) 목표 행동당 비용 *여기서의 목표 행동은 가입, 구매 등으로 협의 하에 정의할 수 있습니다.

메타 페이스북 광고 관리자 캠페인 대시보드 화면
페이스북 광고관리자에서의 퍼포먼스 마케팅 지표


퍼포먼스 마케팅 전략

#1 사용자 관점의 타겟팅 및 세분화

특정 브랜드에서 마케팅을 운영한다고 할 때, 사용자는 신규와 기존으로 나눌 수 있습니다. 신규는 우리를 모르는 사람들, 기존은 우리를 아는 사람들로 정의할 수 있겠으나 [안다/모른다]의 상태를 명확하게 구별해줄 수 있는 변인이 필요합니다.

대개 이 상태를 [가입] 행동으로 구분합니다. 즉 이미 우리 브랜드의 회원인 사용자는 기존, 비회원인 사용자는 신규가 되는 것이죠. 이와 같이 신규 사용자를 대상으로 하는 마케팅을 사용자 획득: UA (User Acquisition) 이라고 합니다.

Text Color Change

마켓컬리의 가입하면 990원 또는 배달의 민족의 배민 처음이라면~ N만원 할인 등의 프로모션을 주 내용으로 신규 회원을 유치하는 마케팅하는 것이 UA 마케팅입니다.

Image Row
마켓컬리 추천 프로모션 페이지 화면 배달의 민족 첫이용자 100원 프로모션 화면

#2 매체 관점의 광고 플랫폼 운영

인지도 증대 및 관심 유도에 유효한 [배너 광고]

  • YouTube 광고: 높은 도달률과 시각적 임팩트를 통해 브랜드 인지도 향상
  • Facebook/Instagram 광고: 다양한 타겟팅 옵션과 시각적 콘텐츠로 인지도 상승
  • Naver 디스플레이 광고: 한국 최대 포털 사이트를 통한 높은 도달률
  • Tiktok 광고: 젊은 층 대상 바이럴 효과와 인지도 상승
  • Google 디스플레이 네트워크 (GDN): 관련 사이트에서 배너 광고를 통해 관심 유발
  • Kakao 광고: 카카오톡과 다음을 통한 개인 맞춤형 광고

배너 광고 매체들은 마케터가 아니어도 익숙한 이름들입니다. 말 그대로 '배너'가 노출되어야 하기 때문에 많은 수의 사용자를 확보하고 있는 플랫폼이어야 경쟁력이 있기 때문이죠.

Text Color and Bold Change 이에 유튜브, 페이스북/인스타그램, 네이버, 틱톡, 구글, 카카오 등이 주요 광고 매체로 여겨집니다.

의사결정 및 구매 전환에 유효한 [검색 광고]

  • Google 검색 광고 (Google Ads): 특정 키워드 검색 시 상위 노출로 구매 의사결정 유도
  • Naver 검색 광고: 한국에서 높은 검색 트래픽을 통해 직접적인 전환 유도

Text Color and Bold Change 배너 광고에 의해서 상품이나 브랜드, 플랫폼을 인지하고 관심을 갖게 된 유저는 이후 전환 행동 전에 '검색'이라는 행동을 하게 됩니다. 이 때 검색 광고가 노출됩니다. 사용자 여정 내에서는 전환에 가까운 단계이기도 하고 사용자가 이미 구매 의도를 가지고 있다고 볼 수 있기에 검색 광고는 배너 광고 대비 전환율이 높은 것이 특징적입니다.

Image Row with Caption
네이버 마케팅 검색 시 파워링크 노출 화면 네이버 퍼포먼스 마케팅 검색 시 스폰서 노출 화면
네이버의 파워링크 및 구글의 스폰서 (검색 광고)

#3 A/B 테스트와 최적화

A/B 테스트는 원칙적으로 대조군(Control Group)과 실험군(Experimental Group)을 나누어 다른 모든 환경이 동일하다고 할 때, 한 가지의 변인을 다르게 하여 그 변인의 영향도를 실험하는 것입니다.

광고 집행 시, 모든 외부 요인을 통제할 수 없기 때문에 그 부분을 감안하고 광고 셋팅(타겟팅 등)이나 소재를 A/B 테스트 해볼 수 있습니다. 특정 상품의 경우 소재에서 어떤 내용을 강조할지가 주요 테스트 내용이 됩니다. 1. 개발스토리 2. 리뷰 3. USP 4. 가격 등 강조할 수 있을만한 것들을 제일 메인 요소로 활용해보는 것입니다. A/B 테스트는 매우 큰 개념으로 마케팅에서도 매체, 세팅/타겟팅, 소재 기획/제작 등에서 다양하게 적용될 수 있습니다.

소재에서 강조할 내용 4가지: 개발스토리, 리뷰, USP, 가격


퍼포먼스 마케팅 목표

목표(KPI: Key Performance Index)에 따라 다른 캠페인 셋팅

1. 인지도 증대 (Awareness)

'트래픽' 캠페인으로도 불립니다. 불특정 다수(오픈타겟, 논타겟)에게 최대한 많은 도달/노출을 이루어 제품의 인지도 향상과 클릭에 의한 유입, 트래픽을 의도합니다.

2. 관심 유도 (Interest)

타겟 세팅 시 관심사를 설정하여, 다른 행동으로 특정 관심사를 가진 것으로 추론되는 사용자들에게 소재를 노출할 수 있습니다. 혹은 관련도가 높은 웹사이트로 노출 위치를 설정할 수 있습니다.

3. 의사 결정 및 구매 전환 (Decision & Action)

구매 의도 있는 상태에서 특정 키워드를 검색했을 시 광고가 노출되거나, 이전에 방문했던 사용자를 대상으로 재방문 등을 유도할 수 있습니다.

Image Row
페이스북 광고 캠페인 목표 선택 화면 캠페인 세팅 내 타겟 정의 예시 화면


퍼포먼스 마케팅 도구 및 성과 측정

측정을 위해 필요한 UTM Builder와 Google Analytics

배너 광고든 검색 광고든 각 매체를 통해서 광고가 운영이 되면 관심을 가진 사람들이 클릭하여 설정해둔 페이지로 유입됩니다.

이 때, 페이지에 유입된 사용자가 100명이라고 할 때 (이 100명을 정확하게 구분하는 것도 꽤 어려운 일입니다...) 100명이 [배너 광고]를 보고 왔을지 [검색 광고]를 보고 왔을지 [배너 광고]도 보고 [검색 광고]도 보고 왔을지, [배너 광고]만 보고 10일 후에 페이지 주소를 입력해서 들어왔을지...

유입 경로 파악이 필요합니다.

어떤 채널, 어떤 매체로 들어왔을지 유입 경로를 알고 싶다면 매체에 광고를 세팅할 때 URL에 UTM이라는 변수를 붙여준 후 이를 Google Analytics로 측정해야 합니다.

Text Color and Bold Change UTM의 소스, 매체에 입력한 값에 따라 GA에서는 유입 성과를 구분하여 보여줍니다.

URL Builder의 소스(source) 및 매체(medium) 설정 화면 | 구글 애널리틱스 URL Builder 웹사이트
URL Builder의 소스(source) 및 매체(medium)
구글 애널리틱스 사용자 획득 내 트래픽 획득: 세션 소스/매체 확인 페이지
GA 내 [소스/매체]로 성과 보기

유상 광고의 경우 모든 광고 매체에서 관리자(Admin) 페이지를 지원하며 성과를 측정하여 보여주는데 굳이 구글 애널리틱스를 봐야하는 이유가 뭘까요?

Text Color and Bold Change 매체 별 광고 관리자에서는 성과를 자기 매체만 고려하여 측정하기 때문입니다. 대부분의 퍼포먼스마케팅은 한 개의 광고매체만 쓰지 않고 적어도 2개, 많개는 열댓개의 광고 매체를 쓰게 되는데요. 그렇다 보면 성과 측정에 대한 문제가 발생합니다.

성과 집계의 중복

자사몰에서의 단 한 건의 성과가 메타에서도 성과로 집계하고, 네이버에서도 성과로 집계하고, 구글에서도 성과로 집계될 수 있습니다. 자사몰 데이터 기준 전환 1건이, 광고 관리자 기준 전환 3건이 될 수 있는 것이죠. 그렇기에 매체 별 광고관리자만을 사용해서 성과를 측정하지 않고 웹으로 랜딩되는 경우 구글 애널리틱스(Google Analytics)를 주로 사용하는 것입니다.

사용자의 첫 행동인 유입 분석 설명 이미지
기여기간 7일 동안, 페북>카카오>구글>페북 광고 순으로 클릭했다면?

기여 기간 및 기여 모델

광고 매체가 전환에 기여한 기준은 기간과 방식에 따라 달라질 수 있습니다. 기여 기간을 1일로 설정한다면 3일 전 클릭한 성과는 인정되지 않을 수 있습니다. 기여 모델은 라스트 터치, 퍼스트 터치, 멀티 터치 등으로 구분되고 약 일주일 간 광고를 운영했을 때 (메타, 네이버, 구글 등)

- 사용자가 구매하기 전 마지막으로 누른 광고 매체가 가장 크게 기여했다고 한다면 > 라스트 터치 (Last touch) 모델,

- 사용자가 구매하기 전 처음으로 누른 광고 매체가 가장 크게 기여했다고 한다면 > 퍼스트 터치 (First touch) 모델입니다.

Boxed Text
Case 1. 랜딩 페이지가 Web 이라면
Boxed Text
Case 2. Web으로 랜딩 후 App 설치를 유도한다면
Boxed Text
Case 3. 앱스토어로 랜딩 후 App 설치를 유도한다면

Text Color and Bold Change 마케팅 집행 이후 랜딩페이지의 플랫폼 (Web, App)에 따라 유입 경로를 파악하여 성과를 측정하는 것은 점차 난이도가 높아집니다. Web까지는 url에 붙어있는 utm 파라미터로 파악이 된다면, 앱스토어부터는 정보값이 유실되기 때문입니다

그에 따라 MMP(Mobile Measurement Partner)로 통칭되는 Appsflyer, Airbridge, Adjust와 같은 SDK를 붙이는 등의 추가 tracker가 필요합니다.

앱 캠페인 성과 분석을 위한 수많은 MMP 솔루션 모음 이미지

보통은 이 부분에서 가장 많은 어려움을 겪습니다. GA와 MMP, 여기서 CRM 솔루션(Braze, Insider 등) 이나 PA(Product Analytics: Amplitude, Mixpanel 등) 솔루션까지 쓴다면 솔루션 내의 데이터 정합성을 맞추는 것 등의 관리가 복잡해지기 때문입니다.


퍼포먼스 마케팅 성과 측정

솔루션(Google Analytics, Appsflyer, Amplitude, Airbridge) 및 태블로(Tableau), 루커(Looker) 스튜디오, 구글 스프레드 시트 등

마케팅 웹(Web) 캠페인의 성과는 웹페이지로 랜딩되기에 GA만으로도 측정이 수월합니다. 문제는 앱설치를 목표로 앱스토어로 랜딩시키면서 시작됩니다. 그래서 보통 앱 성과 데이터를 측정하기 위핸 MMP (앱스플라이어/Appsflyer, 에어브릿지/Airbridge, 애드저스트/Adjust 등)을 도입하는데요.

Text Color and Bold Change 광고 매체를 개별 관리자에서 보면 데이터 정합성에 문제가 생겼듯이, 해당 솔루션들의 데이터 또한 결국 통합적으로 모아 활용해야합니다.

데이터 파이프라인 예시
데이터파이프라인 예시

위의 데이터파이프라인 예시처럼, 구글 애널리틱스의 웹 데이터 앱스플라이어의 앱 데이터, 기타 광고 매체들의 광고 데이터를 모아 구글 빅쿼리에 적재하고 이를 태블로를 통해서 대시보드로 제작합니다.

광고의, 매출의, 배너의 성과를 한 판에 볼 수 있는 대시보드 예시
광고의, 매출의, 배너의 성과를 한 판에 볼 수 있습니다.

다양한 시각적 형태로, 다양한 성과를, 다양한 차원으로 볼 수 있습니다. 커머스의 배너 성과를 볼 수도 있고, 상품/카테고리/브랜드의 매출 성과를 볼 수 도 있고, 광고 성과를 볼 수도 있습니다. 유입된 광고 매체에 따라 유저들의 LTV로 대변되는 충성도가 다른지도 확인할 수 있고요.


가장 중요한 것은 <측정> 입니다.

처음의 의문으로 돌아가자면, 인스타그램 계정 키우기도 어떤 측면에서는 퍼포먼스 마케팅으로 볼 수 있겠습니다. '측정'이 가능하기 때문입니다. 콘텐츠를 올리면서 올라가는 팔로워수, 피드의 좋아요수 및 댓글수 그리고 릴스의 조회수 등으로 계정의 성장을 숫자로 '측정'할 수 있습니다.

최근 읽은 '순서 파괴'라는 책에서 인상 깊게 읽은 부분이 있습니다. 아마존의 주요 구성원들이 아마존의 일하기 방식에 대해서 쓴 책입니다.

아마존에서는 목표를 설정할 때 아래 다섯 개 요소를 반영한다고 합니다.

  • 구체적이면서 (Specific)
  • 측정 가능하고 (Measurable)
  • 달성할 수 있으며 (Attainable)
  • 의미가 있고 (Relevant)
  • 시기가 분명해야 한다 (Timely)

이 중 저에게 가장 와닿았던 것은 측정에 관한 것이었습니다.

Text Color and Bold Change [측정] Measure
Text Color and Bold Change 데이터를 수집하고 유용한 포맷으로 이를 제시하는 일에 집중해야 한다. 원하는 데이터가 종종 서로 다른 시스템에 산재해 있을 수 있고, 데이터를 엮고 종합하여 올바르게 나타나기 위해서는 소프트웨어의 사용이 필요할 수도 있다. 이때 타협은 금물이다. 투자가 필요하다. 이 단계에서 투자하지 않으면 중요한 비즈니스를 그저 '감'에 의존해 위태롭게 이끌어갈 수 있다.

ANALYSIS_image_thumbnail
GROWTH

GA4에선 세션 지표 이해하고 사용하셔야 합니다.

September 4, 2024

Google Analytics를 사용해 보셨다면 ‘세션’이라는 용어에 익숙하실 것입니다. Universal Analytics(GA3)에서는 세션 단위로 데이터를 수집하여 지표를 측정했지만, GA4에서는 데이터 수집 방식이 달라져 주의가 필요합니다. GA4의 세션 관련 지표는 혼란을 일으킬 수 있습니다.

이번 글에서는 세션의 개념을 자세히 살펴보고, GA4에서의 세션이 어떻게 다른지 알아보겠습니다.

세션이란?

세션 관련해서 구글 가이드 문서에 따르면

- 세션은 사용자가 웹사이트 또는 앱과 상호작용하는 기간입니다.
- 세션은 사용자가 앱을 포그라운드에서 열거나 페이지나 화면을 보고 현재 활성화된 세션이 없는 경우 시작됩니다.
- 세션 수 : 고유 세션 ID 수를 추정하여 사이트나 앱에서 발생하는 세션 수를 계산합니다.

예를 들어 유저가 브라우저 탭에서 페이지를 열고 이메일을 확인하거나 다른 일을 하다가 2시간 뒤에 다시 돌아와서 브라우징을 할 수 있겠죠? GA4에서는 이를 페이지 뷰가 있는 세션으로 보고 2시간 뒤에 사용자 참여로 간주하고 새로운 세션으로 기록합니다.

1. 첫 번째 세션:

  • 사용자가 오전 9시에 웹사이트의 특정 페이지를 엽니다.
  • 페이지 조회(page view) 이벤트가 발생하여 세션이 시작됩니다.

2. 두 번째 세션:

  • 사용자가 같은 페이지를 오후 2시에 다시 돌아와 사이트를 탐색합니다

이때 새로운 세션이 시작되지만 페이지 조회 이벤트는 기록되지 않습니다.→ 두 번째 세션이 사용자 참여로만 기록됩니다

빅쿼리로 실제 어떤 케이스인지 특정 유저의 로그를 한 번 확인 해보겠습니다.

빅쿼리 조회 결과 - 페이지뷰가 없는 세션
빅쿼리 조회 결과 - 페이지뷰가 없는 세션

이렇게 페이지뷰 이벤트가 없는 두 번째 세션이 생기며, 이는 참여율(Engagement Rate) 지표로 나타납니다.

참여율 = 참여 세션 수 / 총 세션 수

Boxed Text
참여 세션의 정의
  • 10초 이상 머문 경우 (GA4 설정 : 10~60초로 조정 가능)
  • 페이지뷰가 2회 이상 발생한 경우
  • 10초 이내로 머물러도 전환 이벤트를 발생시킨 경우

GA4 인터페이스 예시 화면
GA4 인터페이스

이런 유저가 많아지면 세션 기반의 지표(예: 세션당 페이지뷰, 세션당 평균 참여시간)가 낮아집니다.

세션당 페이지뷰 수 계산 예시:

페이지뷰 수 / 세션 수 = 10 / 1 = 10

위와 같은 유저의 행동이 늘어나면:

페이지뷰 수 / 세션 수 = 10 / 2 = 5

페이지뷰 이벤트가 포함되지 않은 세션이 발생하니 지표가 감소하게 됩니다.(분모가 커지므로)

따라서 GA3에서 사용하던 세션 기반의 지표는 주의해서 사용해야 하며, 이벤트나 참여 관련 지표(참여 세션)를 보는 것이 좋습니다.

(GA4와 GA3의 데이터 수집 방식도 다릅니다)

자.. 그리고 또 있습니다.

세션 데이터의 현실.. 빅쿼리를 열어보면 .. 더 조심해야겠구나 라는 생각이 들겁니다.

일단 절대 세션수 ≠ session_start 이벤트의 수 가 아닙니다.

왜그런지 직접 조회해보죠!

session_start 이벤트가 없는 세션이 있다?

아래 특정 유저의 세션을 특정해서 조회해봤습니다.

event_name 컬럼에 session_start 이벤트는 없고 다른 이벤트만 있죠?

쿼리 결과 화면 - session_start 이벤트가 없는 세션 ID
session_start 이벤트가 없는 세션 ID

하나의 세션에 session_start 이벤트가 2개?

이런 상황은 빈번하지 않지만 발생할 수 있습니다. 하나의 세션에 두 개의 세션 이벤트가 발생했고, 심지어 사용자 아이디도 다릅니다.

GA4 인터페이스에서는 당연히 단일 세션으로 계산하지 않을 것 같지만 빅쿼리에서는 이런 케이스 때문에 user_pseudo_id와 ga_session_id를 조합해서 각 세션에 대한 고유 식별자를 만들어서 session 을 카운팅 해야됩니다. 

concat(user_pseudo_id, (select value.int_value from unnest(event_params) where key = 'ga_session_id')) as session_id,

쿼리 결과 화면 - 하나의 세션에 session_start가 두개
하나의 세션에 session_start가 두개

 

하나의 세션에 2개 이상의 소스?

GA3에서는 세션 윈도우(30분)가 지나면 완전히 새로운 세션이 시작되지만, GA4에서는 기존 세션이 계속 되기 때문에 이렇게 소스가 1개 이상 발생할 수 있습니다.

쿼리 결과 화면 - 하나의 세션에 2개 이상의 소스
하나의 세션에 2개 이상의 소스

 

GA에서 세션은 어떻게 계산될까?

 

결론

 

구글 애널리틱스에서도 세션수를 집계할 때 추정값을 사용합니다.

실제로 빅쿼리에 count(distinct ga_sesssion_id) 를 집계하면 성능에 영향을 줍니다..

그런데 전 세계에서 이걸 조회하는데 이걸 진짜 집계를 ?? 불가능하죠

그래서 HyperLogLog ++ (가이드 링크)라는 알고리즘을 적용해서 추산한 값을 보여줍니다.

구글 애널리틱스의 고유 개수 근사값 가이드 북마크

실제로 성능을 눈으로 확인해보죠

 

ga_session_id를 고유하게 카운팅 해보는 쿼리로 비교를 해보겠습니다.

COUNT(DISTINCT ga_session_id)

ga_session_id를 고유하게 카운팅 하는 쿼리1

HLL_COUNT.EXTRACT(HLL_COUNT.INIT(ga_session_id, 14))

 

ga_session_id를 고유하게 카운팅 하는 쿼리2

차이가 보이시나요? (참고로 데이터 하루치만 조회했고 쿼리 결과는 같습니다)

 

모든면에서 더 효율적인 처리를 하고 있음을 알 수 있습니다.

 

사실 GA4에서는 세션이라는 개념은 더 이상 의미가 없고 지금까지 위의 예시를 통해 확인할 수 있었습니다.

 

그럼에도 세션 지표를 무조건 써야된다면 참여 세션지표를 사용하는게 좋습니다.

 

이제 이걸 통해서 다음 글에서는 GA4의 꽃 세그먼트 분석에 대해서 알아보겠습니다.

(세그먼트 기능을 쓰려면 세션에 대한 이해가 꼭 필요하기 때문에 이번 글부터 시작하게 되었습니다.)

ANALYSIS_image_thumbnail
GROWTH

디지털 전환(DX)의 정의와 사례

September 2, 2024

1. 디지털 전환의 정의

✅ 디지털 전환의 개념 및 필요성

디지털 전환이란 무엇일까요? DT 또는 DX로도 불리는 디지털 전환은 Digital Transformation에서 유래했습니다. 여기서 Transformation, 전환은 상태의 변화를 말합니다. 즉 디지털이 아니던 것이 디지털 상태로 변화하는 것입니다.

Text Color Change 디지털의 반대를 생각하면 아날로그를 떠올리게 되는데요. 사전적 의미로 '아날로그'는 어떤 수치를 길이, 각도, 전류 등 연속된 물리량으로 나타내는 일이며 '디지털'은 0과 1의 조합으로 바꾸는 과정이자 그 결과라고 합니다. 여기서 디지털 신호를 구성하는 비트가 컴퓨터를 움직이는 기본 단위이기에 디지털 = 컴퓨터 = 온라인으로 통용되는 것이겠죠.

디지털 전환 (Digital Transformation) DT/DX 표지

✅ 온라인 B2C 비즈니스에서의 디지털 전환

디지털 전환, 어쩐지 거창합니다. 마티니의 그로스팀에서 큰 규모의 회사를 방문했을 때 주로 DX실, DT실이 명함에 기재된 경우가 많더라고요. 즉 큰 곳에서 시도하는 경우가 많다는 것이겠죠.

Text Color Change 대다수의 회사들은 너무나도 당연히 컴퓨터를 사용해서 온라인으로 비즈니스를 운영하고 온라인으로 일합니다. (Excel, PPT, Word, Google Slide, Spread sheet, Docs, Mail, Slack, Zira, Notion...)

온라인 비즈니스 툴 및 솔루션 모음 이미지

Text Color Change

*디지털 전환, 오프라인에서 온라인으로?

온라인 비즈니스는 진행 중입니다. 오프라인을 온라인으로 전환시키는 DX와 DT는 상당수 진척되었습니다. 평범한 일상만 생각해 봐도 그렇습니다.

  • 버스가 언제 올지 정류장(오프라인)에 가서 확인하지 않아도 됩니다.
  • [지도 어플]을 통해 온라인으로 버스의 도착 예정 시간을 알 수 있습니다.

  • 커피를 마실 때 카페(오프라인)에 가서 주문하지 않아도 됩니다.
  • [카페 어플]을 통해 온라인으로 주문할 수 있습니다.

  • 점심을 배달시킬 때 가게에 전화하지 않아도 됩니다.
  • [배달 어플]을 통해 온라인으로 주문할 수 있습니다.

즉 현재의 디지털 트랜스포메이션, 디지털 전환(DT, DX)의 주요 과제는 오프라인의 온라인 전환은 아닌 듯합니다.

오프라인에서 온라인으로 전환

Text Color Change

*디지털 전환, 수동에서 자동으로!

Text Formatting

개인적으로는 온라인 비즈니스의 '자동화'가 디지털 전환의 주요 요소라고 생각합니다. 특히 마케팅에 있어서는 더욱 그렇습니다.

우리 프로덕트의 사용자가 10명, 100명, 1,000명일 때는 수기가 가능할 수 있습니다. 10명에게는 매일 전화를 할 수도 있을 것이고, 100명에게는 문자를 보낼 수 있을 것이고, 1,000명까지는 어떻게 수기로 그룹화를 해서 카카오톡을 보낼 수도 있겠죠.

하지만 [10,000명] 에게는요? [100,000명] 에게는요? 예를 들어보겠습니다.

사례 1. CRM 마케팅에서 메시지 수신자를 추출할 때

CRM 마케팅에서 메시지 수신 과정 이미지

[CRM마케팅/수동]

#1 보유한 데이터베이스(DB)에 접근하여

#2 조건에 맞는 쿼리문을 작성하여#3 '고정된 시점'의 사용자 데이터를 추출함

#4 성과 분석 시, 동일 프로세스를 거쳐 특정 시점의 사용자 데이터를 재추출함

#5 엑셀 등을 활용하여 수기로 데이터 값을 비교함

[CRM마케팅/자동] *솔루션 활용

#1 보유한 데이터베이스(DB)를 CRM 솔루션의 클라우드에 연동하고

#2 CRM 솔루션의 어드민에서 변수를 조절하여 (클릭!)

#3 '실시간'으로 사용자 데이터를 추출함

#4 성과 분석 시 어드민에서 변수를 조절하여 (클릭!)

#4 솔루션에서 제공하는 대시보드/그래프 형태로 데이터 값을 비교

CRM 마케팅 수동과 자동 차이 비교 표
CRM 마케팅 수동/자동

사례 2. 퍼포먼스마케팅의 성과를 측정할 때

[퍼포먼스마케팅/수동]

#1 광고 매체 별 광고관리자에서 성과를 엑셀로 다운로드 후

#2 보고용으로 맞춰둔 엑셀 형식에 맞춰 복붙 합니다. (ctrl+C, ctrl+V)

*매체 A, 매체 B, 매체 C, 매체 D.... 매체를 많이 쓸수록 이 절차는 많아집니다.

**혹시 글로벌이라면? 국가별로도 쪼개줘야 합니다.

***신규 사용자와 기존 사용자의 리타겟팅을 나눈다고요? 이것도 쪼개서...

#3 매체 성과와 자사 내부 DB 성과의 숫자가 맞지 않습니다.

기여 모델 및 기여 기간의 설정이 다르거나...

Text Formatting "그냥 추이로 보시죠, 정합성은 못 맞춰요."

[퍼포먼스마케팅/자동]

#1 광고 매체 별 데이터를 연동합니다.

#2 광고 매체와 MMP, CRM 솔루션의 데이터를 통합합니다. (DW)

Text Formatting #3 태블로, 루커 스튜디오 등의 BI를 활용하여 광고 성과 대시보드를 한 판에 그립니다.

솔루션들의 데이터 파이프라인 이미지
광고 성과 측정 자동화를 위한 데이터 파이프라인
광고 성과 측정 자동화가 가능한 대시보드 사례
광고 성과 측정 자동화가 가능한 대시보드 사례

마케팅 업무 자동화, 마케팅 오토메이션(Automation)의 효율에 대해서 이야기를 종종 하게 되는데요. 업무 효율성을 높이는 것이 수익 상승에 기여하지는 않는단 의견을 종종 듣습니다.

Text Formatting 책을 읽으면 삶의 해상도가 높아진다는 말이 있습니다. 비슷하다고 봅니다. 업무 자동화를 통해서 데이터와 가까워지고, 데이터 리터러시(literacy, 읽고 쓰는 능력)가 높아지면 비즈니스 상황에 대한 해상도 또한 높아집니다. 문제 정의와 해결 방안 제시가 보다 빠르고 명확해집니다.

문제 정의와 해결 방안 제시 및 대응. 문제 해결자(problem-solver)라는 직무도 존재하는 것처럼 사실 모든 직업은 분야와 내용과 형식이 다를 뿐, 어떠한 문제를 해결하는 것 아닐까요?

2. 디지털 전환(DX)의 전략적 접근

✅ 고객 경험 중심의 접근

위의 사례로 들었던 CRM 메시지 수신자 추출도, 퍼포먼스마케팅 성과 분석도 고객(사용자)이 아닌 실무자에게 필요한 디지털 전환, 즉 마케팅 자동화의 일환인데요.

Text Color and Bold Change

하지만 CRM 마케팅의 자동화는 실시간 행동 추적을 기반으로 하기에, 고객 경험에 맞춰 CRM 메시지의 내용과 시점, 노출 위치를 최적화할 수 있습니다.

✅ 데이터 중심의 의사 결정

Text Color and Bold Change ~한 것 같아요. ~일 것 같아요. 전 ~라고 생각해요. 근거 없는 추론과 의견으로는 의사 결정을 하기 어렵죠. 정확한 수치 기반의 데이터를 근거로 얘기할 때, 모든 구성원의 동의를 쉽게 이끌어낼 수 있습니다.

의문에 대한 추론 예시 이미지
~것 같다는 추론은 이제 그만.
의문에 대한 수치 기반의 데이터 확인 예시 이미지
수치 기반의 데이터로 원인을 파악하고 개선안까지!

3. 디지털 전환(DX)의 실제 사례

Text Color Change

*디지털 전환, 측정이 가능하도록!

Text Color and Bold Change 여러 기업들의 디지털 전환을 도우면서 가장 기본적이지만 가장 중요했던 것은 바로 '측정'입니다. 웹과 앱에서의 성과 측정을 위해 필수적인 것, 바로 UTM입니다.

여러 기업들의 디지털 전환을 도우면서 가장 기본적이지만 가장 중요했던 것은 바로 '측정'입니다. 웹과 앱에서의 성과 측정을 위해 필수적인 것, 바로 UTM입니다.

웹페이지의 주소인 URL에 UTM 파라미터를 넣어 유입된 사용자들이 어떤 경로로 들어왔는지 파악할 수 있습니다.

구글 URL UTM 생성 웹사이트 페이지 화면
Google URL Builder!

보통 퍼포먼스 광고를 운영할 때 페이스북 광고관리자의 구성에 맞추어 캠페인/그룹/소재 단으로 구성하는 경우도 있습니다.

UTM 구조 짜기 (캠페인, 그룹, 소재 등) 예시 이미지
UTM 구조 짜기 (캠페인, 그룹, 소재 등)

유상 광고(paid media)를 운영하는 퍼포먼스마케팅 외에, 인플루언서 마케팅(earned media)이나 유튜브/인스타그램/블로그 등에 자체 콘텐츠(owned media)를 게재할 때도 UTM을 삽입한 URL을 활용하면 좋습니다!

UTM 구조 짜기 (실제 사례) 예시 화면
UTM 구조 짜기 (실제 사례)

5. 디지털 전환(DX)에 필요한 주요 기술

AI 및 머신러닝

개인화 추천 시스템: 고객의 과거 구매 내역 및 검색 기록을 바탕으로 맞춤형 제품 추천

챗봇 및 가상 어시스턴트: 고객 문의 및 지원을 자동화하여 실시간으로 대응

그루비 AI 알고리즘 기반 상품 추천 페이지
출처: 그루비

채널톡 챗봇 문의 페이지
출처: 채널톡

빅데이터 분석

고객 세그멘테이션: 고객 데이터를 분석하여 세분화된 마케팅 전략 수립

실시간 데이터 분석: 판매, 트래픽, 재고 등의 데이터를 실시간으로 분석하여 빠른 의사 결정 지원

UTM 별 트래픽의 실시간 추이 (Amplitude) 확인 화면
UTM 별 트래픽의 실시간 추이 (Amplitude)

클라우드 컴퓨팅

스케일러블 인프라: 트래픽 변동에 유연하게 대응할 수 있는 클라우드 기반 인프라.

클라우드 기반 CRM: 고객 관계 관리 시스템을 클라우드에서 운영하여 언제 어디서나 접근 가능.

마테크 솔루션 모음 이미지 | 브레이즈의 연동성 *출처:AB180
브레이즈의 연동성 *출처:AB180

모바일 기술

모바일 최적화 웹사이트 및 앱: 모바일 사용자를 위한 최적화된 사용자 경험 제공.

모바일 결제 시스템: 다양한 모바일 결제 옵션 지원.

옴니채널 통합

온라인 및 오프라인 데이터 통합: 고객의 온/오프라인 행동 데이터를 통합하여 일관된 경험 제공.

클릭 앤드 콜렉트: 온라인 주문 후 오프라인 매장에서 상품 수령.

클라우드 컴퓨팅, 증강 현실 (AR),  사물 인터넷 (IoT), 결제 기술, 로봇 프로세스 자동화 (RPA) 등이 디지털 전환에 필요한 주요 기술로 여겨집니다.

마치며

디지털 전환을 마케팅 관점으로 좁혀서

디지털 전환을 검색하면 정말 방대한 의미의 내용들이 나옵니다. 클라우드 컴퓨팅, 인공지능(AI)과 머신러닝(ML), 빅데이터 분석, 사물인터넷(IoT), 블록체인, 사이버 보안 등이 대표되는 단어죠.

Text Color and Bold Change 다만 제가 컨설팅을 하며 만나본 회사들의 니즈는 이보다는 뾰족한 경우가 많았습니다. 인플루언서 마케팅의 성과를 측정하고 싶다거나, 메시지를 자동으로 발송하고 싶다거나, 고객들을 특정 행동 기준으로 그룹화하고 싶다거나, 배너의 성과를 보고 싶다거나...

생각해 보면 그로스 컨설팅이라고 꼭 디지털 전환이 완료된 상황에서만 될 수 있는 것은 아닙니다. 어느 영역의 디지털 전환이 그로스 컨설팅의 실행 방안이 될 수도 있는 것이죠.

Chat GPT가 생활화되고 AI에 대한 기사가 쏟아지는 요즘이지만, UTM을 잘 쓰는 것도 생각보다 어렵습니다. 디지털 전환을 위해 AI 도입보다 먼저인 것들이 있지 않을까요?

ANALYSIS_image_thumbnail
GROWTH

[코호트분석] 올바른 코호트 분석 방법

August 30, 2024

이 글을 읽고 계시다면 코호트 분석을 이미 하고 계실 건데 측정 기준에 대해서 의문이 생기신 분이 보실 것 같네요

구글에 '코호트 분석 SQL' 라고 검색하면 정말 많은 글들이 많습니다.

글에서 소개하는 쿼리 예시는 대부분 datediff함수를 활용해서 Date Granularity를  계산합니다.

이해하기 쉽게 예를 들어보겠습니다. 

유저 1 : 23:30 에 회원가입 후 다음날 다시 들어왔습니다. 

유저 2 : 13:30에 회원가입 후 다음날 다시 들어왔습니다.

day 단위로 계산을 하면 유저 1 은 우리 서비스를 30분 경험하고 다음날 재방문했다고 계산됩니다. 

유저 2는 약 10시간 30분 서비스를 경험하고 재방문을 했다고 계산됩니다. 

동일한 조건일까요? 그렇지 않죠? 

만일 시간 단위로 계산을 하게 되면 특정 행동을 수행한 시간부터 다음 행동까지의 Time window를 24시간 뒤로 하면 이 유저는 다음날이 아닌 모레 재방문했다고 계산되겠죠? 

DATEDIFF( [first_event_dt], [second_event], DAY )

DATEDIFF( [first_event_dt], [second_event], HOUR ) / 24 )

 

월단위로 계산할 때도 마찬가지입니다.

 

월별 일자수가 모두 다릅니다. 1월(31일), 2월(28일), 4월(30일)... 

 

월 단위로 측정할 때도 30일로 모두 통일해줍니다. 

DATEDIFF( [first_event_dt], [second_event], HOUR ) / 24  * 30)

 

이렇게 계산되면 유저별로 경과 시간은 모두 통일 되었습니다!!

 

실제로 Amplitude(앰플리튜드)의 코호트 분석 기능에는 이런 기능들이 존재합니다.  만약 안 쓰고 계시다면 직접 쿼리를 날려서... 

 

여기 가이드를 보시면 앰플리튜드가 24시간 단위로 경과 시간을 측청 하는 방식을 설명해 두었습니다. 

Amplitude 24시간 단위 경과 시간 측정 방식 유저 가이드 북마크 이밎

 

앰플리튜드 24시간 단위 경과 시간 설정 화면
앰플리튜드 화면 캡쳐

 

24시간 윈도우 기준, 캘린더 기준으로 경과 시간(t)을 측정하는 옵션이 있죠? 

 

얼마나 차이를 보였는지 가상의 데이터로 확인을 해보았습니다. 

 

(참고로 더미 데이터는 kaggle 이나 Mockaroo 에서 생성하실 수 있습니다)

 

참고로 해당 데이터 계산 기준은 월별 첫 구매 기준 재구매율입니다. 

 

월별 첫 구매 기준 재구매율 기준 리텐션 비교

 

t = 1 지점부터 차이를 보이기 시작하는데 t = 0 이 100%라서 차이가 잘 안 보입니다. 로그 스케일을 통해 다시 확인해 보면 

 

월별 첫 구매 기준 재구매율 기준 리텐션 비교, 로그 스케일로 확인한 그래프

 

확실히 달력 기준의 리텐션율이 조금 더 높아 보이네요 

 

얼마나 차이 나는지 두 기준의 리텐션율을 나눠 보겠습니다 최대  1.27배까지 납니다. (아래 차트에서는 0은 무시합니다. t = 0 은 100%이기 때문에)

 

t = 1 : 1.15배

t = 22 : 1.27배

 

달력(day) 기준과 24시간 기준 리텐션율

 

데이터에 따라서 차이가 달라지겠지만 

 

코호트의 기준이 만일 회원가입일 기준의 재구매율이거나 회원가입일 기준 재방문율을 측정한다면 더 많은 차이를 보일 수 있을 걸로 예상됩니다. 

 

제가 사용한 쿼리는 아래와 같습니다.

WITH tb_pay_first AS (
        SELECT country
                ,user_id
                ,min(pay_datetime_id) first_pay_datetime_id
        FROM order
        GROUP BY 1,2

)

, tb_base_ AS (SELECT  st0.*
                    , FLOOR(TIMESTAMPDIFF(HOUR, st1.first_pay_datetime_id, st0.pay_datetime_id) / 24) AS days_since_first_pay
                    , FLOOR(TIMESTAMPDIFF(HOUR, st1.first_pay_datetime_id, st0.pay_datetime_id) / (24 * 30)) AS months_since_first_pay_period_24h
                    , (YEAR(pay_datetime_id) - YEAR(first_pay_datetime_id)) * 12 + (MONTH(pay_datetime_id) - MONTH(first_pay_datetime_id)) AS months_since_first_pay_period_day
                    , st1.first_pay_datetime_id
            FROM order st0
            LEFT JOIN tb_pay_first st1
                ON st0.user_id = st1.user_id
                AND st0.country = st1.country
            WHERE 1 = 1

)

, tb_base_24h AS (
                SELECT time_id_
                        , country
                        , since_time_period_24h
                        , CASE 
                            WHEN 'acc' = 'normal' THEN SUM(SUM(IF(since_time_period_24h = max_since_time_period_24h, repurchase_user_cnt, 0))) OVER 
                                (PARTITION BY time_id_, country ORDER BY since_time_period_24h DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
                            ELSE SUM(repurchase_user_cnt)
                            END AS repurchase_user_cnt
                        , count(1) pay_user_cnt
                        , sum(sales) AS sales

                FROM   (SELECT *
                                , CASE WHEN since_time_period_24h = 0 AND pay_cnt > 1 THEN 1
                                        WHEN since_time_period_24h = 0 AND pay_cnt <= 1 THEN 0
                                        ELSE 1 
                                    END AS repurchase_user_cnt
                                , MAX(since_time_period_24h) OVER (PARTITION BY country, user_id) as max_since_time_period_24h
                        FROM
                                (SELECT tmp0.time_id_
                                        , tmp0.country
                                        , tmp0.since_time_period_24h 
                                        , tmp0.user_id
                                        , SUM(tmp0.pay_cnt) AS pay_cnt
                                        , SUM(tmp0.sales) AS sales
                                FROM 
                                        (SELECT DATE_FORMAT(first_pay_datetime_id ,'%Y-%m-01') time_id_
                                                , country
                                                -- , months_since_first_pay_period_day AS since_time_period_day
                                                , months_since_first_pay_period_24h AS since_time_period_24h
                                                , user_id
                                                , COUNT(distinct order_id) AS pay_cnt
                                                , SUM(sales) as sales
                                        FROM tb_base_
                                        -- WHERE DATE_FORMAT(first_pay_datetime_id ,'%Y-%m-01') >= '2023-01-01'
                                        GROUP BY 1,2,3,4) tmp0
                                GROUP BY tmp0.time_id_
                                        , tmp0.country
                                        , tmp0.since_time_period_24h 
                                        , tmp0.user_id
                                ) tmp
                                    ) tmp1
                GROUP BY time_id_ 
                        , country
                        , since_time_period_24h
)

, tb_base_day AS (
                SELECT time_id_
                        , country
                        , since_time_period_day
                        , CASE 
                            WHEN 'acc' = 'normal'  THEN SUM(SUM(IF(since_time_period_day = max_since_time_period_day, repurchase_user_cnt, 0))) OVER 
                                (PARTITION BY time_id_, country ORDER BY since_time_period_day DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
                            ELSE SUM(repurchase_user_cnt)
                            END AS repurchase_user_cnt
                        , count(1) pay_user_cnt
                        , sum(sales) AS sales
                FROM   (SELECT *
                                , CASE WHEN since_time_period_day = 0 AND pay_cnt > 1 THEN 1
                                        WHEN since_time_period_day = 0 AND pay_cnt <= 1 THEN 0
                                        ELSE 1 
                                    END AS repurchase_user_cnt
                                , MAX(since_time_period_day) OVER (PARTITION BY country, user_id) as max_since_time_period_day
                        FROM
                                (SELECT tmp0.time_id_
                                        , tmp0.country
                                        , tmp0.since_time_period_day 
                                        , tmp0.user_id
                                        , SUM(tmp0.pay_cnt) AS pay_cnt
                                        , SUM(tmp0.sales) AS sales
                                FROM 
                                        (SELECT DATE_FORMAT(first_pay_datetime_id ,'%Y-%m-01') time_id_
                                                , country
                                                , months_since_first_pay_period_day AS since_time_period_day
                                                -- , months_since_first_pay_period_24h AS since_time_period_24h
                                                , user_id
                                                , COUNT(distinct order_id) AS pay_cnt
                                                , SUM(sales) as sales
                                        FROM tb_base_
                                        GROUP BY 1,2,3,4) tmp0
                                GROUP BY tmp0.time_id_
                                        , tmp0.country
                                        , tmp0.since_time_period_day 
                                        , tmp0.user_id
                                ) tmp
                                    ) tmp1
                GROUP BY time_id_ 
                        , country
                        , since_time_period_day
)


, cohort_base_24h AS 
                (SELECT time_id_
                    , country 
                    , since_time_period_24h
                    , repurchase_user_cnt
                    , pay_user_cnt
                    , sales
                    , SUM(sales) OVER w AS acc_sales
                    , FIRST_VALUE(pay_user_cnt) OVER w AS cohort_user_cnt
                    , COUNT(1) OVER (PARTITION BY country) AS cohort_cnt
                FROM tb_base_24h
                WINDOW w AS (PARTITION BY time_id_, country ORDER BY since_time_period_24h RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
                )
)

, cohort_base_day AS 
                (SELECT time_id_
                    , country 
                    , since_time_period_day
                    , repurchase_user_cnt
                    , pay_user_cnt
                    , sales
                    , SUM(sales) OVER w AS acc_sales
                    , FIRST_VALUE(pay_user_cnt) OVER w AS cohort_user_cnt
                    , COUNT(1) OVER (PARTITION BY country) AS cohort_cnt
                FROM tb_base_day
                WINDOW w AS (PARTITION BY time_id_, country ORDER BY since_time_period_day RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
                )
)


SELECT *
    , (pay_user_cnt * 100) / cohort_user_cnt AS retention_rate
FROM
            (SELECT 1 AS time_id
                    , country
                    , since_time_period_24h
                    , SUM(repurchase_user_cnt) AS repurchase_user_cnt
                    , SUM(pay_user_cnt) AS pay_user_cnt
                    , FIRST_VALUE(sum(cohort_user_cnt)) OVER(PARTITION BY country RANGE BETWEEN UNBOUNDED PRECEDING and CURRENT ROW) as cohort_user_cnt
            FROM cohort_base_24h
            GROUP BY 1
                    , country
                    , since_time_period_24h) tmp3

정리해 보면!

분석의 기준은 굉장히 중요합니다. 어떤 기준으로 분석하느냐에 따라서 의사결정 방향이 달라질 수 있겠죠? 

 

코호트 분석은 시간을 계산해서 집계하는 분석인만큼 시간의 기준을 제대로 설정하는 게 중요합니다. 

 

Text Color Change 달력 단위의 코호트 측정이 조금 더 실제로 과대 평가되기 때문에 유저별로 통일된 24시간 기준 으로 계산하여 코호트를 측정하는 것이 올바른 방법이라고 생각이 됩니다. 

 

저도 실제로 분석해 보면서 분석 기준의 중요성을 다시 한번 깨달을 수 있었습니다.

 

혹시 지금 day 단위로 코호트 활용해 재구매율을 측정하고 계신다면 24시간 단위로 계산해 보시면 어떨까요? 

 

 

Reference

https://medium.com/@paul.levchuk/how-to-build-user-cohort-properly-b70a74e5e1c8

ANALYSIS_image_thumbnail
GROWTH

MGS로 보는 2024 디지털 마케팅 트렌드

August 29, 2024

MGS란?

Modern Growth Stack, 모던 그로스 스택으로 디지털 마케팅 솔루션 에어브릿지(Airbridge)와 브레이즈(Braze), 앰플리튜드(Amplitdue) 등을 다루는 AB180이 개최하는 디지털 마케팅 세미나입니다.

https://www.moderngrowthstack.com/speaker

모던 그로스 스택 2024 MGS 스피커 확인페이지 북마크

이번 MGS 2024는 'FUTURE OF GROWTH'라는 주제로 2024.07.31 (수) 9시부터 18시까지 서울 코엑스 1층 그랜드볼룸 & 2층 아셈볼룸에서 진행됩니다.

디지털 마케팅 세미나

디지털 마케팅 분야에서 MGS만큼 큰 규모로 개최되는 세미나는 3개+ 정도 있습니다.

1. MGS: Modern Growth Stack by AB180

2. The Maxonomy by CJ Maxonomy

3. MAX Summit by 모비데이즈(MOBIDAYS)

2022년에는 맥스서밋에서 발표를 했었고("온택트 시대, 푸드 테크 기업의 新 마케팅 전략"), 2023년에는 The Maxonomy에서 마티니의 발표 자료("마케팅하는데 개발이 왜 문제일까?")를 만들었고 2024년은 MGS에 마티니의 일원으로 참가하는데요.

MGS와 같은 대형 세미나를 가면 보통 한 장소에 홀이 여러 개 (main, sub1, sub2...) 있고 세션이 나눠서 진행됩니다. 관심사에 맞는 세션을 들으러 시간마다 자리를 이동하곤 하고요.

MGS 2023, Breakout Hall 2의 오프라인 타임테이블
MGS 2023, Breakout Hall 2의 타임테이블

MGS 2023 세션 현장 모습
MGS 2023 세션 중

MGS 2024 주제 및 연사진 소개 이미지
MGS 2024 주제 및 연사진 소개

세션은 다양합니다.

인하우스(브랜드나 플랫폼)에서 마케팅 전략 및 실행안에 대한 인사이트를 나눌 때도 있고 솔루션사(Amplitude, Braze, Airbridge 등 PA, CRM, MMP Soltuion)에서 솔루션의 이점에 대해서 말하기도 하고요. 광고 플랫폼이나 대행사, 컨설팅사 등 주제와 연사도 다양하고 그에 따라 내용과 난이도도 다채롭습니다.

2024년 연사진만 슬쩍 봐도 구글(Google), 메타(Meta), X(엑스: 구 트위터 twitter), 커니(Kearny) 등의 광고 플랫폼들과 컨설팅사 및 29CM 등의 인하우스 눈에 띄네요.

2024 디지털 마케팅 트렌드

디지털 마케팅 분야에서 유명한 AB180, CJ Maxonomy, 모비데이즈가 개최하는 세미나들인 만큼 운영하는 세션의 주제만으로도 트렌드를 파악하기 충분합니다. 오늘은 MGS 2024의 세션을 통해 최근의 마케팅 트렌드가 무엇인지 알아보려고 합니다.

우선 AB180측에서 분류해 둔 키워드는 #글로벌, #애드테크·마테크, #트렌드 #프라이버시 #게임 #제품분석 #AI #MMP #UA #크리에이티브 #풀퍼널마케팅 #CRM #수익화 등입니다.

MGS 2024 마케팅 트렌드 키워드 분류 이미지

키워드가 좀 많다 보니, 세션들을 확인하고 좀 더 포괄적으로 공통되는 주제로 분류하자면 아래 4개의 카테고리 정도입니다. 관련 주제에 어떤 세션들이 준비되어 있는지 짚어봅니다.

*파란 글씨는 개인 의견입니다.

1. AI와 데이터 분석

2. 고객 관계 관리 (CRM)

3. 광고 기술 (AdTech) 및 마케팅 기술 (MarTech)

4. 성장(Growth) 전략, 트렌드 및 혁신

1. AI와 데이터 분석

디지털 마케팅에서 이제 인공지능(AI)이 빠질 수 없겠죠. AI로 마케팅에 들어가던 인풋을 줄여주거나 성과를 개선하거나 데이터를 활용하는 내용 위주인 듯합니다.

✅ AI 시대의 마케팅 성과 극대화를 위한 측정 및 운영 전략

이주원 Meta | Head of Marketing Science, Korea

*광고 플랫폼으로 '배너 광고하면 Meta'는 정말 견고하죠. 배너 광고하면 Meta를 빼고 갈 수는 없으니까요. 메타 광고를 세팅하면 노출 등의 효율 최적화를 위해 머신러닝이 도는 시간이 필요하다는 이야기를 많이 했는데, 새로운 측정 및 운영 전략이 나올지 궁금합니다...!

https://ko-kr.facebook.com/business/ads

Meta 메타 광고 설명 페이지 - 페이스북 메타 북마크

✅ ‘초개인화’ 광고 시대, AI 시대 기업들의 선택과 집중은?

안재균 Moloco | 한국 지사장

*몰로코 또한 광고 플랫폼입니다. 퍼포먼스 광고 및 광고 수익화 솔루션을 제공합니다.

https://www.moloco.com/ko

몰로코 Moloco 홈페이지 북마크

✅ Automating App Store Optimization with Generative AI

Andy Carvell Phiture | CEO

*그로스 컨설팅사/대행사입니다. 생성형 인공지능(Generative AI)을 통해 앱스토어 최적화 (ASO)를 자동화하는 방식에 대해 설명하는 세션인 듯합니다. 웹에서 트래픽을 만드는 데 SEO가 필수적인 것처럼, 앱에서의 ASO도 마찬가지로 중요하죠.

https://phiture.com/

모바일 그로스 컨설팅 에이전시 Phiture 홈페이지 북마크

✅ '감'이 아닌 '데이터'로 : Snowflake로 데이터 기반 인사이트 발견하기

이수현, Snowflake | 테크 에반젤리스트

*데이터 클라우드를 다루는 스노우플레이크의 세션입니다.

https://www.snowflake.com/ko/

데이터 클라우드 | 스노우 플레이크 Snowflake Korea 홈페이지 북마크

✅ Supercharge Market Conversions Through AI

Adrien Kwong, Xtend | Chief Commercial Officer

✅ 트위터에서 X로의 진화

신창섭 X 코리아 | 대표

*일론머스크가 파랑새 트위터를 인수하여 X로 바꾸고, 유료화를 진행한다는 소식 외에도 팔로워 N명 이상인 인플루언서들에게 수익을 배분하는 등의 새로운 기능을 도입하였는데 이에 대한 이야기일까 궁금하네요.

2. CRM 마케팅, 고객관계관리

CRM: Customer Relationship Management 고객관계관리라는 아주 넓은 의미의 단어로 통용되고 있는 CRM 마케팅은 사용자와 닿는 메시지(팝업 배너, 앱푸시, 카카오톡, 문자, 이메일 등) 위주인데요.

퍼포먼스 마케팅보다는 비용 효율적이고(ex. 광고 소재 클릭당비용 보다는 카톡 발송 비용이 더 저렴한 경우), 웹/앱에서 사용자 행동 기반 개인화가 가능해 그로스해킹/그로스마케팅의 방법론으로도 많이 활용됩니다.

✅ 2024’s Breakthrough Trends & strategies for Customer Engagement

고주연, Braze | Area Vice President of Korea

*브레이즈 한국에서 CRM 솔루션으로 가장 인지도 높은 툴이죠. 한 개의 CRM 캠페인 내에서 여러 갈래의 시나리오로 쪼개어 맞춤형 메시지를 발송할 수 있다는 장점이 큽니다.

✅ "우리 잘하고 있는 건가?": CRM 마케터들이 궁금해하는 고민과 해결방안

이건희, 마티니 | 팀장

*마티니에서 수많은 회사들을 만나며 다수가 공통되게 CRM에 관련하여 고민했던 부분들을 모아서 설명하신다고 해요.

✅ 데이터를 성과로 바꾸는 그로스마케팅 - 실험과 개인화를 중심으로

조형구/강하은, 29CM | Growth Marketer

*특정 브랜드/카테고리의 매출을 개선시키기 위한 크로스 채널 전략과 마케팅 퍼널 관점에서의 개인화 캠페인 사례, 데이터 대시보드를 활용한 분석과 기획 등이 위주로 개인화 캠페인이 CRM 관련 사례일 듯합니다.

✅ 버거킹도 Amplitude를 쓴다고? 어떻게 쓰는데?

최동훈, Amplitude | Senior Korea Partner Sales Manager

이재철, 마티니 | 팀장, 이형일, BKR | 이사

*마티니와 버거킹이 앰플리튜드를 도입하고 고도화해 고객의 행동(구매 등) 패턴을 분석하고 이를 브레이즈 기반의 CRM 캠페인으로 풀어나가는 과정에 대한 세션입니다.

✅ 전체론적 마케팅의 부상: Everything Matters운영을 넘어 통합 마케팅 전략으로 고객 성공을 이끌다

조경상, NNT | CEO

*퍼포먼스 마케팅과 CRM, 데이터 엔지니어링, 크리에이티브 테스트 등 다양한 마케팅 수단을 다뤄주실 듯합니다.

✅ 게임회사에서 A-Z 그로스로 론칭하기

민병철, PIEDPIXELS | 사업 이사

✅ 실시간 데이터로 고객을 사로잡는 풀퍼널 마케팅 전략

오담인, 윤정묵, 장소영, 김형준, AB180 & Airbridge | Customer Success Team

3. 애드테크(Adtech)와 마테크(Martech)

애드테크는 Advertisement+Tech, 마테크는 Marketing+Tech로 광고와 마케팅에 있어 기술을 접목한 형태를 말합니다. 웹이나 앱에서의 성과 측정 및 사용자 행동 분석 등에 필요하죠.

✅ 좋은 MMP가 주는 좋은 경험

정헌재, AB180 & Airbridge | CPO

*MMP는 Mobile Measurement Partners로 모바일, 앱(App)으로 전환되는 성과 측정을 도와주는 툴입니다. 앱스플라이어(Appsflyer), 에어브릿지(Airbridge), 애드저스트(Adjust) 등이 있습니다.

✅ 1P Data의 시대, 지금 토스애즈에 주목해야 하는 이유

김형빈, Viva Republica (Toss) | 부문장

*웹에서의 사용자 행동을 추적할 수 있었던 쿠키(Cookie)가 사라지면서 쿠키리스 시대 = 1p, 1st party가 중요해지는 시대가 왔습니다. 토스의 경우 엄청난 사용자 모수와 함께 그들이 '결제 데이터'를 가지고 있으므로 타겟팅에 유리할 수밖에 없겠죠?

✅ Shaping Android’s Privacy Sandbox

Pan Katsukis, Remerge | Co-Founder & CEO

✅ 프로덕트 애널리틱스를 활용한 비즈니스 성장 가속화 전략

호명규, Amplitude | 한국영업총괄

진겸, 당근 | 팀장

원하윤, Liner | PM

✅ 현대카드 광고 미디어믹스 최적화 모델 : 광고비, 어디에 얼마를 투자해야 하는가?

김동훈, 도소희, 현대카드 | Online Marketing

*현대카드의 미디어믹스는 얼마나, 어떻게 다를까요? 예산을 최적화하는 AI모델링 시스템을 구축한 일련의 과정을 소개한다고 하여 기대 중입니다!

✅ 딜라이트룸과의 파이어사이드 챗: 모바일 수익화 성과를 높이는 방법

Bob Wang, PubMatic | Country Manager, Greater China & Korea

이승제, 딜라이트룸 | Product Owner, BD Lead

✅ Data for Everyone: 모두가 함께하는 데이터 마케팅

김나은, AB180 & Airbridge | VP of Growth

최동훈, Amplitude | 한국비즈니스총괄

최준호, Braze | Partner Sales Director

이수현, Snowflake | Tech Evangelist

✅ 앱 스토어 데이터 마이닝을 통한 우리 사용자 행동 분석

윤가비, Apptweak | 한국 지사장

*웹에서 SEO가 중요한 만큼 앱에서는 ASO 또한 중요한데요. (App Store Optimization) 앱트위크는 앱스토어 최적화를 위해 현황을 점검하고 키워드를 찾는 등 필요 요소들을 모두 확인하기 좋더라고요.

4. 성장(Growth) 전략, 5. 트렌드 및 혁신

#글로벌, #애드테크·마테크, #트렌드 #프라이버시 #게임 #제품분석 #AI #MMP #UA #크리에이티브 #풀퍼널마케팅 #CRM #수익화

그로스마케팅, 그로스해킹, 그로스전략은 아직까지도 유효한 트렌드인 듯합니다. 그렇지만 결국 그로스를 이뤄내기 위해서는 조금 더 세부적인 부문의 실행 방안들이 필요합니다.

실행방안 #풀퍼널 #제품분석 #UA #크리에이티브 #CRM #수익화

사용자 여정의 풀퍼널(Full-Funnel)과 제품을 분석했을 때 프로덕트의 상황에 따라 UA(User Acquisitio, 신규 사용자 획득)에 초점을 맞춰야 할 수도 있고, 크리에이티브를 다변화하며 소재 A/B테스트를 운영해야 할 수도 있고, CRM을 통해서 사용자들에게 다음 단계 혹은 리텐션을 유도해야 할 수도 있고, '구매 전환'을 통한 수익화를 최우선으로 해야 할 수도 있습니다.

.

.

.

Text Formatting

2024 디지털 마케팅의 트렌드는 AI 및 애드테크, 마테크의 기술적 고도화에 의한 업무 및 성과 효율의 개선이라고도 볼 수 있겠으나 사실 가장 중요한 것은 '우리 회사는 무엇이 문제가 되는 상황이고, 어떤 단계인지'를 데이터 기반으로 객관적으로 판단하는 것이라 생각합니다.

2024 디지털 마케팅 트렌드
AI와 애드테크/마테크의 고도화

남들이 말하는 트렌드보다는 우리의 문제에 집중하기!

최근에 작은 브랜드를 운영하시는 대표님을 만나 뵌 적이 있었는데, 정말 열심히 하는 분이었습니다. 주말이면 온갖 웨비나와 세미나를 섭렵하시고 책도 읽고 강의도 들으시더라고요. 마케팅이 아닌 다른 부문에서 한평생 일하시다가 중장년의 나이에 공부를 하다 보니 따라가고 싶어 노력하신다 하셨어요.

이런저런 이야기를 하다가 저는 대표님께, 이제는 그만 듣고 또 공부하고 그냥 해야 할 때라고 말씀드렸습니다. 지금 수능 보고 낮은 점수받기 싫어서 계속 인터넷 강의 듣는 N수생 같다고요.

할 때는 해야 합니다. 다만 남들이 이미 풀어본 문제를 어떻게 푸는지 알고 가면 좋겠죠. 그 방식이 꼭 나에게도 맞을 거라는 보장은 없지만, 그래도 참고하면 방향성을 잡기에는 훨씬 수월하니까요. 그래서 디지털 마케팅 세미나들이 꽤 유용하지 않나 싶습니다.

ANALYSIS_image_thumbnail
GROWTH

에어브릿지의 이벤트 구조 이해하기 (vs. GA4)

August 26, 2024

에어브릿지(Airbridge)는 데이터 수집부터 마케팅 성과 분석까지 하나의 대시보드에서 진행하는 마케팅 성과 분석 솔루션(MMP)으로, 라스트 터치 어트리뷰션, 멀티 터치 어트리뷰션, 마케팅 믹스 모델링 등 다양한 방법으로 앱과 웹사이트의 마케팅 성과를 함께 분석할 수 있는 통합 마테크 솔루션입니다.

오늘날 MMP 솔루션은 광고주들에게 필수적으로 사용되고 있습니다. 에어브릿지 역시 그 중 하나로, 별도의 연동 없이 통합된 데이터 분석과 어트리뷰션이 가능한 것이 강점입니다.

에어브릿지의 이벤트 구조는 타 플랫폼에 비해 비교적 복잡하기 때문에 이전에 GA4 및 타 분석 솔루션만을 사용하다 에어브릿지를 처음 접했다면 다소 혼란스러울 수 있습니다. 저 역시 꽤 헤맸던 것 같습니다.

이러한 계기로 에어브릿지 택소노미를 설계할 당시 이벤트 구조를 이해하는 데 실제로 도움이 됐던 자료들과 GA4의 구조를 비교하여 전체적인 구조를 설명드리고자 합니다.

에어브릿지 공식 가이드

에어브릿지의 이벤트 및 어트리뷰트 호출 코드의 작성 방법은 아래 세 가지 경로를 통해 확인하실 수 있습니다.

1. 에어브릿지 유저 가이드(Airbridge Help Center)

유저 가이드를 통해서도 코드를 작성하는 데에는 문제가 없지만 2번 자료의 코드 구조가 비교적 효율적이므로 가급적 2번 자료를 참고하시는 것을 권장드립니다.

에어브릿지 유저 가이드 - 이벤트 구성요소 | Airbridge Help Center

2. AB180 깃허브(Github)

1번 유저 가이드의 코드 예시 보다 더욱 상세한 전체 코드를 확인하실 수 있습니다.

AB180 깃허브 (Github)

3. 유저 가이드 및 에어브릿지 공식 문서(Data Spec)

에어브릿지에서 제공하는 Event와 Attribute의 목록과 상세 정보들을 확인하실 수 있습니다.

에어브릿지 이벤트 종류 | Airbridge Help Center
Airbridge Data Spec (Public)

에어브릿지 이벤트 구조 - 1

Text Example

카테고리(Category), 액션(Action), 라벨(Label)

에어브릿지 이벤트 구성 요소에는 카테고리(Event Category), 액션(Event Action), 라벨(Event Label), 밸류(Event Value), 어트리뷰트(Attribute), 트리거(Trigger)가 있습니다.

다소 복잡해 보이지만 조금만 들여다보면 이해하기 쉽습니다.

에어브릿지 이벤트 구성 요소 설명 이미지

위 이벤트 구성 요소의 개념들이 조금 생소하신 분들은 GA4의 예시로 보면 이해하기 쉽습니다.

(GA4의 Metrics & Dimension에 대한 기본 개념이 궁금하신 분들은 관련 자료를 참고해 주세요)

Text Example

GA4 vs. Airbridge

- GA4 보고서

GA4 보고서 예시 이미지

- Airbridge 보고서

Airbridge 보고서 예시 이미지

GA4의 측정기준(Dimensions)이 에어브릿지의 카테고리, 액션, 라벨의 역할을 하고,

측정항목(Metrics)이 에어브릿지의 밸류의 역할을 한다고 비교해 볼 수 있습니다.

Text with Underline

단, 액션과 라벨은 카테고리의 하위 속성으로서 리포트에서 확인 가능한 데이터로, 필요 시 선택적으로 세팅할 수 있습니다.

GA4와 Airbridge 구조 차이를 설명하는 이미지 표

예를 들어, 의류를 판매하는 모 기업의 마케팅 담당자가 구매 이벤트 발생 시 아래와 같은 항목들의 데이터를 수집한다고 가정합니다.

Purchase

{주문일자}
{브랜드명}
{제품명}
{색상}
{수량}

모두 시맨틱 어트리뷰트로 수집 가능한 항목들이지만 어트리뷰트의 경우 에어브릿지 리포트에서 확인할 수 없기 때문에 CDP와 같은 고객DB에 접근하거나 별도의 솔루션으로 전처리하여 확인해야 합니다. 이런 경우 유용하게 쓰일 수 있는 항목이 액션과 라벨입니다.

만일 자주 사용하는 어트리뷰트 항목을 에어브릿지의 리포트와 대시보드에서 활용하고자 한다면 어트리뷰트 항목을 액션과 라벨에 세팅하여 어트리뷰트에 대한 데이터를 리포트에서도 확인할 수 있습니다.

다시 말해, 1개의 카테고리2개의 어트리뷰트(액션, 라벨)에 대한 통계를 에어브릿지의 리포트와 대시보드에서 쉽고 빠르게 확인할 수 있습니다.

- Category: Purchase
- Action: {브랜드명}
- Label: {제품명}

아래 이미지는 스탠다드 이벤트 중에서 일정 예약 이벤트(airbridge.subscribe)의 예시입니다. 일정을 예약한 지역은 액션 또는 라벨로 수집할 수 있으며, 시맨틱 어트리뷰트를 활용하면 예약한 ID(scheduleID)와 예약일시(datetime)를 수집할 수 있습니다.

스탠다드 이벤트 중 일정 예약 이벤트(airbridge.subscribe) 예시 이미지

에어브릿지 이벤트 구조 - 2

Text Example

밸류(Value)

밸류는 에어브릿지 이벤트가 수집한 숫자를 계산에 이용하기 위해서 선택해야 하는 구성요소입니다. 에어브릿지 이벤트의 밸류로 수집된 숫자만 계산에 이용할 수 있습니다. 밸류로 소수점 9자리 이하 숫자까지 수집할 수 있습니다.

예를 들어, 레비뉴 리포트(Revenue Report)에서 판매한 제품의 가격을 더해 전체 판매 가격을 계산하거나 디지털 서비스의 구독료를 전부 합해서 전체 구독료를 확인하기 위해서는 밸류를 반드시 이벤트 구성요소로 사용해야 합니다.

또한, 밸류로 수집된 데이터는 밸류로 수집된 다른 데이터와 계산할 수 있습니다. 액션이나 라벨로 수집된 데이터는 계산에 활용할 수 없습니다. 그러나 이벤트 발생 횟수는 밸류 사용 여부와 상관없이 확인할 수 있습니다.

예시) 구매 완료 이벤트

구매 완료 이벤트 예시 이미지

위 예시와 같이 액션과 라벨, 밸류 모두 숫자로 수집한다고 하더라도 밸류로 수집한 데이터만 계산할 수 있으며, 액션과 라벨로 수집한 데이터는 계산할 수 없습니다. 예시에서는 구매 완료 이벤트의 밸류로 수집한 데이터를 더해서 30,000이라는 수치를 얻을 수 있습니다.

Text Color Change

단, 카테고리(이벤트)와 동일하게 이벤트가 발생한 횟수는 확인할 수 있습니다. 구매 완료 이벤트의 액션 중에서 1,000이라는 속성이 2번 발생한 것을 에어브릿지 리포트에서 확인할 수 있습니다.

매출 관련 데이터는 속성으로 수집하는 것이 일반적이나, 에어브릿지의 경우에는 Attribute가 아닌 Value로 수집합니다. 즉 밸류에는 보통 구매액이 들어가고, 어트리뷰트에서는 기타 정보들을 수집합니다.

에어브릿지의 매출 관련 데이터 수집 화면

Semantic Attribute로 사용할 수도 있지만, Actuals Report나 Revenue Report에서는 이벤트 밸류에 Semantic Attribute의 isRevenue 값을 True로 설정한 카테고리(이벤트)로부터 발생한 매출액(Value 값)을 기준으로 확인하기 때문에 이는 적절하지 않습니다. (설정 가능한 Revenue 이벤트 수: 최대 5개)

Revenue Report 내 이벤트 벨류 예시 이미지

Revenue 이벤트를 설정할 때 한 가지 유의할 점은 Revenue의 구조가 다양한 서비스일 경우(전환 포인트: 포인트 충전, 제품 결제, 광고 충전 포인트 등), Revenue Report에서 확인할 최종 전환 기준 한 가지를 선정하셔야 합니다.

만일 아래와 같이 구매 완료 시 2개의 매출 관련 이벤트가 동시에 호출되고 2개의 이벤트 모두 Revenue 이벤트로 설정한 경우 중복집계가 될 수 있기 때문입니다.

예시)

- 주문 완료 이벤트 발생 시 단위별 이벤트 동시 호출

  • airbridge.ecommerce.order.completed (주문서 단위 1건 로깅) > isRevenew(True)
  • confirm_item_order_completed (주문서 내 제품 단위 1건 로깅) > isRevenew(True)
Text Color Change

1건의 매출(=1만원) 중복 발생(=2만원)

매출액 집계 기준을 제품 단위로 볼지, 주문서 단위로 볼지 결정하고 결정된 하나의 카테고리(이벤트)에 isRevenue를 세팅해야 중복집계를 방지할 수 있습니다.

따라서 Revenue로 집계할 이벤트와 기타 매출 관련 데이터를 집계해야 하는 이벤트를 별도로 관리하시는 것을 권장드립니다.

에어브릿지 이벤트 구조 - 3

Text Example

어트리뷰트(Attribute)

GA4와 Airbridge의 이벤트 속성명 정의의 차이 비교 표

각 카테고리(이벤트)에는 다양한 속성 정보가 수집되는데, 플랫폼마다 정의하는 '속성명'이 상이합니다. GA의 경우 Parameter, 에어브릿지의 경우 Attribute로 정의합니다. 이벤트(카테고리)명 역시 GA4의 경우 Event, 에어브릿지의 경우 Standard Event라고 정의합니다. 각 플랫폼별로 기본적으로 제공되는 속성들이 있으며, 에어브릿지의 경우 Data Spec에서 확인이 가능합니다.

Text Color Change

단, 현재 버전의 SDK에서 제공되지 않는 일부 항목들도 포함되어 있으므로 명확한 확인이 필요합니다.

Airbridge Event

  • 스탠다드 이벤트: 에어브릿지는 주요 유저 행동 25개를 선정해 미리 정의한 이벤트
  • 커스텀 이벤트: 앱 서비스에 맞는 광고 성과를 추적하기 위해 스탠다드 이벤트에 해당하지 않는 유저의 행동을 새로 정의한 이벤트

Airbridge Attribute

  • 시맨틱 어트리뷰트: 에어브릿지가 수집하는 데이터를 미리 정한 어트리뷰트
  • 커스텀 어트리뷰트: 에어브릿지 사용자가 수집하기 위해서 새롭게 정의한 어트리뷰트

Text Color Change 한 가지 유의사항이 있다면, 에어브릿지 커스텀의 경우 원본 데이터 추출에서 수집된 모든 속성 데이터가 같은 칼럼에 담긴 상태로 확인이 가능 합니다. 아래 실시간 로그에서 형태를 확인하실 수 있습니다.

Airbridge의 앱 이벤트 실시간 로그 화면

따라서 데이터의 수집 구조를 충분히 고려하여 분석 환경을 구축해 놓는 것이 좋습니다.

ANALYSIS_image_thumbnail
GROWTH

검색엔진최적화 SEO란?

August 23, 2024

구글에 내 콘텐츠 상위노출 시키는 법

앰플리튜드(Amplitude) Product Analytics, PA라고도 불리는 분석 솔루션 중 하나입니다. 구글에 '앰플리튜드'를 검색했을 시 스폰서(광고) 제외 두 번째 위치에 제 브런치의 글이 나옵니다. 어떻게 했을까요?

앰플리튜드 구글 검색 시 포스팅 상위노출을 확인할 수 있는 화면

https://brunch.co.kr/@marketer-emje/8

앰플리튜드(Amplitude), 왜 쓰는 걸까? 포스팅 북마크 이미지

상위노출 방법 전에 SEO의 개념을 먼저 훑고 갑니다!


SEO란?

Search Engine Optimization의 약자로, 검색엔진을 최적화한다는 뜻입니다. *검색엔진은 Google, Naver와 같이 '검색'을 통해 정보를 찾아주는 플랫폼이죠.

즉 SEO란 검색엔진에 노출되는 페이지를 최적화하여 상위 노출을 시키고, 특정 키워드를 검색한 사용자들이 상위 노출된 페이지를 보고 클릭하여 사이트에 '무료'로 유입될 수 있도록 하는 것을 말합니다.

사실 SEO 최적화라는 말은 Optimiziation의 뜻이 중복되는 말이지만, '최적화'가 가장 중요한 부분이니 만큼 강조된다고 생각할 수 있습니다.


SERP란?

SERP는 Searh Engine Result Page의 약자로 검색 결과 페이지라는 뜻입니다. 검색엔진에 특정 단어를 검색했을 시 노출되는 결과 페이지를 말합니다. 구글에 'SEO 최적화'를 검색했을 시의 SERP를 예시로 보면

1. 추천 스니펫 영역 2. 개별 사이트/페이지 노출 영역으로 구분되어 있네요. 구글 SERP의 구조 상, 스니펫은 없는 경우도 있고, 광고(sponsor)가 추가되는 경우도 많습니다.

seo 최적화 구글 검색 화면
구글에 'SEO 최적화'를 검색했을 때의 SERP


SEO가 중요한 이유

CPC가 O원입니다. 배너 광고나 검색 광고처럼 Click per Cost(클릭당 비용)이 발생하지 않습니다. 즉 SEO 최적화에 의해 상위노출된 페이지로 생기는 트래픽은 '무료'로 발생한다는 것이죠.

이는 마케팅에서 중요한 포인트입니다. 구글 검색광고나 네이버 검색 광고 중 경쟁 강도가 높은 키워드들의 경우 한 번의 클릭에 1, OOO원은 기본이며 비싸게는 1O, OOO원~2O, OOO원의 비용이 듭니다. (단 한 번의 클릭인데요! 심지어 그다음 단계로 전환될 것이라는 보장도 없습니다, 실수로 눌려서 예산은 소진됩니다.)

그런데 SEO 최적화로 상위노출이 되는 페이지들은, 맨 처음 페이지 제작에 들어가는 초기 비용을 제외하면 추가 비용이 들지 않습니다. 꾸준히 새로운 사용자가 유입되고, 트래픽이 발생합니다.

포스팅 조회수 증가 추세를 보여주는 예시 화면

앰플리튜드 관련 글은 4월에 조회수 2,000 > 5월에 조회수 3,000 > 7월에 조회수 4,000을 돌파했습니다.

다른 브런치 글들에 비하면 작게는 4배, 크게는 10배 차이입니다.

포스팅 목록 조회 화면, '앰플리튜드(Amplitude), 왜 쓰는 걸까?' 포스팅 조회수 4,301회

4,000건의 유입. CPC 단가 100원이었다면 광고비 40만 원의 성과

물론 미미한 숫자이지만 이렇게 생각하면 꽤 크지 않나요? 이런 자연 유입이 여러 키워드에서 잡힌다면 DAU/MAU에 꽤 유효하게 작용하게 됩니다.

클릭당비용(CPC) 외에 클릭률(CTR)을 본다면, 자연 영역에서 최상위 노출이 될 시 클릭률이 최대 53%에 달한다는 결과가 있었습니다. (*제가 사용자일 때도, 전 스폰서/광고가 걸린 페이지는 거의 안 누르긴 합니다.)

구글 검색결과페이지에 최상위 노출이 되면 좋은 점, 마티니 SEO 가이드 발췌


SEO 최적화와 상위 노출

SEO 최적화, 즉 검색엔진에 잘 맞는 페이지로 만들어줘야 상위노출이 잘 잡힙니다. 여기서 SEO 방법론은 몇 가지로 나눌 수 있습니다.

1. On-page SEO

웹사이트 내부에서 SEO를 최적화할 수 있는 요소입니다. 타이틀 태그와 메타 설명(meta description), 헤더 태그(header tag: H1, H2, H3...), 키워드 선정 및 사용, 콘텐츠 품질(이미지 포함), 링크 활용, 로딩 속도, 모바일 친화성 등이 있습니다.

내부에서 관리할 수 있는 영역인 것이지, 내부에서의 요소는 외부에도 고스란히 영향을 미칩니다. 무신사의 디스이즈네버댓 브랜드 페이지를 보면 내부에서 기재해 둔 텍스트가 구글 검색 시 동일하게 노출되는 것을 확인할 수 있습니다.

디스이즈네버댓 타이틀 태그와 메타 설명(meta description) 적용 예시 화면
디스이즈네버댓 구글 검색 결과 화면

2. Off-page SEO

웹사이트 외부에서 SEO를 최적화할 수 있는 요소입니다. 백링크(back-link), On-page SEO에서는 페이지 내에 링크를 걸었던 것과 반대로 링크가 걸림 '당하는 것'입니다. 검색엔진에서 노출에 있어 선호하는 신뢰도가 높은 사이트 등 다른 사이트에서 자신의 사이트로 연결되는 링크가 있으면 좋습니다. 이외 SNS 등의 소셜 미디어, 인플루언서 등의 활용이 있습니다.


콘텐츠 SEO와 테크니컬 SEO

제가 더 주요하게 소개하고자 하는 SEO 최적화 방법론은 콘텐츠 SEO와 테크니컬 SEO로 나눌 수 있습니다.

1. 콘텐츠 SEO

Boxed Text
콘텐츠 SEO = (1) 키워드 + (2) 콘텐츠 + (3) 메타데이터 최적화

콘텐츠 SEO에 주요한 요소는 키워드와 콘텐츠, 메타데이터입니다.

1-1. 키워드

키워드 최적화는 프로덕트/서비스와 사용자, 시장, 경쟁사(유사 서비스)에서 사용하는 키워드를 분석하고 활용하는 것이 중요합니다.

a. 프로덕트/서비스에서 사용하는 키워드

b. 사용자가 사용하는 키워드

c. 시장에서 사용하는 키워드

d. 경쟁사가 사용하는 키워드

키워드: 키워드 분석 설명 장표, 마티니 SEO 가이드 발췌

1-2. 콘텐츠

콘텐츠 최적화는 앞서 키워드 분석을 통해 선정한 주요 키워드 위주로 콘텐츠의 내용을 채우는 것과 콘텐츠의 형식을 구조화하는 것이 중요합니다.

a. 콘텐츠의 내용

  • 키워드 포함
  • 멀티미디어 활용 (영상, 사진)

b. 콘텐츠의 형식

  • 구조화 (html, 시맨틱 태그, 메타 태그)

콘텐츠 구조와 형식 설명 장표, 마티니 SEO 가이드 발췌

1-3. 메타 데이터

메타 데이터는 웹 페이지 관련 정보를 제공하여 검색 엔진 및 소셜 미디어 플랫폼 내 페이지의 표시 방식에 영향을 미칩니다.

메타 데이터(메타 태그) 최적화

메타 데이터는 웹 페이지의 정보와 속성을 설명하고 검색 엔진 및 소셜 미디어에서 공유할 때 사용되어, 사용자에게 페이지 내용을 이해시키고 검색 엔진이 페이지를 색인화하는 데 도움을 줍니다.

  • Title 태그 (Title Tag)
  • Meta Description 태그 (Meta Description Tag)
  • Meta Keywords 태그  (Meta Keywords Tag)
  • Link Canonical 태그 (Canonical Link Tag)
  • Meta Robots 태그 (Meta Robots Tag)
  • Meta Author 태그 (Meta Author Tag)

*HTML 구조는 웹 페이지의 레이아웃과 콘텐츠를 정의하고, 시맨틱 태그는 HTML 구조 내에 의미론적으로 중요한 부분을 강조하며 메타 데이터는 검색엔진과 사용자에게 그 정보를 제공하는 것입니다.

SEO 최적화에 영향을 미치는 HTML 태그 설명 장표, 마티니 SEO 가이드 발췌
SEO 최적화에 영향을 미치는 HTML 태그 설명 장표, 마티니 SEO 가이드 발췌

2. 테크니컬 SEO

Boxed Text
테크니컬 SEO = (4) 구조화된 데이터 + (5) 내부 링크 + (6) 외부 링크(백링크) + (7) 사이트 속도 + (8) 모바일 + (9) 보안 + (10) 분석과 모니터링

자사몰을 보유하고 있을 때는 위와 같은 요소들을 고려하는 것이 필요합니다. 다만 개인의 페이지일 때는 검색엔진에 따라 유리한 사이트들이 있습니다. 예를 들어 똑같이 글을 쓰는 플랫폼이라고 하더라도, '네이버'에서는 네이버 블로그만이 노출되는 것처럼 '구글'에서는 워드프레스, 티스토리, 브런치 등이 유리합니다.

구글 애널리틱스(Google Analytics)와 구글 서치콘솔을 활용한 분석 및 관리 설명 장표, 마티니 SEO 가이드 발췌


이걸 진짜 다 고려했나요? 네니요.

테크니컬 SEO ❌

신경 쓰지 않았습니다. 고려했다면 워드프레스 등으로 블로그를 구축했겠으나... 시간을 아끼고자 했습니다. 대신 구글 상위노출을 목표로는 브런치를, 네이버 상위노출을 목표로는 개인 블로그를 활성화시켰습니다.

콘텐츠 SEO ⭕

신경 많이 썼습니다! 키워드를 찾고, 선정하고, 글감을 목록화했습니다.

마티니 그로스팀 콘텐츠 리스트 노션 페이지 화면
마티니 그로스팀 콘텐츠 작성 시 구조 및 내용 구성 예시 화면


SEO 최적화를 위한 가이드를 한 번에

약 60장의 페이지에 꾹꾹 눌러 만들었습니다. 성함/이메일/회사의 정보를 입력해 주시면 다운로드하실 수 있어요!

마티니 (Martinee) SEO 가이드 장표 모음 이미지

https://featpaper.com/viewer/4HKU5W8xhmCy (클릭!)

마티니 Martinee SEO 가이드 Guide 2023 북마크
ANALYSIS_image_thumbnail
FULL FUNNEL

루커스튜디오로 퍼널 분석 차트 만들기

August 21, 2024

루커 스튜디오 인터렉티브 퍼널 분석 차트 만들기 표지
루커 스튜디오 인터렉티브 퍼널 분석 차트 만들기 | Looker studio

1. 루커 스튜디오 소개

루커 스튜디오(Looker Studio)는 구글에서 제공하는 강력한 데이터 시각화 도구입니다. 다양한 데이터 소스를 연결하여 직관적인 대시보드를 만들 수 있으며, 이를 통해 복잡한 데이터를 쉽게 이해할 수 있습니다. 특히, 마케팅, 영업, 운영 등 다양한 분야에서 유용하게 활용될 수 있습니다. 루커스튜디오가 궁금한 분들은 해당 글을 참고해주세요.

2. 인터랙티브 퍼널 차트?

인터랙티브 퍼널 차트는 사용자 행동을 단계별로 분석하여 시각적으로 표현하는 방식입니다. 특히, 마케팅 퍼널 분석에 유용하며, 고객이 제품이나 서비스를 구매하기까지의 과정을 시각화하여 각 단계에서의 전환율을 파악할 수 있습니다.

퍼널 분석에는 두 가지 전환율 분석 방식이 존재합니다:

  • Step Drop Off Type: 단계별 전환율을 분석하는 방식입니다. 각 단계에서 다음 단계로 넘어가는 비율을 확인할 수 있습니다.
  • Funnel Drop Off Type: 전체단계 기준 전환율을 분석하는 방식입니다. 시작점에서 각 단계별로 전환되는 비율을 확인할 수 있습니다.

이 두 가지 방식 모두 데이터의 절대값(absolute) 형태와 비율(rate) 형태로 나눠서 분석할 수 있습니다. 이를 통해 어떤 단계에 문제가 있는지 비교하면서 파악할 수 있습니다.

퍼널 분석을 통해 마케팅 전략의 효과를 검토하고 개선할 수 있는 인사이트를 얻을 수 있습니다. 예를 들어, 특정 단계에서 이탈율이 높다면 해당 단계의 문제점을 찾아 해결하는 방식으로 퍼널의 전반적인 전환율을 개선할 수 있습니다.

루커 스튜디오 인터렉티브 퍼널 분석 차트 만들기 | Looker studio

3. 퍼널 차트 만들기

인터랙티브 퍼널 리포트를 작성하는 단계는 크게 데이터 준비, 바 차트 생성, 차트에 인터랙티브 기능 추가로 나눌 수 있습니다.

3.1 데이터 소스 연결

먼저, 데이터 소스를 연결한 후 필요한 데이터를 정리합니다. 예시는 GA4 데모 데이터를 활용 하였습니다.

계산된 필드와 매개변수 설정이 필요합니다.

3.2.1. 데이터 준비 - 매개변수

아래 이미지에 활용할 매개변수 2가지를 만들어봅시다.

  • Drop-off type : Funnel 전환 기준을 선택하는 매개변수
  • Value type : Funnel 전환 절대값 / 비율을 선택하는 매개변수

데이터 준비 - 매개변수 | Looker studio
데이터 준비 - 매개변수 | Looker studio

Drop-off type
데이터 준비 - 매개변수 | Looker studio
데이터 준비 - 매개변수 | Looker studio

Value type
데이터 준비 - 매개변수 | Looker studio
데이터 준비 - 매개변수 | Looker studio

데이터 혼합을 이후에 활용할 예정입니다. 데이터 혼합에서 매개변수 사용을 위해서는 매개변수를 측정기준으로 아래와 같이 변경하는 작업이 필요합니다.

데이터 준비 - 매개변수 | Looker studio
데이터 준비 - 매개변수 | Looker studio

3.2.2. 데이터 준비 - 계산된필드

앞서 살펴봤던 매개변수의 계산된 필드 변환을 포함하여 3가지 측정기준을 만들어 줍니다.

Drop-off type dim
데이터 준비 - 계산된필드 | Looker studio
데이터 준비 - 계산된필드 | Looker studio

Value type dim
데이터 준비 - 계산된필드 | Looker studio
데이터 준비 - 계산된필드 | Looker studio

Funnel step order #

GA4의 전자상거래 5개 이벤트를 선택하고 해당 단계의 순서를 지정하는 이벤트를 만들어줍니다.

Looker Studio 코드 1


CASE 
 WHEN 이벤트 이름 = "add_to_cart" THEN 1
 WHEN 이벤트 이름 = "add_shipping_info" THEN 2
 WHEN 이벤트 이름 = "begin_checkout" THEN 3
 WHEN 이벤트 이름 = "add_payment_info" THEN 4
 WHEN 이벤트 이름 = "purchase" THEN 5
 ELSE NULL
END
        


       

데이터 준비 - 계산된필드 | Looker studio
데이터 준비 - 계산된필드 | Looker studio

3.2.3. 데이터 준비 - 필터

GA4 – Checkout steps

앞서 정의한 5개 외 나머지 이벤트는 Null로 처리 되었습니다. 해당 이벤트는 분석에 활용하지 않을 예정이므로 필터를 이용하여 제외 처리를 해줍니다. 해당 필터는 이후 단계에서 활용하도록 하겠습니다.

  • 리소스 > 필터관리 > 필터추가
데이터 준비 - 필터 | Looker studio
데이터 준비 - 필터 | Looker studio

3.3 혼합 소스 만들기

퍼널 분석을 위해선 직전단계와 다음 단계 사용자의 차이를 구해야합니다. 다만 루커스튜디오는 단일 소스로 해당 계산을 하기가 어렵기 때문에 데이터 혼합의 교차 조인을 활용하여 단계별 유저 차이를 구하는 식을 만들 수 있습니다.

혼합소스 | Looker studio
혼합소스 | Looker studio

  • 혼합 소스 이름 : 자체 혼합
  • 왼쪽 테이블
    • 테이블 이름 : Displayed data
    • 측정기준 : Funnel step order #, Drop-off type dim, Values type dim, 이벤트 이름
    • 측정항목: 총 사용자
    • 필터 : GA4 – Checkout steps
  • 오른쪽 테이블
    • 테이블 이름 : Reference data
    • 측정기준: Funnel step order # -> 이름 변경 "참조 Funnel step order #"
    • 측정항목 : 총 사용자 -> 이름 변경 "참조 총 사용자"
    • 필터 : GA4 – Checkout steps
  • 조인 방식
    • 교차 조인

3.4 차트 구성

차트구성 | Looker studio
차트구성 | Looker studio

데이터 준비가 완료되면, '차트 추가' 메뉴에서 바 차트를 선택합니다. 바 차트를 생성한 후, X축과 Y축에 표시할 데이터를 설정합니다.

3.4.1 설정 탭

  • 데이터 소스 : 자체 혼합
  • 측정기준
    • 이벤트 이름
  • 측정항목
    • 아래 공식의 "Abs users" 차트 계산 필드, AVG 집계
    • 아래 공식의"Abs exited users" 차트 계산 필드, AVG 집계
    • 아래 공식의 “% active” 차트 계산 필드, AVG 집계
    • 아래 공식의 "% drop off" 차트 계산 필드, AVG 집계
  • 정렬
    • Funnel step order #
  • 차트 상호작용
    • 모두 해제

Abs users

Looker Studio 코드 2


IF(
 Values type dim = "Absolute values"
 ,
 Total users
 ,
 null
 )
        

Abs exited users

Looker Studio 코드 3


IF(
 Values type dim = "Absolute values"
 ,
 IF
 (
  Drop-off type dim = 'Funnel drop-off'
  ,
  IF(Ref Funnel step order = 1 AND Funnel step order != 1, (Ref Total users - Total users),null)
  ,
  IF(Ref Funnel step order = Funnel step order - 1, (Ref Total users - Total users),null)
 )
 ,
 null
 )
        


       

% active

Looker Studio 코드 4


IF(
 Values type dim != "Absolute values"
 ,
 IF
 (
  Drop-off type dim = 'Funnel drop-off'
  ,
  CASE
      WHEN Funnel step order = 1 THEN 1
      WHEN Ref Funnel step order = 1 AND Funnel step order != 1 THEN (Total users ) / Ref Total users
      ELSE NULL
  END
  ,
  CASE
      WHEN Funnel step order = 1 THEN 1
      WHEN Ref Funnel step order = Funnel step order - 1 THEN (Total users ) / Ref Total users
      ELSE NULL
  END
 )
 ,
 null
 )
        


       

% drop off

Looker Studio 코드 5


IF(
 Values type dim != "Absolute values"
 ,
 IF
 (
  Drop-off type dim = 'Funnel drop-off'
  ,
  IF(Ref Funnel step order = 1 AND Funnel step order != 1, (Ref Total users - Total users)/Ref Total users,null)
  ,
  IF(Ref Funnel step order = Funnel step order - 1, (Ref Total users - Total users)/Ref Total users,null)
 )
 ,
 null
 )
        

 

3.4.2 스타일 탭

  • 수평형
  • 누적 막대
  • 데이터 라벨 표시
  • 데이터 라벨
    • 측정항목 값, 축약 번호, 소수점 정밀도 : 1
  • 색상
    • 1번 & 3번 과 2번 & 4번 동일한 색상으로 만들기
차트구성 | Looker studio
차트구성 | Looker studio
    • 축 표시
  • 차트 간격
    • 그룹 막대 너비 : 100%
  • 범례
    • 선택안함
  • 차트 헤더
    • 표시 안 함

4. 마무리

인터랙티브 퍼널 리포트는 다양한 마케팅 시나리오에서 유용하게 활용될 수 있습니다. 예를 들어, 고객의 구매 여정을 단계별로 분석하여 각 단계에서 발생하는 이탈율을 파악하고, 이를 개선하기 위한 전략을 세울 수 있습니다.

또한, 특정 마케팅 캠페인의 성과를 분석할 때도 퍼널 리포트를 사용하면 각 채널별로 고객의 반응을 비교할 수 있습니다. 이를 통해 어떤 채널이 가장 효과적인지 파악하고, 마케팅 예산을 효율적으로 분배할 수 있습니다.

데모 보기
ANALYSIS_image_thumbnail
GROWTH

MMP(AppsFlyer), GA4, Braze 데이터를 활용해 시각화할 때 반드시 고려해야할 사항(2)

August 21, 2024

지난 편에서는 각 솔루션별 데이터 수집 방법(바로가기)에 대해서 알아보았습니다.

MMP(AppsFlyer), GA4, Braze 데이터를 활용해 시각화할 때 반드시 고려해야 할 사항 (1) 북마크 랜딩이미지

1. Third Party 데이터 수집 자동화

2. 수집된 데이터 전처리하기

3. 시각화하기

이번에는 수집된 데이터를 활용하여 어떻게 전처리 해야 되는지 알아보겠습니다. 

각 데이터 셋들은 분석하려는 차원(dimension)을 기준으로 집계(group by)를 통해서 동일한 형태로 전처리한 후 조인 연산을 통해 데이터를 통합하는 과정이라고 생각하시면 됩니다.

마케팅 성과를 분석하기 위해서 필요한 데이터 다음과 같습니다. 

Text Color Change

(필요에 따라서 Dimension 의 개수는 추가될 수 있습니다. ex)device_category, country, 등등)

Dimension  : 날짜(일별), 유입소스(GA4 = utm_source, Appsflyer = Media_source), 캠페인

Metric :  구매수, 매출, 인스톨 수 

구매 데이터(MMP, GA4) 통합하기 

GA4가 웹, 앱 모두 트래킹을 할 수 있지만 WEB은 GA4, APP은 MMP로 성과를 합쳐서 보실 겁니다. 

GA4, Firebase는 앱과 웹 내 고객 행동 분석에 주로 쓰이는 툴이고 MMP 는 광고 성과를 측정하는 툴이니깐요

그러면 이렇게 됩니다.

<GA4 데이터 집계> - WEB

Dimension  : 날짜(일별), 세션 소스, 캠페인

Metric :  구매수, 매출

<MMP 데이터 집계> - APP

Dimension  : 날짜(일별), Media_source, 캠페인

Metric :  구매수, 매출, 인스톨 수

집계된 두개의 테이블을 UNION 다시 한번 집계를 해줍니다. 

이렇게 하면 집계된 웹앱 데이터 통합이 되었습니다. (MMP 데이터 전처리 과정은 생략)

Dimension  : 날짜(일별), Media_source, 캠페인

Metric :  구매수, 매출, 인스톨 수

브레이즈 커런츠 데이터와 구매 데이터(MMP, GA4) 연결하기

브레이즈 커런츠(braze currents)데이터는 유저 인게이지먼트 데이터입니다. 

여기에는 유저별로 어떻게 우리 서비스로 참여를 하고있는지를 기록한 데이터들이 기록되어 있으니 메시지 발송 수단별로 노출, 클릭 성과들이 들어있습니다. 하지만 우리는 성과(구매) 판단은 MMP, GA4로 해야 하므로 서로 다른 데이터들을 어떻게 통합해서 볼지를 알아보겠습니다. 

커런츠 데이터는 아래와 같이 구성이 되어있습니다. 

브레이즈 커런츠 데이터 화면 이미지

Text Color Change

(차원 데이터 생성을 위한 함수는 태블로 함수입니다)

유니크한 ID 차원 만들기

위와 같은 데이터를 일자, 메세지 발송 타입, 캠페인 or 캔버스별 발송수, 노출수, 클릭수 데이터를 집계를 하기 위해서는 유니크한 ID를 나타내는 차원 데이터를 만들어 줘야 합니다.

동일한 유저라도 캠페인, 캔버스, 베리에이션 등 다양한 형태로 타겟이 될 수 있으므로, 아래와 같이 유니크한 차원 데이터를 만들기 위해 새로운 아이디를 생성합니다. (해당 아이디는 발송 타입별로 카운트하기 위해 활용됩니다.)

차원의 이름은 원하시는대로 명명하시면 되고 저는 user_id_dispatch_id 이렇게 명명하였습니다.

-- 태블로 계산식
IFNULL([User Id],'') + '-' +
IFNULL([Campaign Id],'') + '-' +
IFNULL([Message Variation Id],'') + '-' +
IFNULL([Canvas Id],'') + '-' +
IFNULL([Canvas Variation Id],'') + '-' +
IFNULL([Canvas Step Message Variation Id],'') + '-' +
IFNULL([Dispatch Id],'')

캠페인 차원 만들기

 

다음으로 캠페인 단위로 성과를 집계할 예정이기 때문에  캠페인 차원을 만들어줘야 합니다. 

 

왜냐하면 브레이즈에는 캠페인과 캠버스로 나뉘는데 campaign_name 값이 존재하면 canvas_name 이 빈값이고 거꾸로 canvas_name 값이 존재하면 campaign_name이 빈값이기 때문입니다. 

-- 태블로 계산식
IFNULL([Campaign Name],[Canvas Name])

발송 타입별 유니크한 ID 차원 만들기

{send_type}_click 이런 식으로 차원 이름을 명명하고 아래와 같은 태블로 계산식으로 차원을 만들어줍니다.

이렇게 되면 email_click, push_click, in_app_message_click 이벤트별로 ID(user_id_dispatch_id)를 생성됩니다. 

 

-- 태블로 계산식
{ FIXED [user_id_dispatch_id],[Event Type] : COUNTD(IF CONTAINS([Event Type], 'inappmessage_click') THEN [user_id_dispatch_id] END)}

 

발송 타입 차원 만들기

최초에 S3에 적재된 currents 데이터(avro 파일)를 DW에 적재할 때 파일별 Event 구분을 위해 Event_Type 칼럼을 생성하였습니다. (이전 글을 참고해 주세요)

['users.messages.email.Open.avro',
 'users.messages.email.Click.avro',
 'users.messages.pushnotification.Send.avro',
 'users.messages.inappmessage.Click.avro',
 'users.messages.email.Delivery.avro',
 'users.messages.pushnotification.Open.avro',
 'users.messages.inappmessage.Impression.avro']

-- 태블로 계산식
IF CONTAINS([Event_Type], 'email') then 'email'
elseif CONTAINS([Event_Type], 'push') then 'push'
elseif CONTAINS([Event_Type], 'inappmessage') then 'iam' end

 

이제 집계를 위한 전처리는 완료되었습니다(세세한 전처리 과정은 생략됨)

 

이제 위에서 만들었던 차원을 가지고 집계를 합니다. 

 

일자별, send_type, campaign/canvas, device_category 별 오픈, 클릭, 노출, delivery 데이터는 아래와 같이 집계되었습니다.

Braze Currents 전처리 / 집계한 테이블 예시 화면 이미지
Braze Currents 전처리 / 집계한 테이블 예시

 

통합된  GA4 / MMP 데이터와 커런츠 데이터를 통합해야 되는 과정이 또 남았습니다.

 

어떻게 이 두 데이터를 엮어야 될까요? 

 

조인키를 위에서 집계한 차원 데이터로 잡고 Full Outer Join으로 데이터를 조인합니다.

 

이유는 특정 날짜에 브레이즈 커런츠 데이터는 존재하는데 성과 데이터(GA4, MMP) 데이터가 존재하지 않는다면 매칭될 수 없으니 누락이 되어버립니다. 거꾸로 성과 데이터(GA4, MMP) 데이터가 존재하는데 브레이즈 커런츠 데이터가 존재하지 않을 경우 누락이 되어버리기 때문입니다. 

 

광고 성과 데이터 전처리하는 예시를 통해 Full Outer JOIN 이 어떻게 데이터를 처리되는지 예시를 통해 잠깐 확인해 보겠습니다

 

2024년 1월 1일 twitter 채널의 e 캠페인에서 비용이 1000원 소진했습니다. 그런데 GA4, MMP 데이터에는 해당 광고 채널의 캠페인에서 전환이 아예 일어나질 않았습니다. 하지만 비용이 발생했기 때문에 이 데이터를 버릴 수는 없겠죠? 무조건 살려야 됩니다. 

 

거꾸로 광고 데이터에서 비용은 발생하지 않았는데 Attribution Window로 인해 전환이 발생했습니다. 이것도 버릴 수 없겠죠? 

이 두 데이터에서 LEFT JOIN 또는 RIGHT JOIN을 수행하게 되면 조인키에 대응하지 않은 데이터는 매칭이 안되어 누락이 되어 버립니다. 이를 방지하기 위해서 INNER, LEFT OUTER, RIGHT OUTER 조인 집합을 생성하는 FULL OUTER JOIN을 수행합니다.

 

결과를 보면 각 테이블의 모든 데이터들이 출력이 되는 걸 알 수 있습니다. 

 

Full Outer Join 예시 이미지
Full Outer Join 예시

 

본론으로 돌아와서! 

 

Full Outer Join을 수행하기 전에 앞서 GA4, MMP 데이터를 합친 후 우리는 CRM 데이터만 필요하기 때문에 CRM 데이터만 필터를 합니다.

 

이제 Braze Current 데이터와 성과 데이터(GA4, MMP)를 날짜, 유입소스명, 캠페인명을 조인키로 두고 Full Outer Join 을 수행합니다.(분석하고자 하는 차원데이터가 추가로 더 있다면 추가로 필요한 차원도 조인키로 활용하시면 됩니다.)

 

이와 같은 방식으로 Paid 성과 데이터를 전처리 할 때도 위와 같은 방법으로 수행하면 됩니다.

 

데이터를 전처리 할 때 중요한 건 분석하고자 하는 결과물을 먼저 그려본 뒤에 결과를 도출하기 위해서 각 테이블을 어떻게 만들어 갈 것인지 생각하면서 만들어가면 됩니다. 실제로 전처리하다 보면 자잘하게 처리해야 되는 부분이 상당히 많습니다.

 

특히 데이터를 통합하기 위해서는 무엇보다 네이밍 컨벤션이 가장 중요한 점은 강조하지 않을 수 없습니다.

데이터 수집까지 잘했는데 캠페인 네이밍 컨벤션이 서로 다르다?.. 데이터 통합은 불가능합니다.. 

 

네이밍 컨벤션은 말 그대로 명명 규칙입니다. 

 

위에서 언급한 대로 우리가 데이터 통합을 위해 차원 데이터를 조인키로 활용한다고 했었는데 캠페인 차원이 MMP, GA4, Braze or 광고 데이터가 모두 다르면 안 되겠죠? 아래와 같이 통일을 시켜야만 데이터를 연결할 수 있습니다.

MMP, GA4 데이터 네이밍 컨벤션 예시 표

 

여기까지 마케팅 데이터 수집부터 전처리 과정까지 알아보았습니다.

 

다음 글에서는 이 데이터를 활용해서 시각화 하는 방법을 살펴보겠습니다. 

ANALYSIS_image_thumbnail
GROWTH

2. 웍스아웃: 퍼포먼스 마케팅 광고성과 대시보드

July 29, 2024

1. 개념 설명

쿠키(Cookie)란 사용자가 웹사이트를 방문할 때마다 웹 브라우저를 통해 인터넷 사용자의 컴퓨터나 다른 기기에 설치되는 기록 정보 파일을 뜻합니다. 이는 퍼포먼스 마케팅의 필수도구로써 마케팅 활동의 세부적인 추적, 개인화 및 최적화를 가능하게 했습니다.

퍼포먼스 마케팅에서 구체적인 쿠키의 기능은 다음과 같습니다.

1. 사용자 행동 추적

  • 쿠키를 통해 사용자가 방문하는 페이지, 방문 시간, 조회한 페이지 순서를 추적하고,클릭, 구매 등의 액션을 기록하여 사용자 경험에 대한 통찰력을 제공할 수 있습니다.

2. 개인화

  • 쿠키를 통해 사용자의 관심분야 및 과거 행동을 기반으로 개인화된 마케팅을 제공할 수 있습니다.

3. 리타겟팅

  • 쿠키를 통해 이전에 방문한 고객 중 원하는 행동을 하지 않은 유저에게 재방문을 유도하여 다시 행동을 하도록 유도할 수 있습니다.

4. A/B 테스트 및 최적화

  • 쿠키를 통해 유저를 분류하여 다양한 테스트 그룹에 할당하고, 유저의 행동을 추적하는데 사용합니다. 이를 통해 마케팅 담당자는 웹페이지 또는 광고의 여러 버전을 실험하고 이를 통해 효율을 최적화할 수 있습니다.

하지만 데이터 보호 규정을 시작으로 데이터 보호를 강화하기 위한 전세계의 흐름이 있었고, 애플을 시작으로 구글 폭스 등 많은 웹 브라우저 회사들이 쿠키 제공 중단을 선언헀습니다.

쿠기 제공이 중단된다면, 기존의 쿠키를 이용해 진행하던 기능들을 더 이상 진행할 수 없게 됩니다. 그 결과 각 매체의 효율이 감소하고 신규 고객을 획득하는데 필요한 비용이 증가할 것으로 예상됩니다. 구글이 쿠키의 지원 중단 시점을 2025년으로 연기했다고는 하지만, 마케터들은 선택이 아닌 필수로 기존 광고 방식에 변화가 필요한 상황입니다.

2. 진행배경

쿠키 리스 상황에서 발생하는 여러 문제들에 대비하기 위해 진행할 수 있는 여러 방법들이 있습니다. 그 중 고객사에서는 현 상황에서 다양한 매체를 활용하기보다 최고의 효율을 낼 수 있는 매체를 선별해서 효율이 좋은 매체에 집중하고자 합니다. 이를 위해 각 광고매체의 성과를 실시간으로 모니터링할 수 있는 대시보드가 필요했습니다.

광고채널 데이터에서 태블로 시각화

태블로를 통해 다양한 광고채널에 분산되어 모니터링이 어려웠던 지표들을 태블로를 통해 하나의 대시보드에서 관리함으로써 어느 채널의 어떤 광고가 효율이 좋은지를 빠르게 파악하고, 이를 통해 어떤 채널에 더 예산을 증가하거나 감소해야 할지에 대한 의사결정을 하는데 활용할 수 있습니다.

3. 진행과정

대시보드를 제작하기 위한 과정은 크게 환경점검, 데이터 수집, 데이터 저장, 데이터 시각화의 4단계로 구분할 수 있습니다.

대시보드 제작을 위한 4가지 Step

1) 환경점검

첫 번째 환경 점검 단계는 대시보드 구축을 위한 대시보드 기획단계입니다. 이 단계에서는 데이터의 출처를 정의하고, 데이터 소스부터 시각화툴인 태블로까지 이어지는 데이터 파이프라인을 그립니다. 최종적으로 대시보드에서 어떤 데이터를 대시보드에 구현하고, 이를 어떤 방식으로 시각화할지에 대한 대시보드 기획단계라고 할 수 있습니다.

환경점검 과정 3단계

해당 광고성과 대시보드를 구현하기 위해서는 광고채널로부터 나오는 광고데이터를 데이터 소스로 정의하고, 이를 통합하는 과정이 필요합니다. 이를 위한 첫 번째 단계로 Meta, Google Ads등 여러 광고 채널에서 나온 데이터를 ETL툴인 Funnel io에서 통합합니다. 이후 MMP인 에어브릿지의 데이터를 통합해 이를 하나의 구글 스프레드시트 적재합니다. 최종적으로 태블로를 통해 시각화하는 방식으로 데이터 파이프라인을 구현했습니다.

*참고) ETL이란?
추출, 전환, 적재(ETL)는 다양한 소스의 데이터를 데이터 웨어하우스라고 부르는 대형 중앙 집중식 리포지토리에 결합하는 과정

데이터 파이프 라인 구조 예시

해당 스텝으로 데이터 파이프라인을 구현했을 때의 장점은 어디서부터 데이터가 들어오게 되고, 문제가 발생했을 때 문제 발생원인을 직관적으로 확인가능하다는 점입니다.

2) 데이터수집

두 번째 데이터 수집 단계는 실질적으로 필요한 데이터를 정의하는 단계입니다.

UTM 및 parameter를 기반한 광고성과 추적을 위한 계층 구조인 네이밍 컨벤션(Naming Convention)을 정의하고 이를 통해 광고의 위계질서를 설정합니다. 해당 데이터를 통해 광고성과 데이터 정의하고 수집할 수 있습니다.

네이밍 컨벤션(Naming Convention) 예시
네이밍 컨벤션(Naming Convention) 예시

네이밍 컨벤션(Naming Convention) 정의를 완료했다면, 이를 토대로 데이터 스키마를 작성해야 합니다. 데이터 스키마란 데이터베이스의 구조와 제약조건에 관해 기술한 것을 뜻합니다. 데이터 이름 및 형태(ex. 숫자/문자)에 대해 정의함으로써 향후 데이터 스키마 하나만 확인해도 어떤 데이터 형태인지 파악할 수 있도록 합니다.

테이블명 열순서 열이름 데이터형식 설명 예시값
user_property 1 event_time_KST DATETIME 이벤트 타임 (한국시간) 2024-07-01 09:01:12
2 user_id STRING 유저아이디 "2920038”
3 referral_domain STRING 유입도메인 “@#$.com”
4 utm_source STRING UTM 소스 “airbridge.websdk”
5 utm_medium STRING UTM 매체 “fb”, “social”
6 utm_campaign STRING UTM 캠페인 “파이널세일”

3) 데이터저장

세 번째 데이터 저장 단계는 네이밍 컨벤션(Naming Convention)과 데이터 스키마를 통해 정의한 데이터를 저장하는 단계입니다.

광고성과 확인 시, 데이터의 정확성을 확보하고, 다양한 광고채널의 기여도를 정확하게 측정하기 위해 미디어 데이터 뿐만 아니라 MMP 데이터를 함께 확인해야 합니다. 이를 위해 미디어(메타, 구글애즈,..)와 MMP의 소스를 조인하는 과정이 필요합니다. 이를 위해 키값을 정의하고, 해당 키값을 기준으로 데이터를 조인합니다.

데이터 저장 단계 예시

4) 데이터시각화

마지막 데이터 시각화 단계는 정의된 데이터를 바탕으로 대시보드를 구현하는 단계입니다.

<1> 대시보드 기획안

대시보드 구현에 앞서 퍼포먼스마케터들과 협의를 진행합니다. 실제 최종 대시보드를 사용할 퍼포먼스마케터들과의 논의를 통해 대시보드의 형태 및 기능을 구체화할 수 있습니다.

대시보드 기획안 예시

<2> 최종 대시보드

마지막으로 확정된 기획안을 토대로 태블로를 통해 최종 대시보드를 구현하면 대시보드 제작과정이 마무리됩니다.

퍼포먼스 광고성과 대시보드 구현 예시

ANALYSIS_image_thumbnail
GROWTH

1. 웍스아웃: 프로모션 대시보드

July 18, 2024

0. 개념설명

프로모션 분석이란?

프로모션 분석은 마케팅 캠페인의 일환으로 진행된 다양한 프로모션 활동들의 효과를 평가하고 측정하는 과정입니다. 이 과정을 통해 기업은 프로모션 활동이 소비자의 구매 결정, 브랜드 인식, 시장 점유율 등에 미치는 영향을 분석할 수 있습니다. 프로모션 분석을 위해 판매 데이터, 소비자 행동 데이터, 온라인 트래픽 데이터 등 다양한 데이터 소스를 활용할 수 있습니다.

프로모션 분석의 필요성

프로모션 분석은 기업이 자원을 효율적으로 배분하고, 마케팅 목표를 달성하기 위해 필수적인 과정입니다. 이를 통해 기업은 다음과 같은 이점을 얻을 수 있습니다.

  • 효과적인 프로모션 전략 수립: 어떤 프로모션이 고객의 구매를 유도하고, 브랜드 인지도를 높이는 데 효과적인지 파악할 수 있습니다.
  • ROI 최적화: 프로모션에 대한 투자 대비 수익률(ROI)을 측정하고, 마케팅 예산을 더 효과적인 프로모션에 집중할 수 있습니다.
  • 시장 이해도 향상: 소비자 반응을 분석함으로써 시장의 현재 요구와 트렌드를 더 잘 이해할 수 있습니다.
  • 경쟁력 강화: 경쟁사 대비 우위를 점할 수 있는 마케팅 전략을 개발하고 실행할 수 있습니다.

개별 프로모션 분석 vs 통합 프로모션 분석

  • 개별 프로모션 분석
    • 특징
      • 한 번에 하나의 프로모션 활동만 평가합니다.
      • 구체적인 프로모션의 성공 여부와 직접적인 효과를 분석합니다.
    • 장점
      • 간단하고 명확한 결과 제공
      • 특정 프로모션의 직접적인 효과를 빠르게 평가 가능
    • 단점
      • 다른 마케팅 활동과의 상호작용을 고려하지 않음
      • 장기적인 효과나 전체적인 마케팅 전략과의 연계성 부족
  • 통합 프로모션 분석
    • 특징
      • 여러 프로모션 활동을 함께 분석하여 전체적인 마케팅 전략의 효과를 평가합니다.
      • 프로모션 간의 상호작용 및 시너지 효과를 고려합니다.
    • 장점
      • 전략적인 의사결정 지원
      • 장기적인 브랜드 가치와 고객 관계를 고려한 분석
      • 장기적인 효과나 전체적인 마케팅 전략과의 상호작용 이해 가능

개별 프로모션 분석과 통합 프로모션 분석을 함께 분석해야 하는 이유

개별 프로모션 분석과 통합 프로모션 분석을 함께 수행함으로써, 보다 정교하고 효과적인 마케팅 전략을 개발할 수 있으며, 이는 최종적으로 기업의 성장과 수익성 향상에 기여하게 됩니다.

1. 전체적인 마케팅 전략의 효율성 평가

개별 프로모션 분석을 통해 특정 프로모션의 성공 여부를 파악할 수 있지만, 통합 프로모션 분석을 함께 수행하면 여러 프로모션 간의 상호작용과 그 영향을 이해할 수 있습니다. 이는 전체 마케팅 전략의 효율성을 평가하는 데 중요합니다.

2. 다채널 프로모션 전략의 최적화

현대 마케팅은 다양한 채널을 통해 이루어집니다. 개별 프로모션 분석과 통합 분석을 병행함으로써, 각 채널의 성과를 정확히 파악하고, 채널 간 시너지를 극대화하는 전략을 수립할 수 있습니다.

3. 고객 행동의 종합적 이해

고객은 다양한 프로모션에 노출되며, 이러한 노출이 고객의 구매 결정에 복합적으로 작용합니다. 개별 프로모션 분석과 통합 분석을 결합함으로써, 고객 행동의 더 깊은 이해를 도모할 수 있습니다.

4. 마케팅 자원의 효율적 배분

통합 프로모션 분석을 통해 얻은 인사이트는 마케팅 자원의 효율적인 배분을 가능하게 합니다. 각 프로모션의 효과를 개별적으로뿐만 아니라 전체적인 관점에서 평가함으로써, 예산을 더 효과적인 프로모션에 집중할 수 있습니다.

5. 장기적 마케팅 전략 수립

개별 프로모션의 성공은 단기적인 성과에 초점을 맞출 수 있지만, 통합 프로모션 분석은 장기적인 관점에서 마케팅 전략을 수립하는 데 도움을 줍니다. 다양한 프로모션의 장기적인 영향력과 지속 가능성을 평가할 수 있습니다.

6. 경쟁 우위 확보

통합 프로모션 분석을 통해 시장 내 경쟁 상황과 자사의 위치를 종합적으로 이해하고, 경쟁 우위를 확보할 수 있는 전략을 수립할 수 있습니다. 이는 경쟁사 대비 우위를 점하는 데 중요한 역할을 합니다.

1. 진행배경

고객사 상황 및 해당 대시보드를 제작하게된 이유

고객사에서는 프로모션 분석 진행 시 앰플리튜드를 통한 단일 프로모션 위주의 분석만을 진행했었습니다.

단일 프로모션 분석 진행 예시

앞서 언급했듯이 단일 프로모션 분석만 진행하게 된다면 결과적으로 장기적인 효과나 전체적인 마케팅 전략과의 연계성이 부족해지는 문제가 있습니다.

이러한 문제를 해결하기위해 프로모션을 통합적으로 확인하는 것에 대한 필요성이 대두되었습니다. 먼저, 통합 프로모션 분석을 위해 1차적으로 앰플리튜드를 통해 얻은 개별 프로모션별 데이터를 스프레드시트에서 취합해 프로모션들끼리 비교하며 인사이트를 도출했습니다.

프로모션 통합 분석 시트 예시

하지만 시트를 통해 프로모션을 비교 분석하는 것에는 크게 2가지 정도의 한계가 있었습니다.첫째, 프로모션이 진행될 때마다 데이터를 확인하고, 직접 시트에 옮기는 작업을 해야 하기 때문에 자동화가 어렵다는 점입니다.둘째, 시트에 텍스트로만 적혀있다보니 해당 데이터가 무엇을 의미하는지 직관적으로 인지하기가 어렵다는 점입니다.이러한 한계를 극복하기 위해 고안한 것이 전체 프로모션을 한눈에 파악할 수 있는 대시보드를 구현하는 것이었습니다.

2. 진행과정

대시보드는 태블로(Tableau)를 사용하여 구현했습니다.

태블로(Tableau) 로고

태블로는 데이터를 분석하고 시각적으로 표시할 수 있는 비즈니스 인텔리전스(BI)툴입니다. 태블로를 통해 대시보드를 제작했을 때의 장점은 다음과 같습니다.

1. 여러 raw 데이터 통합: 태블로는 스프레드시트, 데이터베이스, 클라우드 서비스 및 빅데이터 플랫폼과 같은 다양한 데이터 원본들을 원활하게 통합됩니다. 이러한 통합을 통해 다양한 소스의 데이터를 연결 가능하게 하여 데이터 사일로를 해결하고 포괄적인 분석을 가능하게 합니다.데이터 사일로(Data Silo*)**란? 서로 분리되어 기업의 다른 부서에서 액세스할 수 없는 데이터 스토리지 및 관리 시스템을 의미하며, 이는 전사관점의 의사결정을 방해하고, 비효율성이 증가시킵니다.

  • 예시: Excel 스프레드시트에 저장된 판매 데이터와 SQL 데이터베이스에 저장된 고객 데이터가 있다고 가정합니다. Tableau는 두 원본에 동시에 연결할 수 있으므로 데이터를 혼합하고 시각화하여 판매와 고객 인구 통계 간의 관계에 대한 인사이트를 얻을 수 있습니다.

2. 실시간 데이터 시각화: 태블로는 라이브 데이터베이스 및 스트리밍 데이터를 비롯한 다양한 데이터 원본에 연결하여 실시간으로 데이터 업데이트할 수 있습니다. 이 기능을 사용하면 변경되는 데이터를 빠르게 모니터링하고 분석하여 빠른 의사 결정을 위한 시기적절한 통찰력을 제공할 수 있습니다.

3. 다양한 시각화 옵션: 태블로는 막대 차트, 선 차트, 산점도, 지도 등을 포함하여 다양한 시각화 옵션을 제공합니다. 정보를 효과적으로 전달하기 위해 데이터에 가장 적합한 시각화 유형을 선택할 수 있습니다.

4. 대화형 대시보드: Tableau를 사용하면 사용자가 직접 데이터를 탐색하고 상호 작용할 수 있는 고도의 대화형 대시보드를 만들 수 있습니다. 사용자는 세부 정보를 드릴다운하고, 데이터를 필터링하고, 임시 분석을 수행하여 데이터 탐색의 깊이를 향상할 수 있습니다.

2-1. 대시보드 스케치

통합 프로모션 분석을 위해 정의한 스케치입니다. 해당 스케치는 피그마(Figma)를 통해 작업했습니다. 스케치를 피그마로 제작한 이유는 여러가지가 있는데, 그 중 가장 중요한 이유는 피그마가 다양한 디자인 도구와 기능을 제공하기 때문에 원하는 디자인을 쉽고 효율적으로 제작할 수 있기 때문이었습니다.

웍스아웃 프로모션 분석 대시보드

스케치 대시보드를 기준으로 필요한 데이터를 정리해보면 데이터는 크게 3가지로 분류할 수 있습니다.

1. 프로모션 데이터

2. 매출 데이터

3. CRM 데이터

프로모션명, 진행일자, 분류, 컨셉 등 프로모션 진행 관련 기본 정보 및 프로모션 관련 아이템 정보가 프로모션 데이터에 해당하며, 각 프로모션에 관련된 실제 결제 정보가 매출 데이터에 해당합니다. 마지막으로 유저들에게 발송된 메시지의 발송일 및 캠페인명, 발송수 등이 CRM 데이터에 해당합니다.

웍스아웃 프로모션 분석 대시보드 - 프로모션 및 매출 정보 확인

2-2. 필요 데이터 정의 및 추출

필요 데이터 정의 및 추출

필요 데이터 정의

다음으로 앞서 정리한 데이터를 좀 더 구체적으로 정리합니다. 각 항목별 필요한 정보가 정확히 무엇인지, 해당 데이터는 형태로 관리되어야 하는지를 비롯해 각 데이터를 연결하기 위해 어떤 컬럼을 키값으로 사용해야 하는지 등을 파악하여 정리합니다.

필요 데이터 정의 및 분류 예시

이때 테이블 색상에 차이를 두어 각 데이터가 어떤 소스에서 관리되는지 직관적으로 파악할 수 있도록 합니다.

데이터 테이블 색상 차이 설명

데이터 추출 요청 및 추출

필요 데이터 정의를 완료했다면, 데이터 추출을 위해 해당 데이터에 대해 알맞은 형태로 적재를 요청하는 단계가 필요합니다. 효율적인 작업을 위해 원하는 이벤트 및 세부 항목(*이벤트 프로퍼티, 유저 프로퍼티, 적재형식, 적재기준일, 요청사유 등) 관련 내용을 최대한 상세하게 기입합니다.

데이터 추출 요청 예시

원하는 이벤트 및 세부 항목을 작성한 다음에 해당 내용을 정확히 어떤 형태로 적재되기 원하는지를 보여주는 샘플을 함께 작성합니다.

이벤트 데이터 샘플링 예시

2-3. 데이터 연결

Amplitude → Bigquery → Tableau

이제 데이터 연결을 진행해야 합니다. 해당 프로젝트에는 구글 스프레드시트, 엑셀 파일, 구글 클라우드(빅쿼리)의 소스가 사용되었습니다. 저는 그 중 ‘구글 클라우드’에 초점을 맞추어 데이터 연결과정에 대해 설명하려고 합니다.

앰플리튜드에서 태블로로의 데이터 전송

구글 클라우드를 사용한 이유는 무엇일까요? 그 이유는 앰플리튜드(Amplitude)에 있는 매출 데이터를 연결하기 위함입니다. 앰플리튜드는 그 자체로 사용성이 높이며, 매출 데이터를 비롯하여 많은 데이터를 손쉽게 확인할 수 있는 툴입니다.

하지만 지금과 같이 더 많은 내용을 확인하기 위해서는 다른 로데이터와 결합을 해서 데이터를 확인하는 과정이 필요합니다. 이 때, 앰플리튜드에서 태블로로 데이터를 바로 전달할 수는 없습니다.

앰플리튜드에서 태블로로의 데이터 전송 시 필요사항

태블로로 데이터를 전송하기 위해서는 앰플리튜드의 로데이터를 가공하여 알맞은 형태로 테이블을 가공해주는 선행작업이 필요합니다. 앰플리튜드와 연동이 가능할 뿐만아니라 태블로와의 연동도 가능해야 하며 무엇보다 앰플리튜드로부터 전달받은 로데이터를 가공할 수 있는 플랫폼이여야합니다.

이 작업을 수행할 수 있는 플랫폼은 무엇일까요? 저희는 이러한 요건을 모두 고려할 때 해당 작업을 수행하기에 가장 적합한 것이 Google BigQuery라고 판단했고, 이를 활용하기로 했습니다.

앰플리튜드에서 태블로로의 데이터 전송 시 필요한 구글 빅쿼리

앰플리튜드는 기본적으로 빅쿼리로 데이터를 바로 내보내는 기능을 제공합니다. 우선 해당 기능을 활용해 앰플리튜드 데이터를 빅쿼리에 내보내는 작업을 진행했습니다.

앰플리튜드에서 빅쿼리로 데이터 전송

해당 방법을 통해 데이터를 받아올 경우, 이벤트 프로퍼티가 분리된 표 형식으로 넘어오는게 아니라 json이라는 괄호 안에 키와 값형태로 구성돼 있는 포맷(*”{”~”}”)으로 데이터가 불러와지는 문제가 발생했습니다.

태블로는 표 형태의 데이터 프레임을 인식하므로, 태블로에 데이터를 연결하기 위해서는 앰플리튜드  로데이터를 전처리하는 과정이 필요했습니다.

이벤트 프로퍼티 전처리 전 모습

해당 데이터를 전처리하기 위해서는 로데이터의 형태를 파악해야 했습니다. 데이터를 확인한 결과, 텍소노미에 따라 로데이터의 구조가 다를 수 있음을 확인했습니다.

구매 이벤트의 경우 아이템 수량이 1개일 경우에는 값으로, 2개 이상일 경우에는 배열로 이벤트 프로퍼티 데이터가 들어오는 구조였습니다.

  • 아이템 수량=1인 경우
{"item_brand":"A",
"item_category":"JAJL",
"item_id":"99999",
"item_name":"GARAGEJACKET",
"item_price":"198000",
"order_id":"20240310105120687",
"total_order_items_quantity":1
…}
  • 아이템 수량=2 이상인 경우
{"item_brand":["B","C"],
"item_category":["LFOT","반팔 셔츠"],
"item_id":["88888","77777"],
"item_name":["TRAVEL COMB","CUSTOM SHIRT"],
"item_price":[18000,113000],
"total_order_items_quantity":2}

따라서 데이터 전처리를 위해서는 각 케이스별로 다른 전처리과정을 거쳐야했습니다. 아이템 수량이 1개일경우는 JSON의 값을 파싱하는 처리를 하고, 2개 이상일 경우에는 JSON의 배열을 파싱하는 처리를 진행했습니다.

해당 내용을 처리하는 쿼리문 다음과 같습니다. 케이스별로 결과 테이블이 도출되면, 두 테이블을 유니온하여 한 테이블로 합치는 작업을 진행했습니다.

WITH single_item_orders AS (
  SELECT event_time, user_id,
    JSON_VALUE(event_properties, '$.order_id') AS order_id, 
    JSON_VALUE(event_properties, '$.item_category') AS item_category, 
    JSON_VALUE(event_properties, '$.item_brand') AS item_brand, 
    JSON_VALUE(event_properties, '$.item_name') AS item_name, 
    JSON_VALUE(event_properties, '$.item_id') AS item_id,
    JSON_VALUE(event_properties, '$.item_price') AS item_price
  FROM amplitude_test.EVENTS_353961
  WHERE event_type='total_items_order_completed'
    AND JSON_VALUE(event_properties,'$.total_order_items_quantity')='1'
),
multi_item_orders AS (
  SELECT event_time, user_id,
    JSON_VALUE(event_properties,'$.order_id') AS order_id,
    item.item_category, item.item_brand, item.item_name, item.item_id, item.item_price
  FROM amplitude_test.EVENTS_353961,
    UNNEST(
      ARRAY(
        SELECT AS STRUCT 
          item_category, item_name, item_id, item_price, item_brand
        FROM 
          UNNEST(JSON_VALUE_ARRAY(event_properties,'$.item_id')) AS item_id WITH OFFSET AS pos
          JOIN UNNEST(JSON_VALUE_ARRAY(event_properties,'$.item_category')) AS item_category WITH OFFSET AS pos_cat ON pos = pos_cat
          JOIN UNNEST(JSON_VALUE_ARRAY(event_properties,'$.item_brand')) AS item_brand WITH OFFSET AS pos_br ON pos = pos_br
          JOIN UNNEST(JSON_VALUE_ARRAY(event_properties,'$.item_name')) AS item_name WITH OFFSET AS pos_name ON pos = pos_name
          JOIN UNNEST(JSON_VALUE_ARRAY(event_properties,'$.item_price')) AS item_price WITH OFFSET AS pos_price ON pos = pos_price
      )
    ) AS item
  WHERE 
    JSON_VALUE(event_properties,'$.total_order_items_quantity')!='1'
)

-- 아이템 수량= 1인 경우의 결과와 아이템 수량= 2 이상인 경우의 결과를 합치기
SELECT *
FROM single_item_orders
UNION ALL
SELECT * 
FROM multi_item_orders;

해당 작업을 완료한 결과는 다음과 같습니다.

쿼리 결과 화면

UNNEST()함수를 포함한 단계를 거쳐 데이터 전처리를 진행할 경우 JSON을 데이터 프레임 형태, 즉 테이블 형식으로 바꾸는 것은 가능했습니다.

좀 더 직관적으로 UNNEST()함수를 이해하기 위해 예시를 들어보겠습니다. name이라는 컬럼은 값이지만, preferred langauge는 배열일 경우 빅쿼리는 테이블을 왼쪽처럼 인식합니다. 즉 값으로 구성된 행에 배열로 구성된 행을 묶어두는 구조인데요, 이 묶어둔다라는 것을 nest된 상태라고 하고, 값을 배열에 맞춰서 풀어주는 행위를 unnest라고 합니다.

 unnest 적용 화면 예시

하지만 UNNEST()함수를 사용할 경우 단점이 있었습니다.이 함수는 배열 내 각 요소를 별도의 행으로 확장하는 기능을 제공하기 때문에 비정규화된 데이터나 중첩된 데이터 구조를 다룰 때 필수적입니다. 그러나 비용관리의 관점에서 주의가 필요하다는 단점이 있습니다. UNNEST() 함수는 배열 내의 각 요소를 별도의 행으로 확장하기 때문에 배열에 많은 요소가 포함되어 있을 경우, 결과 데이터 세트의 크기가 급격히 증가할 수 있습니다. 이는 쿼리 처리 시간을 늘리고 처리해야 할 데이터 양이 증가함으로써 비용이 증가하는 원인이 될 수 있으며, 처리한 데이터 양에 따라 비용이 청구되는 빅쿼리에서는 쿼리 비용의 증가로 이어질 수 있습니다.

실제 프로젝트를 진행하면서 해당 쿼리문을 사용해 약 한달 간 매 시간마다 업데이트 되도록 쿼리를 돌려본 데이터 업데이트를 진행한  결과, 총 8GB를 사용해 월 40만원 가량의 비용이 소진되었습니다. 따라서 비용 효율성 측면을 고려해 전처리를 클라우드 SQL구문이 아닌 파이썬 코드로 처리하도록 우회했습니다.

앰플리튜드의 데이터를 빅쿼리로 바로 내보내는 것이 아니라 앰플리튜드 서버를 호출하여 데이터를 받아오는 방식으로, 빅쿼리에서 로우 데이터를 쌓은 후 이를 전처리하는 방식 대신 전처리를 완료한 후 가공된 데이터를 빅쿼리에 쌓는 방식으로 변경했습니다.

Amplitude → Google Cloud Storage → Bigquery → Tableau

즉, 기존 Amplitude → Bigquery → Tableau의 단계에서 데이터 전처리를 위해 Google Cloud Storage를 추가한 Amplitude → Google Cloud Storage → Bigquery → Tableau 단계로 진행됩니다.

데이터 전처리 과정 도식화

이 작업을 위해서는 우선 앰플리튜드와 Google Cloude Storage를 연결하는 작업을 진행해주어야 합니다. 먼저 Cloud Storage에서 고객사 프로젝트 관련 Bucket을 생성합니다.

Cloud Storage Bucket 생성 화면
Cloud Storage Bucket 세부 설정 화면

다음으로 IAM 및 관리자 → 서비스 계정을 클릭하여 새로운 서비스 계정을 생성합니다.

서비스 계정 생성 화면

서비스 계정을 생성한 후, 해당 서비스 계정에 해당하는 이메일을 확인합니다.

서비스 계정 이메일 확인

키 → 키 추가를 클릭하여 키를 생성합니다.

키 생성 화면
JSON 유형 키 생성 화면

IAM 및 관리자 → 역할을 클릭하여 새로운 역할을 생성합니다.  Send Amplitude Event Data to Google Cloud Storage(문서링크)를 참고해서 역할에 다음 5개의 권한을 부여해줍니다.

  • storage.buckets.get
  • storage.objects.get
  • storage.objects.create
  • storage.objects.delete
  • storage.objects.list

새로운 역할 생성 및 권한 부여 화면

앞서 생성한 버킷으로 돌아가서 권한을 클릭한 후 액세스 권한 부여를 클릭합니다.

버킷 액세스 권한 부여

서비스 계정에서 추가한 새로운 계정에 해당하는 이메일을 입력한 후, 역할을 지정해줍니다.이때 역할은 1.저장소 기존 버킷 소유자와 2.역할 만들기를 통해 생성한 역할, 총 2개를 부여해줍니다.

새로운 계정 역할 부여 화면

해당 작업까지 완료했으면 앰플리튜드에서 Google Cloude Storage를 연결하는 작업을 진행해주어야 합니다. 앰플리튜드  Data → Destination에서 Google Cloud Storage를 클한 후 GCS로 보낼 데이터를 선택합니다.

앰플리튜드에서 Google Cloud Storage로 데이터 전송

서비스 계정 생성에서 생성한 JSON키 파일을 Service Account Key에 업로드 한 후, 하단의 Bucket Name에 구글 GCS에서 생성한 버킷 이름을 입력해줍니다.

JSON키 파일 업로드 화면

해당 과정을 성공적으로 마치면 Google Cloud Storage Bucket에 데이터가 들어옵니다.

 Google Cloud Storage Bucket 화면

연동이 완료되면 다음과 같이 생성됩니다.

*merged ID 된 데이터 : -000000/ , raw 데이터: 000000/ → 우리가 사용하게될 데이터는 000000/ (raw 데이터)
  • 압축된 아카이브 JSON 파일로 매 시간 내보내지고 시간 당 하나 이상의 파일로 시간별로 분할
    • 파일명: projectID_yyyy-MM-dd_H#partitionInteger.json.gz

앰플리튜드는 export API라는 서비스를 제공하므로 이 API를 호출하여 데이터를 불러올 수 있습니다. 파이썬의 request모듈로 API요청을 보내는 함수를 구현하고, 다음으로 데이터 전처리 모듈은 pandas모듈을 활용하여 JSON 포맷을 테이블 형식의 데이터 프레임으로 전처리했습니다. 1차 시도당시 빅쿼리로 진행했던 조건문을 프로그래밍 언어로 대체한 것입니다. 마지막으로 빅쿼리 클라이언트 라이브러리를 설치하여 전처리한 테이블을 빅쿼리로 업로드하는 함수를 구현했습니다.

내용을 요약하면 다음과 같습니다.

1. 앰플리튜드

  • 앰플리튜드가 GCS 버킷에 접근하여 이벤트 데이터를 전송합니다.

2. GCS

  • 앰플리튜드 이벤트 데이터는 GCS의 객체로 생성됩니다. 이때 객체 트리는 “버킷>폴더>시간대(yyyy-mm-dd_h)#순번’으로 네이밍되어 적재됩니다. (*e.g: 353961_353961_2023-06-25_1#0)

3. GCF

ㅤ: 버킷에 객체가 생성될 때마다 객체 데이터를 전처리한 후, 빅쿼리에 로드하는 함수 구현

3-1. 트리거
: GCS에 객체가 생성될때마다 호출합니다.

‘(Amplitude → Google Cloud Storage)’와 ‘(Google Cloud Storage) → Bigquery)’를 Google Cloud Functions로 연결하고자 트리거를 “Google Cloud Storage에 앰플리튜드 파일(객체)가 생성될 때”로 정의했습니다.

트리거 진입함수는 main()으로 설정합니다. 이때 트리거 대상 객체의 파일명을 확인하기 위해 data json 객체를 로드하여 메타 데이터를 확인합니다.

3-2. gcs_read()
: 트리거 수신 위치의 버킷 객체를 참조하여 읽어들입니다.

  • gcs_read()로 트리거 대상 객체의 파일을 읽어오고 빅쿼리의 index가 되어 줄 부분을 파싱합니다.
    • index_prefix : projectID_yyyy-MM-dd_H#partitionInteger.json.gz 파일명에서 ‘yyyy-MM-dd_H#partitionInteger’을 가져와 정수형으로 변환한 뒤 값을 할당합니다.
  • json_objects : 버킷에 저장돼 있던 압축된 아카이브 JSON 파일을 압축해제한 뒤, 데이터프레임으로 변환하기 위해 줄바꿈되어 있는 부분을 기준 삼아 데이터를 분리합니다.

3-3. json_make_dataframe()
: json객체를 total_items_order_completed, item_order_completed 각각의 데이터프레임(df1, df2)으로 변환합니다.

3-4. join_dataframes()
: df1, df2를 index 컬럼 기준으로 조인하여 joined_df라는 데이터프레임을 생성합니다.

3-5. append_to_bigquery()
: joined_df 데이터프레임에 맞는 스키마를 정의하여 빅쿼리에 로드합니다.

해당 작업을 완료하면, 최종적으로 빅쿼리에 데이터가 정상적으로 저장되며, 태블로에 연결해서 시각화할 수 있습니다.

빅쿼리 데이터 태블로 연결 화면

3. 대시보드 체크포인트

3-1. 가장 중점적으로 고민한 부분

통합 프로모션 대시보드이므로 프로모션 간의 비교가 가능하도록 하는 것이 최우선순위 목표였습니다. 하지만 통합 프로모션 대시보드 내에서 개별 프로모션의 성과 및 관련 내용도 바로 파악이 가능하도록 대시보드를 구성하고자 했습니다.

프로모션 리스트 부분에서 프로모션 성과들을 직관적으로 비교해서 확인할 수 있도록 했으며, sales summary내의 각 KPI의 프로모션 평균값을 제공하여 프로모션의 평균값과의 비교가능하게함으로써 프로모션 간의 비교 분석이 가능하도록 대시보드를 구성했습니다. 또한 프로모션 리스트에서 개별 프로모션 클릭 시 해당 프로모션에 해당하는 내용으로 필터링이되어 표현되게함으로써 개별 프로모션의 성과 역시 파악할 수 있도록 대시보드를 구성했습니다.

3-2. 대시보드 구현 시 발생했던 문제점 및 이를 해결하기 위한 과정

데이터를 태블로로 넘긴 후 ERP 기준 매출 데이터와 정합성을 확인하는 과정에서 매출액의 약 0.2%의 차이가 발생함을 확인했습니다. 이는 최종 매출액에서 반품 및 교환 비용을 고려하지 못했기 때문에 발생한 결과였습니다.

따라서 앰플리튜드의 반품 및 교환관련 이벤트인 return_completed의 return_paid_shipping(교환 및 환불금액)관련 항목을 추가하여 해당 금액을 반영해줌으로써 데이터 정합성을 맞췄습니다.

대시보드 구현시 발생했던 문제점 및 이를 해결하기 위한 과정

3-3. 가장 어려웠던 부분

해당 대시보드를 사용하는 고객사는 프로모션의 분류를 크게 할인과 쿠폰 2가지로 구분하고 있습니다.

즉, 1차적으로 가격을 낮춰 세일가에 제품을 구매하는 ‘할인’ 프로모션과 쿠폰을 소지하고 있는 고객이 쿠폰을 직접 사용해서 제품을 구매하는 ‘쿠폰’ 프로모션이 존재합니다. 이때 쿠폰 프로모션의 경우 총 매출 관련 항목과 쿠폰 매출 관련 항목으로 구분해서 성과를 확인할 수 있지만, 할인 프로모션의 경우 쿠폰 관련값이 존재하지 않으므로 쿠폰 매출 관련 성과는 확인이 불가능합니다. 따라서 성과를 확인함에 있어서 쿠폰 프로모션의 경우에는 쿠폰 매출 관련 항목을 확인해야 하고, 할인 프로모션의 경우에는 총 매출 관련 항목을 확인해야 합니다.

이를 적용했을 때 Sales Summary를 확인함에 있어서 결제상품수, 결제건수, 구매고객수의 경우 할인 프로모션의 경우에는 총 매출액 관련 항목으로, 쿠폰 프로모션의 경우에는 쿠폰 매출액 관련 항목으로 구분해서 표현해주어야 합니다.

Sales Summary 스코어 카드

이를 위해 케이스를 나누고, 쿠폰 아이디가 존재할 경우 쿠폰 프로모션으로 판단해서 쿠폰 매출 관련으로 카운트 하고, 쿠폰 아이디가 존재하지 않을 경우 할인 프로모션으로 판단해서 총 매출 관련항목으로 카운트할 수 있도록 계산된 필드를 생성합니다.

SQL
-- 결제상품수 예시
{FIXED [Promotion name1],[Classification],[Coupon Id]: 
    SUM(IF [Classification]='쿠폰' and ([# COUPON ID_1]= [Coupon Id] 
		    OR [# COUPON ID_2]= [Coupon Id] OR [# COUPON ID_3]= [Coupon Id]) 
        THEN 1
        ELSEIF [Classification]='할인' THEN 1
    END)}

4. 대시보드 템플릿

최종적으로 제작된 통합 프로모션 대시보드는 다음과 같습니다.

 통합 프로모션 대시보드 예시

4-1. 대시보드 템플릿 설명

📊 통합프로모션 대시보드 설명
1. 분류(쿠폰/할인) 및 테마 필터
- 해당 필터를 클릭하여 1. 프로모션 리스트에서 프로모션을 확인할 수 있습니다.
- 필터가 동작함에 따라 2. 세일 요약 내의 프로모션 평균이 변동됩니다.

2. 3. 아이템 디테일 내 브랜드별, 카테고리별, 상품별 막대그래프를 클릭하여 상세 판매현황을 확인할 수 있습니다.
- 클릭했던 막대그래프를 재클릭하시면 클릭을 해제하실 수 있습니다.

3. 5. CRM 정보에 표기되는 CRM 리스트 기준은 다음과 같습니다.
1) 전송건수: 10,000건 이상
2) Campaign Category: RAF, NTC(라플 및 공지) 제외
3) App: WO (칼하트윕 제외)

4-2. 해당 템플릿을 사용하는 방법

대시보드 우측 상단의 i표시를 클릭하면, 대시보드에 대한 설명을 확인할 수 있습니다. 프로모션의 분류가 할인일 경우, 1. Promotion List 에 쿠폰 판매건 및 쿠폰 판매액은 0건, 0원으로 표시됩니다. 2. Sales 의 결제 상품수, 결제 건수, 구매고객수의 경우, 프로모션 분류가 쿠폰일 경우에는 쿠폰 판매에 관련된 내용으로, 프로모션 분류가 할인일 경우에는 총 판매액에 관련된 내용으로 표시됩니다.

대시보드 작동예시를 좀 더 자세히 살펴보면 다음과 같습니다.

1. Promotion List

    프로모션 명을 클릭해서 해당 프로모션에 해당하는 2.sales, 3. Item detail, 4. Sale Trend, 5 CRM Info 를 확인할 수 있습니다.
대시보드 작동예시 - 프로모션 리스트

Promotion List 우측 분류 및 테마 필터를 클릭하여 해당하는 프로모션을 확인할 수 있습니다.

대시보드 작동예시 - 필터 확인

2.Sales(sales summary)

해당 프로모션의 총 매출액, 쿠폰 매출액, 결제 상품수, 결제 건수, 구매고객수 및 각 항목에 해당하는 일평균 액수를 확인할 수 있습니다.

Promotion List 우측 분류 및 테마 필터 적용 시, 2.sales KPI의 프로모션 평균이 필터에 해당하는 프로모션의 평균으로 변경됩니다.
대시보드 작동예시 -  프로모션 평균 확인

3. Item datail

좌측의 브랜드별, 카테고리별, 상품별 차트를 클릭해 각 항목에 해당하는 상품의 일자별 판매 현황을 확인할 수 있습니다.

  • 클릭한 항목을 재클릭하면 원본으로 돌아갈 수 있습니다.
대시보드 작동예시 - 상품 세부사항 확인

  • 예시) 상품별 차트에서  Top1 상품 클릭
대시보드 작동예시 - TOP 1 상품 확인

우측 막대그래프에 마우스를 오버하면, 각 일자별 총 매출 및 쿠폰 매출, 총 매출 대비 쿠폰 매출 비율을 확인할 수 있습니다.

대시보드 작동예시 - 쿠폰 및 매출 상관관계 확인

4. Sale Trend & 5.CRM Info

4. Sale Trend에서 프로모션 기간 동안의 총 매출 및 쿠폰 매출, 해당 기간 동안 CRM이 발송된 날짜에 대한 정보를 확인할 수 있습니다.

대시보드 작동예시 - 매출 트렌드 확인

5.CRM Info에서 해당 CRM에 대한 세부 정보를 확인할 수 있습니다.

  • CRM 기준
    1. 전송건수: 10,000건 이상
    2. Campaign Category: RAF, NTC(라플 및 공지) 제외
    3. App: WO (칼하트윕 제외)
대시보드 작동예시 - CRM 현황 및 정보 확인
ANALYSIS_image_thumbnail
GROWTH

MMP(AppsFlyer), GA4, Braze 데이터를 활용해 시각화할 때 반드시 고려해야 할 사항 (1)

July 17, 2024

업무 시간을 데이터 수집과 데이터 전처리에 시간을 쓰는 마케터와 데이터 수집 자동화된 환경에서 성과 분석과 기획에 더 많은 시간을 쓰는 마케터 누가 더 많이 성장할까요?

답은 알고 계실 거에요. 당연히 성과 분석과 기획에 더 많은 시간을 쏟는 마케터가 장기적으로 많은 성장을 하겠죠

회사 내에서 GA4, MMP(AppsFlyer), Braze를 사용하고 있는데 엑셀로 데이터 수집해서 가공하는 시간을 대부분을 사용하고 있다면.. 하루 빨리 마케팅 데이터 수집 자동화하고 BI 구축을 시도해보세요.

관련 주제는 내용이 많기도 해서 3개로 나눠서 발행할 예정입니다.

  1. Third Party 데이터 수집 자동화
  2. 수집된 데이터 전처리하기
  3. 시각화 하기

이번 편에서는 MMP(AppsFlyer), GA4, Braze 데이터 수집을 자동화 시키는 프로세스를 설명해보려고 합니다.

데이터 적재하기

데이터를 적재하고 시각화까지의 프로세스를 간단하게 도식화하면 아래와 같습니다.

데이터 적재와 시각화까지의 프로세스 도식화

브레이즈 currents 적재하기

브레이즈 currents 는 유저의 engagement 이벤트의 실시간 데이터 스트림입니다. 이 데이터를 Avro 파일로 제공해서 BI 및 분석 할 수 있게 지원을 해주는 장점이 있습니다. 단점은 가격이..

브레이즈 어드민에서 아래처럼 어떤 데이터를 보낼지 선택해서 어디에 저장할지  S3, Cloud Storage, Azure Blob Storage 중 선택해서 적재를 시작합니다. (가이드 링크)

브레이즈 커런츠 currents 적재 화면

예를 들어 Amazon S3 적재를 시작하게 되면 아래처럼 이벤트 별로 폴더가 생성되어 분리 적재됩니다.

브레이즈 Currents 는 At-least-once delivery 정책으로 1시간 단위로 데이터를 적재합니다.

그래서 중복된 이벤트가 가끔 스토리지 버킷에 저장될 수 있습니다. 그래서 DW에 적재할 때 고유 식별자 필드(id) 를 사용해 이벤트 중복을 제거할 수 있습니다.

Amazon S3 이벤트별 폴더 생성 및 분리 적재

각 폴더 안에는  Avro 파일(각 파일의 Schema는 동일한 형태)이 들어 있는데 이 파일 내에는 이벤트를 구분하는 필드가 없습니다.

일단 여기서 필요한 이벤트 데이터들을 지정해서 합쳐야 되는데 여기서 문제가 있습니다.

그래서 파일 안에 어떤 이벤트의 파일인지 지정해줘야 합니다.

아래와 같이 Avro 파일 명을 확인하여 event_type 필드의 key 값을 추가 필요합니다.

# 파일명 event_type 필드의 key 값(예시)
1 users.messages.email.Open.avro email_open
2 users.messages.email.Click.avro email_click
3 users.messages.email.Delivery.avro email_delivery
4 users.messages.pushnotification.Send.avro push_send
5 users.messages.pushnotification.Open.avro push_open
6 users.messages.inappmessage.Click.avro inappmessage_click
7 users.messages.inappmessage.Impression.avro inappmessage_impression

  • 추후에 전처리시 currents 데이터 필드에는 시간 관련된 필드가 Time 필드인데 UTC 기준이라 원하는 시간대로 전처리시 맞추면 됩니다.
브레이즈 데이터 적재 완료 예시 화면

  • 여기까지 브레이즈 데이터 적재까지는 완성 되었습니다.

MMP(앱스플라이어)

💡 앱스플라이어 데이터는 내부에서 기준을 잡아주셔야 됩니다. 소개 드리는 방식은 skan 중복이 어느정도 발생할 수 있으나 현재까지는 이 방식이 최선입니다. 앱스플라이어측에서 개선을 해주신다고 들었기 때문에 기대가 됩니다.

앱 데이터를 측정하는 앱스플라이어도 마찬가지로 데일리 리포트를 만드려면 OS별, UA, RT(리타겟팅)별로 csv 파일을 12번 클릭해서 받아 정리해야 되지만 API 를 활용하면 충분히 자동화 할 수 있습니다.

 

pull api rawdata 예시
pull api rawdata 예시

다만 앱스플라이어 데이터를 어떻게 볼지 기준에 대한 합의를 유관 부서와 먼저 하시는 걸 권장드리고 대행사에게도 우리 기준으로 맞춰 달라고 요청을 해야 되겠죠?

이런 기준으로 데이터를 쌓고 있었는데 데이터를 집계하는 기준이 서로 차이가 있다면 .. 다시 작업해야 되는 불상사가 생길 수 있습니다.

이게 무슨 말이냐면 앱스플라이어 Media Source 중 SRN 매체들의 경우 개인정보 보호 이슈로 rawdata에 포함되지 않아서 집약형 데이터를 활용합니다.(가이드 링크)

그래서 SRN 매체를 사용 중이시라면 집약형 데이터를 활용해서 집계를 해야 하는데 집약형 데이터는 LTV 데이터라서 조회 시점마다 Total Revenue 값이 달라집니다. (관련글 보러가기 링크)

  • 예시
    • re-engagement window 컬럼에서 “lifetime”이라는 값은 평생 생애 가치를 의미하므로, 조회 시점마다 데이터가 달라질 수 있습니다.
re-engagement window 컬럼

1/1 데이터를 1/7일에 조회했을 때랑 1/14일에 조회했을 때의 total revenue가 달라진다는 의미입니다. 이러게 되면 가장 최근에 조회한 일자일 수록 ROAS가 높게 나오겠죠?

또한 skan 리포트도 마찬가지로 SRN 매체 광고를 운영 중에 있다면 해당 리포트도 받아야겠죠? 이것도 마찬가지로 조회시점마다 성과 숫자가 달라질 수 있습니다

앱스플라이어 데이터 자동화 수집을 위해선 크게  3가지 api 가 필요하고 세부적으로는 인스톨과 인앱이벤트 데이터를 가져와야 합니다. (추후에 앱스플라이어 데이터를 전처리하는 방법에 대해서 포스팅 해보겠습니다.)

  • Raw data Pull API
    • organic
      • install
      • in-app events
    • non-organic
      • install
      • in-app events
  • Aggregate Pull API
    • User Acquisition
    • Retargeting
  • SKAN AGGREGATED PERFORMANCE REPORT API

GA4 데이터

GA4 빅쿼리는 실무에서 쓰고 있는 조직이 있나 싶을 정도로 ..  사용하기가 좀 꺼려집니다. 원시 데이터라서 데이터 가공의 자유도가 엄청나게 높지만.. 집계를 하는 입장에서는 굉장히 머리 아픕니다. 정합성을 어디다가 맞춰야 되는지..

빅쿼리에서의 GA4 데이터 활용 현실 게시물

그래서 광고 데이터 성과를 집계할 때는 특별한 이유가 없다면 GA4 API 데이터를 소싱하는 게 정합성 의심의 여지가 없기 때문에 무조건 낫다고 봅니다.

GA4 데이터를 소싱할 때 진짜 진짜 주의해야 할 점이 바로 샘플링입니다.

샘플링 진짜 …. 데이터량이 많으면 더 심해집니다.

샘플링 분석 화면

GA4 API 를 14일치만 호출해도 샘플링된 양이 상당합니다.

GA4 API 14일치 호출 화면

GA4 Query Explorer 에서도 조회해도 어드민이랑 큰 차이가 있어서 구글 측에 문의를 해보니 여기도 데이터 조회 일자 범위가 넓으면 샘플링이 적용된다고 합니다.  추후에 해당 이슈 해소하겠다고 합니다.

GA4 Query Explorer 조회 화면

일단 우리는 샘플링 되지 않을 정도의 날짜 범위로 api 를 호출해서 적재를 하는 것이 좋습니다.

이번 편은 마케팅 데이터 수집 자동화에 대해서 알아보았고 다음 편에서는 인사이트 도출을 위한 데이터 전처리 방법에 대해서 알아보겠습니다!

ANALYSIS_image_thumbnail
GROWTH

빅쿼리에서의 GA4 데이터 활용 현실: 기회와 간과된 문제점

July 16, 2024

GA4 데이터를 빅쿼리로 보내면 뭐든 다 해결될 것 같은 이야기들이 많지만 실상은 그렇지 못합니다. GA4 인터페이스와 차이가 많고 많은 데이터 용량으로 ETL 과정으로 생각보다 리소스가 많이 듭니다. 그럼에도 불구하고 빅쿼리를 쓰는 이유가 뭘까요?

GA4 빅쿼리네 데이터 Export 하는 기능
GA4 빅쿼리네 데이터 Export 하는 기능

GA4 데이터를 빅쿼리로 활용하면 좋은점

  • 데이터 샘플링(GA4 인터페이스에서의 데이터는 샘플링이 되어있습니다)
  • 일부 측정항목과 측정기준은 시스템에서 허용하지 않아서 결합해서 보기 힘듬
  • 데이터가 너무 많아서 상품 이름 같은 많은 측정 기준들이 (기타)라는 명칭으로 숨겨짐
  • 유저 아이디별로 추출 할 수 없고 집계된 계산만 추출 가능
  • 데이터 카디널리티
    • GA4 보고서를 보면 분석 범위에 행이 많으면 데이터 카디널리티 발생
    • 이로 인해서 동일한 차원을 사용하는 표준 보고서와 다른 값이 나올 수 있음

데이터 카디널리티란?
카디널리티는 측정 기준 고유값의 개수.
하나의 측정기준에 얼마나 많은 고유값이 있는지를 의미함
예를 들어, 성별 측정기준은 남성, 여성으로 두 가지 값만 가지고 있으므로 카디널리티가 낮음, 반면 마케팅 데이터를 기준으로 캠페인차원(utm_campaign) 을 기준으로 측정기준을 가져가면 카디널리티가 높은 것

GA4 데이터를 빅쿼리로 사용한다면 판도라의 상자를 여는것

[GA4] Compare Analytics reports and data exported to BigQuery (링크)

구글 ga4 biguery discrepancy 검색 결과 페이지

GA4 빅쿼리 데이터를 가공하다보면 어? 뭐지? 하는 현상들이 있는데 대표적인 하나의 케이스를 공유해볼까합니다. 바로! 빅쿼리에 저장되는 GA4 데이터에는 구글 관련 트래픽에 가장 큰 문제가 있다는 것입니다ㅜㅜ

gclid 파라미터(구글 애즈 캠페인으로 들어온 트래픽이라는 의미)가 있는 세션이 시작 되었을 때 빅쿼리는 utm_medium, utm_campaign 파라미터를 (organic)으로 기록해버립니다

다시 말하면 구글 애즈로 들어왔다는 데이터라고 식별은 되지만 캠페인 명이 증발해버리는 현상입니다.

소스 = google
매체 = Organic
캠페인 = (Organic)

빅쿼리 RAWDATA에 구글 캠페인 명이 없는 모습
빅쿼리 RAWDATA에 구글 캠페인 명이 없음

with events as (
      select
        cast(event_date as date format 'YYYYMMDD') as date,
        concat(user_pseudo_id, (select value.int_value from unnest(event_params) where key = 'ga_session_id')) as session_id,
        user_pseudo_id,
        (select value.int_value from unnest(event_params) where key = 'ga_session_id') as session_start,
        if(
              (select value.string_value from unnest(event_params) where key in ('campaign_id', 'campaign', 'source', 'medium', 'term', 'content', 'gclid', 'dclid', 'srsltid') and value.string_value is not null limit 1) is not null,
              (
                select as struct
                  (select value.string_value from unnest(event_params) where key = 'campaign_id') as manual_campaign_id,
                  (select value.string_value from unnest(event_params) where key = 'campaign') as manual_campaign_name,
                  (select value.string_value from unnest(event_params) where key = 'source') as manual_source,
                  (select value.string_value from unnest(event_params) where key = 'medium') as manual_medium,
                  (select value.string_value from unnest(event_params) where key = 'term') as manual_term,
                  (select value.string_value from unnest(event_params) where key = 'content') as manual_content,
                  (select value.string_value from unnest(event_params) where key = 'gclid') as gclid,
                  (select value.string_value from unnest(event_params) where key = 'dclid') as dclid,
                  (select value.string_value from unnest(event_params) where key = 'srsltid') as srsltid
              ),
              null
              ) as collected_traffic_source,
        event_timestamp,
        stream_id,
        (select value.string_value from unnest(event_params) where key = 'device_category') device_category,
        event_name,
        ecommerce.purchase_revenue_in_usd  as purchase_revenue_in_usd,
        case 
          when event_name = 'purchase'
          then 1 else 0 end AS purchase

      from
        `테이블명`
      where
         _TABLE_SUFFIX >= '20231001' AND _TABLE_SUFFIX <= '20231001'
        and (select value.string_value from unnest(event_params) where key = 'source') = 'google'
)

select * from events
order by session_id 

이 현상을 해결하려면 UTM 파라미터를 자동 태깅(gclid)를 대신해서 사용하거나 URL에 커스텀 파라미터를 붙여서 해결할 수 있긴 합니다.

  • Page Referrer 에 담긴 gclid 를 모아서 빅쿼리의 데이터를 수정해줘야 됩니다.
  • 여기서 한가지 조건이 있는데
    • 유저가 세션안에서 2개의 페이지 뷰 이벤트를 가지고 있어야 합니다.
    • 왜냐하면 사용자가 광고 클릭 후 랜딩 페이지에 도착하고 이후 추가 페이지를 탐색할 경우, 첫 번째 페이지(랜딩 페이지)에서의 referrer에 gclid가 포함되어 기록될 가능성이 높기 때문입니다.
  • 따라서 GA4 Custom Dimensions 을 통해서 ga_session_id, gclid 를 구글 태그매니저(GTM)로 잡는 방법을 사용하면 됩니다.
  • 이렇게 셋팅을 했다면 GA4 API 를 통해서 sessionCampaignName, sessionSourceMedium, customEvent:ga_session_id, customEvent:gclid 를 구글 스프레드시트나 빅쿼리에 테이블을 만들거나 혹은 GCF(Google Cloud Function)을 활용해서 빅쿼리 테이블 만들어서 GA4 빅쿼리 테이블과 JOIN 을통해 이런 현상을 해결 해볼 수 있습니다.

결론!

유저 레벨 분석이 아닌 마케팅 성과를 집계하기 위한 목적으로 GA4 데이터를 활용하고자 한다면 Bigquery Export 보다는 Google Analytics Data API 를 활용해서 일별로 내부 DataWarehouse에 저장하는 방식이 더 효율적일 것 같습니다.

참고로  Google Analytics Data API 를 활용한다면 집계된 데이터를 받아오기 때문에 Total Users 와 같은 유니크한 집계값 (Count Distinct)를 해야되는 지표는 제외하고 이벤트 단위의 지표만 활용해야합니다. 이유는 아래와 같습니다.

4명의 유저가 2024-01-01 ~ 2024-01-03 에 방문했습니다.(로우 데이터)

유저 방문 데이터 예시

일별 Total User 를 집계해보면

유저 방문 데이터 일별 집계

전체 기간의 Total User 를 집계해보면

유저 방문 데이터 전체 기간 총 방문자 집계

일별, 기간별 집계 했을 때 유니크 사용자수는 완전히 다릅니다. (DAU, MAU 개념과 동일)일별 테이블을 다 더해서 집계를 해서 사용하시면 쓸모없는 지표가 되어버리기 때문입니다.

그래도 유저레벨 단위로 혹은 GA4 인터페이스에서 처리 못하는 방식의 데이터 가공이 필요하다면 위의 케이스를 반드시 고려해서 빅쿼리를 사용하시는 걸 권장드립니다.

Reference

Why your BigQuery results don't (exactly) match with Google Analytics reports (GA4)

Google 애널리틱스 4 Data API 개요

원본 포스팅 링크

빅쿼리에서의 GA4 데이터 활용 현실: 기회와 간과된 문제점

ANALYSIS_image_thumbnail
GROWTH

Wide Format vs Long Format

July 12, 2024

Wide Format vs Long Format 비교 예시


데이터를 구성하는 형식은 크게 Long format data와 Wide format data로 구분할 수 있습니다.
각 유형 별 특징 및 장단점에 대해 살펴보겠습니다.

Wide Format Data

Wide Format Data는 각 주제 또는 관찰단위가 단일 행으로 표시되는 구조입니다.

Wide Format Data 예시

특징:

  • 넓은 형식 데이터에서는 각 행이 하나의 관측 단위를 나타내고, 각 열이 다른 변수를 나타냅니다.
  • 한 관측 단위에 대한 모든 정보가 하나의 행에 포함되어 있어 데이터의 구조가 직관적이고 이해하기 쉽습니다.

사용시 장점:

  • 넓은 형식 데이터는 변수 간의 비교가 주된 목적일 때 유용합니다.
  • 단일 변수 또는 몇 개의 변수를 이용한 간단한 시각화를 생성할 때, 또는 피벗 테이블과 같은 요약 통계를 제공할 때 넓은 형식이 유리합니다.

Long Format Data

Long Format Data 예시

특징:

  • 긴 형식 데이터에서는 각 행이 하나의 관측치에 대한 하나의 변수를 나타냅니다.
  • 일반적으로 "키(key)"와 "값(value)"의 쌍으로 구성되며, 하나의 열은 "키"를 나타내고 다른 열은 해당 "키"의 "값"을 나타냅니다.

사용시 장점:

  • 긴 형식 데이터는 다변량 분석, 시계열 데이터 분석, 혹은 여러 변수 간의 관계를 분석할 때 유용합니다.
  • Tableau와 같은 BI 도구에서 긴 형식 데이터를 사용하면, 다양한 변수를 하나의 차트에 동적으로 표시하고, 필터링하며, 그룹화하기가 쉽습니다.

참고) Wide Format & Long Format In Tableau

Wide Format 데이터를 태블로에 입력하면 학생Id는 차원에, 점수관련 항목은 측정값으로 구분됩니다.
이를 활용해 하나의 테이블을 생성하기 위해서는 점수관련 항목을 모두 선택해주어야합니다.

 Wide Format & Long Format In Tableau 태블로

반면 Long Format 데이터를 태블로에 입력하면 학생Id와 시험 항목은 차원에, 점수는 측정값으로 구분됩니다. 이를 활용해 하나의 테이블을 생성하기 위해서는 열에 시험 차원을, 행에 학생 Id차원을 올려놓은 후 점수 값을 표에 입력하면 됩니다.

Long Format data in Tableau 태블로

다음은 해당 데이터들을 활용해 그래프를 생성해보겠습니다.
먼저 Wide Format 데이터의 경우 국어시험, 수학시험, 영어시험은 각각 다른 차원에 존재하는 데이터이므로 이를 하나로 합친 차트를 구현하는 것은 불가능합니다.

Wide Format data in Tableau 태블로

반면 Long Format 데이터의 경우, 시험이라는 하나의 차원을 기준으로 점수라는 측정값이 적재되어 있기때문에 해당 데이터를 이용해서는 하나의 차트 내에서 3가지 항목을 구분하여 구현할 수 있습니다.

Tableau 태블로 Long data Chart

→ 따라서 Tableau를 활용하여 시각화를 구현할 때에는 Long Format형식의 데이터를 사용하는 것이 더욱더 다양한 시각화가 가능합니다.

ANALYSIS_image_thumbnail
GROWTH

리텐션(Retention)이란?

July 10, 2024

1. 리텐션(Retention)이란?

리텐션(Retention)은 고객이나 사용자가 특정 기간 동안 어떤 제품이나 서비스에 계속 관여하거나 이용하는 비율을 말합니다. 즉, 얼마나 많은 사용자가 시간이 지남에 따라 제품이나 서비스를 계속 사용하는지를 나타내는 지표입니다. 높은 리텐션율은 고객 충성도가 높고, 제품이나 서비스에 대한 만족도가 높음을 의미합니다.

리텐션이 중요한 이유

리텐션을 지속적으로 측정하고 관리하는 것이 중요한 이유는 여러가지가 있습니다. 리텐션은 단순히 고객이 제품이나 서비스를 계속 사용하는 것을 넘어서 기업의 지속가능성과 직접적으로 연결되는 핵심 지표입니다. 리텐션이 중요한 이유를 좀 더 자세히 살펴보면 다음과 같습니다.

  • 비용 효율성
    : 신규 고객을 유치하는 것보다 기존 고객을 유지하는 것이 훨씬 더 적은 비용이 사용됩니다. Harvard Business Review에 따르면 신규 고객 한 명을 확보하는 것이 기존 고객 유지에 비해 5~25배의 비용이 든다고 합니다. 따라서 리텐션을 높이면, 마케팅 및 영업 비용을 절감하고, 장기적으로는 더 높은 수익성으로 이어질 수 있습니다.
  • 수익성 증가
    : 리텐션이 높은 고객은 브랜드에 대한 충성도가 높고, 시간이 지남에 따라 더 많은 제품을 구매하거나 서비스를 이용할 가능성이 높습니다. 이는 평균 거래 규모의 증가, 구매 빈도의 상승, 즉, 총 수익 증가로 이어집니다.

2. 리텐션 측정기준

리텐션을 측정하는 기준에는 다양한 방법이 존재합니다. 그 중 Amplitude에서 확인할 수 있는 리텐션의 종류인 ‘N-day Retention’과 ‘Unbounded Retention’에 대해 좀 더 자세히 알아보려고 합니다.


앰플리튜드 리텐션 차트 화면
‘N-day Retention’과 ‘Unbounded Retention’

2-1. N-day Retention

N-day Retention은 사용자가 처음 제품이나 서비스를 이용한 후 특정 일수(N일) 후에도 계속 이용하는지를 측정하는 방법입니다. 예를 들어, 7-day Retention은 사용자가 서비스를 처음 이용한 후 7일째 되는 날에도 서비스를 이용하는 비율을 의미합니다. 해당 리텐션은 초기 사용자 참여, 온보딩, 새로운 기능, 단기 마케팅 캠페인 분석을 위해 사용됩니다.

2-2. Unbounded Retention

Unbounded Retention은 특정 기간 동안 사용자가 최소 한 번이라도 제품이나 서비스를 이용했는지를 측정하는 방법입니다. 이 방법은 시간이 지나도 사용자가 이탈하지 않고 계속해서 제품을 사용했는지의 여부만을 고려합니다. 해당 리텐션은 장기적인 참여, 고객 충성도, 반복 구매, 주기적인 콘텐츠 업데이트 분석을 위해 사용됩니다.

3. 리텐션 차트&리텐션 커브

3-1. 리텐션 차트란?

앰플리튜드 리텐션 - 코호트 차트


리텐션 차트는 시간에 따른 사용자의 이탈 및 유지 패턴을 시각적으로 표현한 그래프입니다. 이 차트는 특정 기간 동안 사용자 그룹의 리텐션율 변화를 보여줍니다. 리텐션 차트를 통해 크게 행 기준 분석과 열 기준 분석을 수행할 수 있습니다.

앰플리튜드 리텐션 - 코호트 차트 열기준과 행기준 설명
코호트 차트 열 기준 분석
  • 단일 시점에서 코호트 그룹을 비교합니다. 이 방법은 서로 다른 코호트끼리의 비교를 가능하게하여 그룹간의 성과를 측정할 수 있습니다.

코호트 차트 행 기준 분석
  • 일정기간 동안 코호트 그룹을 추적하여 유지율이 어떻게 변하는지 관찰하는 작업으로 장기적인 관점에서 사용자 행동의 추세와 패턴을 이해하는데 도움이 됩니다.

3-2. 리텐션 커브란?

앰플리튜드 리텐션 커브


리텐션 커브는 시간에 따른 리텐션율의 변화를 나타낸 것입니다. 이 커브는 초기 사용자 참여 이후 리텐션율의 감소 패턴을 한눈에 파악할 수 있게 해줍니다.

리텐션 커브는 감소형태에 따라 유형를 크게 3가지로 나눌 수 있습니다.

리텐션 커브 3가지 유형

3-2-1. Declining Curves

시간이 지남에 따라 사용자 참여가 감소되는 패턴의 커브입니다. 이는 가장 흔히 보이는 커브의 형태로, 초기참여 이후 사용자의 관심이 감소됨을 의미합니다.

  • 특징
    • 사용자가 꾸준히 제품을 떠나고 있으며 이는 사용자 만족도나 참여도에 지속적인 문제가 있음을 나타냅니다.
    • 제품이 장기간 사용자를 유지하지 못하고 지속적인 가치를 제공하지 못하는 문제가 있음을 시사합니다.

3-2-2. Flattening Curves

초기 감소 후 리텐션율이 안정적으로 유지되는 패턴의 커브입니다. 이는 사용자들이 제품이나 서비스에 익숙해지고 일정수준의 참여를 계속해서 유지함을 나타냅니다.

  • 특징
    • 초기 감소 후 특정 시점부터 곡선이 평평해 지는데, 이는 나머지 사용자 사이에서 안정적인 유지율을 나타내는 것을 시사합니다.

3-2-3. Smiling Curves

리텐션 감소 후 시간이 지남에 따라 다시 증가하는 패턴의 커브입니다. 이는 매우 긍정적인 상황으로, 사용자들이 초기 이탈후 일정시간이 지나 다시 제품이나 서비스에 관심을 가지기 시작함을 의미합니다.

  • 특징
    • 초기 감소 이후 특정 시점부터 곡선이 상승하기 시작하여 시간이 지남에 따라 사용자가 다시 돌아오거나 참여도가 향상됨을 나타냅니다.
      • 사용자는 처음에는 떠날 수 있지만 제품의 가치를 깨닫거나 업데이트나 재참여 캠페인과 같은 특정 개입으로 인해 다시 돌아올 수 있습니다.

원본 포스팅 링크

리텐션(Retention)이란?

ANALYSIS_image_thumbnail
FULL FUNNEL

풍선차트로 SEO 분석 하기

July 8, 2024

📊풍선차트로 SEO 분석 하기

블로그를 하다보니 SEO에 대한 키워드 최적화와 분석을 많이 하고 있습니다.

그 중 최근 많이 활용하는 분석 방법 중 하나는 풍선 차트를 활용한 키워드 분석입니다.

풍선(버블) 차트는 여러개의 측정기준을 두고 분석할 수 있다보니, SEO 같이 단일 키워드 별로 다양한 측정기준 간 비교를 해야하는 경우 유용합니다.

아래는 풍선차트로 분석하는 SEO 예시입니다.

<풍선 차트 만들기>

풍선차트로 SEO 분석 하기

X축 : 클릭율(CTR)

Y축 : 노출 순위(Average position)

풍선크기 : 노출(Impression)

풍선색상 : 기기 카테고리(Device Category)

1. 날짜 필터SEO는 즉각적인 효과 분석보단 장기간에 걸친 데이터 분석이 필요합니다. 기간별 키워드 지표의 변화를 확인할 수 있습니다.

2. 검색어(Query)관리해야하는 키워드가 수 백개를 넘어갑니다. 관리 할 키워드가 많은 경우 노출이나 클릭 기준으로 키워드 필터를 걸어서 관리하면 편합니다.

3. 기기서비스의 특성에 따라 PC, MO 중 검색 선호 기기가 다른 경우가 많습니다.

4. 국가글로벌 서비스의 경우 국가별로 반응하는 키워드와 키워드별 지표 트렌드가 달라질 수 있습니다.

5. 최소노출량롱테일 키워드는 노출량이 적지만 키워드의 양이 많습니다. 따라서 최소 노출량 필터를 두어서 분석 편의성을 높일 수 있습니다.

6. 축 평균값각 축의 평균값 선을 두어서 평균값 기준 키워드 그룹을 4분면으로 나누어 관리할 수 있습니다.

7. Y축 역방향Y축은 평균 게재순위 입니다. 기본적으로 1에 가까울 수록 좋은 키워드 그룹이기 때문에 Y축 방향을 반전 시켜 1이 위쪽으로 배치될 수 있게 하면 분석 편의성을 가질 수 있습니다.

8. 로그 스케일키워드간 지표의 차이가 크게 발생하는 경우 로그 스케일을 사용하면 차트에 분포되어 있는 검색어를 더 쉽게 파악할 수 있습니다.

👉 관련 대시보드 : https://lnkd.in/gQQ9_8r7

분석은 축 평균 기준으로 4개 분면으로 키워드 그룹을 나누어 전략을 다르게 가져갈 수 있습니다.

풍선차트로 SEO 분석 하기

1️사분면 : 노출순위가 높고, CTR도 우수한 유효 키워드 그룹

2️사분면 : 노출순위가 낮고, CTR은 높은 잠재 우수 키워드

3️사분면 : 노출순위도 낮고, CTR도 낮은 문제 키워드 그룹

4️사분면 : 노출순위가 높지만, CTR은 낮은 관리 필요 그룹

👉 자세한 SEO 분석 전략 : https://lnkd.in/gJDbrBzp

► 구글 서치콘솔 데이터를 통해 풍선 차트 생성과 분석을 간단하게 진행할 수 있습니다.

► 혹시나 블로그를 하고 계시다면 구글 서치콘솔 설정과 대시보드 구축을 해보세요.

원본 포스팅 링크

📊풍선차트로 SEO 분석 하기

ANALYSIS_image_thumbnail
GROWTH

혼자서 GA4 연동하고 루커스튜디오 대시보드 만들기-3

July 4, 2024

태그 설치를 끝낸 후 GA4 대시보드에서 데이터가 잘 수집되는 것을 확인했다면 이제 데이터 시각화 기능인 루커 대시보드와 연동하여 나만의 대시보드를 만들 수 있다.

GA4의 유입 데이터와 내부 데이터를 연동하여 한 화면에서 비즈니스 데이터를 확인할 수 있기 때문에 데이터 기반 인사이트를 용이하게 확인할 수 있다. 내 웹사이트에 어떤 경로로 들어왔는지, 어느 페이지에서 이탈률이 높은지, *스크롤은 몇 % 내리는지, 어느 광고 매체에서 구매 전환 혹은 매출이 많이 일어나는지 한 화면에서 확인이 가능하다.

💡 * 이커머스에서는 보통 상세페이지의 스크롤을 파악하여 어디 콘텐츠 소구점에서 유저의 이탈이 많이 일어나는지 확인할 수 있다. 스크롤(scroll) 이벤트는 구글 GTM에서 추적할 수 있도록 지원하고 있어 쉽게 확인이 가능하다. gtag를 (기본 GA4 태그)를 설치하면 자동 태그로 GA4 대시보드에서도 확인이 가능하나 정확하지 않아 가급적이면 GTM을 통해 스크롤 태그를 설치할 것을 권장한다.

그리고 루커 대시보드는 gmail 계정만 있으면 관련 담당자와 쉽게 공유할 수 있으므로 타 부서와 긴밀하게 매출과 비즈니스 KPI를 관리할 수 있다는 장점이 있다.

1. 루커 대시보드와 데이터 연동하기

루커 대시보드에서 차트를 구현할 때 연동하는 데이터 세트를 ‘데이터 소스’라고 한다. 데이터 소스는 루커 스튜디오의 커넥터를 클릭하여 쉽게 연동이 가능한데, 루커는  무려 1,000개 이상의 다양한 데이터 소스를 간편하게 연동할 수 있도록 지원하고 있다. (연동 가능한 데이터 소스 종류 확인하기)

만약 내가 기존에 적재하고 있던 구글 시트 보고서의 데이터와 GA4 데이터를 기반으로 대시보드를 만들고자 한다면 구글시트와 GA4 계정을 커넥터에 연결해서 확인할 수 있다.

1-1. 우선, 루커 스튜디오 홈페이지에 접속하여 빈 보고서를 클릭한다. (링크)

루커 스튜디오 빈 보고서 클릭

1-2. 나의 데이터를 확인한 후 커텍트를 클릭하여 루커 스튜디오와 연결한다.

구글 시트 보고서와 GA4 데이터를 연결해야 하기문에 커넥터에서 ‘Google 애널리틱스’와 Google Sheet를 클릭하여 연동을 시작한다. 구글 시트는 워크시트별로 연동이 가능하고 GA4는 해당 계정에 대해 권한이 있어야 연동이 가능하다. 다만 이때 각 열의 헤더(제목)이 있어야 하고 헤더는 중복되면 안된다.

루커 스튜디오와 구글애널리틱스, 구글 시트 연동

1-3. 루커 스튜디오 기본 화면 이해하기

루커 스튜디오는 ‘보기’모드와 ‘수정’모드가 있다. 보기 모드는 편집자 권한이 없는 사람이 대시보드가 보이는 형태를 확인할 수 있고 편집자 모드가 있을 경우 ‘수정’모드에서 각 차트와 대시보드 스타일에 대한 요소들을 생성 및 수정할 수 있다.

Image 1
보기모드
Image 2
수정모드

수정 모드에서는 가장 우측 데이터, 속성, 필터 표시줄 이모티콘을 클릭함으로써 각 기능에 대한 툴바를 숨김 처리할 수 있다.

루커스튜디오 대시보드 수정모드

(상단 좌측부터 순서대로 설명)

  • 데이터 추가
    • 데이터 소스 추가
  • 차트 추가

[✔︎ 가장 많이 쓰는 차트 예시]

(1) 막대그래프 및 열 차트 (링크)

막대그래프 및 열 차트 예시

(2) 선 차트 및 콤보 차트 (링크)

선 차트 및 콤보 차트 예시

(3) 스코어카드 (링크)

1개의 측정항목에 대한 요약 수치를 표시할 수 있다. 전자상거래 대시보드에서는 총매출, 구매 수, 광고소진액, 신규 유저, MAU, DAU에 대한 수치를 증감률과 함께 확인할 수 있다.

 스코어카드 예시

(4) 시계열 (링크)

시간의 흐름에 따라 데이터가 어떻게 변화되는지 확인할 수 있다. 전자상거래 대시보드에서는 일별 구매수, 세션별 일별 구매자 수, 일별 광고비 등을 확인할 수 있다.

시계열 차트 예시

(5) 원형 차트 (링크)

값 비율 차이가 큰 데이터를 비교할 때 많이 쓰는 차트로 전자상거래 대시보드에서는 광고비 비중, 채널별 비중을 확인할 수 있다.

원형 차트 예시

(6) 트리맵 차트 (링크)

값이 큰 데이터 항목일수록 색상이 진하고 크기가 크게 표시되는 차트로 계층별로 정리하여 비교할 수 있다는 장점이 있다.

트리맵 차트 예시

(7) 피벗 테이블

피벗 테이블 예시
  • 컨트롤 추가
    • 차트 필터 추가
      • 날짜, 검색, 드롭 다운, 체크박스 필터 기능 추가 가능
  • 링크, 이미지, 도형 이모티콘
    • 링크, 이미지, 도형 삽입 가능

2. 루커 대시보드 내용 기획하기

루커 시보드에서 데이터를 연결하고 어떤 차트를 구현할 수 있는지 파악이 완료되었다면 실제로 내가 활용할 대시보드의 목차를 기획해야 한다. 대시보드를 이용하는 사용자가 누군지 파악해야 하고 가능하면 사용자 관점에서 보기 편리하도록 대시보드를 구성해야 한다. 즉, 사용자가 무엇을 알고 싶어 하는지를 파악해야 한다.

가장 좋은 방법은 파악한 사용자들과 함께 회의를 통해 목차를 구성하고 아웃라인을 작성하는 것이지만 그것이 어렵다면 목차라도 함께 작성해야 한다. 사용자가 대시보드를 보고 의미를 쉽게 파악하지 못하거나, 알고 싶은 데이터가 대시보드에 반영되어 있지 않다면 지금까지 노력을 기울여 만든 대시보드의 활용성을 떨어지기 때문에 이 부분을 가장 중점적으로 생각해야 한다.

이커머스 서비스에서 가장 기본적으로 파악해야 하는 그래프를 바탕으로 대시보드 목차를 생각해 보면 다음과 같다.

💡 대시보드 목차 예시
  • Overview
    • DAU
    • WAU
    • MAU
    • 구매자 수, 구매 수, 구매 전환 금액
    • 구매자 수 비교
    • 광고 성과 요약
  • Advertisement
    • 광고 예산
    • 광고 성과
  • Channel Analysis
    • 채널별 매출
    • 채널별 매출 비중
    • 채널별 매출 건수 비중
    • 채널별 객단가
    • 채널별 건단가
  • Creative Analysis
    • 소재별 성과
  • Product Analysis
    • 상품별 매출
    • 장바구니 조회 대비 매출이 높은 상품
    • 상세조회 대비 매출이 높은 상품
    • 채널별 상위 상품
  • User Analysis (GA4)
    • 인구통계학 정보

3. 차트 구현하기

3-1. 측정기준, 측정항목 이해하기

GA4, 루커 스튜디오와 같이 구글 플랫폼을 활용할 때 많이 들어볼 수 있는 측정항목과 측정 기준의 개념을 이해하고 가는 것이 좋다.

측정기준, 측정항목 구분 이미지

Dimensions (측정기준)

  • 값 (Value)

Metrics (측정항목)

  • 숫자
  • 계산된 필드(계산 수식) 적용이 가능하다.
    • e.g. CPC (계산된 필드): SUM(지출금액)/SUM(클릭)

3-2. 계산된 필드 생성하고 차트 만들기

 매체별 광고 성과에 대한 피벗 테이블 차트

예를 들어 위 그림처럼 매체별 광고 성과에 대한 피벗 테이블 차트를 구현하고 대시보드에 추가하려고 한다면 어떻게 해야 할까?

루커 스튜디오 대시보드 차트 추가 - 피봇 테이블

피벗 테이블을 추가하고 수식을 걸지 않은 광고비, 노출, 클릭, 구매, 구매금액까지는 데이터 소스에서 추출하여 측정항목을 선택하여 그대로 차트에 넣으면 된다. 단, CPC, CTR, ROAS의 경우 수식 계산이 필요한데 계산된 필드로 만들어서 측정항목으로 추가할 수 있다.

루커 스튜디오 대시보드 계산된 필드 추가

계산된 필드 생성을 클릭하면 필드 생성 창이 뜨는데, 원하는 측정항목 이름으로 필드 이름을 적은 후 수식에 루커 스튜디오 함수 목록을 참고하여 수식을 입력한다.

[✔︎ 많이 쓰는 함수식]

(1) CPC

SUM(광고비) / SUM(클릭수)

(2) CTR

SUM(클릭) / SUM(노출)

(3) ROAS

SUM(구매금액) / SUM(광고비)

(4) CPI

SUM(광고비) / SUM(설치수)

(5) CPA (구매)

SUM(광고비) / SUM(구매이벤트수)

* 루커스튜디오 함수 목록 (링크)

루커 스튜디오 대시보드 계산된 필드 구현

이렇게 맞춤으로 생성한 계산된 필드는 데이터 툴바에서 파란색으로 필드명이 보이게 된다. 대시보드 화면에 추가한 차트를 클릭하여 해당 차트의 측정항목에 필드명을 가져온다.

4. 스타일 다듬기

루커 스튜디오 대시보드 스타일 편집

속성 툴바에서는 설정과 스타일 탭 두 가지가 있는데 설정 탭에서는 차트에 들어가는 측정항목에 대한 추가/삭제, 필터, 정렬을 설정할 수 있고 스타일 툴바에서는 차트 색, 소수점, 글꼴, 데이터 없음 표시 종류 등 디자인과 관련한 항목을 설정할 수 있다.

(1) 소수점 변경하는 방법

  • 소수점 정밀도를 클릭하여 구매 금액 데이터가 USD인 경우 소수점 2자리 또는 정수로 임의로 설정할 수 있다.
루커 스튜디오 대시보드 소수점 정밀도 설정

(2) 색상 변경하는 방법

  • 측정항목 왼쪽에서부터 측정항목 1번에 해당하며 측정항목 1번 > 히트맵 설정 > 원하는 색상을 적용하면 테이블 내에서 색상이 지정된다.
루커 스튜디오 대시보드 색상 변경

(3) 데이터 누락 서식 지정하는 방법

  • 데이터가 없을 경우 0, - , 공백, null 등 어떻게 누락을 표현할 것인지에 대해 설정할 수 있다.
루커 스튜디오 대시보드 데이터 누락 서식 지정

📊 완성 예시 대시보드 (링크 클릭🔽)

💡 대시보드 참고사항
  • 데이터는 목업 데이터와 GA4 데모 계정 데이터를 사용하였습니다.
  • 목업 데이터는 카페24, 스마트 스토어 데이터로 KRW를 사용하고 GA4 데모 계정은 미국 통화 USD를 사용하고 있으므로 통화가 불일치합니다.
  • GA4 데모 계정의 데이터 용량의 문제로 24년 3월 혹은 4월의 데이터만 활용하여 대시보드를 구현하였습니다. 날짜 필터는 유효하지 않습니다.

5. 결론

지금까지 루커 대시보드를 구현하는 방법에 대해 데이터 연결부터, 시각화 구성, 루커 대시보드 구현하는 방법까지 설명하였는데 루커 대시보드를 직접 구현해 보는 데 도움이 되었으면 좋겠다. 예시 대시보드를 참고하여 우리 서비스만의 대시보드를 만드는 것도 좋은 연습이 될 것 같다. 실제 우리 데이터를 연결해 보고 다양한 시각화를 시도해 보며 경험을 쌓는 데 좋은 시작이 될 것이라고 믿는다.

참고문헌

*궁금한 점이나 추가적인 도움이 필요하다면 언제든지 문의해 주세요! 여러분의 데이터 시각화 여정에 도움이 되기를 바랍니다. 감사합니다😊

ANALYSIS_image_thumbnail
GROWTH

패션 플랫폼의 그로스마케팅 (무신사/29CM/W컨셉)

July 3, 2024

본업이 그로스마케터이므로... '그로스마케팅'와 관련된 포스팅을 지속적으로 작성하고 있는데요. 관련 키워드로 '패션마케팅'이 검색량이 높아 무신사, 29CM, W컨셉을 사례로 준비해 보았습니다. (좀 더 알아보니 패션마케팅은 대학교 학과가 있어 입시생들의 검색량이 높은 키워드인 듯은 하네요.)

그럼에도 불구하고 의류는 생활에 밀접하게 맞닿아있는 산업이라 이해가 한결 쉬울 것 같으니, 그로스마케팅의 개념을 패션 플랫폼의 사례로 소개 해 볼게요. 1. Acquisition과 2. Retention의 관점으로 접근해보겠습니다.


1. Acquisition: 유입/가입 캠페인

무신사의 브랜드마케터 채용 공고를 먼저 보겠습니다.

무신사의 브랜드마케터 채용 공고
브랜드 마케터에게 필요한 직무 요건 중 하나로 User Acquisition을 이끌어낼 수 있는 콘텐츠 기획 이 있네요. User Acquisition 즉 사용자 획득에서는 지난 글에서도 다뤘는데요. 대다수의 웹/앱 서비스는 사용자가 획득(=유입, 가입, 구매) 되어야 활성화될 수 있는 구조이기 때문에 비즈니스 초반에 마케팅에서 가장 중요한 요소 로 손 꼽힙니다.

cf. https://brunch.co.kr/@marketer-emje/13

cf. https://brunch.co.kr/@marketer-emje/13

User Acquisition을 이끌어내기 위해서 여러 마케팅 방법론이 존재하겠지만, 무신사의 브랜드마케터 채용 공고에 있는 '콘텐츠 기획'은 아마 퍼포먼스마케팅, 배너 광고의 소재 기획일 가능성 이 높아 보입니다.

퍼포먼스마케팅에서 배너 광고를 운영할 때 그 소재로 브랜드가 강조될 수 있고, 프로모션이 강조될 수도 있고, 인플루언서가 강조될 수도 있고 메인 콘셉트를 무엇으로 하느냐에 따라서 소재 베리에이션은 다채로울 수 있는데요. 예시와 함께 보겠습니다.


(1) 퍼포먼스마케팅: 배너 광고

페이스북 광고 라이브러리에서 'WConcept'을 검색했을 때 결과 중 일부를 가져왔는데요.

� 여기서 두 광고의 차이점이 보이시나요?

Image 1 Image 2

� 광고를 클릭하면 랜딩은 모두 Wconcpet 페이지로 연결되지만, 해당 광고를 게재한 '주체'가 다릅니다.

W컨셉에서 W컨셉 페이지로 랜딩 시키는 것은 당연한데, W컨셉에 입점해있는 '브랜드'들이 광고의 랜딩을 랜딩을 W컨셉으로 보내네요!

소규모 브랜드라면 개별 웹사이트를 관리, 운영하는 것보다 수수료를 감안하더라도 의류 플랫폼(W컨셉 등)에서의 매출을 높이는 것이 더 낫다고 판단했다고 추측할 수 있습니다.


(2) 첫 구매 프로모션

첫 구매 혜택 (=신규 가입 시 10% 할인 쿠폰, 앱 첫 구매 15% 할인 쿠폰)은 소재와 워딩에서 공통적으로 강조 되기도 합니다. 즉 메인 소재는 남성 카테고리의 시즌오프이지만, 전환율을 올리기 위해 혜택을 수치화할 수 있는 부분을 담기도 합니다.

29CM의 메타 광고 라이브러리

신규 가입과 앱 첫 구매의 내용이 담겼다는 것은 해당 광고의 세팅이 '리타겟팅'이 아닐 것이라 추측할 수 있습니다. 아마 성별만 '남성'으로 지정하고 오픈 타겟으로 열지 않았을까 싶네요. 디타겟팅(=타겟에서 제외하는 것)으로 이미 회원인 분들과 앱이 있는 분들을 타겟에서 제외하고요.


(3) 인플루언서 마케팅

최근 인플루언서와 협업하는 마케팅 또한 빠질 수 없는 업무인데요. 플랫폼/브랜드의 아이덴티티와 정합성이 높은 인플루언서(주로 인스타그래머, 유투버)를 찾고 그분들과 혹은 그들의 소속사(MCN)와 컨택해서 브랜디드 콘텐츠(BDC) 혹은 PPL을 협의 합니다.

해당 업무는 일반적인 퍼포먼스마케터/그로스마케터가 진행하기보다는 무신사의 예시처럼 '인플루언서 마케터'의 직무가 따로 있는 경우가 많습니다.

무신사의 인플루언서 마케터 채용 공고
무신사의 인플루언서 마케터 채용 공고

인스타그래머라면 피드, 스토리의 이미지/워딩 그리고 유튜버라면 유튜브 구성안과 기획안을 검토하면서 논의를 이어가게 됩니다. 일정, 비용, 스토리라인, 강조되어야 하는 점, 해시태그 등을 이야기하고요.

하단 예시처럼 유상 광고 소재(인스타그램 광고 소재)로 인플루언서의 이미지를 활용하는 경우 추가 협의가 필요합니다.

Image 1 Image 2 Image 3


2. Retention: 재방문/재구매 캠페인

새로운 회원들을 어느 정도 유치했다면, 그 회원들을 계속해서 유지하는 것이 관건이겠죠. 리텐션(=재방문율/재구매율)이 그 지표가 되는데요. 리텐션의 기본으로 여겨지는 것 중 하나가 멤버십입니다.


(4) 멤버십

커머스/플랫폼의 경우 누적 구매액에 따라 주는 혜택이 점점 더 커지고 그 효용을 체감한 사용자들은 해당 커머스/플랫폼을 지속적으로 사용하게 되는데요. 이것은 락인(lock-in)효과 라고도 합니다. 구매할수록 혜택이 커지니, 다른 플랫폼을 이용할 필요 없이 해당 플랫폼에 대한 충성도가 높아지는 것이죠.

W컨셉은 5개의 멤버십 등급을 가지고 있고, 그 기준으로는 누적 구매액과 함께 구매'수량'을 같이 보고 있습니다. 해석해 보자면 딱 한 개의 상품만 샀는데 - 그 상품이 100만 원짜리였다 -라고 했을 때 한 번에 VIP로 가는 것을 방지하기 위함이라고 볼 수 있습니다. 한 번 들어와서 비싼 것 한 개 산 사람보다, 여러 번 들어와서 중고가를 여러 개 산 사람이 더 충성도가 높다고 판단하는 것이겠죠?

29CM의 경우 동일한 워딩에 여러 브랜드X상품 이미지를 활용하기 위해 조금 포괄적인 내용을 광고 워딩으로 썼는데요. 29CM의 아이덴티티 + 매월 멤버십 쿠폰 ~15% 혜택을 강조합니다. 여기엔 신규 회원 가입이나 앱 설치 쿠폰이 없는 것을 보아 신규를 대상으로만 하는 광고가 아님을 알 수 있고요.

Image 1 Image 2


(5) 프로모션

마케팅과 뗄레야 뗄 수 없는 것이 '프로모션' 입니다. 위에서 Acquisition을 다룰 때도, 신규 가입/앱 설치 혜택이 존재했고, 인플루언서와 협업할 때도 최저가나 가격/쿠폰 할인은 거의 필수입니다. Retention에서도 마찬가지로, 멤버에서도 혜택이 강조됩니다. 여기서 혜택이란 주로 '상품 할인' 혹은 '할인 쿠폰'인데요.

무신사스탠다드(무신사의 PB브랜드)의 마케팅 팀장 채용 공고에도 '중요 이벤트와 프로모션 지원을 통해' 라는 워딩을 통해 마케팅과 연계된 프로모션의 중요성을 인지할 수 있습니다.

‍무신사스탠다드(무신사의 PB브랜드)의 마케팅 팀장 채용 공고

일반적으로 정가 대비 판가에 미리 적용되어 있는 것을 '상품 할인' 이라고 볼 수 있고, 이후 주문서에서 추가로 붇는 할인들은 '할인 쿠폰'입니다. 이 할인 쿠폰은 개별 상품/브랜드에만 적용될 때와 장바구니 전체에 적용되는 경우로 나눠볼 수 있고요.

상품 할인과 쿠폰 할인(상품 쿠폰, 장바구니 쿠폰)의 구분은 커머스에서 혜택을 설계할 때나 손익을 계산할 떄 때 그리고 심지어 프로덕트 애널리틱스에서 이벤트/프로퍼티의 택소노미를 설계할 때도 아주 중요한 요소입니다.

Image 1 Image 2
상품 할인과 쿠폰(상품 쿠폰, 장바구니 쿠폰)

W컨셉의 장바구니/카테고리 쿠폰
W컨셉의 장바구니/카테고리 쿠폰


(5-1) 프로모션: 정기(Always-on), 비정기(Ad-hoc)

프로모션은 정기적으로 진행되고 있는 캠페인과 팝업으로 운영되는 캠페인으로 구분할 수 있는데요. 정기적으로 진행되는 캠페인은 올웨이즈온(Always-on) 캠페인, 특정 기간 동안만 일시적으로 진행되는 캠페인은 팝업/애드훅(pop-up, Ad-hoc)이라는 명칭을 자주 사용 합니다.

앱 설치 쿠폰 및 가입 혜택 프로모션은 Always-on 올웨이즈온 캠페인에 속하고, 홀리데이 프로모션은 팝업/애드훅 캠페인으로 볼 수 있겠죠? (와 쉽다!)

보통 앱 설치, 가입의 경우 장기적인 관점의 KPI 달성을 위해 진행되는 캠페인으로 일간/주간/월간 성과를 지속적으로 모니터링하고요. 팝업/애드훅 캠페인의 경우 정해진 기간 동안 최대 매출 등의 목표치를 달성하는 것이 중요합니다. (무신사의 무진장세일이 매년 역대급 매출을 갱신한다고 하죠...? 그렇지만 무진장 정도면 이제는 정규 캠페인이라고도 볼 수 있겠네요)

Image 1 Image 2


(6) CRM 마케팅

CRM 마케팅은 Customenr Relatinship Management의 약자로, 고객 관계 관리 마케팅인데요. 간단히는 문자/카톡/앱푸시/이메일 등으로 계속해서 사용자에게 메시지를 보내며 상호 작용을 꾀하는 것 입니다. (a.k.a 우리는 쿠폰을 보낼게 너는 들어와서 쿠폰을 써줘!)

CRM 수단으로는 앱 중심의 서비스인 경우 앱푸시, 카카오톡을 위주로 사용하고 웹의 경우 배너/팝업 또한 CRM의 일환으로 볼 수 있겠습니다. 문자 및 이메일은 조금 더 전통적인 수단이겠죠?

29CM 그로스 마케터 직무 요건

CRM 마케팅은 CRM 마케터 직무로도 많이 채용하지만, 그로스마케터의 수행 업무에 수반되는 경우도 꽤 있습니다. 29CM의 그로스 마케터 채용 공고를 보면 '고객 커뮤니케이션 타겟 / 채널 / 메시지 테스트 및 운영' 이라는 워딩을 볼 수 있는데요. 하단처럼 쪼개서 생각할 수 있고, 결국 CRM 마케팅에 대한 내용이라는 것을 알 수 있습니다.

  • 고객 커뮤니케이션 > 고객 관계 관리를 위한 커뮤니케이션 (메시지를 보내는 것!)
  • 타겟 > 누구에게 보낼 것인지?
  • 채널 > 어떤 채널로 보낼 것인지? 앱푸시/카톡/문자/이메일/팝업 배너 등
  • 메시지 > 어떤 워딩으로 보낼 것인지? 할인율을 강조할 것인지? 쿠폰의 유효기간을 강조할 것인지? 등

CRM 마케팅이 최근 뜨는 이유는 개인 정보 보호 트렌드 때문인데요. 과거 퍼포먼스마케팅에서는 정교한 타겟팅을 위해 사용자가 웹 내에서 행동했던 것들을 추적하는 (cookie, 쿠키! 한 번쯤은 지워보셨죠?) 것이 중요했는데 이 쿠키 정보의 제공이 중단되면서 일반적인 퍼포먼스마케팅의 효율이 낮아지며 비용이 높아진 것도 일부 원인이 있고요.

상대적으로 CRM은 이미 보유한 회원 모수를 대상으로 메시지를 보내기에, 신규 사용자를 획득하는 것보다 효율이 높고(=비용이 낮고) 운영에 필요한 실 비용이 메시지 발송 비용 정도로 상대적으로 비용이 낮기 때문도 있습니다. CRM마케팅은 기회가 된다면 다음에 좀 더 자세하게 풀어보도록 할게요!


이렇게 패션 플랫폼의 그로스 마케팅 (ft. 무신사, 29CM, W컨셉)을 광고 소재와 채용 공고, 프로덕트를 통해서 Acquisition과 Retention 위주로 알아봤습니다.

[다른 글 보러 가기]

그로스마케팅과 AARRR 퍼널 분석 (ft. 29CM)

https://brunch.co.kr/@marketer-emje/11

그로스마케팅과 AARRR 퍼널 분석 (ft. 29CM)

그로스마케팅이란? 콘텐츠도 퍼포먼스도 UIUX개선도!

https://brunch.co.kr/@marketer-emje/10

그로스마케팅이란? 콘텐츠도 퍼포먼스도 UIUX개선도!

그로스마케팅과 AARRR:Acquisition 획득

https://brunch.co.kr/@marketer-emje/13

그로스마케팅과 AARRR:Acquisition 획득

풀스택 마케팅 컨설팅펌 마티니아이오

https://martinee.io/

원본 포스팅 링크

패션 플랫폼의 그로스마케팅 (무신사/29CM/W컨셉)

ANALYSIS_image_thumbnail
FULL FUNNEL

SEO 분석 대시보드 템플릿

July 2, 2024

📊 SEO 분석 대시보드 템플릿

블로그나 서비스를 운영하다 보면 내 게시물이나 제품이 자연스럽게 Google 또는 Naver 검색 결과에 노출되길 기대하게 됩니다.

이러한 관점에서 접근하는 방법이 Search Engine Optimization(SEO)입니다.

Google과 Naver 모두 자체 검색 엔진에서 노출되는 다양한 방법과 데이터를 제공합니다. 이는 각각 Google Search Console과 Naver Webmaster Tools입니다.

그 중 Google에서 제공하는 Google Search Console은 키워드 노출, 클릭 수, 순위 등 유용한 정보를 제공하지만, 여전히 복잡한 정보를 얻기에는 어려움이 있습니다.

저 또한 블로그를 운영하면서 Google Search Console을 자주 방문하고 관찰하지만, 이러한 점이 아쉬워 복잡한 데이터를 확인할 수 있는 대시보드를 만들었습니다.

1️. 좌측 하단의 구글서치콘솔 변경 시 내 데이터를 확인할 수 있습니다.

2️. 노출도에 따른 키워드 그룹을 두어서 그룹간 관리가 용이합니다.

3️. 새롭게 등장하는 키워드를 파악할 수 있습니다.

4️. 기간, 기기, 국가에 따라 다양한 지표 변화를 빠르게 확인할 수 있습니다.

Image 1 Image 2

Image 1 Image 2

👉 혹시 더 보면 좋을 지표와 내용들이 있을까요?

👉 대시보드 링크

https://lnkd.in/gdKp8hi7

원본 포스팅 링크

📊 SEO 분석 대시보드 템플릿

ANALYSIS_image_thumbnail
GROWTH

구글애널리틱스(GA4)와 앰플리튜드의 차이

July 1, 2024

구글 애널리틱스 vs 앰플리튜드 비교 요약

구글 애널리틱스와 앰플리튜드의 기능, 추적 방식, 분석 항목, 의의와 장단점, 담당자를 비교하자면 하단과 같습니다.  해당 내용의 이해를 위해 차근히 퍼포먼스마케터, 그로스마케터의 직무 요건에서부터 왜 애널리틱스가 중요한지(GA든 Amplitude든) 알아보도록 하겠습니다.

구글 애널리틱스와 앰플리튜드

Google Analytics(구글애널리틱스) vs Amplitude(앰플리튜드)
구글 애널리틱스와 앰플리튜드의 비교 표 이미지


마케터가 하는 일

마케터로 생각하는 직무는 주로 퍼포먼스 마케터일 것입니다. 퍼포먼스마케터, 소위 퍼포마는 브랜드나 대행사(에이전시)에서 마케팅 전략을 수립하고 미디어믹스를 짜고 (매체 별/광고 상품 별로 얼마나 쓸 건지를 짜는 것) 이후 해당 미디어믹스에 따라 광고를 집행한 후에 광고 성과를 관리합니다.

그렇다면 퍼포마의 채용 공고를 분석해 보겠습니다. 퍼포먼스 마케터의 직무 요건 및 우대 사항에는 Google Analytics와 Amplitude가 꽤 자주 등장합니다. 심지어 데이터 분석가 직무에도 있네요. 왜일까요?

  • 발란: 퍼포먼스 마케터 (DA, 5년 이상)
  • 아이디어스: 퍼포먼스 마케터 인턴 (체험형 6개월)
  • 사람인: 데이터 애널리스트 (사업기획팀)

� 마케팅을 잘하기 위해서는 성과 측정도 잘해야 하기 때문입니다.

발란의 퍼포먼스마케터 직무
발란의 퍼포먼스마케터 직무

백패커의 마케팅 인턴 채용 공고
백패커의 마케팅 인턴 채용 공고

사람인의 데이터 분석가(Data Analyst) 채용 공고
사람인의 데이터 분석가(Data Analyst) 채용 공고


어트리뷰션 Attribution? 애널리틱스 Analytics?

한 건의 전환이 일어나기까지, 한 명의 사용자에게 노출되는 광고는 수도 없이 많습니다. 마케팅을 열심히 할수록 그렇습니다. 사용자가 1) 인스타그램 광고도  볼 거고, 2) 유튜브 콘텐츠를 봤을 수도 있고, 3) 카카오 배너 광고를 봤을 수도 있고, 4) 네이버 검색 광고를 봤을 수도 있습니다. 이렇게 수많은 광고 매체를 거쳐, 한 건의 전환이 일어났을 때 가장 중요한 질문은 무엇일까요?

고객 전환까지의 채널 여정
그래서 누가(=어떤 광고 매체가) 잘했는데? 결정적 기여가 누구 건데?

다수의 광고 매체들은 다 자기가 기여를 했다고 말합니다. 그래서 광고 관리자로만 광고 성과를 보면 과도하게 성과가 집계될 수밖에 없고, 중복 집계될 수밖에 없는 것입니다.

일주일 안에 저 광고 매체들에 다 노출되었던 사용자가 전환을 했다고 가정해 볼까요? 그렇다면  기여 기간은 7일인 것이고 (광고 매체의 성과를 인정해 주는 기간) 노출된 매체는 4개, 그중 유상(Paid) 광고 매체 3개입니다. (유튜브 콘텐츠는 자사의 브랜딩이었다고 하면요.)

그럼 그중 누가 이 전환의 성과를 가져갈까요?

� 기여 모델에 따라 다릅니다!

  • First touch Attribution: 첫 번째 접점을 만들어 낸 광고 매체에게 기여/성과를 인정하는 것
  • Last touch Attribution: 마지막 접점을 만들어 낸 광고 매체에게 기여/성과를 인정하는 것
    *First와 Last는 한 개 매체만 인정해 주기 때문에 Single-touch라고도 합니다.
  • Multi touch Attribution: 접점을 만들어 낸 여러 매체들에게 가중치를 주어 기여/성과를 인정하는 것

Single-touch attribution models

이렇게 광고 성과의 기여값을 보다 정확하게 측정하기 위해서 Attribution Tool(어트리뷰션툴), Analytics(애널리틱스)가 존재합니다. Web Analytics로 가장 유명한 것이 구글 애널리틱스인 것이고요.

글의 초반 앰플리튜드 vs 구글애널리틱스 비교표에서 언급했었죠. 구글 애널리틱스는 이처럼 광고 매체들의 전환값의 기여도를 측정하여 마케팅을 효율화하는 것을 목적으로 많이 활용합니다.

광고 성과에 '기여'한 정도를 '분석'하기에 Attribution과 Analytics가 쓰입니다.


'전환'이 어디서 일어나는데?

여기서 또 하나 짚어야 할 것이 있습니다. 그 광고, 클릭하면 어디로 가나요? 클릭해서 이동한 페이지에서 보통 전환이 일어날 테니까요.

광고 클릭하면 당연히 웹페이지로... 아니지 요즘은 앱스토어로...
아니지 요즘은 앱 안의 페이지가 열리던데?

  • 웹(Web) 랜딩(*Landing = 착륙, 이동)            
    우리에게 가장 친숙한 웹페이지로 랜딩 되는 것이 일반적입니다.
  • 앱(App) 랜딩
    최근에는 앱 설치를 유도하며 앱스토어 페이지로 랜딩 되거나 앱이 설치되어 있다면 앱 내의 특정 페이지로 랜딩 되기도 합니다.
  • 웹투앱 (Web to App) 
    혹은 웹으로 먼저 랜딩 시킨 후에 여러 혜택을 소구하여 앱을 설치하게끔 하기도 합니다.


웹에서 앱으로, Web to App에서 사라지는 데이터

마케팅 캠페인이 '웹'에 치중되어 있을 때는 구글애널리틱스의 시대였습니다. 그렇지만 '앱'이 뜨기 시작하고 앱마케팅이 활성화되면서 구글애널리틱스 또한 한계에 부딪힙니다.

� 웹 랜딩 후 앱 설치를 한 유저 데이터에 광고 매체의 소스값이 적혀있던 utm이 유실되기 때문입니다

구글애널리틱스, 앰플리튜드, 미디어의 Attribution 비교 1

웹으로 랜딩 된 후 구매라는 전환 행동이 일어날 때 구글 애널리틱스는 Last touch 기여 설정에 의해서, 해당 전환의 성과는 '페이스북'에게 있다고 측정했습니다.

구글애널리틱스, 앰플리튜드, 미디어의 Attribution 비교 2

그런데 웹 랜딩 이후 앱 설치가 진행되고 앱에서 구매가 일어나면 어떻게 될까요? 사용자의 흔적을 파악할 수 있던 utm (광고 매체의 소스값)이 유실되며 광고 매체의 성과를 잡지 못하고, organic (자연 유입)으로 측정하게 됩니다.

cf. 여기서 utm의 광고 매체 소스값이란...?

구글에 나이키를 검색하면 '스폰서' 광고로 나이키가 뜹니다. 이걸 클릭하면 url이 이렇게 나옵니다.

https://www.nike.com/kr?utm_source=Google&utm_medium=PS&utm_campaign=365DIGITAL_Google_SA_Keyword_Main_PC&cp=72646825390....  > utm_source=Google이라고 알려줍니다. (소스값) utm_medium=PS라고 알려줍니다. (매체) 이 두 개의 조합을 광고 매체의 소스값이라고 합니다.

구글 나이키 검색 결과 페이지 - utm 소스


그래서 쓰는 MMP와 PA

그래서 앱 마케팅이 중요해질수록 MMP와 PA의 인지도 또한 높아질 수밖에 없습니다. MMP는 Mobile Measurement Partners로 앱스토어에 SDK를 붙여 앱 설치 성과를 측정해 주는 솔루션을 말하고, PA(Product Analytics)는 이러한 MMP들을 연동하여 앱 설치 성과를 분석할 수 있도록 도와줍니다.

MMP와 PA 역할 및 솔루션

GA는 Web 위주의 유입 성과 분석툴,
Amplitude는 App 위주의 사용자 행동 분석툴

서비스가 Web 위주인 경우 구글애널리틱스만 사용해도 충분합니다. 다만 App 위주인 경우 App 설치 성과를 분석하는 MMP (Appsflyer, Adjust, Airbridge 등)와 Web to App을 추적하고, App 내 사용자 행동을 분석하는 PA(Amplitude, Mixpanel 등)가 필요합니다!

유저의 웹 to 앱 여정과 마테크 솔루션

풀스택 마케팅 컨설팅펌 마티니아이오

https://martinee.io/

원본 포스팅 링크

구글애널리틱스(GA4)와 앰플리튜드의 차이

ANALYSIS_image_thumbnail
GROWTH

앰플리튜드(Amplitude) Segment Chart

June 28, 2024

프로덕트 분석/성과 분석 툴

그로스마케팅의 기본은 분석입니다. 분석 툴, 주로 Analytics라고 많이 이야기하죠. Google Analytics가 대표적이고요. 이외 Product Analytics라고 했을 때 Mixpanel(믹스패널), Amplitude(앰플리튜드) 등의 솔루션이 있습니다.

Google Analytics(구글애널리틱스), Mixpanel(믹스패널), Amplitude(앰플리튜드) 로고


프로덕트 분석이 뭔가요?

프로덕트 분석은 사용자들이 디지털 프로덕트를 쓰는 방식을 이해해보는 것입니다. 사용자의 행동 데이터를 분석하고, 전환 기회를 파악하고, 사용자의 평생 가치(LTV: Long Time Value)를 높이는 경험을 만들어 사용자를 비즈니스의 핵심으로 만듭니다.

프로덕트 분석을 통해 사용자의 실시간 참여 및 행동 데이터를 추적, 시각화, 분석하여 전체 고객 여정(User Journey)을 최적화할 수 있습니다. 사용자의 라이프사이클 모든 단계를 데이터로 확인하여 디지털 경험을 개선하고, 충성도를 확보하고, 비즈니스 성과로 연결하도록 지원합니다.

전체 고객 여정(User Journey) 예시

(사용자 여정 예시) 광고를 클릭하고 ~ 계정을 생성하고(Onboarding Process라고 함) ~ 가입하고 ~ 기능 A를 경험하고 ~ 모바일로 로그인하고 ~ 첫구매를 하고 ~ 기능 B를 경험하고 ~ 기능 C를 경험하고 ~ 앱푸시를 받고 ~ 구독할 것 같은데 ~ A/B 테스트를 경험하고 ~ 파워 유저가 되고 ~ 남에게 추천하고...

위와 같은 사용자 여정 중에서 하기 질문에 앰플리튜드를 통해서 답할 수 있습니다.

  • Why do users convert or dropoff? (사용자가 전환하거나 이탈하는 이유는 무엇일까요?)

  • Which featurees predict likelihood to buy? 구매 가능성을 예측하는 기능은 무엇인가요?
    *커머스라면 대개 상품/브랜드 찜하기, 장바구니에 상품 담기가 그 기능입니다.

  • What is the cross-device user journey? 크로스 디바이스 유저의 여정은 무엇인가요?
    보통 Web to App으로 Mobile/Web에서 프로덕트를 경험하다가 App을 설치하고 App으로 넘어갑니다.
    *대개 여기서 데이터가 유실됩니다.

  • How did our launch impact monetization? 출시가 수익 창출에 어떤 영향을 미쳤나요?

  • Who are our highest value customers? 우리의 최고 가치 고객은 누구입니까?
    *가치가 가장 높은 고객군의 특성을 알아야, 그 고객군과 유사한 고객들을 더 데려올 수 있고 혹은 기존 고객들이 그 고객과 유사한 행동을 하게끔 유도해야합니다.

  • How likely is churn within user cohorts?사용자 집단 내에서 이탈할 가능성은 얼마나 되나요?
    *이탈 지점과 시점을 알고 있어야 이를 방지하거나 개선할 수 있습니다.


커머스의 필수 지표: 매출, 주문수, 건단가, 객단가

프로덕트 분석이라고 하면 거창해 보이지만 실전은 생각보다 단순합니다. 커머스에서 가장 중요한 지표가 무엇일까요? 바로 매출/주문수/객단가/건단가입니다.

매출=주문수X건단가, 매출=주문자수X객단가 개념으로, 결국 '매출'이 가장 중요한데요.

동일한 매출을 기준으로 주문수가 많아지면 건단가가 낮아지고, 건단가가 높아지면 주문수가 적어집니다. 아주 당연한 얘기지만, 이 내용이 무엇과 연관이 있을까요? 바로 물류비입니다.

건단가가 낮아서 주문수가 많아지면 택배 물량이 많아집니다. 물론 합배송이 가능하냐, 물류 체계가 자체 배송이냐 위탁 배송이냐, 물류 센터가 있느냐 등에 따라 상황은 다를 수 있겠지만 대개 커머스는 주문수와 건단가 중 굳이 택한다면, 건단가를 높이고 주문수를 줄이는 것이 좋습니다. (객단가는 유저수와 객단가를 둘 다 올리는 게 좋고요...ㅎㅎ)


앰플리튜드(Amplitude)의 Segment Chart 만들기: 매출, 주문수, 객단가, 건단가

*매출, 주문수, 객단가, 건단가 차트 모두 '주문 완료'/'구매 완료'/'결제 완료' 와 같은 이벤트와 '주문 금액'/'구매 금액'/'결제 금액'을 뜻하는 이벤트 프로퍼티가 필수입니다.

*여기서 이벤트와 프로퍼티는 모두 개별적으로 설정되는 것으로 통용되는 단어가 아님을 참조해주세요.

1️. 매출 차트 그리기

1. Segmentation by 에서 주문 완료 이벤트를 설정해줍니다.

해당 택소노미에서는 total_items_order_completed 가 주문 완료/결제 완료 이벤트입니다.

그리고 by order_total 이라는 이벤트 프로퍼티를 사용하여 값을 표현해줍니다.

2. ...performed by Any Users는 따로 설정하지 않아도 됩니다. (전체 유저의 매출을 보는 것이고, 특정 유저의 행동을 보고자 하는 것이 아니니까요.)

3. ...measured as 에서 'Properties'를 선택하고 Sum of Property Value를 설정합니다.

4. 일자까지 설정해주면 그래프가 구현됩니다!

5. 그래프 하단에는 데이터 테이블이 표 형식으로도 나오고, 이는 CSV로 다운로드 받을 수 있습니다.

앰플리튜드로 구현한 매출 차트
앰플리튜드로 구현한 매출 차트

매출은 'order_total'이라는 이벤트 프로퍼티의 값(value)를 더한 것이기에
… measured as Sum of Property Value로 설정합니다.

2️. 주문수 차트 그리기

주문수는 쉽습니다! ...measured as Sum of Property Value를 Event Property로 바꿔주면 됩니다.

매출이 구매 이벤트의 금액의 총합이었다면, 주문수는 이벤트가 발생한 수이기 때문입니다.

앰플리튜드에서 구현한 주문수 차트 (+grouped by order_total)
앰플리튜드에서 구현한 주문수 차트 (+grouped by order_total)

Event Totals로 바꿨는데 그래프가 조금 이상하죠? order_total이라는 주문금액값이 grouped by 필터로 걸려있어서 그렇습니다. 금액값 별로 어떻게 구성되어져있는지 보여주는 거죠. 해당 필터를 지워주면 됩니다.

앰플리튜드로 구현한 주문수 그래프
앰플리튜드로 구현한 주문수 그래프

3️. 객단가 차트 그리기

객단가는 매출/주문자수입니다. 그러므로 매출=주문완료 이벤트(+order_total 프로퍼티)의 PROPSUM (PropertySUM)/주문완료 이벤트의 유니크(사용자수)로 수식을 만들어서 적용하면 됩니다. 즉 객단가는 PROPSUM/UNIQUES입니다.

객단가의 추이를 과거와 비교할 수도 있습니다. Comparing to date range ending _ 여기서 일자를 설정하여 두 개의 그래프로 구현되도록 할 수 있습니다. 과거 일자와 비교하면 그 시점의 유저가 **[Previous]**로 표시되고, 이후 시점의 유저가 All User로 표시됩니다.

앰플리튜드 객단가 차트 그리기

4️. 건단가 차트 그리기

건단가는 매출/주문수입니다. 그러므로 주문완료 이벤트의 속성값, 주문액 평균을 확인하면 됩니다. ...measured as Average of Property Value로 설정해줍니다.

앰플리튜드 건단가 차트 그리기

건단가는 주로 프로모션을 진행할 때 부차적으로 확인합니다. 평상시 대비 프로모션 진행 시에 카테고리/브랜드/상품/장바구니 할인 쿠폰이 발급되어 건단가가 낮아지는 경우가 많기 때문입니다.

건단가/객단가는 대개 유사합니다. 다만 예외도 존재합니다. 리셀러가 커머스에 많은 경우, 상품을 대량하는 구매하므로 경우 주문수가 주문자수보다 월등히 많아 건단가는 낮고, 객단가는 높을 수 있습니다.

건단가/객단가는 시즈널리티를 탑니다. 특히 의류 커머스의 경우 S/S에는 반팔 티셔츠가 주가 되기에 객단/건단이 낮아지고, F/W에는 아우터 상품이 메인이 되면서 객단/건단이 높아집니다.


앰플리튜드 대시보드 예시

대시보드 한 판에 차트들을 모을 수 있습니다. 매출도, 구매전환율도, 상품수도 여러 필터로 쪼개보면서 프로덕트의 현황을 확인할 수 있습니다.

앰플리튜드 대시보드 예시


분석 내용 공유하기

앰플리튜드 차트로 확인한 데이터들은 구글 스프레드시트로 이전 성과들과 비교하거나, 노션으로 정리하거나, 간단하게는 슬랙으로 정리하여 공유합니다.

분석 내용 공유 예시

참 쉽죠...?

그로스마케터가프로모션/쿠폰 분석을 하는 과정 중에 앰플리튜드로 세그먼트 차트 (커머스에 꼭 필요한 매출, 주문수, 건단가, 객단가) 그리는 법을 알아보았습니다! 감사합니다.

풀스택 마케팅 컨설팅펌 마티니아이오

https://martinee.io/

원본 포스팅 링크

앰플리튜드(Amplitude) Segment Chart

ANALYSIS_image_thumbnail
GROWTH

그로스마케팅과 AARRR : Acquisition 획득

June 26, 2024

그로스해킹과 그로스마케팅

그로스해킹은 Growth와 Hacking의 조합, 그로스마케팅은 Growth와 Marketing의 조합으로 두 개념 다 '성장'을 위함이지만 해킹은 어떤 수단을 동원할지 한정짓지 않는 것이고 마케팅은 마케팅 측면에 집중한 것입니다.

그로스마케팅과 AARRR

AARRR 프레임워크가 왜 중요할까요? 그로스마케팅의 범위가 모든 마케팅을 포괄하는 만큼, 업무의 우선순위를 정해야 하기 때문입니다. 비즈니스의 특성, 규모, 성숙도에 따라 AARRR 중 현재 집중해야하는 단계를 파악하고 그 부분을 활성화하기 위한 마케팅 캠페인을 운영해야 합니다.

(1) A: Acquisition 획득

(2) A: Activation 활성화

(3) R: Retention 유지(리텐션)

(4) R: Revenue 수익화(매출)

(5) R: Referral 추천

▶️ AARRR 프레임워크 관련된 더 자세한 글은 여기서 확인해주세요.

https://brunch.co.kr/@marketer-emje/11

그로스마케팅과 AARRR 퍼널 분석 (ft. 29CM) 링크


AARRR의 1단계: Acquisition 획득

AARRR 프레임워크의 첫번째 약자인 Acquisition(획득)을 알아보겠습니다. 사용자 획득을 위한 마케팅을 UA 마케팅 (User Acquisition Marketing)이라고 자주 부르는데요. UA마케팅에서 사용하는 광고 매체, 성과 분석 툴, KPI(유입, 가입, 앱설치, 첫구매 등)에 따라 봐야하는 지표, 실제 사례 등을 공유해보겠습니다.

 UA 마케팅 (User Acquisition Marketing) - 넷마블, 브랜디, 야나두, 컬리 표지

UA 마케팅이란? 사용자 획득 마케팅!

잡코리아에 'UA마케팅'을 검색했을 때의 결과페이지입니다. 넷마블, 크래프톤 등 유명 게임 회사가 좀 보이고, 이외 앱 중심의 커머스 회사인 브랜디도 있네요. UA 마케팅이란 단어를 게임 업계에서 많이 쓴다고는 하는데요, UA 마케터라는 포지션명은 잘 쓰지 않기 때문에 UA 마케팅을 하는 퍼포먼스마케터로 생각할 수 있겠습니다.

잡코리아 UA마케팅 검색 결과 페이지


UA 마케팅이란, User Acquisition: 사용자 획득

AARRR의 첫 단어인 만큼 '획득'은 마케팅 초기 단계로, 유저(사용자)가  서비스에 '획득'되게 만드는 것입니다. 여기서 획득은 서비스 내에서 정의하기 나름이지만 단순히 유입(Traffic, 트래픽)이 될 수도 있고 유입 이후의 가입(Signup, 등록/계정 생성) 혹은 앱 설치 (App Install) 혹은 첫구매 (1st Purchase)일 수도 있습니다. KPI가 무엇이냐에 따라 주의 깊게 봐야하는 지표 또한 달라집니다.

사람들을 끌어당기는 User Acquisition
사람들을 끌어당기는 User Acquisition


주요 광고 매체와 성과 분석 툴/솔루션

사용자를 획득하고자 하는 UA 마케팅에서는 주로 어떤 광고 매체를 활용할까요? 힌트는 UA마케팅을 검색했을 시 나오는 퍼포먼스마케터의 채용 공고에 있습니다!

1. 넷마블의 UA마케팅 담당자 채용 공고

넷마블의 UA마케팅 담당자 채용 공고

· 글로벌 UA 매체 Self-serve: Google, Meta 등

Self-serve: 광고 대행사를 통한 운영이 아닌 직접 운영을 말합니다.

· 마케팅 성과 분석 툴 활용 역량 (Singular, Appsflyer, Firebase, Gamesight, GA 등)

MMP(Mobile Measurement Partners)인 싱귤러와 앱스플라이어가 등장하네요.

· 1st Party Data 활용을 통한 광고 <> 내부 성과 분석

1st Party Data란 우리 서비스에 쌓이는 데이터를 기반으로, 자사 내부 데이터라고 할 수 있습니다. 이에 반대되는 개념이 3rd Party Data로 외부 데이터로, 광고 매체들의 데이터들을 예시로 들 수 있습니다.

2️. 브랜디의 퍼포먼스마케터 채용 공고

브랜디의 퍼포먼스마케터 채용 공고

· 광고 매체: 메타, 구글, 네이버 SA/DA, 카카오 등

DA는 Display Advertisement(Ads)로 배너 광고, SA는 Search Advertisement(Ads)로 검색 광고를 뜻합니다.

· 분석 트래킹 툴 활용 통한 데이터 분석 (Appsflyer, GA 등)

MMP(Mobile Measurement Partners)인 앱스플라이어가 등장하네요.

· User Acquisition - Activation 퍼널 단계에서 KPI 달성

그로스마케팅은 그로스(Growth)를 위해 무엇이든 하기에 AARRR 프레임워크의 모든 단계와 관련된 업무를 하지만 주로 퍼포먼스마케팅은 AARRR 중의 초기 단계인 Acquisition과 Activation 위주의 업무를 합니다.

3️. 야나두(야핏)의 퍼포먼스 마케터 채용 공고

야나두(야핏)의 퍼포먼스 마케터 채용 공고

· 주요 매체 (Google, NAver, Meta, Kakao) Self-Serve

(*Self-serve: 광고 대행사를 통한 운영이 아닌 직접 운영을 말합니다.)

· 3rd + 1st Party 데이터 분석을 통한 UA 성과 관리

1st Party Data란 우리 서비스에 쌓이는 데이터를 기반으로, 자사 내부 데이터라고 할 수 있습니다. 이에 반대되는 개념이 3rd Party Data로 외부 데이터로, 광고 매체들의 데이터들을 예시로 들 수 있습니다.

보통의 광고 매체(3rd Party)에서는 자신의 매체를 기준으로 성과를 측정하기 때문에 내부 데이터(1st Party)와 수치가 맞지 않는 경우가 많습니다.

ex. 사용자가 3일 전 인스타 배너 광고를 보고 클릭해서 유입되었다가 이탈된 후 다시 네이버 검색 광고를 통해 오늘 유입되어 가입한 경우를 생각해봅시다. 기여기간이 7일이라고 할 때, 인스타그램 및 네이버 매체의 광고 관리자에서 해당 가입이 모두 각자의 성과라고 계수할 수 있습니다. 이렇게 되면 광고 관리자에서 확인된(3rd Party) 가입자 수치는 2명이고, 실제 내부 데이터(1st Party)에서는 1명이겠죠?


광고 매체로의 메타(Meta), 네이버(Naver), 구글(Google), 카카오 (Kakao)

메타(Meta)

  • 인스타그램/페이스북 광고로 배너 광고의 가장 대표적인 매체입니다.
  • 페이스북 광고 관리자에서 캠페인 - 광고 세트 - 광고 소재 의 위계로 이미지/영상 광고를 세팅하여 운영할 수 있습니다.
  • 페이스북 광고 라이브러리에서는 키워드를 검색하여 유관 광고 소재를 참조할 수 있습니다.
페이스북 광고 관리자 페이지
페이스북 광고 관리자
페이스북 광고 라이브러리 페이지
페이스북 광고 라이브러리

네이버 배너 광고 (GFA) 및 검색 광고 (파워링크, 쇼핑 검색)

  • 네이버는 배너 광고와 검색 광고를 모두 가지고 있습니다.
  • 배너 광고는 네이버 메인이나 웹툰, 기사 등을 볼 때 주로 뜨는 광고이고요.
  • 검색 광고는 특정 키워드 검색 시 상위에 노출되는 '파워링크' 영역과 '쇼핑검색' 영역 등에 노출됩니다.

Image 1 Image 2
네이버의 배너광고와 검색광고 노출 화면

Image 1 Image 2
네이버 검색광고/디스플레이 광고(배너광고) 관리자

카카오비즈니스 (카카오 광고 관리자) 페이지
카카오비즈니스 (카카오 광고 관리자)


KPI와 지표

'지표'는 특정 현상을 나타내는 수치입니다. 쉽게 말하면 클릭률(CTR:Click-Through Rate)), 클릭당비용(CPC:Cost Per Click), CPM(노출당비용), CPI(설치당비용), PV(페이지뷰), CAC(가입당비용).. 이런 것들 인데요. 배너 광고 및 검색 광고의 효율을 판단할 때 지표들을 기준으로 성과가 좋다/나쁘다를 이야기할 수 있습니다.

지표 설계가 어려운 이유

지표를 AARRR 프레임워크에 맞추어 구분하고 확인할 수도 있습니다.

Acquisition 관련 대표 지표들

  • CTR: Click-Through Rate, 클릭률
  • CPM : Cost per mille 노출 1,000회당 비용
  • CPC: Cost per Click 클릭당 비용
  • CPI: Cost per Install 설치당 비용
  • CPE: Cost per Engagement 실행당 비용
  • CPA 액션당 비용

액션을 무엇으로 설정해두었느냐에 따라 달라집니다.

  • CPS: Cost Per Sales 구매 전환당 비용
  • PV
    Page View 페이지뷰 (=조회수)
  • 세션당 단가
    한 명의 세션을 만들어내는 데에 드는 비용 (유입당 비용, CPC와 다르게 보는 이유는 클릭하고 유입되기 전에 이탈할 수 있기 때문입니다.)
  • 세션 시간
    오래 체류할수록 좋겠죠?
  • 세션당 페이지뷰
    한 번 들어와서(=유입되어서) 여러 페이지를 볼 수록 좋겠죠?
  • CAC 가입당 비용 (Customer Acquisition Cost)
  • DAU/WAU/MAU
  • Daily/Weekly/Monthly Active User 일간/주간/월간 활성 사용자수
  • New/Return 새로 들어온 사용자/다시 돌아온 사용자

지표를 관리하는 프레임워크 : AARRR


UA 마케팅 사례: 유입/가입/첫구매/앱설치 캠페인

보통 유입/트래픽 캠페인은 일회성 모수인 경우가 많아 (즉 사용자가 서비스를 장기적으로 사용하지 않고 유입만 되었다가 이탈하는 경우) 커머스에서는 가입 및 첫구매를 독려하고, 앱의 중요도가 큰 경우는 앱설치까지 유도하는 경우가 많습니다.

  • 컬리, 무신사, 지그재그 모두 신규 고객이라면/가입하면/처음이라면 > 1만원 할인, 990원 상품 등으로 혜택을 제공하고 있으며
  • 29CM의 경우 앱에서만 사용할 수 있는 쿠폰을 제공하여 앱 설치를 유도합니다.

Image 1 Image 2
Image 1 Image 2

그로스해킹과 그로스마케팅 그리고 그로스마케팅에서의 AARRR 프레임워크 개념을 넘어서 이제는 조금 더 구체적으로 Acquisition 단계의 UA마케팅에 대해서 다뤄봤습니다. 광고 매체나 성과 분석 툴의 경우는 다른 단계에서도 크게 달라지지 않지만 그만큼 중요한 내용이기에 계속 이야기하겠습니다!

풀스택 마케팅 컨설팅펌 마티니아이오

https://martinee.io/

원본 포스팅 링크

그로스마케팅과 AARRR:Acquisition 획득

ANALYSIS_image_thumbnail
PERFORMANCE

셀프서브 미디어의 주요 최적화 방법: 구매 & ROAS

June 25, 2024

매출 증대를 위한 2가지 최적화 방법

▶ 구매 & ROAS

 퍼포먼스 마케팅에서는 다양한 최적화 전략을 사용하여 목표를 달성할 수 있습니다. 특히, 머신러닝이 주요하게 작용하는 상품들은 최적화를 무엇을 적용하느냐에 따라 성과 결과가 다르게 나타나는데요. 오늘은 매출 증대를 위한 최적화 2가지에 대해 얘기해보고자 합니다. 구매 최적화와 ROAS 최적화. 이 두 최적화는 매출 증대의 목적으로 운영되긴 하지만, 분명한 차이가 존재합니다. 간단하지만, 각 최적화별 정의와 차이점, 어떤 상황에 적용하는게 더 효과가 좋을지에 대해 작성해보고자 합니다. 

구매 최적화와 ROAS 최적화의 정의

구매 최적화와 ROAS 최적화 예시 화면

 구매 최적화는 구매 이벤트 최적화, 즉 광고 캠페인을 통해 직접적인 구매 전환을 최대화 하는 것을 목표로 하며, 주로 비용 효율 보다는 구매 자체에 집중합니다. 흔히 알고 있는 이벤트 최적화이며, 이벤트들 중 구매 이벤트 발생에 집중하여, 머신러닝 합니다.

  ROAS 최적화는 광고 비용 대비 매출 최대화 하는 것을 목표로 하며, 효율적인 비용 관리와 최대 매출 포커싱하여 최적화 합니다. 

  • ROAS = 광고로 부터 발생한 매출 / 광고 지출 비용

ROAS는 위와 같이 계산하며, ROAS은 두 최적화 모두 산출 가능하지만, ROAS 최적화는 ROAS에 보다 집중하여 머신 학습이 진행되는 것을 의미합니다. 

상황별 효과적인 최적화 방법과 그 이유

 구매 최적화는 많은 구매 이벤트를 발생 시키는 것을 목적으로 머신러닝이 작동하여, 상대적으로 객단가가 낮은 상품 운영에 보다 적합하며, ROAS 최적화 대비 더 많은 유저들의 구매를 기대할 수 있습니다. 

  또한 높은 LTV가 기대되는 산업/제품군의 경우, 구매 최적화 활용이 긍정적입니다. 

  • 건강 기능 식품(e.g. 매일 먹으면 좋은 비타민 등)
  • 월 구독형 서비스(e.g. 넷플릭스)

  초기 CPA가 다소 높을 수 있지만, 산업/서비스 특성상 반복 구매를 통한 높은 수익 창출이 가능하여, 구매 최적화를 통해 구매를 이끌어 내는 것이 중요합니다.

 ROAS 최적화는 광고비가 제한적이거나 특정 ROI 목표가 있을 때, 주로 적용합니다. 구매 금액에 포커싱하여 학습하여, 비교적 구매 객단가가 높거나, 한명의 유저가 다양한 상품을 구매할 수 있는 경우에 ROAS 최적화가 적합합니다.

  • 게임
  • 커머스

 특히 게임 업종에서 고래 유저라는 용어를 사용하는데, 고래 유저란 일반 사용자에 비해 높은 구매력을 가지고 있으며, 한번의 결제로도 큰 금액을 소비하는 유저를 의미합니다. 장르별로 고래 유저의 비중은 다르지면, 평균적으로 1%미만, 구매 금액은 과반 내외를 차지합니다. 쇼핑 업종에서는 VVIP라고도 하는 이 고객들은 한번의 구매로도 높은 수익을 창출하여, ROAS 최적화는 이들을 타겟하여 머신 학습 진행하여 상대적으로 적은 광고 비용으로도 높은 매출을 기대할 수 있습니다. 

  정액제/구독형과 같은 서비스에는 ROAS 최적화 적용에 부적합 합니다.  

 

 물론 앞서 말한 상황별 예시가 100% 정답은 아닙니다. 게임 업종이라도, 구매 객단가가 낮은 편이거나, 매칭을 위한 많은 유저가 필요한 경우에는 구매 최적화 상품이 게임에는 더 적합할 수 있습니다. 예산의 여유가 있고, 가설을 테스트해보고자 한다면, 각 최적화별 A/B테스트도 하나의 방안입니다. 

   

  캠페인 성과에는 최적화 방식 뿐만 아니라, 타겟에게 소구할 메세지, 크리에이티브의 품질, 어떤 매체를 활용할지, 지면별 경쟁 상황, 시즈널리티 등 다양한 요소들이 작용합니다.  적합한 최적화를 선택하는 것은 성공적인 캠페인을 위한 하나의 옵션이지만, 각 특성을 고려하여 시행착오를 줄이고, 상황에 맞게 적용하여 우수한 성과를 거둘 수 있습니다.

ANALYSIS_image_thumbnail
GROWTH

그로스마케팅과 AARRR 퍼널 분석 (ft. 29CM)

June 21, 2024

그로스마케팅이란?

그로스해킹(Growth Hacking)에서 파생된 마케팅 방법론입니다.

그로스해킹은 말 그대로 성장(Growth)을 위해서 어떤 수단(Hacking)이든 동원하여 문제를 해결한다는 뜻입니다.

즉 그로스마케팅 또한 성장을 위해 하는 모든 마케팅이라 해석할 수 있습니다. 그로스마케팅의 세부 방법으로는 유입을 증가시키는 노출/트래픽 캠페인(퍼포먼스마케팅)이 될 수도 있고, 메인페이지의 배너 클릭률을 높이는 콘텐츠 제안이 될 수도 있고, 장바구니에서 결제 전환율을 높이는 UIUX 개선이 될 수도 있습니다. 이를 위해서는 사용자의 반응을 확인할 수 있는 데이터가 중요합니다.

최근 그로스마케팅의 중요성은 원티드의 채용 직무만 봐도 알 수 있습니다. '그로스'를 검색해보세요!

채용 플랫폼 원티드 내 '그로스' 검색 결과 페이지
https://www.wanted.co.kr/search?query=그로스&tab=position

그로스마케팅이랑 AARRR 프레임워크가 무슨 상관인가요?

업무의 우선 순위를 파악하기 위해 프레임워크가 필요합니다.

그로스마케팅을 한다고 할 때, 성장을 위해 어떤 일을 먼저 해야할까요?

AARRR 프레임워크가 필요한 순간

대다수의 스타트업에서는 개발팀 인력이 소중합니다. 소위, 개발팀의 인풋이 부족하다고 많이들 이야기합니다. 마케팅팀에서도, 서비스기획팀에서, 디자인팀에서도, 상품팀에서도 개발팀에게 요청을 하기 때문이죠. 그렇다면 개발팀은 이들의 요청 중 누구의 업무를 먼저 해야 할까요?

  • 나랑 친한 팀 사람의 업무 요청
  • 매출에 기여를 많이할 것 같은 기획 구현 요청
  • 사용자에게 영향을 줄 것 같은 기능 개선 요청
  • 개발팀 상반기 KPI와 맞물려있는 요청

정답은... 알 수 없습니다. 이 회사의 최우선순위 목표(OKR: Objective and Key Results)를 모르기 때문입니다. 목표를 정하기 위해서 AARRR Framework를 사용할 수 있습니다. AARRR의 단계 중 어느 단계를 목표로 해야할지 대략적으로 정해보는 것이죠. 우리 회사의 OKR이 '매출'이라면 2.의 업무가 우선이 되겠습니다.

AARRR 퍼널이란?

마케팅에서 사용자의 여정을 단계별로 구분한 것입니다.

마케팅을 할 때에도 이 단계에 맞춰 업무의 우선순위를 정해 일할 수 있습니다. 퍼널(Funnel)이라고도 부르는 이유는 깔대기 형태이기 때문입니다. 초반 사용자들은 많으나 단계를 거치며 사용자들의 이탈이 반복되어 마지막 지점에 남는 사용자는 급격히 적어집니다.

  • Acquisition: 획득
  • Activation: 활성화
  • Retention: 유지 (재방문, 재구매)
  • Revenue: 매출 (혹은 전환)
  • Referral: 추천

그로스마케팅과 AARRR 프레임워크

29CM를 예시로 AARRR 퍼널을 적용해보겠습니다.

29CM 로고

  • (Acquitision) 29CM에 들어갑니다. 가입도 합니다.
  • (Activation) 이굿위크 기획전도 구경하고 상품 상세페이지도 봅니다. 마음에 드는 브랜드를 찾아서 좋아요도 합니다. 그리고 안 사고 나옵니다. (이탈)
  • (Retention) 다시 29CM에 들어갑니다. 할인하는 상품들도 더 찾아보고 상품 좋아요도 누르고 이번엔 장바구니에 상품을 담습니다.
  • (Revenue) 구매합니다.
  • (Referral) 29CM가 마음에 들어서 친구한테도 추천하고, 상품 후기도 작성합니다.

위와 같은 AARRR 단계 사이 사이에 마케팅들이 있습니다.


1. Acquisition: 획득 (ex. 트래픽 캠페인)

획득은 말 그대로 사용자를 서비스로 데려오는 것을 말합니다.

그냥 데려오기만 하는 (=유입시키는, 트래픽을 발생시키는) 것이 있고 데려와서 가입을 시키는 것 (=계정을 생성하는 것)을 포함하기도 합니다.

토스에서 진행하는 머니알림이 '트래픽'을 위한 경우가 많습니다. 토스의 앱푸시를 누르면 토스로 트래픽이 발생하고 (10원) 토스가 유도하는 외부 페이지로 랜딩되면 트래픽이 발생하니까요. (10원!) 이렇게 토스는 한 명의 사용자를 유입시키는 데에 20원이라는 가격을 책정하고 있는 것입니다. (물론 업체에게는 더 많이 받죠!)

Image 1 Image 2

2. Activation 활성화 (콘텐츠, CRM 캠페인)

활성화는 사용자가 서비스 내에서 보다 적극적으로 활동할 수 있도록 유도하는 것 입니다.

29CM에 핸드폰으로 (앱을 깔지 않고) 들어가면 앱설치를 하라는 팝업이 뜹니다. 앱설치를 유도하여 이후 29CM를 더 자주 들어오기를 장려하는 것이죠.

이외 29LIVE 라는 기능을 콘텐츠로 소개하는데요. 이 때 혜택을 위해 '알림 신청'을 하게끔 합니다. 알림 신청을 해두면 앱푸시나 카카오 플러스친구로 메시지를 받게 되어 또 들어오게 되겠죠!

Image 1 Image 2

3. Retention 유지 (CRM 캠페인, 리타겟팅 캠페인)

유지는 사용자가 서비스를 계속! 이용할 수 있도록 하는 것입니다.

CRM으로 높은 할인율의 프로모션을 홍보하면서 다시 방문해달라고 유도합니다. 토스의 경우 만보기 같은 기능을 통해 사용자가 매일 매일 들어오게끔 하구요.

CRM 외에도 리타겟팅 캠페인은 퍼포먼스마케팅으로도 많이 활용됩니다. 그래서 한 번이라도 들어갔던 웹사이트의 광고가 나에게 계속 계속~~~ 뜨는 것이죠!

Image 1 Image 2

4. Revenue 수익화(매출, 전환)

수익화는 사용자로 하여금 서비스의 목표 행동을 하게끔 만드는 것입니다.

커머스라면 구매 전환이겠죠. 최종 목표인 만큼 이전 단계와도 밀접하게 연관되어 있습니다. 활성화(Activation)나 유지(Retention)에서도 방문으로 그치는 것이 아닌 구매 전환까지 일어날 수 있도록 혜택을 촘촘히 설계하는 것이죠.

보유한 쿠폰의 만료일이 얼마 안 남았다고 카카오톡으로 알림을 주는 CRM 캠페인도, 블랙프라이데이라고 인스타 스토리에도 광고가 엄청 뜨는데요. 이런 것이 바로 전환 캠페인이라고 할 수 있겠습니다.

Image 1 Image 2

5. Referral 추천

추천은 말 그대로 사용자가 서비스/상품을 추천하는 것입니다.

카톡으로 친구에게 상품을 추천하기도 하고, 서비스 내에서 후기 작성을 독려하기도 합니다. 작성된 후기는 아직 상품을 사지 않은 사용자들에게 좋은 추천 콘텐츠가 되기 때문입니다.

Image 1 Image 2


AARRR 프레임워크 활용하기

마케터의 입장에서 AARRR 퍼널 업무에 적용하기

위는 사용자 측면에서의 AARRR 프레임워크가 적용되는 상황이었다면, 마케터의 측면에서는 AARRR 관점에서 어떻게 업무해야할까요? 간단하게는 문제 정의와 현황 분석, 측정 지표 이해, 목표 수준 설정 및 개선안 실행으로 AARRR 프레임워크를 활용할 수 있습니다.

단계별 문제를 확인합니다.

  • e.g. 최근 7일 가입자수가 전주 대비 줄었네?

핵심 주요 지표를 선정하고 현황을 확인합니다.

  • e.g. 광고 매체 별 가입수와 가입당 비용을 확인해보자.

측정 지표의 의미를 이해합니다.

  • e.g. 가입자수는 GA 기준으로 측정하고, 가입당 비용용은 광고관리자에 들어간 예산으로 적용하자.

목표 수준을 정하고 실험을 통해 개선합니다.

  • e.g. 가입당 비용(CAC)를 GA 기준으로 20,000원 이하가 되게끔 목표를 정하자. 현재 운영 중인 광고 매체 중 카카오는 CAC가 40,000원이라 너무 높고, 유튜브가 30,000원이네. 카카오는 끄자. 상대적으로 효율이 괜찮은 유튜브 광고 소재와 세팅에 변화를 줘서 가입당 비용을 낮춰보자!

AARRR 퍼널은 단계일 뿐, 순서는 아닙니다.

사용자는 AARRR을 단계별로 거치지 않습니다.

추천을 받고 유입된다면 Referral이 먼저, Acquisition이 후자가 되는 것이고요. 가입하지 않고 비회원으로 상품을 구매한 후에 상품이 마음에 들어 가입을 하고 다른 상품도 차차 둘러본다면, Revenue > Acquisition > Activation의 단계를 밟은 것으로 볼 수도 있습니다.

AARRR 프레임워크를 발표한 Dave McClure도 활성화(Activation)와 유지(Retention) 이후 고객 유치(Acquisition)과 추천(Referral) 마지막으로 수익화(Revenue)의 순서를 추천하기도 했습니다. 회사의 상황에 따라 더 중요한 AARRR 단계가 있을 수 있습니다.

Customer Lifecycle / Conversion Behavior

우리 회사는 어떤 단계의 AARRR이 가장 중요할까요? 리텐션은 나날이 감소하는데 획득에만 치중하고 있는 것은 아닐까요?

풀스택 마케팅 컨설팅펌 마티니아이오

https://martinee.io/

원본 포스팅 링크

그로스마케팅과 AARRR 퍼널 분석 (ft. 29CM)

ANALYSIS_image_thumbnail
GROWTH

그로스마케팅이란? 콘텐츠도 퍼포먼스도 UIUX 개선도!

June 20, 2024

그로스마케팅이란? 비즈니스의 성장을 위한 마케팅

Growth Marketing이란 '성장'에 초점을 맞춘 마케팅입니다.

성장을 위해서 모든 수단을 총 동원하는 그로스 해킹에서 유래된 마케팅 방법론입니다. 성장의 목표는 매출, 앱설치수, 회원수, 리드 확보(B2B) 등이 될 수 있겠죠.

그로스마케팅의 수단은 다양합니다. 전환율 개선을 위해서는 UIUX 개선이 필요할 수도 있고, 사용자의 획득 및 유입을 위해서는 퍼포먼스마케팅이 그로스마케팅의 수단이 될 수도 있습니다.

그로스마케팅의 목표와 수단의 예시

예시 1. 브랜드 인지도 향상을 위한 콘텐츠 마케팅

  • 목표: 브랜드 인지도 향상
  • 수단: 브랜드/콘텐츠 마케팅

세부 업무 1. 자사 SNS 관리

  • 인스타그램 피드 기획 및 제작
  • 유튜브 콘텐츠 기획 및 촬영, 편집
  • 블로그 콘텐츠 기획 및 작성

마티니 인스타그램 피드 기획 및 제작 예시
인스타그램 피드 기획 및 제작 예시

예시 2. 장바구니 담기 > 결제 페이지 전환율 개선

  • 목표: 결제 전환율 개선
  • 수단: UIUX 개선

세부 업무 2. 장바구니 페이지 UIUX 요소 변경

  • 장바구니 할인율 표기
  • 최대 할인 혜택 표기 방식 변경

UIUX 개선안 예시
UIUX 개선안 예시

예시 3. 트래픽 캠페인

  • 목표: 유입수 증대
  • 수단: 퍼포먼스마케팅

세부 업무 3. 인스타그램 광고용 소재 기획 및 제작, 세팅 및 효율 관리

  • 페이스북/인스타그램 광고 소재 기획
  • 소재 제작
  • 세팅 및 효율 관리

Image 1 Image 2
퍼포먼스 광고 소재 기획안 예시

퍼포먼스 광고 제작안 예시 (1)
퍼포먼스 광고 제작안 예시 (1)

퍼포먼스 광고 제작안 예시 (2)
퍼포먼스 광고 제작안 예시 (2)

퍼포먼스마케팅에 대해 더 알고 싶다면?

https://brunch.co.kr/@marketer-emje/9

퍼포먼스마케팅에 대해 더 알고 싶다면?


그로스마케팅의 퍼널 분석과 A/B 테스트

Growth Marketing은 목표한 '성장'을 판단할 수 있는 지표를 정확히 설정하고 효과를 검증하는 것이 필요합니다.

즉 정성적 감에 의존하기 보다는 내부 데이터를 분석하여 정량적인 근거를 기반으로 합니다. 일례로 퍼널(Funnel) 분석을 통해 사용자들이 이탈하는 구간을 찾아내고 A/B 테스트를 통해 개선안을 운영하여 수치를 개선시키고 성장을 만들어냅니다.

앰플리튜드(Amplitude)의 퍼널(Funnel) 차트 예시
앰플리튜드(Amplitude)의 퍼널(Funnel) 차트

UIUX 개선안 제안 커뮤니케이션 예시
UIUX 개선안 제안 예

A/B 테스트 운영

그로스 스프린트의 일환으로 UIUX 개선안을 적용할 시, 기존 UI와 성과를 비교할 수 있도록 A/B Test를 진행하는 것이 좋습니다. 마티니에서는 세 가지의 방안을 고객사에게 제안했습니다.

방안 1. 전후 비교하기: 1주씩 기존안/개선안 반복하며 2개월 간 운영

기존 장바구니>구매 전환율의 변동 폭이 주간/월간 기준으로도 큰 편임을 감안하였을 시, 기간을 길게 잡고 진행하는 것이 다른 변인을 감안할 수 있을 것으로 예상됩니다. 개발적 공수가 제일 적을 수 있습니다.

방안 2. 내부 개발

동일한 페이지(장바구니페이지/결제페이지)를 분기하여 기존안과 개선안, 두 개로 운영하는 것입니다. (cart_page vs. cart_page_test 및 order_page vs. order_page_test)

방안 3. 외부 tool 사용

Heckle (핵클) 링크

자체 개발보다는 개발 인풋이 적게 들어갈 것이라고 판단되나 SDK 연동은 필요합니다. 노출될 페이지를 개별 제작해야합니다. 핵클은 A/B 테스트 운영 시 필요한 개발 인풋과 분석 환경 인풋을 줄여주는 툴입니다.

핵클(Heckle) 메인 페이지


그로스마케팅과 퍼포먼스마케팅

두 마케팅 방법론의 가장 큰 공통점은 '숫자'로 대변되는 데이터를 근거로 한다는 것입니다.

메타 광고를 예시로 한다면 매출 증대를 목표로 하는 전환 캠페인에서는 광고 비용과 ROAS 등의 수치를 중요시할 것이고요. 그로스마케팅의 경우 리텐션(재방문율/재구매율)을 개선하고자 했을 때는 재방문수, 재구매수의 절대적인 수치와 전체 방문 중 재방문수의 비중, 전체 구매 중 재구매수의 비중 등 상대적인 수치를 봐야할 것입니다.

진짜 그로스마케팅은 어려운 것이 당연합니다.

그로스마케팅은 여러 직무와 업무 범위가 겹칩니다.

Growth Marketing이 '성장'을 위한 마케팅인 만큼 그리고 그 수단으로 여러 업무들과 범위가 겹치는 만큼 혼자서는 하기 어려운 것이 당연합니다.

UIUX 개선의 경우 서비스기획 부문과 겹치고, 퍼포마의 효율화를 위해서는 그 많은 광고 매체들을 커버해야하며, 콘텐츠 마케팅을 위해서 주요 키워드를 찾고 크리에이티브를 짜고, CRM 마케팅을 한다면 메세지를 수신할 타겟 대상을 세분화하고 메시지 구성을 짜고 보내는 시점을 정하고 혜택을 구성하는 등 해야할 일이 끝이 없겠죠.

그로스마케팅 부문에 컨설팅 회사가 존재하는 이유라고 생각합니다. 그로스를 경험한 인력들에게 레버리지를 시킬 수 있으니까요.

그로스 해킹 정의

풀스택 마케팅 컨설팅펌 마티니아이오

https://martinee.io/

원본 포스팅 링크

그로스마케팅이란? 콘텐츠도 퍼포먼스도 UIUX 개선도!

ANALYSIS_image_thumbnail
GROWTH

퍼포먼스마케팅이란? 성과 측정이 가능한 것!

June 19, 2024

소위 퍼포마 라고도 부르는 퍼포먼스마케팅에 대해서 얘기해보려고 합니다. 마케팅이라는 개념이 워낙 넓어서인지 다소 모호하게 느껴질 때가 많은데요.

현직 그로스마케터의 입장에서 퍼포먼스마케팅의 개요와 사례에 대해 최대한 구체적으로 소개해보겠습니다. 퍼포먼스마케터를 준비하시는 취준생 분들 혹은 이미 마케터로 일하는 분들께도 도움이 되었으면 합니다.

일상에서 쉽게 만나볼 수 있는 마케팅

마케팅은 모든 곳에 있습니다. 출근 길, 지하철에서 본 스크린도어 광고도 마케팅이고요. 인스타그램 스토리를 넘기다보면 나오는 브랜드의 블랙프라이데이 할인 광고도 마케팅이죠.

지하철 스크린도어 옥외광고 (OOH)
지하철 스크린도어 옥외광고 (OOH)

거실 방에 틀어져있던 TV에서 본 TV CF도 마케팅, 핸드폰으로 뉴스를 볼 때 옆에따라다니는 이미지들도 마케팅입니다. 엊그제 무심코 온라인 커뮤니티 글에서 읽었던 글이 마케팅일 수도 있을겁니다.

퍼포먼스마케팅이란? 성과 측정이 가능한 마케팅!

Performance Marketing이란 '성과'에 초점을 맞춘 마케팅입니다. 위에 예시로 들었던 마케팅들 중에서 성과를 명확히 알 수 있는 마케팅은 무엇일까요?

1) 지하철 스크린도어

2) 인스타그램 스토리

3) TV CF

4) 온라인 뉴스 배너 광고

5) 온라인 커뮤니티 글

몇 명에게 보여졌을까요? 그리고 몇 명이 진짜로 '봤을까요?' 그리고 몇 명이 그냥 본 것 외에 (수동적 차원) 다음 행동을 했을까요? (적극적 차원)

1) 스크린도어, 3) TV CF, 5) 커뮤니티 글의 경우 광고 노출 = 광고 조회라고 보기 애매합니다.

1)의 경우는 지나쳤을 뿐 진짜 보지는 않았을 수 있으니까요.

3) 또한 마찬가지입니다. 광고가 틀어져있었을 뿐 시청자는 자리를 비웠을 수도 있고요.

5)의 경우는 글 내에 다음 행동을 유도하는 장치가 있냐 없냐에 따라 달라질 수 있겠네요.

2) 인스타그램 스토리, 4) 뉴스 배너 광고는 광고 노출수, 다음 행동을 유도하는 영역의 클릭수, 이후 전환수와 전환율 등 성과로 볼 수 있는 다양한 수치를 확인할 수 있습니다.

즉 여기서는 2) 인스타그램 스토리와 4) 뉴스 배너 광고를 퍼포먼스마케팅이라고 볼 수 있겠네요.

포인트는 광고를 봤다는 것을 증명할 수 있는가?입니다.

인스타그램 스토리나 뉴스 배너 광고의 경우 증명할 수 있습니다. 그 브랜드나 상품에 흥미가 생겼을 때, '클릭'하게 되니까요. CTA (Call To Action)이라고 하는 행동 유도 장치 버튼을 통해서요.

Image 1 Image 2
인스타그램 스토리 광고

결론적으로 퍼포먼스 마케팅은 성과를 측정할 수 있는 마케팅을 말하며, 외부에 있는 사용자를 내부의 서비스로 유입시킬 때 주로 사용됩니다.

커머스를 예시로 들면 유입~가입~첫구매 혹은 유입~재구매를 위한 UA Marketing과 Retargeting Markteting이 있습니다.

  • User Acquisition은 사용자 획득으로 외부에 존재하는 유저들을 서비스 내부로 데려오는 것이고,
  • Retargeting은 유입된적 있지만 다시 떠나있는 이들을 다시 한 번 타겟팅하여 서비스 내부로 또 데려오는 것입니다.
외부에 있는 사람들을 내부(서비스)로 데려오는 것
외부에 있는 사람들을 내부(서비스)로 데려오는 것!

퍼포먼스마케팅의 배너 광고와 검색 광고

퍼포마에서 활용하는 광고는 크게 1) 배너 광고와 2) 검색 광고로 나눌 수 있습니다.

1) 배너 광고는 불특정 다수에게 광고 콘텐츠를 노출시키는 것을 것입니다. 물론 대상의 타겟팅을 정교화할 수 있지만 (성별, 연령대 등의 인구통계학적 특징 외에 주요 관심사, 기타 행동) 최근에는 오픈 타겟이라고 하여 다른 조건 없이 광고의 모수로 삼는 경우가 많습니다. (광고 매체들의 머신 러닝이 정교화되어 알아서 타겟팅을 해주기 때문입니다.)

배너 광고 매체로는 페이스북/인스타그램(메타), 구글/유튜브, 네이버, 카카오 등이 있습니다. 페이스북 피드 광고, 인스타그램 스토리 광고, 구글/네이버/카카오의 배너 광고들이 그 예시입니다.

Image 1 Image 2
카카오와 네이버의 배너 광고
유튜브의 홈 화면의 배너 광고
유튜브의 배너 광고

퍼포먼스마케팅의 주요 지표

배너 광고는 목표에 따라 중요하게 여기는 지표 또한 달라지는데요. 목표에 따른 캠페인으로는 브랜드 인지도 향상, 유입(=트래픽) 증대를 위한 트래픽 캠페인과 가입/앱설치/매출 증대 등을 위한 전환 캠페인이 있습니다. 주요 지표로는 도달수, 노출수, 노출당비용, 클릭수, 클릭율, 클릭당비용, 전환수, 전환당비용, 전환율 등을 통해 성과를 측정할 수 있습니다.

  • 목표 (1)  브랜드 인지도 향상
  • 세부 목표: 최대한 많은 사람들에게 보여지게 하기
  • 주요 지표: 도달수, 노출수

  • 목표 (2) 웹사이트의 유입 증대
  • 세부 목표:  최대한 많은 사람들이 들어오게 하기
  • 주요 지표: 클릭수, 유입수 트래픽 캠페인

  • 목표 (3) 커머스 매출 증대
  • 세부 목표: 최대한 많은 주문 발생시키기
  • 주요 지표: 결제수

페이스북 광고 관리자 화면 (결과: 구매, 등록 완료, 조회 등)
페이스북 광고 관리자 화면 (결과: 구매, 등록 완료, 조회 등)

2) 검색 광고는 배너 광고보다는 고관여자에게 광고 콘텐츠가 노출됩니다. 보통 배너 광고를 통해 상품을 인지하고 이후에 그 상품군이 필요할 때 키워드를 검색하여 구매하기 때문이죠.

검색을 했을 때는 구매 직전일 가능성이 높습니다. 검색을 하는 것 자체가 이미 구매 의도가 있다는 것이니까요. 그러므로 검색 광고는 배너 광고보다 대상 모수는 적고 경쟁도가 치열하여 비용이 높지만, 상대적으로 구매로 이어지는 전환율이 높습니다.

  • 네이버 검색 광고: 파워링크, 쇼핑검색 등
  • 구글 검색 광고
Image 1 Image 2
퍼포먼스마케팅 구글 검색페이지

퍼포먼스마케팅에서 주의할 점!

제일 조심해야하는 점은 '숫자'입니다. 가장 중요한 만큼 가장 위험할 수 있는데요. 성과 측정에 초점을 맞추기 때문에 숫자에 현혹되기 쉽기 때문입니다. ROAS: Return On Ad Spend, 광고 수익률 - 가 주요 지표로 여겨지는 만큼 이 숫자'만을' 보게될 때를 주의해야합니다.

ROAS 200% vs ROAS 1000%

여기서 ROAS 1000%의 광고가 무조건 좋은 소재라고 판단할 수 없습니다. 기간과 비용 등 다른 수치들을 함께 봐야죠.

  • 최근 7일 간 100만원의 마케팅 비용을 집행하여 ROAS 1000%가 나왔다면 매출은 1,000만원일 것입니다.
  • 어제 1일 간 1,000만원의 비용을 써서 ROAS 200%가 나왔다면 매출은 2,000만원일 것입니다.

마케팅은 비용을 많이 쓸수록 난이도가 높아지므로 ROAS 수치만으로 판단할 수는 없습니다.

퍼포먼스마케팅도 그로스마케팅도 중요한 것은 데이터

퍼포먼스마케팅과 그로스마케팅의 가장 큰 공통점은 '숫자'로 대변되는 데이터를 근거로 한다는 것입니다. 메타 광고의 매출 증대를 목표 전환 캠페인에서는 광고 비용과 ROAS 등의 수치를 중요시할 것이고요.

그로스마케팅의 경우 리텐션(재방문율/재구매율)을 개선하고자 했을 때는 재방문수, 재구매수의 절대적인 수치와 전체 방문 중 재방문수의 비중, 전체 구매 중 재구매수의 비중 등 상대적인 수치를 봐야할 것입니다.

마케팅을 하는 경우는 크게 인하우스와 대행사(에이전시)로 나뉩니다. 인하우스에서 퍼포먼스마케터로 광고 매체를 직접 운영하거나 (self-serving이라고 많이들 표현합니다.) 대행사와 논의하며 일하는 경우가 있고요. 대행사에서 퍼포마를 한다면 여러 고객사들을 맡아서 다양한 광고매체를 경험할 수 있습니다.

보통 전자(인하우스)에서 퍼포먼스마케터로 일하는 경우 그로스마케터처럼 일하는 상황도 자주 발생합니다. 매출 성장에 필요한 모든 마케팅들을 도맡아서 하다보면 꼭 유상 광고 매체만 운영하는 것이 아닌, 인스타그램도 관리하고, 제휴 마케팅도 진행하고, 프로모션도 관리하고, 자사몰 상세페이지를 기획할 수도 있기 때문이죠.

Data-driven Marketing

데이터를 기반으로 한 의사결정과 마케팅을 하기 위해서 데이터 환경이 구축되어 있어야 합니다. 퍼포먼스마케팅에서 주로 다루는 광고 매체들의 성과의 명확한 분석을 위해서는 기여(Attribution)와 접점(Touchpoints)에 대한 결정과 설정이 필요하기 때문입니다.

이를 위해 MMP(Mobile Measurement Partner)인 에어브릿지(Airbridge)나 앱스팔라이어(Appsflyer), 애드저스트(Ajdust)를 활용하는 것이고요. CRM 마케팅과의 연계 캠페인을 운영하기 위해서 브레이즈(Braze)와의 연동을 구현하기도 합니다.

그리고 결국 궁극적인 전환 성과를 판단하기 위해서 DB Data (User Data)를 연동하여 비교하기도 하죠. 데이터 분석의 깊이에 따라 사용자에 대한 이해도가 달라지는 만큼 데이터 파이프라인 구축은 중요합니다.

데이터 파이프라인에서의 퍼포먼스마케팅 매체의 순서
데이터 파이프라인에서의 퍼포먼스마케팅 매체의 순서
데이터 파이프라인 구축 예시 이미지
데이터 파이프라인 구축

데이터파이프라인 구축을 지원하는

풀스택 마케팅 컨설팅펌 마티니아이오

https://martinee.io/

원본 포스팅 링크

퍼포먼스마케팅이란? 성과 측정이 가능한 것!

ANALYSIS_image_thumbnail
GROWTH

그로스 마케팅과 그로스해킹은 뭐가 다를까?

June 18, 2024

그로스마케팅이란?

(1) 그로스(Growth, 성장)를 위한 마케팅(Marketing)

(2) 그로스해킹(Growth Hacking)에서 파생된 마케팅(Marketing)

정답은 둘 다입니다. 기업의 성장을 위해 어떠한 수단이든 동원한다는 해킹(Hacking)의 개념 하에 그로스 마케팅이 속하기 때문입니다. '성장'이라는 말이 모호하게 느껴지지만, 결국 성장은 기업의 수익을 올리는 것이라 볼 수 있습니다. (매출, MAU, 회원수, 앱설치수 등 대다수의 지표가 결국은 수익화를 위함이죠.)

상향 그래프 이미지
우리는 상향하는 그래프를 원하죠.. (마케팅이든 주식이든)

어쩌다 그로스 마케터

그로스 마케터? 그로스 매니저? 그로스 컨설턴트,,. 여하튼 그냥 그로스 뭐시기...

전 지금이야 그로스마케터이지만 그전에는 그냥 마케터였고요. 매출을 올릴 수 있는 모든 활동이 마케팅이라고 생각했고요. 실제로 18년도 글을 보니 다양한 일을 한다고 써뒀네요.

17년도의 사회 초년생 엠제의 일
17년도의 사회 초년생 엠제의 일

지금 와서 보니 신생 브랜드의 브랜드 마케터라고 볼 수 있겠습니다.

  • 채널 관리 > 온라인 유통 채널 관리
  • 콘텐츠 기획 (제품, 광고, 브랜딩) > 자사 채널(owned media:인스타, 블로그)와 상품페이지 기획

크게는 MD와 콘텐츠 마케터, 그리고 광고 운영도 했으므로 퍼포먼스 마케터의 업무가 섞여있던 것으로...

(CS도 하고 재고 관리도 한 것은 안 비밀~)

즉 저는 경험적으로는 그로스마케팅이 성장을 위해 무엇이든 하는 마케팅이라고 생각하는데요! ( MD가 M:뭐든지 D:다한다로 해석된다는 것처럼요.) 신기하게도 그로스마케팅이 뭔지 몰랐어도 열심히 성장에 집착하며 살다 보니 진짜 그로스마케터가 되었습니다.

구글에 그로스마케팅을 검색하면?

그로스 마케팅(Growth Marketing)이란?

성장(Growth)과 해킹이 결합된 단어, 그로스 해킹에서 비롯된 마케팅 방법으로서 고객의 반응에 따라 제품 및 서비스를 수정해 나가는 방식으로 시장이 원하는 제품, 고객이 원하는 커뮤니케이션 채널을 찾아가는 것을 의미합니다. 이렇게 나오네요!

https://www.google.com/search?q=그로스마케팅

그로스 마케팅 구글 검색
그로스 마케팅 구글 검색 결과 페이지

이외 광고 영역을 살펴보고 그 주체나 설명을 보면, 그로스마케팅과 퍼포먼스마케팅의 연관성도 엿볼 수 있네요.

  • 몰로코: 퍼포먼스마케팅 매체, 즉 유상 광고를 운영할 수 있는 매체사입니다.
  • orm-imc.co.kr: 퍼포먼스마케팅을 운영하는 대행사 같네요!
  • 크몽: 마케터들을 연결해 주는 플랫폼입니다. 보통 개인이 많겠죠?
  • 패스트캠퍼스: 마케팅을 온라인으로 학습하도록 강의를 판매하는 플랫폼입니다.

그럼 그로스해킹은 뭔데요?

Growth Hacking: 성장을 위해 모든 수단을 동원하는 것입니다.

그로스해킹이라는 개념은 Sean Ellis와 Andrew Chen에 의해 알려졌는데요. 전통적인 비즈니스(e.g. 제조업 등)에서 분리되어 있던 상품팀과 마케팅팀이 디지털 프로덕트(e.g. 페이스북과 같은 서비스)에서는 경계가 모호해졌고 프로덕트의 성장을 위해 이를 따로 구분하지 않은 그로스팀이 탄생합니다. (e.g. 2008년 페이스북의 그로스팀) 페이스북의 그로스팀이 이뤄낸 성과는 따로 다뤄 보도록 하겠습니다.

(참조) 페이스북 그로스팀의 탄생: 10억 명의 사용자를 확보하는 방법

https://gopractice.io/skills/growth_hacking/

https://gopractice.io/skills/growth_hacking/

비즈니스 프로세스의 변화: 선형에서 원형으로

양승화(전 마이리얼트립 그로스 실장, 현 딜라이트룸 Data Analyst) 님의 '그로스해킹' 책에서 언급된 내용들을 일부 차용합니다. *양승화 님의 브런치 https://brunch.co.kr/@leoyang99

위에서 '그로스'의 탄생이 전통적인 비즈니스에서 최근 디지털 프로덕트의 변화에 의한 것이라 언급했는데요. 그 부분을 비즈니스 프로세스로도 설명할 수 있겠습니다. 과거, 사업을 만드는 과정은 일방향에 가까웠습니다. 기획을 한 후, 그에 맞춰 생산을 하고, 판매를 했죠.

과거 선형 형태의 비즈니스 프로세스
과거의 비즈니스 프로세스는 한 방향으로 향하는 선형이었습니다.

하지만 최근에는 선형이라고 보기 어렵습니다. 유통/판매 측면에서는 '크라우드펀딩'처럼 기획을 하고 판매를 한 뒤 수량에 맞춰 생산을 하는 경우도 있고요. 홈페이지에 썸네일을 여러 개 올려 클릭률을 확인한 후 반응이 제일 좋은 것으로 확정하는 것도 선형보다는 원형에 가깝다고 볼 수 있습니다.

여기서 중요한 점은 사용자의 반응을 확인하는 것입니다.

예약구매, 클릭, 후기 등으로 소비자들의 피드백을 반영, 개선점을 보완하여 상품을 재생산하거나 서비스를 재배포하며 원형의 프로세스를 구성하죠.

사이클 형태의 현재 비즈니스 프로세스
현재 비즈니스 프로세스는 원형에 가깝습니다.

그로스해킹/그로스마케팅의 스프린트(실험)

애자일하게 스프린트 하나 해 보자!

애자일과 스프린트의 개념에 대해서 말하자면 또 하나의 글이 필요하겠지만, 실질적으로 그로스해킹/그로스마케팅 씬에서 해석되는 내용은 가볍고 빠르게 실험 하나 운영해 보자 - 에 가깝습니다. 이 그로스해킹 스프린트는 위의 원형 비즈니스 프로세스와도 매우 유사한데요.

문제를 정의하고 가설을 수립한 뒤 실험을 운영해서 결과를 도출하고 또 그 결과에서 문제를 정의하여... 계속해서 문제에서 개선점을 찾아 실험안을 운영하는 것이 그로스 스프린트입니다. 결국 모든 것은 맞닿아있죠!

그로스 나타내는 사이클 이미지
그로스 스프린트: 문제 정의 > 가설 수립 > 실험 운영 > 결과 도출... (반복)

개념만 얘기하면 모호하니 사례를 말씀드릴게요. 커머스 쿠폰 마케팅 관련 그로스 스프린트 제안 건인데요.

  • (문제 정의) 쿠폰에 의한 매출 비중이 너무 높다! + 데이터 확인
  • (가설 수립) 쿠폰을 써서 구매하면 재구매율이 낮다? + 데이터 확인
  • (실험 운영) 쿠폰을 안 써서 구매했던 사람들에게도 쿠폰을 줘 보자.
  • (결과 도출) 쿠폰을 줬더니 더 많이 객단가가 상승하네?
그로스 해킹: 쿠폰 스프린트 예시
그로스 해킹: 쿠폰 스프린트 예시

왼쪽의 앰플리튜드(Amplitude, Product Analytics)를 통해서 매출에 기여하고 있는 쿠폰 현황을 분석하고 오른쪽의 쿠폰을 통해 구매한 유저와 쿠폰 없이도 구매한 유저를 구분하여 재구매율을 확인해 보는 것입니다.
*하단의 예시 중에는 데이터 확인 부분에 속합니다.

그로스해킹 대표 사례

그로스해킹은 결국 제품/서비스에 어떤 부분에서 사용자의 반응을 통해 문제를 인지했을 때 모든 수단을 총동원해서 이를 개선하는 방식이라고 볼 수 있습니다.

제품의 기획-생산-판매 외에 우리에게 더 친숙하고 유명한 서비스들의 사례를 들어볼게요.

에어비앤비의 그로스해킹 사례

  • 에어비앤비는 숙소 사진의 퀄리티가 올라갈 때 예약률 또한 올라가는 사용자의 반응을 확인하여, 호스트와 포토그래퍼를 매칭하는 프로그램을 도입합니다.
에어비엔비 페이지 이미지
https://medium.com/@etch.ai
https://medium.com/@etch.ai

드롭박스의 그로스해킹 사례

  • 드롭박스는 친구 추천 시, 양쪽에게 베핏을 줘서 빠른 성장을 달성합니다. 초대받은 친구가 가입하면 500MB 저장용량을 줬고 이를 통해 280만 명의 신규 회원을 얻습니다.
드롭박스의 그로스해킹 사례

그로스해킹과 그로스마케팅의 상관관계

그로스마케팅은 그로스해킹에 속하는 개념으로, 그로스를 위해 해야 하는 여러 업무 중 '마케팅'이 주가 될 때 그로스마케팅이라 볼 수 있습니다.

위의 그로스해킹의 대표적인 사례 중, 그로스마케팅에 가깝다고 할 수 있는 것이 바로 드롭박스의 '친구추천'입니다. 친구추천 꽤 자주 보고 계시지 않으신가요? '추천'이라는 기능을 활용하기 때문에 바이럴마케팅의 일환으로도 볼 수 있습니다. 마켓컬리에서도 무신사에서도 볼 수 있네요!

마켓컬리와 무신사의 친구 초대 / 친구 추천 (그로스마케팅, 바이럴마케팅)
마켓컬리와 무신사의 친구 초대 / 친구 추천 (그로스마케팅, 바이럴마케팅)
마켓컬리와 무신사의 친구 초대 / 친구 추천 (그로스마케팅, 바이럴마케팅)

그로스마케팅을 위해 필요한 직무들

그로스해킹, 그로스마케팅은 혼자 하기 어렵습니다.

위에서 언급했던 스프린트 하나에도 필요한 직군이 5명이 필요합니다.

데이터를 보는 데이터 분석가, 서비스의 개선안을 기획하는 기획자, 이를 디자인해 주는 디자이너, 개발로 구현해 내는 개발자, 개선된 기능을 홍보해 주는 마케터까지... 최소 3개~5개의 직무가 협업하여하는 일이죠.

양승화 님의 그로스해킹 책에서는 그로스해킹을 이처럼 정의합니다.

그로스해킹이란...

크로스펑셔널한 직군의 팀원들이 모여서

핵심지표를 중심으로 실험(스프린트)을 통해 배우고

이를 빠르게 반복하며 제품/서비스를 성장(Growth!)시키는 것

그로스해킹 설명 표지

그로스해킹, AARRR, 지표, 스프린트...

낯설지만 가까운 그런 단어들 하나씩 알아가기!

그로스매니저/그로스컨설턴트로 재직하면서 양승화 님의 '그로스해킹'책을 정말 인상 깊게 읽었습니다. 이를 PPT 자료로 만들어 회사 내부적으로 공유회를 열기도 했고요. 앞으로 브런치에 책 내용에 회사(마티니)의 업무, 제 개인적인 경험을 녹여서 계속해서 글을 써보도록 할게요!

그로스 해킹 목차 표지

풀스택 마케팅 컨설팅펌 마티니아이오

https://martinee.io/

원본 포스팅 링크

그로스 마케팅과 그로스해킹은 뭐가 다를까?

ANALYSIS_image_thumbnail
GROWTH

앰플리튜드(Amplitude), 왜 쓰는 걸까?

June 17, 2024

왜 유니콘 스타트업에서는 앰플리튜드를 쓰는 그로스마케터를 구할까?

앰플리튜드란?

웹/앱 서비스 내에서 사용자들의 행동을 분석할 수 있는 프로덕트 애널리틱스(Product Analytics), 서비스 분석 툴입니다.

앰플리튜드(Amplitude) 웹사이트 메인 페이지

마테크 솔루션 중에 프로덕트 애널리틱스, 그 중에 앰플리튜드

앰플리튜드는 프로덕트 애널리틱스(Product Analytics)입니다. 단어가 영어일 뿐, 직역하면 서비스 분석 솔루션/툴입니다. 온라인 비즈니스, 서비스, 프로덕트, 마케팅 서비스들을 도와주는 기능들을 솔루션(Solution)/툴(Tool)이라고 많이 지칭합니다. 특히, 마케팅 쪽에서는 마테크 솔루션(Mar-tech Solution), 마테크 툴(Mar-tech Tool)이라고도 하죠.

2022 마테크 솔루션 Landscape
마테크 툴은 엄청나게 많다....

주요 마테크 솔루션 소개 이미지
주요 툴들은 또 이렇게 나눌 수 있습니다.

구글 애널리틱스보다 '앱'에 좀 더 특화된 솔루션!

가장 유명한 마테크 솔루션으로는 구글 애널리틱스(Google Analytics)가 있습니다. 무료인 만큼 대중성이 높고 자사몰이 있는 웹 서비스를 하신다면 들어보셨을 것입니다. 이전에는 앱이 약하다는 단점이 있었지만, 최근 GA4는 앱까지 커버합니다.

구글애널리틱스(Google Analytics4) 보고서 화면
구글애널리틱스(Google Analytics4) 보고서 화면

GA4가 앱까지 커버한다 해도 아직 앱 분석의 디테일은 앰플리튜드가 강합니다. 즉 GA는 웹(Web)>앱(App), Amplitude는 앱(App)>웹(Web)의 순으로 장점이 있습니다.

또한 구글애널리틱스는 사용자를 서비스 웹/앱에 들어오게 하는 유입에 초점이 맞춰져있습니다. 사용자 획득이라고 하여, UA(User Acquisition)으로도 이야기하는데요. 모든 서비스의 첫 시작이라고 할 수 있습니다.

유튜브를 구독하기 위해서, 무신사에서 상품을 사기 위해서, 밀리의 서재에서 책을 읽기 위해서는 결국 유튜브, 무신사, 밀리의 서재에 유입되어야 하니까요. 즉 목표가 되는 전환을 위해서는 유입이 필수 요건입니다.

일례로 구글애널리틱스는 사용자의 유입을 만들어내는 채널(Organic, Paid, Refferal)의 데이터를 세부적으로 확인할 수 있습니다. (물론 앰플리튜드로도 확인할 수 있습니다.)

  • 오가닉 채널(Organic)은 자연적인 방식으로, 네이버나 구글에 키워드를 직접 검색해서 들어온 경우
  • 페이드 채널(Paid)는 퍼포먼스마케팅와 연계된 방식으로, 페이스북/인스타그램 광고나 네이버 검색 광고를 클릭해서 들어온 경우
  • 추천(Referral)은 링크를 타고 들어오는 경우 등

앰플리튜드 (Amplitude)와 구글애널리틱스(Google Analytics4) 비교표
앰플리튜드가 왜 필요한가요? 앱 분석을 위해 필요합니다.

앰플리튜드는 유입 이후 웹/앱 서비스 내에서의 사용자 여정(User Journey)을 행동(Event)을 기반으로 세부적으로 확인할 수 있습니다.

  • Q1. 사용자가 우리 서비스에 유입된 이후에 직후에 가장 많이 한 행동은 무엇일까?
  • A1. SALE을 눌러볼까, 상품을 검색해볼까, 가입을 할까, 혜택을 볼까?
  • Q2. A 브랜드에서 구매 완료 행동을 N개월에 걸쳐 X회 이상 한 유저들의 특성은 무엇일까?

앰플리튜드의 퍼널(Funnel) 차트
앰플리튜드의 퍼널(Funnel) 차트

UA 관점 (User Acquisition) 이후로 언급되는 것은 리텐션 (Retention)인데요. 첫 방문, 첫구매로 사용자의 행동이 끝난다면 서비스가 장기적으로 살아남기는 어렵겠죠? 이에 따라 두 번, 세 번 방문하고 또 전환되는 재방문과 재구매가 중요합니다.

앰플리튜드는 전환된 사용자들의 행동을 세부적으로 분석하여, 여러 번 방문/전환한 충성 사용자들을 코호트화 할 수 있습니다.

(*코호트: 동일 특성을 가진 사용자의 집단화) 충성 사용자들의 코호트를 분석하여 특성을 파악하고 다른 사용자들이 충성 사용자가 될 수 있도록 유도할 수 있습니다.

즉, 구글 애널리틱스가 UA에 강점이 있는 솔루션이라면 앰플리튜드는 리텐션에 강점이 있는 솔루션이라고도 이야기할 수 있겠습니다. (물론 GA도 Retention을 볼 수 있고, 앰플리튜드도 UA를 볼 수 있습니다.)

앰플리튜드(Amplitude), 개인에게는 왜 필요한가요?

스타트업 쪽에서 데이터 분석 역량을 요하는 직군에게는 우대 사항 혹은 자격 요건이 됩니다. 오늘 기준 원티드에서 찾아본 채용 공고인데요.

여기어때에서 Growth Marketer(그로스 마케터)를 채용하는 공고에 주요 업무로 데이터 분석과 그로스 전략 수립이, 자격 요건에 마케팅 툴 [MMP(Appsflyer, Adjust), Amplitude, Braze, GA 등]에 대한 내용이 기재된 것을 확인할 수 있습니다.

채널톡의 마케팅 매니저 채용 공고 내에도 우대사항으로 세일즈포스(아마 태블로겠죠?), 앰플리튜드 등 데이터 솔루션을 통한 성과 측정이 언급됩니다.

여기어때 컴퍼니 그로스 마케터 채용공고
채널톡 마케팅 매니저 채용공고

결국 더 좋은 앱을 만들어 (수익을 높이고자) 쓰는 솔루션입니다.

왜 앱 데이터를 분석해야 할까요? 더 좋은 앱을 만들기 위해서겠죠. 앱 데이터는 무엇으로 구성될까요? 사용자들의 정보와 행동에 의해서 앱 데이터가 쌓입니다.

즉 사용자의 행동을 분석할수록 더 나은 프로덕트/서비스를 만들 가능성이 높아집니다.

사용자들이 불편을 느끼는 지점이 사용자들이 이탈하는 지점일테고, 불편을 개선하면 이탈률이 낮아지고 잔존율이 높아지며, 잔존율이 높아지면 전환의 대상이 되는 모수가 많아지기 때문입니다. 즉 더 많은 전환을 유도할 수 있게되어 서비스가 목표하는 KPI - 매출이나 회원수 등 - 을 달성할 수 있게됩니다.

앰플리튜드(Amplitude), 회사에게는 왜 필요한가요?

앰플리튜드를 사용하면

여러 종류의 데이터를 한 번에 보여주는 대시보드의 형태를 쉽게 쓸 수 있게 됩니다.

대시보드는 여러 차트의 구성으로 이루어져있는데요.

예를 들어 UA 대시보드라고 하면, 첫방문수 추이(차트1), 가입수 추이(차트2), 첫구매수 추이(차트3), 첫방문을 광고 매체 별로 쪼갠 것(차트1-1) 등으로 구성될 수 있겠습니다.

대시보드 한 판에 여러 지표 보기

이외 데이터에 대한 접근성을 높여서 회사 구성원들의 데이터 기반 의사 결정 (data-driven) 의사결정을 돕습니다. 데이터를 sql, python으로만 추출하는 경우 이 데이터 스킬셋이 있는 사람들만 데이터를 추출할 수 있는데요. Amplitude는 한 번 도입해두면 차트를 그리는 것이 훨씬 쉬워, 원하는 것을 보기도 쉽습니다.

다양한 구성원 간의 데이터 드리븐 의사결정

마지막으로 데이터의 연동이 빠르다는 것 또한 장점입니다. 어제의 매출 데이터도, 오늘 오전의 유입 데이터도 바로 확인할 수 있습니다.

데이터의 빠른 업데이트

앰플리튜드 누가 쓰나요?

마케터와 서비스기획자(PM/PO), 데이터 분석가(Data Analyst), UIUX 디자이너 등 여러 직군에서 활용할 수 있습니다.

언제, 어디에 쓰나요?

전체 구성원들이 함께 확인할 수 있는 KPI 대시보드

마케터가 사용하는 마케팅 대시보드

서비스기획자(PM)이 사용하는 프로덕트 대시보드

디자이너가 사용하는 디자인 대시보드 등이 있습니다.

앰플리튜드의 마케팅 대시보드 샘플
앰플리튜드의 마케팅 대시보드 샘플
앰플리튜드의 이커머스 KPI 대시보드 샘플
앰플리튜드의 이커머스 KPI 대시보드 샘플
앰플리튜드의 콘텐츠 대시보드 샘플
앰플리튜드의 콘텐츠 대시보드 샘플
앰플리튜드의 프로덕트 대시보드 샘플
앰플리튜드의 프로덕트 대시보드 샘플

앰플리튜드 어떻게 쓰나요?

무료 버전이나 구독 모델을 사용해볼 수 있습니다.

앰플리튜드의 플랜 비교표

https://amplitude.com/pricing

앰플리튜드 정규 도입은 한국 공식 리셀러인 AB180/CJ맥소노미를 통해 진행할 수 있습니다. 이후 기획자들의 택소노미 설계와 개발자들의 구현을 통해 도입이 완료됩니다.

앰플리튜드의 존재가 당연해집니다.

앰플리튜드를 한 번 사용하면 없는 것을 상상하기 어렵습니다. 앰플리튜드의 효능을 체감하는 곳들은 많습니다. 29CM, 무신사, SSG, 올리브영 등 '앱'이 중요한 주요 커머스들은 많이들 사용합니다!

(참조) 29CM의 데이터 그로스팀의 데이터 분석가 분이 쓰신 글

목적 조직에서의 DA가 하는 일

앰플리튜드 본사? 리셀러? 컨설팅펌?

앰플리튜드의 한국 공식 판권은 AB180과 CJMaxonomy(CJ맥소노미)가 가지고 있습니다. 제가 재직 중인 마티니아이오(martinee.io)는 컨설팅펌입니다.

마티니의 그로스팀은 Amplitude를 도입할 때 택소노미 설계를 도와주고 데이터 파이프라인을 구축을 지원하며, 대시보드의 기획과 제작을 돕습니다. 즉 앰플리튜드가 '참고서'라고 했을 때 이를 판매하는 서점은 AB180과 CJ맥소노라면, 마티니는 과외 선생님입니다. 어떤 식으로 과외가 진행되는지, 시연을 원하시는 분들은 연락주세요!

원본 포스팅 링크

앰플리튜드(Amplitude), 왜 쓰는 걸까?

ANALYSIS_image_thumbnail
FULL FUNNEL

고객관리 분석 | 파레토 분석 | ABC 분석

June 5, 2024

📈 고객관리 분석 | 파레토 분석 | ABC 분석

커머스의 경우 다양한 브랜드나 카테고리, 상품을 서비스 하는 경우가 많습니다.

만약 그 중 우리가 서비스하는 브랜드 가지수가 소수면 브랜드 관리에 큰 문제가 없지만 100개 혹은 1000개 이상 많은 브랜드를 가지고 있다면 모든 브랜드를 동일하게 관리하는 것은 어렵습니다.

이 때 집중해야 하는 브랜드와 아닌 브랜드를 통계적으로 나누는 방법을 쓴다면 좀 더 효과적으로 매출을 관리할 수 있습니다.

🔤 ABC 분석은 통계적 방법으로 전체 집단을 A,B,C 그룹으로 나누어 관리효율을 높여 매출 효과를 높이는 분석 방법입니다.

ABC 분석에서 그룹을 나누는데 활용하는 방법은 파레토 법칙 입니다. 때문에 파레토 분석이라고 부르기도 합니다.

파레토 ABC 분석 - Target % 0.8
*Target % 0.8

파레토 ABC 분석 - Target % 0.5
*Target % 0.5

파레토 법칙은 20% 소수가 80% 다수에 영향을 준다는 법칙입니다. 해당 법칙을 활용하여 80% 매출을 발생시키는 소수의 브랜드를 최우선 관리그룹으로 분류하고 나머지 그룹을 95% 기준으로 구분하는 방식입니다.

🔵 A 그룹 : 매출 누적기준 80% 발생시키는 상위 브랜드 그룹 A

파레토 ABC 분석 - 매출 누적기준 80% 발생시키는 상위 브랜드 그룹 A
*그룹 A

🟡 B 그룹 : 매출 누적기준 80% 이상 95% 미만 발생시키는 일반 브랜드 그룹 B

매출 누적기준 80% 이상 95% 미만 발생시키는 일반 브랜드 그룹 B
*그룹 B

🟠 C 그룹 : 매출 누적기준 95% 이상 발생시키는 하위 브랜드 그룹 C

파레토 ABC 분석 - 매출 누적기준 95% 이상 발생시키는 하위 브랜드 그룹 C
*그룹 C

이렇게 브랜드를 매출기준으로 세분화하여 A 그룹에 집중한 매출 전략을 구현한다면 B그룹이나 C그룹에 대한 동일 관리 대비 높은 매출을 기대할 수 있습니다.

👉 예시는 브랜드 하나만 활용하였습니다. 이를 카테고리나 상품 혹은 고객 분류에도 활용해 볼 수 있습니다.

👉 파레토 분석을 활용하여 여러분의 서비스에 맞는 최적화 방식을 고민해보세요.

시각화는 루커스튜디오를 통해 만들어봤습니다. 추후에 필터나 대화형 시각화를 위한 추가적인 기능들이 좀 더 더해질 것 같습니다.

📊 BI : 루커스튜디오 / Lookerstudio

원본 포스팅 링크

📈 고객관리 분석 | 파레토 분석 | ABC 분석

ANALYSIS_image_thumbnail
GROWTH

이벤트 택소노미 완벽 설계하기(2) (ft.네이버 시리즈)

May 31, 2024

이벤트 택소노미 초기 설계 시, 어디에서부터, 무엇을, 어떻게 시작해야 할지 막막한 어려움을 조금이나마 해소해 드리고자, 밀리의 서재 · 버거킹 · 무신사 · 한샘 · 웍스아웃 · 발란 · KFC · 두나무 · 오늘의 집 등의 고객사들과 실제 프로젝트를 진행하며 얻은 인사이트를 공유드립니다.

2편에서는 <비용 최적화된 이벤트 택소노미를 설계하는 방법>을 상세히 다룹니다.

*보안상의 이유로 자료는 <네이버 시리즈>로 대체하였으며, 실제 데이터와는 무관한 자료임을 참고 부탁드립니다.

지난 글에서는 앞선 세 가지 단계를 통해 이벤트 택소노미의 정의와 설계 전 필독 유의사항을 살펴보았습니다.

이벤트 택소노미의 정의와 설계 전 필독 유의사항

본 글에서는 비용 최적화된 이벤트 택소노미를 설계하는 방법과 담당자 간 커뮤니케이션 단계를 다룰 예정입니다. 이벤트와 프로퍼티를 설계하는 단계부터는 단순히 내용과 방법을 나열하기보다, 실제 설계 사례를 중심으로 풀어보려 합니다.

비용 최적화된 이벤트 택소노미를 설계하는 방법과 담당자 간 커뮤니케이션 단계

비용 최적화된 이벤트 택소노미 설계하기

"이벤트 택소노미 설계 전 반드시 고려해야 할 필수 요소, 네이밍 컨벤션"
"1-2-3 퍼널에서 2 퍼널이 필요한가? Critical Path에 따른 필수 이벤트 설계하기"
"View 이벤트와 Click 이벤트를 동시에 추적해야 하는 경우"
"'구매(purchase)' 이벤트가 '무료'와 '유료'로 나뉘는 경우"
"개발자가 한 번에 알아보는 '이벤트 택소노미 시트'"
"전략에 녹일 수 없는 방대한 데이터는 묶음 처리"

4. 이벤트 & 프로퍼티 설계

많은 분들이 이벤트를 설계하고 난 다음 프로퍼티를 설계하는 순서로 이해하고 계시지만, 실제로 이벤트와 프로퍼티를 동시에 고려해야 하는 경우가 많습니다. 그러므로 본 글에서는 이벤트와 프로퍼티를 구분하지 않고 실제 현업에서 발생할 만한 택소노미 설계상 주요 이슈를 주제화하여 소개합니다.

이벤트 택소노미 설계 전 반드시 고려해야 할 필수 요소, 네이밍 컨벤션
네이밍 컨벤션(Naming Convention)이란? 하나 이상의 영어 단어로 구성된 식별자를 만들 때 가독성이 좋도록 한눈에 구분하기 위해 규정한 명명 규칙
이벤트 택소노미 설계 전 반드시 고려해야 할 필수 요소, 네이밍 컨벤션

이벤트 택소노미 설계 시 네이밍 컨벤셔닝은 선택이 아닌 필수입니다. 이벤트와 각 프로퍼티를 정의할 때는 명확하고 일관된 명명법을 사용해야 하며, 사용자 행동을 명확하고 구체적으로 표현해야 합니다. '어느 누가 보아도 유추할 수 있는' 규칙을 지정해야 추후 개발과 분석에 혼동이 없습니다. 네이밍 컨벤션의 정의와 종류를 참고하여 담당자 간 규칙을 합의할 수 있습니다. 다양한 방법이 있지만 저는 주로 스네이크 표기법을 통해 소문자와 언더바(_)를 조합하여 이벤트와 프로퍼티명을 정의합니다.

네이버 시리즈의 네이밍 컨벤션 적용 전후 비교 이미지

좌측의 네이밍 컨벤션을 적용하지 않은 경우 'first_login'이 '로그인 페이지 조회'인지, 페이지 내의 '로그인 버튼 클릭'인지 구별이 어렵습니다. 반면 우측의 네이밍 컨벤션을 적용한 경우 가장 앞단에 행동 조건(trigger)과 이벤트명, 그리고 추가 정보까지 규칙적으로 정의되어 있어 비교적 구별하기가 수월합니다.

** 스크롤 내리기 전 준비사항 **

본격적인 설계 과정을 정독하기 전 아래의 '구매 퍼널'에 본인만의 네이밍 컨벤션을 적용한 이벤트와 각 프로퍼티를 직접 정의해 보시길 바랍니다.

네이버 시리즈 구매 퍼널 예시
*네이버 시리즈 구매 퍼널 예시

ㅤ이벤트 택소노미를 설계하는 과정에서 중요한 것은 '생각하는 방법''반복된 경험'입니다. 다양한 설계 방안들을 반복하여 구상하다 보면 향후 좋은 방안들만 솎아낼 수 있는 경험치가 쌓여 나만의 노하우를 형성할 수 있습니다. 이미 설계된 택소노미를 먼저 접하게 되면 추후 스스로 생각을 떠올리기가 어렵습니다. 누군가의 '완성된 결과물' 보다, '완성하는 과정'을 함께하셨으면 합니다.

끊임없이 질문하고 끊임없이 생각하며 끊임없는 연결 고리를 찾아야 합니다.
- 어떻게 해야 분석에 특화된 택소노미를 설계할 수 있을까?
- 어떻게 해야 개발 편의적인 택소노미를 설계할 수 있을까?
- 어떻게 해야 지속적이고 확장 가능한 택소노미를 설계할 수 있을까?
- 어떻게 해야 모든 요구사항을 충족하되 깔끔한 택소노미를 설계할 수 있을까?
- 각 주요 퍼널들을 어떻게 분류하고 조합해야 비즈니스 KPI에 적합한 택소노미를 설계할 수 있을까?

1-2-3 퍼널에서 2 퍼널이 필요한가? Critical Path에 따른 필수 이벤트 설계하기

ㅤ네이밍 컨벤션을 정의하고 나면 전체 이벤트와 프로퍼티들을 설계해야 합니다. 이전에 정의했던 주요 이벤트를 기반으로 사용자의 여정을 그려봅니다. 이때 모든 이벤트는 중대한 경로(critical path)로 설계되어야 합니다. 즉 최종 전환 이벤트에 도달하는 퍼널이 반드시 필요한 이벤트로만 구성되어야 함을 의미합니다. 택소노미가 복잡해질수록 가독성이 떨어지고 이에 따라 보완 및 개선 작업이 까다로워질 수 있기 때문에 카테고리를 적절히 분류하는 것이 좋습니다. 아래 이미지는 '결제 완료' 카테고리를 기준으로 사용자가 자사 홈페이지에 진입하는 시점부터 결제를 완료하는 시점까지의 퍼널을 그린 예시입니다.

네이버 시리즈 구매 퍼널 간소화 전
*간소화 전


ㅤ 위 간소화 전 퍼널을 살펴보면 메인 페이지 내에 도서 상세 페이지까지 진입할 수 있는 경로가 다양합니다. 메인 페이지에서 개별 도서를 클릭하여 도서 상세 페이지로 곧바로 이동할 수도 있고, 'ㅇㅇ님이 좋아할 만한 작품', 혹은 '이번주 베스트셀러'와 같은 특정 카테고리 경로를 거친 후에 상세 페이지로 이동할 수도 있습니다. 그러나 이처럼 다양한 경우의 수를 각각의 이벤트로 설계하게 되면 효율성이 떨어지게 됩니다. 사용자가 메인 홈페이지에서 곧바로 개별 도서 클릭 시 'click_item_list'와 'click_item'의 클릭 이벤트가 동시 발생하게 되며, 이때 ‘click_item_list' 이벤트는 'null' 값으로만 채워지기 때문입니다.

ㅤ또한 도서 클릭 시 'click_item'과 'view_item'이 동시 발생하는 것을 볼 수 있는데, 마케터가 클릭 관련 성과를 분석하고자 하는 특정 페이지가 도서의 상세 페이지라면 그 외 페이지, 즉 메인 홈페이지에서 모든 클릭을 추적할 필요는 없습니다. 만일 모든 페이지의 이벤트를 조회와 클릭 이벤트로 동시 설계한다면 이벤트 발생 시마다 유사 이벤트가 중복 발생하므로 이 또한 매우 비효율적이게 됩니다. 모든 경로를 이벤트로 설계하기보다 프로퍼티를 이용하여 경로를 간소화하는 것이 비교적 효율적입니다. 아래 이미지는 '도서 카테고리(item_list)'와 '개별 도서(item)' 프로퍼티를 구분하여 이벤트를 간소화한 예시입니다.

네이버 시리즈 구매 퍼널 간소화 후
*간소화 후

위 간소화된 퍼널을 기반으로, '메인 홈페이지' 진입 > '베스트랭킹' 카테고리 클릭 > '특정 상품' 클릭의 상황을 가정한다면, 아래 이미지와 같이 'click_item_list', 'click_item' 이벤트 없이도 프로퍼티를 통해 중간 경로값을 얻을 수 있습니다.

필수 이벤트가 설계된 네이버 시리즈 구매 퍼널

View와 Click 이벤트가 동시에 추적해야 하는 경우

특정 프로모션 페이지 내에 '신작 첫 화 무료보기' 혹은 유료 광고의 '더 알아보기 버튼 클릭' 등 다양한 유입이 있을 수 있습니다. 이러한 경우 페이지 상의 유입 경로를 분석해야 하기 때문에 '조회'를 기준으로 추적합니다. 한편 클릭 혹은 스크롤 뎁스와 같이 특정 페이지에 한정하여 분석이 필요한 경우에는 페이지 내의 ‘액션‘을 기준으로 추적합니다.


View와 Click 이벤트가 동시에 추적해야 하는 경우 설명 이미지

ㅤ 네이버 시리즈의 도서 상세 페이지의 경우 view와 click이 동시에 필요합니다. 예를 들어 특정 도서의 상세 페이지 내에 '무료로 첫화보기' 혹은 '다음화 이어보기' 등의 버튼과 같이 결정적인 클릭 요소가 있는 동시에 신작 홍보 이벤트나 기간 한정 프로모션을 통한 유입 경로가 다양할 수 있습니다. 이러한 경우가 '조회'와 '클릭'을 동시 추적해야 하는 경우라고 볼 수 있습니다.

'구매(purchase)' 이벤트가 '무료'와 '유료'로 나뉘는 경우

ㅤ 지금까지 도서의 상세 페이지로 진입하여 충전과 구매가 이루어지는 단일 퍼널에 대해 살펴보았습니다. 그러나 일반적으로 단일 퍼널만으로 구성되는 경우는 드물며, 전환의 기준 또한 다양합니다. 도서 플랫폼의 경우 1화, 2화, 3화, ...로 이어지는 연재본이 있는 반면, 연재본의 묶음 단위인 단행본이 있습니다. 각각의 도서 유형 모두 '무료(혹은 미리보기)'의 개념이 있으며, 마케터는 무료와 유료 구매의 모든 경우를 분석하길 희망한다고 가정합니다. 이때 매우 다양한 경우의 수를 고려해 볼 수 있습니다.

  • 무료 회차를 열람하는 경우
  • 유료 회차를 열람하는 경우
  • 무료 회차를 열람한 후 유료 회차로 넘어가는 경우
  • 유료 회차를 열람한 후 상세 페이지에서 이전 페이지로 넘어가는 경우
  • 유료 회차를 열람한 후 상세 페이지에서 다음 페이지로 넘어가는 경우
  • 무료 회차를 열람한 후 다시 다른 무료 회차를 열람하는 경우

아래는 특정 도서의 상세 페이지에서 '무료' 전환과 '유료' 전환을 프로퍼티로 나눈 예시입니다. 사용자가 'click_episode'를 발생시킬 시 'item_preview'가 True(무료 회차)인 경우 즉시 도서 열람 페이지로, False(유료 회차)인 경우 구매 결정(click_purchase) 페이지로 이동하게 됩니다. 단, 유료 회차이지만 해당 회차를 이미 구매한 경우 무료 회차와 동일하게 즉시 열람 페이지로 이동합니다.

'구매(purchase)' 이벤트가 '무료'와 '유료'로 나뉘는 경우 설명 이미지

이처럼 프로퍼티를 잘 활용하면 택소노미의 설계를 간소화할 수 있습니다.

프로퍼티를 잘 적용시킨 네이버 시리즈의 택소노미 설계 로드맵

개발자가 한 번에 알아보는 '이벤트 택소노미 시트'

ㅤ마케터와 마찬가지로 개발자 역시 마케터와 설계자의 관점을 알지 못하기 때문에 개발자 편의적인 택소노미(Dev. Sheet)를 별도로 작성하여 전달하여야 하며, 이러한 세부 자료를 전달함과 동시에 충분한 구두 설명이 뒷받침되어야 합니다. 네이버 시리즈 웹/앱 내에서 사용자가 상호작용을 일으키면 개발자는 설계자가 요청한 정보(미리 정의해 둔 이벤트나 프로퍼티)들을 데이터 레이어 형태로 푸시해 줍니다. 그러면 우리는 디버깅을 통해 요청한 데이터가 올바르게 푸시되는지 실시간 로그로 확인할 수 있습니다. 데이터 레이어란 웹사이트에서 정보를 담고 있는 자바스크립트 배열입니다. 쉽게 말해, '데이터 송수신을 하기 위한 매개체'로, 백단에서 특정 이벤트 데이터를 푸시(push)하면 디버깅 시 프론트에서 확인 가능한 형태로 전달받는 식입니다. 일반적으로 속성(key)과 속성값(value)이 아래와 같은 형태로 구성되어 전달됩니다.

*빠른 이해를 돕기 위해 최소한의 단계로 표현한 점 참고 부탁드립니다.
이벤트 전송 과정의 예시
*이벤트 전송 과정의 예시
파이어베이스의 디버깅 예시
*파이어베이스의 디버깅 예시

이때, 클릭(click) 또는 조회(page_view)와 같은 일반적인 이벤트 외에 모든 In-web/app 이벤트의 하위 속성으로 호출되는 사용자 속성(user property)이나, 특정 데이터 타입(data type), 혹은 자료 구조(data structure hierarchy)가 통일되지 않고 다양할 경우 택소노미 설계 시 별도로  명시해 주는 것이 좋습니다.

(e.g. value 외 array 혹은 float 등 다양한 형태의 프로퍼티가 존재하는 경우)
프로퍼티 정보 입력 예시
*프로퍼티 정보 입력 예시

ㅤ 이전 글에서 언급했듯 이벤트 택소노미를 설계할 때는 마케팅 관점과 개발 관점을 별도로 이해하고 적용해야 합니다. 예를 들어, 마케터에게는 유저 플로우를 이해하는 데 초점을 맞춘 시각화된 자료(피그마 등)를 제공하되, 개발자에게는 데이터 로그를 이해하는 데 도움될 만한 정리된 자료를 제공합니다. 이때 시트의 유형은 이벤트 프로퍼티(Event Property)와 유저 프로퍼티(User Property) 두 가지로 분류됩니다.

Event Property란? 이벤트가 수집되는 시점의 이벤트에 대한 자세한 속성 정보
User Property란? 유저의 속성 정보로 서비스를 사용하는 각 개인의 특성을 반영하여 보다 세분화된 수준에서 유저 분석에 도움을 주는 정보
e.g.  "'2024-01-01' 일자에 '홍길동' 사용자가 '회원가입'을 완료했습니다."
- Event: '회원가입'
- Event Property: '2024-01-01'
- User Property: '홍길동'
개발팀 전달용 택소노미 시트(Event Property)
*개발팀 전달용 택소노미 시트(Event Property)
개발팀 전달용 택소노미 시트(User Property)
*개발팀 전달용 택소노미 시트(User Property)

각 시트 내에는 아래와 같은 항목들이 포함됩니다. 필수 항목은 아니며, 자사의 서비스 특성을 고려하여 필요한 항목으로 구성할 수 있습니다.

[Columns of Event Propery Sheet]

  • No: 행 번호
  • Label: 이벤트 카테고리
  • Event Name: 이벤트 이름
  • Trigger: 이벤트 조건(행동 조건)
  • Required: 필수 개발 여부
  • Importance: 우선 순위(중요도)
  • GA4 Event: GA4 전자상거래 이벤트
  • Event Property: 이벤트 프로퍼티 이름
  • Description: 프로퍼티 설명
  • Data Type: 데이터 유형
  • Value Type: 데이터 형태
  • Value Example: 데이터 예시
  • Analysis: 분석 방안
  • Note: 비고(기타 특이사항)

[Columns of User Propery Sheet]

  • No: 행 번호
  • Event Property: 이벤트 프로퍼티 이름
  • Value Type: 데이터 형태
  • Value Example: 데이터 예시
  • Analysis: 분석 방안
  • Note: 비고(기타 특이사항)

*제가 사용했던 택소노미 템플릿 양식은 아래 링크를 통해 다운받으실 수 있습니다. 이외에도 웹사이트 내에 다양한 템플릿이 존재하니 용도에 맞는 템플릿을 적절히 커스텀하여 사용하시길 바랍니다.

▶︎ Event Taxonomy Template (soyun)

ㅤ개발 지식이 부족하더라도, GA4 기반의 이벤트와 파라미터를 잘 정리해 놓은 자료를 참고하여 약간의 시간만 투자하면 주니어 마케터(혹은 엔지니어 등) 분들께서도 충분히 이와 같은 설계가 가능합니다. 또한 GA를 이용하는 경우가 아니라 하더라도 보편적으로 쓰이는 이벤트와 프로퍼티 (해당 페이지에서는 파라미터로 구분됩니다)의 예시를 살펴볼 수 있습니다.

전략에 녹일 수 없는 방대한 데이터는 묶음 처리

ㅤ택소노미 설계에 참여하는 담당자가 마케터와 개발자, 그리고 설계자 외에도 기획자나 상품 개발팀이 참여한다면 택소노미의 방향성이 현재와는 완전히 달라질 수 있습니다. 마케터가 아닌 기획자나 MD의 입장에서는 UI/UX상의 노출이나 클릭과 같은 단순 행동 추적을 넘어 특정 회차의 반응 정도가 중요할 수 있습니다. 그러나 연재본의 모든 회차를 추적하기란 비용상의 어려움이 있습니다. 아래 이미지와 같이 결정적인 지표의 경우 하나의 페이지를 추적하기 위한 다양한 프로퍼티가 존재하는데, 100화가 넘는 연재본이 무수히 존재하기 때문에 회차를 기준으로 실시간 추적하는 경우 서버 과부하로 비용이 과다하게 발생하여 관리상의 어려움이 있을 수 있습니다.

전략에 녹일 수 없는 방대한 데이터는 묶음 처리한 예시 이미지

위 예시에서 수시로 발생하는 이벤트 중 'click_charge_cookie_tried'와 'charge_cookie_completed'와 같이 프로퍼티 데이터의 양이 상당한 경우를 예로 들 수 있습니다. 퍼널을 간소화하거나 프로퍼티를 줄일 수도 없는 상황이라면 최소한 이벤트 발생 횟수를 감소시키는 방안이 있을 수 있습니다. 예를 들어, 연재본을 10화씩 그룹으로 묶어 이벤트 발생횟수를 단축시킴으로써 서버상의 관리가 비교적 원활하게 이루어질 수 있도록 강제하는 방법이 있습니다.

e.g.) 변경 전 택소노미

- 연재 1회차당 1번 기록하는 경우

  • 연재본 100화의 이벤트 발생 수: 100회
  • 연재본 100화의 프로퍼티 적재 수: 150회
  • 연재 100화분의 총 데이터 적재 수: 250회

e.g.) 변경 후 택소노미

- 연재 10회차당 1번 기록하는 경우

  • 연재본 100화분의 이벤트 발생 수: 10회
  • 연재본 100화분의 프로퍼티 적재 수: 15회
  • 연재 100화분의 총 데이터 적재 수: 25회

5. 마케터 협의

ㅤ택소노미를 지속 수정 및 개선하기 위해 마케터와 정기적인 미팅을 진행합니다. 택소노미상의 모든 이벤트를 실제로 조합하고 분석하며 직접적으로 개입하는 당사자이자 결정권자이기 때문에, 설계의 전/중/후 모든 단계에서 끊임없는 QnA를 진행하게 됩니다. 설계 전 초기에 진행한 사전 인터뷰를 통해 이미 많은 정보를 얻었다고 생각할 수 있지만 더는 구체적일 수 없을 정도로 자세한 정보를 얻어야 합니다. 마케터의 관점을 정확히 파악해야 설계상의 번거로운 수정 작업을 최소화할 수 있습니다. 앞서 언급했듯 담당자 간 의견 차이는 매우 주관적이므로 지속적인 꼬리 질문을 통해 애매한 기준을 제거하는 것이 최선의 방법입니다.

ㅤ한 가지 좋은 예로, 담당자에게 Daily Check List를 실시간으로 공유하는 방법이 있습니다. 클라이언트 측에서는 택소노미상의 진행 상황과 상세 내용을 실시간으로 확인할 수 있고, 설계자 입장에서는 커뮤니케이션에 소요되는 시간을 절약할 수 있어 효율적입니다.

이벤트 택소노미 데일리 체크리스트
*Daily Check List

6. 개발자 협의

ㅤ1차 설계안에 대한 협의가 완료되었다면 백엔드에서 데이터 작업을 해 줄 개발팀과 협의를 해야 합니다. 이때 1차 설계안은 '대략적으로 설계'하여 이후 개발팀과의 미팅을 통해 택소노미를 구체화하는 것이 좋습니다. 개발자와의 협의 없이 마케터의 모든 요구사항을 즉시 반영하기 위해 한 번에 많은 에너지를 쏟게 되면, 이후 택소노미를 전면 수정하는 참사가 일어날 수 있기 때문입니다.

ㅤ 서비스마다 사용하는 분석 도구(analytics tool)와 데이터 구조가 저마다 상이하기 때문에 이를 먼저 파악해야 합니다. 일반적으로 타사(구글 애널리틱스, MMP 등) 애널리틱스를 사용하거나, 자사 자체 구축 애널리틱스를 사용하는 경우로 나뉘는데, 두 가지를 병용하는 경우도 다분합니다. 예를 들어, 자사 애널리틱스의 로그 이용 시 경로 추적에 한계가 있기 때문에 이에 최적화되어 있는 GA4와 병용하는 경우를 흔히 볼 수 있습니다. *GA4와 GTM을 사용한다면 [구글 애널리틱스] 데이터 레이어 (Data Layer) 총 정리 (1) 내용을 참고 바랍니다.

자사 자체 애널리틱스의 경우에는 개발상에 제약이 거의 없기 때문에 내부 개발 리소스만 충분하다면 설계와 분석이 매우 수월합니다. 단, 개발자에게 보다 명료한 자료를 제공해야 개발자와의 커뮤니케이션 오류를 최소화할 수 있습니다.

[택소노미 설계 시 사용 플랫폼]

다음 글에서는 QA를 통해 발생 가능한 개발상의 이슈와 이를 통해 얻을 수 있는 인사이트를 공유드릴 예정입니다.

원본 포스팅 링크

https://brunch.co.kr/@soxxun/8

ANALYSIS_image_thumbnail
GROWTH

이벤트 택소노미 완벽 설계하기(1) (ft.네이버 시리즈)

May 30, 2024

이벤트 택소노미 초기 설계 시, 어디에서부터, 무엇을, 어떻게 시작해야 할지 막막한 어려움을 조금이나마 해소해 드리고자, 밀리의 서재 · 버거킹 · 무신사 · 한샘 · 웍스아웃 · 발란 · KFC · 두나무 · 오늘의 집 등의 고객사들과 실제 프로젝트를 진행하며 얻은 인사이트를 공유드리게 되었습니다.

본 1편에서는 <이벤트 택소노미의 정의와 설계 전 필독 유의사항>에 대해 다룹니다.

*보안상의 이유로 자료는 <네이버 시리즈>로 대체하였으며, 실제 데이터와는 무관한 자료임을 참고 부탁드립니다.

이벤트 택소노미란?

ㅤ이벤트 택소노미는 크게 '이벤트 유형(Event Category)', '이벤트(Event)', '이벤트 속성(Property)'의 세 가지 항목으로 구성됩니다. '이벤트 카테고리'는 유저의 최종 행동 목적이며, '이벤트'는 이러한 목적을 달성하기 위한 주요 액션들의 묶음입니다. 그리고 각 이벤트 내에는 이벤트 발생 시 ‘추가적으로 수집하고 싶은 정보‘의 '속성'들로 구성됩니다. 이러한 이벤트와 프로퍼티를 특정 규칙에 따라 분류한 데이터 분류 체계를 ‘택소노미(Taxonomy)'라고 부릅니다. 즉, ‘이벤트 택소노미 설계'한다는 것은 자사 서비스 분석에 필요한 이벤트를 식별하고, 이벤트별로 어떤 속성이 들어가야 하는지 고민하여 데이터를 설계하는 작업을 의미합니다. 이를 통해 우리는 사용자의 행동 패턴을 이해하고, 그에 따른 마케팅 전략을 수립할 수 있습니다.

이벤트 카테고리 분류 예시

  • 이벤트 유형(Event Category)
'이벤트 카테고리'란 이벤트의 유형을 정하기 위한 단위로, 유사한 이벤트를 하나로 묶어 관리할 때 유용한 요소입니다.
'이벤트 카테고리'는 주로 최종 전환 이벤트로 정의되어 전환까지의 하나의 퍼널을 총칭합니다.
예를 들어 이벤트 카테고리가 ‘회원가입’인 경우, 이벤트 카테고리 내에는 홈페이지에 접속하여 특정 서비스를 이용하고자 회원가입 버튼을 클릭하여 회원가입 완료 페이지까지 이어지는 퍼널이 포함됩니다.
즉 ’이벤트 카테고리‘ = ‘최종 전환 이벤트의 퍼널’이라고 생각하시면 이해가 수월합니다.
  • 이벤트(Event)
‘이벤트’란 사용자가 프로덕트를 사용하는 과정에서의 행동이나 그 결과로 발생하는 사건을 가리킵니다.
예를 들어, '로그인 버튼 클릭', ‘관심상품 추가', ‘장바구니 담기', ‘구매 완료' 등과 같은 일련의 사용자 행동이 이에 해당하며, 그 외에 ‘주문서 로딩 시간’, ‘서버 API 처리 시간’ 등도 이벤트로 볼 수 있습니다.
  • 속성(Property)
프로퍼티란, 웹 문서의 동적인 객체 속성을 의미합니다.
쉽게 말해, 사용자나 이벤트가 가진 동적인 특성을 의미하며 사용자 행동에 대한 세부 분석을 위해 이벤트와 함께 수집됩니다.
예를 들어, '회원가입일자', '회원가입 방법', '회원가입 페이지 유입 경로' 등의 속성값이 이에 해당합니다.
  • 이벤트(Event) vs. 속성(Property)
아래의 그림은 오프라인에서 우리의 행동을 온라인에서 발생하는 이벤트로 전환하여 표현했을 때 어떻게 정리할 수 있는지 보여주는 표입니다. 이를 통해 우리는 이벤트와 속성 간의 차이를 확인할 수 있습니다.

이벤트(Event) vs. 속성(Property)

이벤트 택소노미 구축 프로세스 개요

이벤트 택소노미 구축 프로세스 개요

1. 택소노미의 목적 및 방향성 수립

이벤트 택소노미를 설계하기 위해서는 먼저 이벤트의 목적과 방향성을 분명히 해야 합니다. 단순히 데이터 분석을 위해 택소노미를 설계한다는 것보다는 보다 명확하고 구체적인 목적이어야 합니다.

2. 주요 지표(이벤트 카테고리) 설정

다음으로 첫 미팅 시 담당자와 진행될 질의사항을 사전에 작성하여 공유합니다. 첫 협업인 만큼 질문자의 의도가 명확히 전달되지 않거나 답변자의 답변 내용이 충분히 공유되기 어려울 수 있습니다.

3. 사용자 여정(User flow) 스케치

서비스의 주요 지표를 설정하고 나면 주요 지표로 도달하기까지의 대략적인 유저 플로우를 그립니다. 실제 사용자 입장으로 퍼널에 진입하여 최종 전환까지의 최소한의 경로를 그립니다.
사용자 여정(User flow) 스케치

4. 이벤트 & 프로퍼티 설계

유입부터 최종 전환까지 이어지는 단일 퍼널을 그렸다면, 각 단계별로 노드를 추가해 줍니다. 특히 반드시 선택해야 하는 옵션이 있는 단계일 경우 필수로 추가해 주어야 퍼널상의 누락을 방지할 수 있습니다.
이벤트 & 프로퍼티 설계

5. 마케터 협의

5-6번 프로세스의 경우 수차례 반복될 수 있습니다. 모든 담당자들과의 합의점이 반영된 택소노미를 설계하기까지란 많은 소통과 협의가 필요한 데다, 마케터의 요구사항을 운 좋게 완벽히 반영했다고 하더라도 기능상 점검과 동작 검증이 불가피하기 때문입니다.

6. 개발자 협의

마케터와 협의 하에 설계된 1차 택소노미를 바탕으로 개발자와 검토하는 단계입니다. 개발자에게 택소노미의 전반적인 프로세스를 설명하면 개발자는 애널리틱스를 토대로 구현 가능성을 판단합니다. 일반적으로 마케터와 함께 미팅에 참석해 개발상의 이슈를 파악하고 개선점을 논의합니다.

7. QA 테스트

QA 테스트는 서비스 론칭 전 전반적인 개발 프로세스를 점검하고 개발상의 이슈를 조기 발견하여 조치하는 단계로, 담당자와 최종 협의된 논리적 설계에 따라 데이터 로그가 올바르게 적재되는지 확인합니다. 이 단계에서 잔존된 오류 및 결함을 발견하게 되거나, 더욱 효율적인 방안을 제안할 수도 있기 때문에 놓치는 부분이 없는지 특히 유의하여야 서비스 론칭 이후의 이슈를 최소화할 수 있습니다.

*QA(Quality Assurance)란?
사전적 의미로 '품질보증'을 의미하며, 일정 기간을 두고 프로덕트의 기능 검증 및 품질 테스트를 의미합니다. 단순한 기능 동작 통합 테스트뿐만 아니라 프로덕트의 시작과 마무리까지 모든 과정을 함께 기획하고 품질을 저하시키는 결함 요소들을 찾아 전체적인 품질을 향상하는 데 주목적이 있습니다

8. 최종 수정

모든 설계 과정과 QA까지 마무리되었다면, 전반적으로 개선해야 할 작업이 있을지 최종적으로 점검합니다. 이후 광고를 운영할 수도 있고 신규 기능을 출시할 수도 있으며, 신규 서비스가 론칭할 수도 있습니다. 최종 수정을 마친 후의 액션에 따라 위 단계를 반복하거나 건너뛸 수도 있습니다.‍

본 글에서는 1번(이벤트 택소노미의 목적 및 방향성 수립)부터 3번(사용자 여정(User flow) 스케치)까지의 프로세스를 다룹니다.

4번(이벤트&프로퍼티 설계)부터의 프로세스가 궁금하시다면 아래 다음 글을 참고해 주세요.

▶︎ 다음 글 : 비용 최적화된 이벤트 택소노미 설계하기

이벤트 택소노미 설계 전 필독 유의사항

1. 이벤트 택소노미의 목적 및 방향성 수립

ㅤ사실 이벤트 택소노미는 본격적으로 설계하는 당시보다, 설계하기 전 목적과 방향성을 분명히 하는 데 더 중점을 두어야 합니다. 목적과 방향성이 불분명한 상태로 설계를 시작하면 추후 수정이 잦아지고 설계가 복잡해지면서 혼동이 잦을 수 있기 때문입니다. 또한 복잡해진 설계를 해결하기 위해 수정을 지속 거치다 보면 택소노미 자체에 의미를 두게 되면서 정작 본연의 목적이 흐려질 수도 있습니다. 이벤트 택소노미는 데이터 분석을 위한 하나의 도구일 뿐이며, 택소노미를 설계하는 것 자체가 목적이 되어서는 안 됩니다. 마케팅 관점에서 분석이 용이해야 하고, 개발 관점에서 구현이 가능해야 하는 점을 기억해야 합니다.

마케팅 관점
*편의상 '마케팅'으로 총칭했으나, 실제로는 다양한 영역이 있을 수 있습니다. (e.g. 기획, 분석, 상품 개발 등)
마케터는 엔지니어가 택소노미를 설계하기 위해 필요한 정보가 무엇인지 알 수 없습니다.엔지니어 역시 마케터가 광고 운영 성과를 개선하기 위해 필요한 분석 항목이 무엇인지 알 수 없습니다.

ㅤ그러므로 최종 대시보드에서 데이터를 마주하게 될 관련 담당자들과 충분한 논의가 이루어져야 합니다. 네이버 시리즈의 경우 사용자가 회원가입 → 쿠키 충전 도서 구매 → 도서 열람의 퍼널이 매끄럽게 이어지도록 하는 것이 최종 목표라고 가정합니다. 여기에서 주요 이벤트는 각각 sign_up, charge_cookie, purchase_completed, view_episode가 될 수 있습니다. 이를 파악하기 위해서는 먼저 서비스에 대한 이해가 선행되어야 합니다. 핵심은 양 당사자(사용자와 플랫폼)의 입장을 모두 고려하여 서비스를 이해해야 한다는 점입니다.

첫 미팅 전 웹사이트를 점검하며 어떤 애널리틱스를 사용하고 있는지 확인하고 해당 애널리틱스 구조에 맞게 주요 지표들을 스케치해야 합니다.

ㅤ통상적으로 '구매(purchase)'하는 행위를 최종 전환 기준으로 보기 마련이지만, 전환의 기준은 서비스마다 천차만별입니다. 네이버 시리즈의 경우 실제로 카드에서 결제 내역이 기록되는 시점은 도서를 구매하기 위해 쿠키를 '충전(charge_cookie)'하는 시점이기 때문에 설계자 입장에서는 '결제'를 중점으로 퍼널을 설계할 가능성이 다분합니다. 그러나 마케터 입장에서는 도서 플랫폼 특성상 충전을 하더라도 실제로 도서를 소비하는 행위, 즉 도서를 '구매'하고 '열람'하지 않는다면 의미가 없을 수 있습니다.

설계자 관점의 최종 퍼널 )
네이버 시리즈 퍼널

마케터 관점의 최종 퍼널 )
네이버 시리즈 이벤트 프로퍼티 설계 예시

ㅤ네이버 시리즈의 경우 ‘쿠키 충전, ‘도서 결제’ 후에도 실제로 전자책을 읽는 ‘소비’의 기준까지 있기 때문에 설계자는 어느 지점이 최종 전환의 기준인지, 2개 이상의 전환 기준이 있다면 우선순위는 어떻게 되는지 파악해야 합니다. 예를 들어, 네이버 시리즈의 사용자 입장에서는 '구매 완료(purchase_completed)' 이벤트가 중요할 수 있습니다. 결제가 완료되고 다운로드를 완료한 시점부터 서비스를 이용하고 있다는 인지를 하기 때문입니다. 반면 플랫폼 입장에서는 '도서 열람(view_episode)' 이벤트가 중요할 수 있습니다. 구매(purchase_completed)를 하더라도 실제로 상품(도서)을 소비(열람) 하지 않으면 ‘도서를 읽은 사람’이 아니라 단순히 ‘도서를 구매만 한 사람’이기 때문입니다. 그러나 이 두 경우 모두 동일하게 최종 구매 완료(purchase_completed) 이벤트로 카운트되기 때문에 플랫폼 입장에서는 purchase_completed 뿐만 아니라, 실제로 도서를 열람하는 view_episode까지의 퍼널이 필요합니다.

*도서 구독 플랫폼의 경우 도서를‘대여(혹은 소장)’하는 특정 횟수를 기준으로 출판사와 일정 비율 배분하여 정산하는 수익 구조라 다소 복잡한 부분이 있습니다. 만약 도서를 15회 대여 시 네이버 시리즈 측에서 80%의 수익을 창출할 수 있는 구조라고 가정했을 때, 충전을 하더라도 실제로 도서를 구매하고 열람하지 않으면 출판사 측과의 정산 기준을 충족하지 않기 때문에 충전 자체만으로는 의미가 없게 됩니다. 또한 구매 횟수를 기준으로 카운트되기 때문에, 한 사용자가 각종 도서를 15회 다운로드 하더라도 실제로 열람하지 않으면 출판사(혹은 작가) 입장에서의 판매 관점에서는 이 역시 의미가 없습니다.

ㅤ이렇듯 데이터를 바라보는 관점은 직무에 따라, 혹은 서비스 행태에 따라 모두 상이합니다. 따라서 가급적 제품이나 서비스에 대한 이해가 최우선 되어야 하고, 꼬리 질문을 통해 담당자 측으로부터 분석하고자 하는 지표에 대한 정보를 이끌어내어 이러한 간극을 좁혀나가는 것이 중요합니다.

개발 관점

ㅤ마케터와 충분한 논의가 되었다면 개발 관점에서는 실제로 추적 가능한 데이터인지, 혹은 표현 가능한 데이터 형태인지를 판단해야 합니다. (*개발 관점에서의 택소노미 설계 방안은 다음 글에서 상세히 다룰 예정입니다) 만일 마케터의 관점만을 중점으로 택소노미를 설계한다면 추후 설계안 전체를 뒤엎어야 할 수도 있습니다.

- 마케터: "A 데이터와 B 데이터가 필요합니다."

- 엔지니어: "A, B 데이터 기반으로 택소노미 설계 완료되었습니다."

- 개발자: "택소노미상의 로직은 구현이 불가합니다."

이례적인 경우이긴 하나, 위와 같은 상황이 닥치면 완전히 다른 형태의 택소노미를 처음부터 다시 설계해야 할 수도 있습니다. 따라서 택소노미를 설계하기 전 어떠한 분석 툴을 사용하고 있으며, 어떠한 지표들을 추적할 수 있는지에 대한 개발팀과의 커뮤니케이션 역시 매우 중요합니다.

2. 주요 지표(이벤트 카테고리) 설정

ㅤ이벤트 카테고리를 설정하기 위해 서비스의 유저 플로우를 상상하며 아이데이션을 진행합니다. 서비스에 대한 시장 조사를 통해 이용자의 특성을 고려하여 실제 사용자 관점에서 퍼널에 유입되어 보기도 합니다. 일반적인 주요 지표로는 '회원가입(sign_up)', 장바구니 담기(add_to_cart)', '구매(purchase)'가 있으며, 이는 서비스마다 매우 다양하게 분류될 수 있습니다. 네이버 시리즈의 경우 '쿠키 충전(charge_cookie), '도서 다운로드(download_book)', '도서 열람(view_book)'의 추가적인 주요 지표가 있을 수 있습니다. 각각의 주요 지표들은 2-3가지를 하나의 카테고리로 묶을 수도 있고, 각각의 퍼널로 분류할 수도 있습니다.

[이벤트 카테고리 분류 예시]

  • Case.1 ) 모두 각각의 퍼널로 분류
이벤트 카테고리 분류 예시 - 모두 각각의 퍼널로 분류

  • Case.2 ) 장바구니와 구매 퍼널 병합
이벤트 카테고리 분류 예시 - 장바구니와 구매 퍼널 병합

  • Case.3 ) 충전과 구매 퍼널 병합
이벤트 카테고리 분류 예시 - 충전과 구매 퍼널 병합

  • Case.4 ) 장바구니, 충전, 구매 퍼널 병합
이벤트 카테고리 분류 예시 - 장바구니, 충전, 구매 퍼널 병합

  • Case.5 ) 모든 퍼널 병합
이벤트 카테고리 분류 예시 - 모든 퍼널 병합

이외에도 매우 다양한 경우의 수가 존재합니다. 다만 다섯 번째 케이스와 같이 하나의 퍼널에 모든 주요 카테고리를 연결하여 설계하게 되면 택소노미의 가독성이 현저히 떨어질 수 있어 권장하지는 않습니다.

ㅤ첫 미팅 전 인터뷰 질문을 사전 공유하여 답변을 미리 생각할 수 있도록 하는 것도 좋은 방법입니다. 특히 이미 론칭된 기존 서비스의 경우 접속에 제한이 없기 때문에 정보를 습득하기 수월하지만, 론칭 전 신규 서비스의 경우 내부 보안 문제로 접속이 불가하여 미팅 전 사전 자료 조사가 어려운 경우 사전 인터뷰지를 작성하는 것은 더욱 유용합니다. 인터뷰 질문의 경우 앞서 미팅 전 가정했던 주요 지표들을 기반으로 작성한다거나, 홈페이지의 UI/UX상으로는 명확히 파악하기 어려운 사항들을 리스트업 하고, 론칭 전 서비스의 경우 자사의 기존(과거) 서비스를 참고하거나, 경쟁사의 레퍼런스를 참고하여 설문지를 작성하는 것도 하나의 방법입니다.

이때 각 질문들은 가능한 구체적으로 풀어 작성하는 것이 중요합니다.

[인터뷰 질문 유형 예시]

  • 유형 1 ) 자사 내부의 주요 지표
  • 유형 2 ) 지표별 데이터의 집계 기준
  • 유형 3 ) 데이터 분석의 성공/실패 사례
  • 유형 4) 기존(혹은 현재)의 최종 KPI
  • 유형 5) 서비스 특성
  • 유형 6 ) 서비스 기능
  • 유형 7 ) UI/UX상 주요한 부분
  • 유형 8 ) 사용자 분류 기준
  • 유형 9 ) 택소노미로부터 얻고 싶은 분석 데이터
  • 유형 10 ) 서비스 기능상의 추가 개발 계획 여부

사전 인터뷰 설문지 예시
*사전 인터뷰 설문지 예시

3. 사용자 여정(User flow) 스케치

ㅤ마케팅과 개발 모두의 관점에서 택소노미의 목적과 방향성을 분명히 하고 사전 자료 조사에 따라 인터뷰를 원활히 진행하여 택소노미의 뼈대를 완성했다면, 이제 설계에 돌입하여 주요 지표 사이 사이에 살을 붙여야 합니다. 예를 들어 '회원가입 완료(sign_up)'를 위해서는 회원가입 페이지에 진입하여 회원가입 시작을 클릭하고, 사용자 정보를 입력하여 최종적으로 회원가입 완료하기 버튼을 클릭하면 회원가입의 퍼널이 완성됩니다. 이러한 유저 플로우의 간략한 아키텍처를 스케치해 두면 추후 택소노미를 구체화하기가 훨씬 수월합니다.

사용자 여정(User flow) 스케치

--

다음 글에서는 본격적으로 이벤트 택소노미를 설계하는 방법과 실제 플랫폼 서비스의 택소노미 설계 사례를 자세히 다루어 볼 예정입니다.

▶︎ 다음 글 : 비용 최적화된 이벤트 택소노미 설계하기

[비용 최적화된 이벤트 택소노미 설계하기]

"이벤트 택소노미 설계 전 반드시 고려해야 할 필수 요소, 네이밍 컨벤션"
"1-2-3 퍼널에서 2 퍼널이 필요한가? Critical Path에 따른 필수 이벤트 설계하기"
"View와 Click 이벤트가 동시에 추적해야 하는 경우"
"'구매(purchase)' 이벤트가 '무료'와 '유료'로 나뉘는 경우"
"개발자가 한 번에 알아보는 '이벤트 택소노미 시트'"
"전략에 녹일 수 없는 방대한 데이터는 묶음 처리"


원본 포스팅 링크

https://brunch.co.kr/@soxxun/7

ANALYSIS_image_thumbnail
CRM

앱 행동 데이터가 말해주는 것

May 20, 2024

원시그널 마티니 앱 사용자 데이터 분석

*본 게시물은 원시그널 OneSignal의 기능을 중심으로 작성되었습니다.

모바일 앱의 성공을 단순히 매출로만 측정하는 경우가 많아요. 하지만 지속 가능한 비즈니스의 진정한 지표는 사용자가 돈을 어떻게 쓰는지보다 시간을 어떻게 쓰는지에 달려 있어요. 사용자는 앱을 사용할 때마다 소중한 데이터를 제공하죠. 이를 통해 문제점과 성공 요인을 발견할 수 있어요. 사용자 행동를 분석하면 매출 보고서보다 더 정확하게 앱의 상태를 진단할 수 있답니다.

앱 행동 분석: 무엇을 추적해야 할까요?

사용자 행동을 추적하는 것은 단순히 참여율을 측정하는 것보다 더 복잡해요. 단기 유지율, 네비게이션 패턴, 오류 보고서 등을 포함해야 하죠.

주요 사용자 행동 지표

  • 유지율(Retention): 특정 기간 동안 앱을 계속 사용하는 사용자 비율을 측정해요.
  • 클릭률 (CTR): 메시지 내 링크나 버튼을 클릭하는 사용자 비율을 추적해요.
  • 전환율(CVR): 메시지와 상호작용한 후 원하는 행동을 완료한 사용자 수를 측정해요.

모바일 메시지 캠페인은 사용자와 소통하는 주요 방법이자 효과를 측정하는 명확한 지표예요. 대부분의 모바일 분석 도구에서 전환율 추적 기능을 제공하지만, 클릭률은 추적하기 어려울 수 있어요.

OneSignal 같은 모바일 메시지 분석 도구를 사용하면 Confirmed Delivery 기능을 통해 실제로 알림을 받은 기기만을 추적해요. 더 정확한 클릭률 측정을 통해 앱 내 광고 배치를 최적화하고, 사용자가 어디서 이탈하는지 파악할 수 있어요.

사용자 상호작용 추적

  • 기능 모니터링: 사용자가 가장 많이 사용하는 기능을 모니터링해요.
  • 세션 길이, 빈도, 이탈: 사용자가 로그인하고 머무르는 시간과 빈도를 추적해요.
  • 네비게이션 패턴: 사용자가 앱에서 어떻게 상품/기능을 탐색하는지 확인해요.

주요 기능에 대한 이벤트 추적을 구현하고, 각 기능과 관련된 다양한 행동을 구분하기 위해 고유한 이벤트 이름을 사용해야 해요. 또한 모바일 히트맵 도구를 사용해 스와이프와 탭 같은 제스처를 시각화할 수 있어요.

원시그널 사용자 상호작용 데이터 추적

앱 성능 및 기술 지표

  • 앱 로딩 시간: 앱 로딩 시간을 측정해요. 로딩 시간이 길어지면 이탈율이 증가해요.
  • 오류 보고서: 앱 오류와 충돌 사례를 모니터링해요.
  • 기기 및 운영체제 버전: 사용자가 사용하는 기기와 운영체제를 파악해요.

퍼포먼스 모니터링 SDK를 통합해 앱 로딩 시간을 데이터로 확인하고, Android Profiler와 iOS의 Xcode Instruments 같은 도구를 활용해요. 느린 로딩 요소를 최적화하면 앱 실행 시간이 빨라지고 사용자 만족도와 참여도가 높아져요.

기타 주목해야 할 사용자 행동 지표

  • 오픈율: 특정 푸시나 SMS 알림을 연 사용자 비율을 측정해요.
  • 가입/장바구니 이탈율: 가입 과정이나 장바구니에 상품을 넣고 완료하지 않은 사용자 비율을 확인해요.
  • 최고 사용 시간: 사용자 활동이 가장 높은 시간대를 파악해 리소스 할당과 콘텐츠 제공을 최적화해요.
  • 사용자당 평균 매출 (ARPU): 사용자 한 명당 평균 매출을 측정해요.
  • 이탈율: 특정 기간 내 앱 사용을 중단한 사용자 비율을 파악해요.
  • 사용자 추천율: 앱을 다른 사람에게 추천하는 사용자 비율을 확인해요.

사용자 행동 지표 해결하기

1. 5일 리텐션이 낮아요

5일 리텐션이 낮다는 것은 앱을 처음 설치하거나 초기 단계에서 사용한 많은 사용자가 첫 주 내에 이탈하고 있다는 것을 의미해요. 이 문제는 온보딩 과정에서의 혼란, 가치 부족, 과도한 커뮤니케이션, 성능 문제 등이 원인일 수 있어요.

이를 해결하기 위해서는 문제점을 파악하는 것이 중요해요. 사용자 피드백을 수집하고, A/B 테스트를 통해 개선할 부분을 찾아보세요.

새로운 사용자가 온보딩 절차의 절반만 진행하는 경우, 환영 흐름을 재구성할 필요가 있을 수 있어요. 템플릿 기반의 인앱 캐러셀은 참여를 유도하는 좋은 방법이에요.

원시그널 마티니 앱 온보딩

또한, 푸시 알림을 최적화하고, 개인화된 재참여 캠페인을 시행하며, 사용자에게 교육 콘텐츠를 제공해보세요. 사용자 친화적인 경험은 장기적인 리텐션을 높여 지속적인 수익을 가져와요.

2. 단기 리텐션은 높지만 장기 리텐션은 낮아요

이 경우는 반대의 문제를 나타내요. 단기 리텐션이 높지만 장기 유지율이 낮다면, 사용자가 초기에는 앱에 참여하지만 장기적으로 관심을 유지하는 데 어려움을 겪고 있다는 뜻이에요.

이는 지속적인 가치 부족, 사용자 기대에 못 미치는 기능, 기능 관련성 문제 등이 원인일 수 있어요. 또는 초기 목표를 달성하고 나서 정기적으로 사용할 이유가 없기 때문일 수도 있어요.

예를 들어, 피트니스 앱이 운동 루틴과 진행 상황을 추적하는 기능을 제공한다면, 처음에는 사용자가 흥미를 느낄 수 있어요. 하지만 새로운 도전 과제나 명확한 지침이 없다면 사용자는 초기 목표를 달성한 후 앱을 계속 사용할 이유를 찾지 못할 수 있어요.

이럴 때는 충성도 프로그램이나 지속적인 인센티브가 도움이 돼요. 잘 설계된 충성도 프로그램은 사용자에게 독점 혜택, 할인, 프리미엄 기능 접근 등을 제공해 장기적인 참여를 유도해요.

사용자에게 앱을 계속 사용할 가치를 제공하는 것이 중요해요. 푸시 알림, 인앱 메시지, 이메일 캠페인을 통해 앱의 장기적인 혜택을 효과적으로 전달하세요.

예를 들어, 피트니스 앱에서 상위 충성도 프로그램을 통해 고급 운동 계획, 영양 가이드, 라이브 트레이닝 세션 등의 독점 콘텐츠를 제공할 수 있어요. 또한, 연속 보너스나 월간 성실도 보상 등을 통해 사용자에게 장기적인 습관을 형성하도록 유도해보세요.

3. 월간 활성 사용자(MAU)가 안정적이에요

월간 활성 사용자(MAU)가 안정적이라는 것은 여러분의 앱이 충성도 높은 사용자 기반을 유지하고 있다는 뜻이에요! 이는 기능 업데이트나 적극적인 크로스 채널 메시징 전략을 통해 사용자가 개인적으로 보상을 느끼도록 하고 있다는 의미일 거예요.

하지만 참여 유도에 대한 노력을 완전히 멈추면 안 돼요. 이제는 앱 UX를 최적화하고 지속적인 성장을 촉진하는 데 집중할 수 있어요.

이 시기에 모바일 A/B 테스트를 진행해 인앱 인터페이스와 메시징을 세밀하게 조정하고, 새로운 사용자를 유치하면서 기존 사용자를 유지할 혁신적인 방법을 모색해보세요. 어떤 이미지, 이모지, 언어가 사용자의 반응을 끌어내는지 테스트하면 유용한 인사이트를 얻을 수 있어요.

원시그널 마티니 인앱메시지 IAM ABtest

안정적인 MAU 기간은 사용자 커뮤니티와 소통하고 피드백을 받아 앱을 개선하는 데 좋은 기회예요. 커뮤니티 이벤트를 통해 공동 참여를 보상하거나, 추천 프로그램을 통해 새로운 사용자를 유치하고 입소문을 통해 성장을 촉진할 수 있어요.

4. 사용자들이 푸시나 이메일 구독을 하지 않아요

사용자들이 푸시 알림이나 이메일 구독을 거부하는 경우, 이는 가치 제안이 명확하지 않거나, 개인정보 보호에 대한 우려, 과도한 커뮤니케이션 때문일 수 있어요. 사용자 피드백을 분석하고, 구독 요청 시점과 맥락을 재평가해보세요. 사용자가 매일 여러 개의 푸시 알림을 받으며 정보 과부하를 느끼고 있지는 않은가요?

사용자는 자신의 인구통계, 선호도, 앱 내 행동에 맞춘 알림에 더 많이 반응해요. OneSignal의 보고서에 따르면, 개인화된 메시지는 일반적인 콘텐츠보다 참여율이 259% 증가한 것으로 나타났어요.

비활성 사용자에게는 더 많은 알림을 보내고, 이미 적극적으로 참여하는 사용자에게는 덜 보내고 있나요? 사용자의 관심사에 따라 메시지 캠페인을 맞춤화하고 있나요? 사용자의 구매 이력이나 앱 내 과거 행동을 활용해 예측 가능한 참여 패턴을 공략하고 있나요? 푸시와 이메일 캠페인을 개인화할 때 이런 점들을 고려해야 해요.

원시그널 마티니 세그멘테이션 화면

또한, 푸시 알림 요청 시 단순히 권한을 요청하는 것보다 구독의 가치를 설명하는 인앱 메시지를 활용해보세요.

5. 결제나 가입 도중 이탈율이 높아요

결제나 가입 도중 이탈율이 높다는 것은 많은 사용자가 과정을 시작하지만 완료하지 못하고 있다는 뜻이에요. 이를 해결하려면 결제나 가입 흐름에서 마찰 지점을 파악하고, 길고 복잡한 양식, 불명확한 지침, 예상치 못한 요구사항 등을 해결해야 해요. 복잡한 가입 과정이나 결제 과정이 사용자를 혼란스럽게 하여 앱을 삭제하게 만들 수 있어요.

이를 해결하려면 가입이나 결제 과정을 간소화하고 양식 필드를 최소화하세요. 사용자가 완료하면 받을 가치를 명확히 전달하고, 데이터 보안을 보장해야 해요. 진행 표시기, 안내 도구, 게스트 체크아웃 옵션 등을 통해 사용자의 부담을 줄일 수 있어요.

장바구니를 자주 포기하는 앱의 경우, 장바구니 구매 유도 캠페인을 실행해보세요. 개인화된 메시지를 통해 사용자가 놓칠 수 있는 상품을 상기시키고, 몇 시간 내에 메시지를 보내고 다음 날 추가 팔로우업을 하세요. 긴급감을 조성해 즉각적인 행동을 유도하는 것도 중요해요. 카운트다운, 독점 제안, 재고 업데이트 등으로 사용자에게 FOMO(놓칠까 봐 두려운 마음)를 유발하세요!

사용자 행동을 이해하는 모바일 메시징 플랫폼

OneSignal을 사용하면 원활한 옴니채널 솔루션으로 사용자 생애 가치를 높일 수 있어요.

앱을 손쉽게 통합할 수 있는 SDK, 자동화된 캠페인을 추적할 수 있는 강력한 메시지 분석 도구, 수집한 사용자 행동을 최대한 활용할 수 있는 세분화 도구를 제공해요.

마티니와 상담하시면 OneSignal에 대해서 더 자세히 안내받으실 수 있어요.

마티니와 상담하기

*원문 출처 : https://onesignal.com/blog/app-user-behavior-analysis/

*본 게시물은 Onesignal이 작성한 글을 참고하여, Onesignal의 공식 파트너인 마티니가 한국어로 편집 및 재구성하였습니다.

ANALYSIS_image_thumbnail
CRM

사용자 여정 지도로 CRM 마케팅 전략을 기획하는 방법

May 20, 2024

원시그널 사용자 여정 지도 마티니

*본 게시물은 원시그널 OneSignal의 기능을 중심으로 작성되었습니다.

모바일 사용자 여정에 대해 많이 들어보셨을텐데요, 현재의 참여 전략에 얼마나 적용되고 있는지 궁금하실 겁니다. 전체 사용자 여정에 대한 개요 대신, 최대한의 효과를 위해 참여 캠페인을 우선해야 하는 중요한 순간들을 짚어볼게요.

어떤 행동 지표가 참여 기회를 나타낼까요?

사용자 행동 분석은 사용자 여정에서 중요한 순간을 포착하는 데 강력한 도구입니다. 모바일 사용자 분석 플랫폼을 통해 사용자 상호작용, 세션 시간, 클릭률, 전환 퍼널 등의 지표를 추적하세요. 패턴과 트렌드가 나타나면, 중요한 참여 지점을 발견할 수 있을 거예요.

각 사용자 여정 단계를 분석하기 전에, 다음 세 가지 사용자 참여 지표를 통해 가장 강력한 참여 기회를 찾아보세요.

신호 #1:
모바일 앱 리텐션

리텐션이 낮다는 것은 사용자 경험, 콘텐츠나 기능 부족, 비효율적인 온보딩 프로세스에 문제가 있음을 의미해요. 이 문제를 찾아내어 사용자 재참여를 유도하고 앱의 가치를 재정립하는 캠페인을 진행해야 해요.

앱 내 메시징은 유지율을 27% 개선할 수 있어요. 이 메시징 채널을 사용하여 사전 권한 요청, 새로운 기능 발표, 실시간 사용자 설문조사를 할 수 있습니다.

신호 #2:
전환율

전환율은 또 다른 중요한 참여 기회입니다. 전환율은 사용자가 앱 내에서 원하는 행동을 완료하는 비율을 측정해요. 예를 들어, 많은 사용자가 무료 플랜을 고수하고 프리미엄 구독으로 업그레이드하지 않는다면, 이를 해결하기 위해 앱 내 알림, 이메일 마케팅 캠페인, 푸시 알림을 활용할 수 있어요.

특정 세션 수를 완료한 무료 사용자에게는 할인된 구독 업그레이드 제안을 할 수 있어요. 이러한 제안은 비용 걱정이나 프리미엄 기능의 가치에 대한 불확실성을 해소하는 데 중점을 둡니다.

신호 #3:
사용자 이탈률

마지막으로, 사용자 이탈 패턴을 분석하면 효과적인 참여 전략을 개발하는 데 중요한 통찰을 제공합니다. 이탈률은 사용자가 플랫폼을 떠나는 비율을 나타내요.

사용자 이탈 이유와 패턴을 분석하면, 사용자 기반의 특정 문제점을 파악하고 재참여 기회를 찾을 수 있어요.예를 들어, 사용자가 일정 기간 비활성화 후 이탈한다면, 자동 재참여 이메일이나 푸시 알림을 통해 제품의 가치를 상기시키고 돌아오도록 유도할 수 있어요.

사용자 세분화를 통해 다양한 사용자 그룹의 선호에 맞춘 재참여 콘텐츠를 제공하세요. 앱의 최신 기능, 산업의 새로운 트렌드, 이전 사용자 활동 기반의 맞춤형 추천 등을 공유할 수 있어요.

사용자 여정 단계에 맞춘 맞춤형 참여 전략

모바일 메시징 전략은 사용자 여정의 각 단계에 맞춰 사용자의 필요와 기대에 부응해야 해요. 이러한 요소는 항상 변화하므로, 캠페인도 유연하게 운영해야 최대한의 참여를 이끌어낼 수 있습니다.아래는 모바일 사용자 여정의 각 단계와 단계별로 적용해야 할 세 가지 참여 전략입니다.

1. 발견 및 인식 단계 참여 전략

소셜 미디어를 통해 앱 홍보하기

타겟 소셜 미디어 광고 캠페인을 통해 잠재 사용자들에게 앱을 알리세요. 예를 들어, 새로운 피트니스 앱은 인스타그램이나 페이스북에서 건강과 운동에 관심 있는 사용자들에게 독특한 기능과 혜택을 홍보할 수 있어요.이 단계에서는 리타게팅 광고를 활용하여 이전에 앱과 상호작용했지만 원하는 행동을 완료하지 않은 사용자들을 다시 참여시키세요.

예를 들어, 사용자가 앱의 웹사이트를 방문했지만 앱을 다운로드하지 않았다면, 앱의 주요 기능을 강조하거나 한정된 시간 동안 프로모션을 제공하는 광고를 통해 재참여를 유도하세요.

앱 스토어 최적화 (ASO)

앱 스토어에서 앱의 가시성과 검색 가능성을 높이기 위해 관련 키워드, 매력적인 비주얼, 상세한 앱 설명을 사용하여 앱 목록을 최적화하세요. 키워드 연구와 A/B 테스트와 같은 도구를 사용하여 앱 스토어 최적화 전략을 개선하고, 사용자가 앱을 검색할 때 더 쉽게 찾을 수 있도록 하세요.

 Myfitnesspal의 앱은 하이라이트부터 후기까지 다양한 목록으로 구성되어있습니다.
Myfitnesspal의 앱은 하이라이트부터 후기까지 다양한 목록으로 구성되어있습니다.

레퍼럴 마케팅

기존 사용자에게 친구나 지인에게 앱을 추천하도록 유도하세요. 성공적인 추천에 대해 할인, 크레딧, 독점 보상을 제공하여 참여를 촉진할 수 있어요.

예를 들어, 여행 예약 앱은 추천 링크를 통해 신규 사용자가 가입하면 추천인과 신규 사용자 모두에게 다음 예약 시 할인 혜택을 제공할 수 있습니다.

2. 획득 단계 참여 전략

프리미엄 구독 - 짧은 기간 동안의 혜택 제공사용자가 앱을 다운로드하도록 유도하기 위해 한정된 시간 동안 할인이나 무료 체험을 제공하세요.

예를 들어, 30일 무료 체험을 제공하여 사용자가 프리미엄 기능을 경험하고 앱의 가치를 직접 느낄 수 있도록 하세요.

임신출산 앱 Peanut의 실시간 카운트다운 포함 구독 플랜 제시 화면
이 결제 화면(paywall)은 임신과 출산 앱인 Peanut에서 제공하는 것으로, 구독 플랜을 명확하게 제시하면서 상단에 '실시간 카운트다운' 타이머를 포함해 업그레이드 할인의 한정된 시간 특성을 강조하고 있어요.

소셜프루프 강조

잠재 사용자와의 신뢰를 구축하기 위해 앱의 랜딩 페이지나 마케팅 자료에 긍정적인 후기나 사용자 리뷰를 보여주세요. 실제 성공 사례나 만족한 사용자의 추천을 강조하면 사용자의 걱정을 덜어주고 앱을 다운로드하거나 가입하도록 유도할 수 있습니다.

타겟 재참여 이메일

앱에 관심을 보였지만 아직 행동을 취하지 않은 잠재 사용자에게 이메일 마케팅을 통해 연락하세요. 개인화된 메시지, 제안, 또는 리마인더를 보내어 앱을 다운로드하거나 가입하도록 유도하세요.

예를 들어, 여행 앱은 웹사이트를 방문했지만 아직 여행을 예약하지 않은 사용자에게 독점 할인이나 여행 팁을 제공하는 이메일을 보낼 수 있어요.

The Outbound Collective의 이메일
The Outbound Collective의 이메일은 깔끔한 야외 이미지로 모바일 경험을 돋보이게 하고 있어요.

3. 온보딩 및 탐색 단계 참여 전략

개인화된 온보딩 제공

사용자가 앱의 기능과 사용법을 잘 이해할 수 있도록 개인화된 온보딩 경험을 제공하세요.사용자의 행동에 따라 트리거되는 컨텍스트 기반 온보딩 메시지를 활용하세요. 모든 정보를 처음부터 제공하는 대신, 사용자가 필요할 때 적시에 관련 팁, 설명, 또는 안내 메시지를 제공하세요.

예를 들어, 사용자가 특정 기능을 처음 사용할 때 해당 기능의 목적과 사용 방법을 설명하는 짧은 툴팁이나 메시지를 표시하세요. 이렇게 하면 사용자가 필요한 순간에 안내를 받아 주요 기능을 잘 이해하고 기억할 수 있어요.

한 번에 하나의 앱 영역만 강조한 암호화폐 거래 앱 Binance의 점진적인 온보딩 시퀀스
암호화폐 거래 앱인 Binance는 점진적인 온보딩 시퀀스를 사용하여 신규 사용자가 부담을 느끼지 않도록 한 번에 하나의 앱 영역만 강조해 안내해요.

사용자를 천천히 앱에 적응시키기

점진적 프로파일링 기법을 사용하여 초기 등록 과정에서 사용자를 압도하지 않고 시간이 지나면서 사용자 정보와 선호도를 수집하세요. 온보딩 중에는 기본 정보만 요청하고, 사용자가 앱을 더 많이 사용할수록 추가 정보를 요청하세요.

예를 들어, 피트니스 앱은 처음에 나이, 성별, 운동 목표 등의 기본 정보를 요청하고, 사용자가 앱을 더 많이 사용할수록 운동 선호도나 식이 제한과 같은 세부 정보를 입력하도록 할 수 있어요.

신규 사용자에게 다양한 지원 제공

앱을 탐색하는 동안 사용자에게 지원과 안내를 제공하기 위해 앱 내 메시징과 지원 옵션을 제공하세요. 라이브 채팅 지원, FAQ, 또는 도움말 기사를 앱 내에서 직접 접근할 수 있도록 하여 사용자가 온보딩 및 탐색 중에 자주 겪는 질문이나 문제를 해결할 수 있게 하세요. 이렇게 하면 사용자가 지원받는다는 느낌을 받고 앱의 기능을 탐색하는 데 있어 부담을 덜 수 있어요.

4. 재사용 단계 참여 전략

계속해서 돌아오도록 유도하기사용자에게 푸시 알림이나 이메일을 보내 앱을 다시 방문하고 새로운 콘텐츠나 기능을 탐색하도록 유도하세요.

예를 들어, Adobe Photoshop은 새로운 생성 AI 기능을 강조하는 이메일을 보내 사용자가 새로운 사진 편집 방법을 발견하도록 유도합니다.

원시그널 마티니 포토샵 ai

참여를 재미있게 만들기

도전 과제, 배지, 보상 등의 게임 요소를 도입하여 지속적인 참여와 상호작용을 유도하세요. 특정 작업을 완료하거나, 목표를 달성하거나, 앱 내 커뮤니티 활동에 참여하도록 하는 성취 기반 시스템을 만드세요.

모두가 좋아하는 미스터리 박스예상치 못한 보상, 선물, 또는 개인화된 메시지로 사용자를 놀라게 하고 앱에 대한 긍정적인 경험을 강화하세요. 랜덤 할인, 무료 혜택, 또는 특별 제안을 제공하는 깜짝 캠페인을 통해 사용자의 지속적인 충성도와 참여를 감사하는 표시로 활용하세요.

5. 수익화 단계 참여 전략

체계적인 유지 전략

충성도 프로그램을 도입하거나 프리미엄 기능에 대한 독점 할인 혜택을 제공하여 사용자가 인앱 구매를 하도록 유도하세요. 예를 들어, 게임 앱은 특정 레벨을 완료하거나 이벤트에 참여한 사용자에게 가상 화폐나 특별 아이템을 보상으로 제공하여 추가 구매를 유도할 수 있어요.

투명성 유지

사용자의 돈과 관련된 문제에서는 명확성과 정직함이 중요해요. 구독 관리 프로세스를 간소화하고 구독 플랜, 청구 주기, 갱신 날짜에 대한 투명한 정보를 제공하세요. 다가오는 구독 갱신, 가격 변경, 또는 체험 기간 만료에 대해 사용자에게 미리 알림을 보내 사용자가 구독 상태에 대한 결정을 준비할 수 있도록 하세요.

재정 계획 앱 Monarch의 무료 체험 페이지
재정 계획 앱 Monarch의 무료 체험 페이지는 사용자가 제한된 접근이 어떻게 작동하는지 정확히 안내해 주어 매우 효과적이에요. 모호함 없이 명확하게 설명해 주죠!

플랜 간의 가치 강조

업셀링과 크로스셀링 기법을 도입하여 사용자가 프리미엄 또는 상위 티어 구독 플랜으로 업그레이드하거나 앱 내 추가 제품이나 서비스를 구매하도록 유도하세요. 프리미엄 기능이나 추가 기능의 혜택과 가치를 강조하고, 사용자가 구매하도록 특별 프로모션이나 할인을 제공하세요.예를 들어, 생산성 앱은 무제한 저장소나 협업 도구와 같은 고급 기능이 포함된 프리미엄 플랜을 할인된 가격으로 제공하여 사용자가 추가 기능을 잠금 해제하고 경험을 향상시키도록 유도할 수 있어요.

6. 재구매 단계 참여 전략

사용자 이해하기

사용자의 과거 구매 기록을 바탕으로 개인화된 추천을 제공하여 재구매를 유도하세요. 예를 들어, 패션 앱은 사용자의 이전 구매 기록과 선호도를 기반으로 큐레이션된 컬렉션이나 제품 추천을 포함한 개인화된 이메일이나 푸시 알림을 보내어 재구매를 유도할 수 있어요.

Ray-Ban의 이메일은 사용자의 마지막 쇼핑 기록을 기반으로 개인화되어 있으며, 무료 배송과 간편한 반품과 같은 인센티브를 강조하여 쉬운 쇼핑 경험을 제안합니다.

사용자의 마지막 쇼핑 기록 기반 Ray-Ban의 개인화 이메일

“지금 당장!”

재구매 고객을 위해 한정된 시간 동안 제공되는 할인이나 플래시 세일을 도입하여 긴급함과 흥분을 유발하세요. 시간 제한 할인, 번들, 또는 단기간 동안만 제공되는 특별 프로모션을 통해 사용자가 제안을 이용하도록 유도하세요. 예를 들어, 모바일 게임 앱은 한정된 시간 동안 인게임 화폐나 특별 아이템을 할인된 가격에 판매하는 플래시 세일 이벤트를 개최하여 재구매 고객의 참여와 수익을 창출할 수 있어요.

미리보기와 티저로 기대감 유지

재구매 고객에게 다가올 제품, 기능, 또는 프로모션의 독점 미리보기나 예고를 제공하여 충성도를 보상하고 브랜드에 대한 참여를 유지하세요. 신규 출시, 베타 버전, 또는 아직 일반에게 공개되지 않은 비하인드 콘텐츠에 대한 조기 접근을 제공하여 재구매 고객에게 독점적이고 내부적인 접근 권한을 제공하세요.

7. 충성도 및 유지 단계 참여 전략

사용자들을 하나로 모으기

사용자 포럼, 소셜 미디어 그룹, 또는 독점 콘텐츠를 통해 커뮤니티 감각과 지속적인 참여를 촉진하세요. 예를 들어,명상 앱은 사용자가 경험을 공유하고, 비슷한 생각을 가진 사람들과 연결하며, 가이드 명상 세션이나 전문가와의 라이브 Q&A 세션에 참여할 수 있는 전용 커뮤니티 공간을 만들 수 있어요. 이를 통해 소속감을 느끼게 하고 장기적인 참여와 유지를 유도할 수 있어요.

유명인 파트너십 기반 지역 커뮤니티 이벤트 예시

또는 독립 전기 자전거 회사가 새로운 유명인 파트너십을 지역 커뮤니티 이벤트를 통해 홍보할 수도 있어요.이 전략의 목표는 커뮤니티를 하나로 모으고, 참여하는 사람들을 교육하고 보상하면서 즐겁게 하는 것입니다. 가족처럼 느끼는 사용자 기반은 단지 익명의 고객으로 느끼는 사용자보다 이탈할 가능성이 훨씬 적습니다.

VIP 사용자에게 보상하기

VIP 프로그램이나 충성도 등급을 만들어 가장 충성도가 높고 참여도가 높은 사용자에게 독점 혜택, 특전, 또는 보상을 제공하세요. 조기 세일 접근, VIP 고객 지원, 또는 멤버 전용 이벤트와 같은 특별 권한을 제공하여 지속적인 참여를 유도하고 충성도를 보상하세요.

기념일 축하하기

사용자의 기념일, 이정표, 또는 업적을 축하하여 지속적인 충성도와 참여를 보상하세요. 사용자의 회원 기념일, 생일, 또는 일정 구매 횟수나 포인트 도달 등의 이정표를 기념하는 개인화된 메시지, 가상 배지, 또는 특별 제안을 보내세요.

OneSignal로 사용자 참여 극대화

앱 내 온보딩 시퀀스를 설계하든, 이메일 재참여 캠페인을 자동화하든, 크로스채널 메시징 여정을 시도하든, OneSignal에선 모두 가능합니다.

사용자 여정의 어디에 있든, 강력한 옴니채널 메시징은 장기적으로 개인화된 콘텐츠를 제공하는 데 중요한 역할을 합니다.

마티니와 상담하시면 Onsignal에 대해서 더 자세히 안내받으실 수 있어요.

마티니와 상담하기

*원문 출처 : https://onesignal.com/blog/how-your-user-journey-should-inform-your-engagement-strategy/

*본 게시물은 Onesignal이 작성한 글을 참고하여, Onesignal의 공식 파트너인 마티니가 한국어로 편집 및 재구성하였습니다.

ANALYSIS_image_thumbnail
GROWTH

AARRR 프레임워크로 앰플리튜드 대시보드 만드는 방법

May 10, 2024

마티니는 최근 버거킹 코리아와 함께 Amplitude를 활용한 그로스 프로젝트를 진행하고 있습니다.

고객의 참여를 유도하고 장기적으로 수익 증대를 실현하는 그로스 마케팅의 첫 단추인 AARRR 퍼널 구현 사례를 공유하고자 합니다.

이 글에서는 AARRR 프레임워크의 정의부터 해당 프레임워크를 적용하여 어떻게 대시보드 목차를 구성하고 직접 구현하는지에 대한 플로우를 설명하였습니다. 차트 예시는 Amplitude의 데모 계정의 데이터를 활용하여 구현하였습니다.

1. AARRR은 무엇인가요🧐? 중요하게 생각해야 하나요?

‘그로스 해킹’이라는 단어를 처음으로 만들어낸 션 앨리슨은 비즈니스가 성장하기 위해서는 ‘좋은 제품을 사람들이 어떻게 사용하게 만들지’를 고민하는 것이 매우 중요한 시작점이라고 했습니다. 그는 비즈니스가 최대한으로 성장할 수 있는 방법을 계속해서 실험하여 그로스 해킹의 프레임워크가 있다고 주장했습니다.

실제로 이러한 프레임워크를 활용해서 Dropbox는 10명의 직원에서부터 지금은 10억 달러 (한화 1조원)이 넘는 초 대기업이 되었습니다.

그로스 분석의 목적 사이클

그로스 분석의 목적은 서비스별 지속 가능한 선순환의 비즈니스 사이클을 만드는 것입니다.

그럼, 이 사이클은 어떻게 찾아낼 수 있을까요? 지금까지 해왔던 대로의 ‘관습’은 새로운 소비자의 변화를 쫓아가기에 느리고, ‘감’은 불확실합니다. 이때 우리는 ‘데이터’를 활용하게 됩니다.

과학적으로 접근해서 이러한 사이클의 단서를 찾을 수 있습니다. 즉, 션 앨리스가 강조하는 ‘과학적 접근’의 ‘그로스 해킹 프레임워크’가 바로 ‘AARRR’입니다.

그로스 해킹 퍼널인 AARRR은 Acquisition(유입), Activation(활성화), Retention(리텐션), Revenue(매출), Referral(추천)의 5단계로 이루어져 있습니다.

AARRR 프레임워크
AARRR 프레임워크

버거킹 서비스에 대조해 보면 아래와 같은 질문들을 나열해 볼 수 있으며, 해당 질문들이 바로 각 단계별로 고려해야 하는 지표를 의미합니다.

📝 AARRR Funnel

(1) Acquisition (유입, 획득)

  • 고객들이 얼마나 버거킹 앱에 접속(설치, 방문, 가입) 하나요?
  • 어떤 고객들이 버거킹 앱에 접속하나요?
  • 어떻게 고객들이 버거킹 앱을 알게 되었을까요?
  • 고객들이 어떤 프로모션을 보고 앱에 접속하나요?

(2) Activation (활성화)

  • 고객들은 버거킹에서 첫 주문을 할 때 좋은 경험을 했나요?
    • 첫 주문 시 어떤 아이템을 구매하나요?
    • 첫 주문 시 어떤 쿠폰을 쓰나요?
    • 첫 주문 시 어떤 플랫폼을 많이 이용하나요?
    • 첫 주문 시 어디서 이탈을 많이 하나요?

(3) Retention (리텐션)

  • 우리 고객들의 리텐션은 어떻게 되나요? 급격하게 감소하나요? 완만한 평행선을 이루고 있나요?
  • 재구매 리텐션은 어떻게 되나요?
  • 재구매 주기는 어떻게 되나요?
  • 서비스 별로 리텐션이 다른가요?
  • 리텐션이 높은 고객들이 많이 하는 특정 행동이 있나요?

(4) Revenue (매출)

  • 앱 주문 고객과 일반 고객들의 매출은 어떻게 되나요?
  • 앱 주문 고객들이 어떤 상품 종류를 많이 구매하나요?
  • 매장별로 매출이 어떻게 다른가요?
  • 어떤 쿠폰을 구매할 때 가장 많이 쓰나요?
  • 주문을 많이 하는 고객들이 많이 하는 특정 행동이 있나요?
  • 앱 주문의 건단가는 어떻게 되나요?
  • 앱 주문의 객단가는 어떻게 되나요?
  • 주문자 당 구매 평균금액(ARPPU)는 어떻게 되나요?

(5) Referral (추천)

  • 바이럴 마케팅의 효과가 있나요? 유입이 있었나요?

그럼 우리는 위 질문에 대한 답을 어떻게 찾을 수 있을까요? Amplitude라는 프로덕트 분석 툴을 활용하여 AARRR 대시보드를 구현하여 확인할 수 있습니다.

📝 AARRR Funnel에 따른 대시보드 목차 구성

(1) Acquisition (유입, 획득)

  • DAU (Daily Active User, 일별 활성 유저)
  • MAU (Monthly Active User, 월별 활성 유저)
  • 회원가입
  • 설치

(2) Activation (활성화)

  • 첫 주문
    • 상품 항목(아이템)
    • 쿠폰, 프로모션
    • 플랫폼
  • 첫 주문 경로 (퍼널)

(3) Retention (리텐션)

  • 방문 리텐션
  • 구매 리텐션
  • 코호트별 리텐션 Engagement Matrix

(4) Revenue (매출)

  • 주문
    • 주문 건수
    • 신규 유저, 기존 유저의 주문 건수 비중
    • 주문 이벤트 Engagement Matrix
    • 주문 이벤트 Compass
  • 매출
    • 일별 매출
    • 상품 항목별 매출
    • 쿠폰별 매출
    • 플랫폼별 매출
  • 주문 수
  • 고객 수
  • 건단가
  • 객단가
  • ARPPU (주문자의 주문 평균 금액)

(5) Referral (추천)

  • 입소문 계수 (WOM, Word of Mouth)

2. Amplitude를 활용하여 AARRR 대시보드 구현하기

우선 서비스 특성에 맞춰 유저 코호트를 생성합니다. 예를 들면 앱 주문, 웹 주문과 같이 주문 채널, 주문 횟수, 연령대, 주문 금액대, 성별 등 특성을 기반하여 유저 코호트를 생성하고 코호트와 전체 유저별 차이를 확인합니다.

더불어 프로모션의 주기, 사용 주기를 바탕으로 각 차트의 기간을 정합니다. 최근 30일 자, 일자별 혹은 최근 90일, 월별 등의 날짜 옵션으로 정할 수 있습니다.

*Amplitude 차트는 목업 데이터를 활용하였습니다.

*각 항목별 주요 테이블 차트만 예시로 설명하였습니다.

(1) Acquisition (유입, 획득)

1️. DAU (Daily Active User, 일별 활성 유저)

앰플리튜드(Amplitude) DAU 확인 화면
  • Segmentation 차트를 활용하여 DAU, WAU, MAU 차트를 만들 수 있습니다.
  • Start Session, 메인 페이지 뷰 등 유입으로 인정하는 이벤트를 기준으로 잡습니다.
  • 대시보드에 내가 만든 DAU 차트를 추가하고 > Show summary matrics 를 클릭하면 현재 활성 유저 수, 증감률을 차트와 함께 대시보드에서 즉시 확인할 수 있습니다.
앰플리튜드(Amplitude) Show summary matrics 화면
앰플리튜드(Amplitude) 유입 획득 DAU 대시보드 스코어카드

📌  체크 포인트

  • DAU, MAU 평균, 최고치, 최저치
  • 프로모션 전후 증감률
  • 유저 코호트와 전체 유저 차이

2️. 회원가입

  • 회원가입률

3️. 설치

  • AppsFlyer, Airbridge와 같은 MMP와 Amplitude를 연동하면 Amplitude 대시보드에서 인스톨과 미디어 소스 값을 확인할 수 있습니다.
앰플리튜드(Amplitude) MMP 데이터 연동 대시보드 예시

📌  체크 포인트

  • 설치 평균, 최고치, 최저치
  • 프로모션 전후 증감률
  • utm 소스 별 설치 수

(2) Activation (활성화)

1️. 첫 구매 경로

앰플리튜드(Amplitude) 활성화(Activation) 차트 화면
  • 만약 구매 경로가 View Item DetailsAdd to CartCheckoutComplete Purchase 순이라고 가정했을 때, 첫 구매 경로를 구하기 위해서는 기준이 되는 이벤트에 Historical Count = 1 조건을 걸어 확인할 수 있습니다.
    • Historical Count란 (링크): 특정 이벤트를 N번 수행한 횟수를 기준으로 고객을 식별할 수 있는 필터링 조건입니다.
  • Measured as 조건으로 Completed within 5 days으로 확인하였습니다.
    시작 이벤트인 View Item Details에서 마지막 이벤트인 Complete Purchase까지 대부분의 유저가 5일 내에 전환을 완료했기 때문입니다. 이는 Time To Convert 측정을 통해 확인할 수 있습니다.
  • 만약 더 보수적으로 경로 전환율과 이탈률을 확인하고 싶을 경우 Measured as 조건을 1일 이내 등 제한을 걸어 확인이 가능합니다. 보수적인 조건, 전환 완료 시간 조건 등 두 가지의 조건을 각각 비교하여 확인할 수도 있습니다.
앰플리튜드(Amplitude) 활성화(Activation) 구매 과정 확인 차트

📌  체크 포인트

  • 각 퍼널 단계의 전환율과 이탈률
    • 유저 코호트별 비교 가능
  • 전환 소요 시간

(3) Retention (리텐션)

1️. 리텐션 Engagement Matrix

  • 방문 이벤트와 관련된 이벤트의 수와 빈도에 있어서 연관성을 가진 다른 행동(이벤트)를 확인할 수 있는 차트입니다.
  • A > B > C > D 순으로 사분면을 확인하여 방문과 관련된 중요 이벤트들을 확인할 수 있습니다.
  • x축은 빈도(얼마나 더 자주 한 행동인지)를 나타내며, y축은 수(얼마나 더 많은 유저가 한 행동인지)를 나타냅니다. 따라서 A면에 있는 이벤트는 평균보다 더 많은 유저가, 더 높은 빈도로 수행한 이벤트라는 것을 의미합니다.
  • App Push, In_App_Message Impression과 같은 분석과 관련도가 낮은 이벤트는 수동으로 체크박스 해지하여 필터링 적용할 수 있습니다.
앰플리튜드(Amplitude) 리텐션(Retention) 차트 화면

📌  체크 포인트

  • 리텐션 주기 (방문/주문)
  • 코호트별 리텐션
  • 코호트별 자주 방문하는 요소(이벤트) 찾기

(4) Revenue (매출)

1️. 주문 이벤트 Compass

앰플리튜드(Amplitude) 매출(Revenue) 차트 화면
  • 7일 이내 어떤 특정 이벤트가 선택한 코호트 그룹(위 그래프 내 ❷번, Users who complete purchase ≥ 1x)과 상관관계를 가지고 있는지 히트맵 형태로 확인할 수 있는 차트입니다.
  • 상관관계 지수에 따른 해석
    • Highly Predictive(예측성 높음): correlation ≥ 0.4
    • Moderately Predictive(중간 예측성): correlation ≥ 0.3
    • Slightly Predictive(약간 예측 가능): 0.3 > correlation ≥ 0.2
    • Not Predictive(예측되지 않음): correlation ≤ 0.2

2️. 건단가

앰플리튜드(Amplitude) 건단가 확인 차트
  • 매출이 발생하는 이벤트 (구매, 주문완료)의 매출 이벤트 프로퍼티($revenue: 주문금액)를 기준으로 건단가를 계산합니다. Measured as 에서 주문 금액의 평균값을 구해 건단가를 구할 수 있습니다.
  • 만약 총매출 추이에 대해서 확인하고 싶을 경우, Measured as에서 Average of Property Value 대신 Sum of Property Value로 선택하여 확인이 가능합니다.
    • Property Value는 상단 Event 영역에서 선택한 이벤트의 프로퍼티의 값을 뜻합니다.

3️. 객단가

  • 객단가는 고객 1명의 평균 구매 금액을 의미합니다.
    일반적으로 객단가는 매출액 / 주문자수로 나누어 계산합니다. Amplitude에서는 주문 완료(구매) 이벤트를 통해 구할 수 있습니다.
  • 수식을 적용해야 하므로 Measured as 하단의 Formula를 클릭하여 수식을 적용해야 합니다.
앰플리튜드(Amplitude) 객단가 확인 차트
  • 적용 수식
앰플리튜드(Amplitude) 객단가 적용 수식 설명
  • A: Complete Purchase, B: Complete Purchase로 선택합니다. (주문 금액을 확인할 수 있는 주문 완료 이벤트를 클릭합니다.)
  • 매출액 = 주문 완료 이벤트의 주문 금액의 총합 = PROPSUM(A)
  • 주문자수 = 주문 완료 이벤트를 발생한 유니크(사용자) 수 = UNIQUES(B)
  • Formula = PROPSUM(A) / UNIQUES (B)

📌  체크 포인트

  • 매출
  • 카테고리별 매출
  • 주문 건수
  • 주문 고객 수
  • 객단가
  • 건단가
  • LTV
  • 주문 완료 이벤트에 영향을 끼치는 요소(이벤트) 찾기

(5) Referral (추천)

1️. 입소문 계수 (WOM, Word Of Mouth) (출처:Reforge)

  • Amplitude에서 쉽게 구현할 수 있는 바이럴 지표로 아래와 같이 계산할 수 있습니다.
입소문계수(WOM) 수식
  • New Organic Users, Non-Organic New Users 구하는 방법
    • MMP를 연동하여 UTM 값으로 앰플리튜드에서 확인이 쉽게 가능합니다.
    • Organic User: 주로 (none), direct, search domain 값으로 확인할 수 있습니다.
    • Non-Organic User: 광고 채널 값으로 확인할 수 있습니다.
  • WOM 구하는 방법
앰플리튜드(Amplitude) 입소문 계수 (WOM) 확인 차트
  • Events 설정 영역에서 A: New User (utm_source: (none), Direct), B: Any Active Event를 선택합니다.
  • Measured as에서 Formula를 클릭하고 아래 수식을 입력합니다.
    • UNIQUES(A) / (UNIQUES(B)-UNIQUES(A))
  • UNIQUES(A)
    • A는 utm_source가 (none), Direct로 들어온 신규 오가닉 유저라고 할 수 있습니다.
  • UNIQUES(B)
    • B는 앱 또는 플랫폼 내에서 일정 기간 동안 Active Event를 발동 시킨 유저의 유니크(사용자) 수를 뜻하므로 신규 유저(오가닉+논 오가닉)+복귀 유저의 합산 수를 의미합니다.
  • (UNIQUES(B)-UNIQUES(A))
    • (신규 유저(오가닉+논 오가닉)+복귀 유저)-(신규 오가닉 유저) = 신규 논 오가닉 유저+복귀 유저

3. 끝으로

Amplitude는 프로덕트를 이용하고 있는 고객을 이해할 수 있도록 도와주는 매우 유용한 분석 툴입니다. 하지만 동시에 처음 시작하기에 어려운 툴이기도 합니다. 어떠한 데이터 차트를 만들고 무슨 지표를 봐야 할지 결정하기란 쉽지 않기 때문입니다.

이때 그로스 해킹의 AARRR 프레임워크를 기반으로 질문들을 써 내려가다 보면 답을 얻기 위해 필요한 데이터와 지표가 눈에 보이기 시작할 것입니다. AARRR 대시보드를 통해 서비스의 성장을 확인하고 추가적으로 시도해 볼 만한 인사이트를 얻으시길 바랍니다.

4. 참고 자료

- AARRR: Come Aboard the Pirate Metrics Framework

- Engagement Matrix: discover what your users love (and don't love) about your product

- Reforge

- How to Calculate The Word of Mouth Coefficient in Amplitude

ANALYSIS_image_thumbnail
CRM

마케팅 수신 동의율 높이려면?… "개인화가 정답"

May 7, 2024

안녕하세요, 마티니의 PR 담당자입니다.

오늘은 여러분께 개인화 마케팅을 통해 알림 수신 동의율을 높이는 방법에 대해 이야기해 드리려고 해요.
최근 애플에 이어 안드로이드 13에서도 알림 권한 수집 방식을 옵트인(Opt-in)으로 변경함에 따라, 알림 수신 동의율을 높이는 것이 중요한 이슈가 되고 있습니다.

특히, 전 세계적으로 옵트인 비율은 평균 30%대에 불과합니다. 개인화된 메시지를 통해 이용자들에게 더 나은 경험을 제공할 필요성이 커지고 있어요.

2023년 2분기 기준 업종별 옵트인 비율
2023년 2분기 기준 업종별 옵트인 비율. ⓒ애드저스트

고객에게 필요한 정보 안내

"방금 본 상품의 할인이 끝나가요! 끝나기 전에 알려드릴까요?"

오늘의집 사례와 Braze HTML/Liquid 세팅 화면
오늘의집 사례와 Braze HTML/Liquid 세팅 화면

마티니는 이러한 문제를 해결하기 위하여, 개인화된 인앱메시지 고도화를 진행했어요. 위 사례에서 소개된 '내가 본 상품 할인 마감일 안내'는 광고가 아닌, '나를 위한' 정보로 느껴지게 만들어, '알림 받기' 버튼을 누르게 만드는 전 전략을 중심으로 실행되었습니다. 이를 위해서는, 적시적소에 사용자의 행동 데이트를 수집하고 유저 저니에 맞는 개인화 시나리오를 수립해야 해요. 마티니는 이러한 개인화 마케팅 전략을 통해 '오늘의집' 등의 앱에서 푸시 동의율을 상승시키는 캠페인을 자동화하였습니다.

결과적으로 유저가 상호작용한 상품의 이미지, 제목, 가격, 할인 퍼센트(%) 등을 개인화하여 메시지를 소구하였습니다. 사용자는 자신이 직접 조회한 상품의 할인 마감일을 안내받기 위하여 앱푸시 수신을 동의하게 됩니다. 관심 있게 지켜본 상품을 소재로 한 메시지이기에 클릭율과 전환율 모두 우수한 성과를 낸 성공사례입니다.

수신동의 설정에 따른 랜딩페이지 개인화
수신동의 설정에 따른 랜딩페이지 개인화

또한 랜딩페이지를 개인화하는 것도 수신동의 전환율에 중요한 요소입니다. 알림 수신 동의율을 높이려면, 사용자의 기기 푸시 알림 설정 상태와 앱 푸시 수신 동의 상태에 따라 랜딩 페이지를 다르게 구성하는 것이 중요했어요. 예를 들어, 운영체제(OS) 푸시는 켜져 있지만 앱 푸시는 꺼져 있는 경우에는 '알림 설정 완료'라는 짧은 팝업 메시지(토스트 메시지)를 보여줍니다.

OS 푸시가 꺼져있지만 앱 푸시는 켜져있는 경우에는 디바이스 알림 설정 페이지로 이동하여 알림 허용을 유도해야 합니다. 반면, OS 푸시도 앱 푸시도 꺼져있는 경우에는 앱 내 알림 설정 페이지로 이동하여 앱 푸시 허용을 유도하는 것이 좋습니다.

이어지는 구매 여정까지 자동화하기

"고객님이 보신 상품과 비슷해요."

오늘의집 비슷한상품 추천 알고리즘을 App Push에 활용한 사례
오늘의집 비슷한상품 추천 알고리즘을 App Push에 활용한 사

또한, 구매 유도 여정을 자동화하는 것도 좋은 방법입니다. 저희 마티니에서는 기존 추천 모듈 알고리즘에 자체 상품 추천 알고리즘을 결합한 CRM 마케팅 메시지 자동화(상품 추천 넛지 메시지)까지 함께 자동화하였습니다. '함께 구매한 제품'과 '비슷한 상품'을 추천하는 메시지를 통해 오늘의집 사용자들은 더 쉽게 취향에 맞는 상품을 발견할 수 있게 되었어요. 이를 통해 실제로 30% 이상 구매 전환율이 상승했습니다.

마티니의 이선규 대표는 "CRM 마케팅의 핵심 요소는 '개인화'로, 고객 중심의 접근 방식이 얼마나 중요한지를 명확하게 살펴볼 수 있는 사례"라며, "개인화된 메시지를 통해 고객에게 긍정적인 브랜드 이미지를 형성하고, 구매 경험을 향상시킬 수 있으며, 다른 분야의 플랫폼 사업에서도 확장 적용할 수 있다"고 소개합니다.

ANALYSIS_image_thumbnail
GROWTH

패션 커머스 앱 앱스토어최적화(ASO) 해보기

April 9, 2024

ASO가 뭐예요?🧐

웹 마케팅을 한 번이라도 접해본 사람이라면 SEO(Search Engine Optimization, 검색 엔진 최적화)라는 단어를 들어 본 적 있을 것이다.

내 웹 사이트가 검색 엔진에서 상위에 노출될 수 있도록 최적화하는 과정을 말한다. 앱도 마찬가지이다.

앱 스토어에서 내 앱의 이름 혹은 앱과 관련된 키워드를 입력하면
앱 순위를 올려 해당 키워드를 검색한 유저에게 내 앱을 잘 보이도록 최적화하는 과정을 앱스토어 최적화(App Store Optimization), ASO라고 한다.

앱 다운로드의 65% 이상이 앱 스토어 검색으로 발생하기 때문에
ASO는 최소한의 비용으로 최대의 오가닉 전환을 이끌어낼 수 있는 마케팅 전략이다.

ASO의 요소를 파악하고 꾸준히 개선하여 앱 설치 수를 증대시킬 수 있도록 해야 한다.

단, AOS의 구글 플레이 스토어와 iOS의 앱스토어는 알고리즘과 순위 요소를 결정하는 항목이 다르기 때문에 각각 분류하여 최적화를 진행해야 한다.

  • AOS: App name, Short description, Long description, Reviews 등
  • iOS: Title, Subtitle, Keyword Field, In-App Purchases, In-App Events, Reviews 등
 App Store, Play Store의 ASO TOP 3 Factor

App Store, Play Store의 ASO TOP 3 Factor

  • AOS
  1. App name
  2. Short Description
  3. Long Description
  • iOS
  1. Title
  2. Subtitle
  3. Keyword Field

EQL 앱 ASO 해보기 👚

할인도 많이 하고 유니크한 브랜드가 많아서 요즘 옷 구경할 때 애용하고 있는 EQL를 예시로 들어보려고 한다.

여담이지만 룩북 콘텐츠 읽는 재미도 쏠쏠하다,, 잡지 읽는 기분ㅎㅎ 팬심을 담아서 간단하게 ASO를 진행해 보았다. (AOS 기준)

1. 경쟁사 앱 파악하기

우선 AOS ASO를 하기 위해서 체크해야 하는 주요 요소는 제목, 간단한 설명, 긴 설명, 유저 리뷰 항목이 있다.

항목을 파악하고 난 뒤에는 경쟁사를 파악하여 경쟁사 ASO를 참고하는 것이 좋다.

ASO를 할 때는 경쟁사 앱을 파악하고 모니터링하는 것이 굉장히 중요한데,
경쟁사의 앱 순위와 키워드를 파악하여 내 앱의 인스톨로 유도하고 내 앱이 속해 있는 앱 마켓에서 어떤 포인트가 유저들의 클릭을 유발할 수 있는지 미리 알 수 있기 때문이다.

즉, 내 앱 마켓 카테고리에서 효과가 있는 키워드 세트를 발굴할 시간을 단축할 수 있다.

EQL를 최적화해야 할 때 참고해야 할 경쟁사는 어디일까?

1) 주 이용 고객의 인구통계 정보가 비슷한 앱

e.g. 2030 여성

igaworks의 marketing cloud 예시
igaworks의 marketing cloud 예시

2) 앱 카테고리가 비슷하고 해당 카테고리에서 상위 랭킹인 앱
e.g. AOS / 쇼핑 :
Temu, AliExpress, 올리브영, 쿠팡, Nike, 위메프, 무신사, SHEIN, SSG, KREAM, 에이블리, 포스티, 29cm 순

3) 서비스 지향점이 비슷한 서비스

e.g. EQL - MZ 세대 타깃, 엄선된 브랜드, 트렌디한 온라인 편집샵

(참고 기사1, 기사2, 기사3, 기사4, 인터뷰)

29cm - 브랜드 철학과 제품의 가치를 소개하는 온라인 셀렉트샵

무신사 - 고객에게 최상의 쇼핑을 제공하고 입점 브랜드의 성장을 지원, 브랜드 패션 플랫폼

4) EQL 이탈 고객의 주 유입 서비스

위 4가지 항목을 고려했을 때 EQL의 경쟁사는 크게 무신사, 29cm, Posty로 추려볼 수 있었다.

2. 키워드 추출하기

나의 앱과 경쟁사 앱을 참고해서 키워드 리스트를 만든다.

Apptweak, App Radar과 같은 ASO 솔루션 툴을 활용하거나 구글 트렌드, 키워드 플래너, 네이버 키워드 검색 도구 등
키워드 인사이트 툴을 살펴보고 내 앱에 관심을 가질 만한 유저들이 쓸 키워드 리스트를 뽑는 것이다.

주로 Apptweak라는 툴을 사용해서 키워드 리스트를 추출한다.

ASO 툴인 Apptweak 대시보드 예시
ASO 툴인 Apptweak 대시보드 예시

Apptweak에 경쟁사를 추가하면 경쟁사를 포함한 관련 카테고리 앱들이 사용하고 있는 키워드가 나열된다. 해당 키워드를 클릭해서 내 목록에 추가하면 키워드들의 전환 지표를 확인할 수 있다.

[참고] Apptweak - 우리 앱 키워드 목록을 생성하기 위한 팁 10가지 (링크)

Apptweak의 키워드 도구 대시보드 예시
Apptweak의 키워드 도구 대시보드 예시

전환 지표들이 좋은 키워드, 혹은 그럴 가능성이 높아 보이는 키워드를 뽑아 리스트를 만들고 해당 키워드를 조합하여 키워드 세트를 만든다.

e.g.

  1. 키워드 리스트 추출: EQL, 패션, 한섬 (한섬 > 더한섬닷컴 > 더한섬 순으로 설치 전환율이 좋음.), 패션, 쇼핑, 온라인 패션, 패션 브랜드, 할인, 셀렉트샵
  2. 키워드 세트 A: EQL, 한섬, 브랜드 패션 할인, 셀렉트샵

이렇게 추출한 주요 키워드 세트를 참고하여 제목, 설명 영역에 반복하여 활용하도록 한다.

2~6주간 해당 키워드 세트의 전환율을 확인하고 효율이 좋지 않다면 다른 키워드 세트를 조합하여 최적화한다.

3. 제목

제목은 AOS ASO에서 가중치를 가장 많이 갖는 영역으로 앱 이름을 포함해 서비스를 설명할 수 있는 주요 키워드 위주로 작성하는 것이 좋다.

현재 EQL는 심플하게 제목을 EQL 세 글자를 써서 활용하고 있다.

다른 경쟁사들의 현황을 확인하면 패션 관련된 키워드를 활용하여 15~20자 위주로 구성하고 있는 것을 확인할 수 있다.

  • EQL (EQL)
  • 온라인 패션 스토어 무신사 (무신사)
  • 29CM - 감도 깊은 취향 셀렉트샵 (29CM)
  • 포스티 - 브랜드 패션 할인 쇼핑 (포스티)

EQL의 뒷부분에 키워드 세트 A를 바탕으로 아래와 같이 키워드를 추가하고 글자 수를 늘려 볼 수 있다.

e.g. EQL - 한섬의 브랜드 패션 온라인 셀렉트샵

4. 간단한 설명

제목 다음으로 가중치를 가장 많이 갖는 영역으로
간단한 설명의 키워드는 검색 알고리즘에서 가중치가 높기 때문에 키워드를 추가하여 앱이 스토어 내에서 노출을 확장할 수 있도록 한다.

가능한 80자를 모두 사용하는 것이 좋다.

  • 한섬이 선보이는 신진 디자이너 편집샵 [20자] (EQL)
  • 브랜드 패션 쇼핑은 다 무신사랑 해! [20자] (무신사)
  • Guide to better choice 감도 깊은 취향 셀렉트샵 29CM [41자] (29CM)
  • 놀라운 가격, 하나만 사도 무료배송 [19자] (포스티)

5. 긴 설명

첫 문단인 처음 255자에 관심을 끌 수 있도록 작성해야 한다.

대부분의 사용자는 더보기를 눌러 전체 설명을 읽지 않을 확률이 크기 때문에 요점을 직접적으로 나타내는 것이 좋다.

현재 EQL는 EQL의 브랜딩 방향성을 설명하는 글로 첫 문단을 활용하고 있다.

EQL 앱 세부정보 화면
[About EQL]

WE ARE ALL EQL!

EQL은 EQUAL의 철자를 축약한 신조어로, 어떠한 편견이나 선입견 없이 자유롭게 표현할 수 있는 패션을 지지하는 편집숍입니다.
나를 규정짓기보다는 각자의 개성을 중심으로 한 자신만의 고유한 스타일로 재해석하는 우리를 기대합니다.



무신사와 포스티에서는 첫 문단을 ‘할인 쿠폰’, ‘정품 인증’, ‘무료배송’과 같은 구매자가 관심을 가질 만한 키워드를 첫 문단에 배치하고 있다.

무신사 앱 세부정보 화면
국내 최대 온라인 패션 스토어, 무신사(MUSINSA)

럭셔리 브랜드부터 컨템포러리, 영캐주얼, 스포츠 브랜드까지
다양한 브랜드 패션을 지금 무신사에서 만나보세요!

■ 매일 쏟아지는 할인 쿠폰 및 등급별 할인 혜택
■ 브랜드 패션 대표 플랫폼, 100% 정품 인증
■ 전 상품 무료배송, 패션 특화 쇼핑 서비스·기능
■ 국내·외 패션 트렌드와 믿을 수 있는 상품 후기 제공

포스티 앱 세부정보 화면

백화점 브랜드 100% 정품! 매일 새로운 할인소식이 팡팡!
이제 백화점 가지말고 포스티로 편하게 쇼핑하세요.

1. 전 상품, 100% 정품 인증
정품일까? 걱정은 하지 마세요.
모든 브랜드 본사와 직접 계약하여 본사 상품만 판매해요.

2. 전 상품, 무료 배송
하나만 사도, 만 원짜리 제품을 사도 무조건 무료배송이에요.
작지만 부담되는 배송비 없이 마음껏 쇼핑할 수 있어요.


긴 설명 항목에서 두 번째로 고려해야 할 것은 키워드 밀도이다.

키워드 밀도는 키워드 빈도라고도 하는데 이 수치는 기본적으로 전체 단어 수와 비교하여 웹페이지 내에서 특정 키워드의 수를 표시하는 숫자이다.

즉 “긴 설명에서 주요 키워드가 몇 번이나 반복 등장하느냐”를 뜻한다.

위에서 추출한 주요 키워드 세트의 키워드를 계속해서 반복 활용하는 것이 중요하다.

6. 유저 리뷰 항목

앱 평점 및 리뷰는 유저가 구글 플레이 스토어에서 앱 상품 페이지에 남길 수 있는 별 1~5개와 개별 댓글을 뜻한다.

구글 플레이 스토어에서는 리뷰에 작성된 키워드 또한 키워드 랭킹에 영향을 주는 요소이다.

앱 서비스와 연관성이 높고 긍정적인 리뷰가 달릴 수 있도록 유도 하는 것이 좋다.

키워드 랭킹과는 별개로 메인 페이지에서 보이는 리뷰와 평점은 설치수에 큰 영향을 줄 수 있기 때문에 지속적으로 리뷰를 관리하는 것이 좋다.

무신사, 29cm, Posty와 비교했을 때 EQL의 평점 4~5점은 19%, 1~2점 76%로 부정적 리뷰가 절반 이상을 차지한다.

리뷰 및 평점이 낮은데, 이 때는 리뷰를 확인하고 부정적 키워드를 확인한다.

[참고] Apptweak 데이터 기준으로 현재 평점 및 평가 수와 다를 수 있음.

앱 명 EQL 무신사 29CM Posty
평균 평점 1.88 4.63 4.39 4.72
평가 수 258 64,671 3,487 5,009

  • 부정적 리뷰의 반복 키워드
    • 느리고
      • 로딩 시간이 오래
      • 앱이 느려요
    • 로그인
      • 로그인이 풀려요
      • 로그인이 안되고
    • 필터
      • 뒤로가기 후 정렬 풀림
      • 상세 검색 풀림

위와 같이 보통 앱 기능구현에 대한 부정적 리뷰가 많았다.

정렬 풀림 문제는 최근 업데이트를 통해 해결한 것 같은데
이렇게 기능에 대한 부정적 리뷰는 ASO뿐만 아니라 오가닉 설치수에도 매우 부정적인 영향을 끼칠 수 있으므로 리뷰 API 등을 추가하여 리뷰를 독려하기보다 문제점을 파악한 뒤 해결책을 찾는 것이 우선이다.

반면에 유저들의 긍정적인 리뷰에 반복적으로 등장하는 입점 브랜드의 퀄리티는 패션 앱으로써 큰 장점이므로 위처럼 키워드 세트를 지속적으로 발굴하고 부정적인 리뷰를 참고하여 ASO 최적화 진행하면 오가닉 유저 수를 더 확충시킬 수 있을 것이다.

참고문서

Improved app quality and discovery on Google Play

프로답게 ASO하기: 앱 스토어 최적화 가이드


원본 포스팅 링크

https://salmonkiller.tistory.com/5

ANALYSIS_image_thumbnail
GROWTH

[프로젝트 후기] 멤버십 및 RFM 분석

February 26, 2024

멤버십 및 RFM 분석 포스팅 썸네일

1. Membership 및 RFM 개념

1-1) Membership 개념 및 중요성

멤버십 시스템은 고객 충성도를 높이고, 장기적인 고객관계를 구축하는데 중요한 역할을 합니다.

멤버십 프로그램은 고객에게 해당 사이트(/브랜드)의 충성도를 높이는 데 도움을 주며, 고객들은 이를 바탕으로 특별한 혜택과 서비스를 받게 됩니다.
(e.g: 할인, 포인트 적립, 프로모션 대상선정 등)

그 중 특히 패션 e커머스의 경우 멤버십 시스템은 고객 충성도와 장기적인 관계 구축에 핵심적인 역할을 합니다. 패션 e커머스에서 멤버십 시스템은 다음과 같은 중요성을 지닙니다.

  • 등급별 혜택 제공: 멤버십 등급에 따라 다양한 혜택을 제공함으로써 고객의 충성도를 높이고, 장기적인 관계를 유지합니다. 이를 통해 고객의 재방문과 재구매를 유도하여 매출 증대에 기여합니다.
  • 고객 데이터 수집: 고객의 구매 이력, 선호도, 행동 패턴등의 데이터를 수집하고 분석하여 맞춤형 마케팅 전략을 수립하여 매출 증대에 기여합니다.

1-2) RFM 개념 및 중요성

RFM 분석이란, 고객을 최근 구매 시점(Recency), 구매 빈도(Frequency), 구매 금액(Monetary)을 기반으로 세분화하는 방법입니다.

RFM 분석은 고객이 얼마나 가치 있는 고객인지를 평가하는데 사용됩니다.

  • Recency (최근성): 고객이 마지막으로 구매한 시점이 언제인지?
    → 최근 구매한 고객일수록 다시 구매할 가능성이 높습니다.
  • Frequency (빈도): 특정 기간 동안 고객이 얼마나 자주 구매하는지?
    → 빈번한 구매는 고객 충성도의 지표가 될 수 있습니다.
  • Monetary (금액): 고객이 소비한 총 금액이 얼마인지?
    → 구매 금액은 고객의 가치를 나타내는 지표가 될 수 있습니다.

RFM 분석을 통해 고객을 다양한 그룹으로 그룹화하고, 각 그룹에 맞는 맞춤형 전략을 수립할 수 있습니다.
(e.g: 최근에 자주 높은 금액을 지출하는 고객 : 보상 제공, 오랫동안 구매를 하지 않은 고객: 재방문/재구매 프로모션 제공)

이러한 고객 세분화는 마케팅의 효율성을 높이고 고객 만족도를 증가시키는데 도움을 줄 수 있습니다.

1-3) Membership 및 RFM을 함께 확인하는 이유

멤버십과 RFM 모두 고객의 행동과 고객의 가치를 이해하는데 중요한 분석 방법입니다.

그렇기 때문에 이 두 방법론을 함께 사용한다면, 보다 정밀한 고객 세분화가 가능하며 이를 통해 더욱 효과적인 고객 관리 및 맞춤형 마케팅 전략을 수립할 수 있습니다.

2. 진행배경

2-1) 경쟁사 레퍼런스

  • 분석하고자 하는 커머스가 패션 e커머스임을 감안하여 패션 e커머스 대표 브랜드인 ‘무신사’, ‘29CM’, ‘W컨셉’을 경쟁사로 두고 레퍼런스를 서치했습니다.
무신사, 29CM, W컨셉의 등급점수 계산방법

1. 무신사(링크)

무신사 멤버십

등급 점수 계산 방법: 최근 5년간 누적 구매 금액 + 포인트

  • 누적 구매 금액
    • ‘상품 판매가-등급 할인-쿠폰 할인+결제 수수료’
  • 포인트
    • 오늘의 미션 수행 및 커뮤니티 활동을 통해 획득
      • 포인트를 적립금으로 전환해서 사용 가능하며, 적립금 전환 시 회원 등급이 낮아질 수 있음
        • 참고) 오늘의 미션
        • 참고) 무신사 커뮤니티 (링크)
무신사 포인트 적립 및 미션 수행 화면

  • 등급(8개)별 구간 및 혜택
무신사 등급별 구간 및 혜택

2. 29cm (링크)

29CM 멤버십 구간 및 혜택

등급 점수 계산 방법: 최근 6개월간 누적 구매 금액

  • 누적 구매 금액
    • 구매 확정된 상품 판매가의 합 (배송비 금액 제외)
  • 등급(4개)별 구간 및 혜택
29CM 등급표

3. W컨셉 (링크)

W컨셉 마이페이지 및 회원혜택

등급 점수 계산 방법: 최근 6개월간 누적 구매 상품건수 및 금액

  • 등급(6개)별 구간 및 혜택
W컨셉 등급별 구간 및 혜택

2-2) 고객사 현 상황

저희 회사에서 분석하고 있는 e커머스 패션 플랫폼은 현재 멤버십 설계가 되어있지 않습니다.

멤버십 설계 없이 필요에 따라 프로모션을 진행하며 고객들에게 동일하게 혜택을 제공하고 있습니다.

이렇게 계속해서 멤버십 설계없이 사이트를 운영할 경우 발생할 수 있는 문제점은 다음과 같습니다.

  1. 경쟁력 악화
    • 현재 무신사, 29CM, W컨셉으로 대표되는 많은 패션 플랫폼에서 다양한 멤버십 혜택을 제공하고 있습니다. 멤버십 프로그램이 없는 경우, 경쟁사 대비 경쟁력이 떨어질 수 있으며, 고객이 해당 플랫폼에 애착을 느끼지 못하고 이탈할 가능성이 증가합니다.
  2. 고객 충성도 감소
    • 멤버십 프로그램은 고객에게 특별한 혜택과 보상을 제공하여 충성도를 높여 고객과의 장기적인 관계를 구축하는 역할을 합니다. 멤버십이 없으면 고객이 플랫폼에 충성도를 느끼기 어려워 재방문율과 재구매율이 감소할 수 있으며, 이는 장기적인 비즈니스 성장에 부정적인 영향을 미칠 수 있습니다.

3. 진행과정

3-1) 주문 데이터 요청 및 검증

데이터가 고객사의 DB에 존재하기 때문에 자유로운 접근이 어려웠습니다.

따라서 RFM 분석을 시작하기 앞서, 필요한 데이터를 정의하고 해당 데이터를 고객사에 요청했습니다.

주문 데이터 요청 화면

그 후, 전달받은 데이터를 Amplitude(PA Tool)의 데이터와 비교하여 데이터의 정합성을 확인했습니다.

❓ PA Tool(Product Analytics tool)이란?
: 제품 분석 도구를 말하며, 제품이나 서비스의 사용자 행동 데이터를 수집, 분석하여 제품 개선,
사용자 경험 최적화, 전략 수립 등에 도움을 주는 소프트웨어를 말합니다.


  • 1차 정합성 검증 1차 정합성 검증 기준 DB데이터와 Amplitude 데이터의 유사성은 약 80%수준
데이터 1차 정합성 검증 화면

  • 최종 정합성 검증 : 최종 정합성 검증 기준 DB데이터와 Amplitude 데이터의 유사성은 약 93%수준
데이터 최종 정합성 검증 화면

3-2) 데이터 형식 변경: 주문 데이터 → 유저 데이터

정합성 확인을 진행한 최종 DB 데이터(주문 데이터)를 바탕으로 데이터 형식 변환을 진행했습니다.

RFM분석을 위해서는 고객 기준 데이터가 필요하기 때문에 user_id 기준으로 유저별 ‘Recency(최근 구매일자)’, ‘Frequency(주문빈도)’, ‘Monetary(누적 주문액)’을 계산했습니다.

데이터 형식 변경 화면

3-3) EDA (유저분포 확인)

그 후, 적절한 RFM scoring 기준을 확인하기 위해 유저 분포를 확인했습니다. 유저를 10%, 5%, 1% 기준으로 구분하고 항목별 분포를 확인했습니다.

EDA를 통한 유저 분포 확인

3-4) 이상치 제거

EDA에서 확인한 유저별 분포를 바탕으로 이상치를 제거했습니다.

전체 유저의 40%정도가 구매 이후 5개월 이상이 경과하였고, 70%정도가 구매횟수가 1회였기 때문에 Recency(최근 구매일자)와 Frequency(주문빈도)를 이상치 제거 기준으로
설정할 수 없다고 판단하였습니다. 따라서 최종 이상치 제거의 기준은 Monetary(누적 주문액)로 설정했습니다.

RFM 분석 초기에는 일반적인 이상치 제거 기준은 IQR(4분위수), 표준편차 등의 기준으로 이상치를 제거하고자 시도했으나,
해당 분석의 목적이 멤버십 설계를 고려한 RFM 분석이기 때문에 상위 유저가 중요하다는 점을 고려하여 이상치 제거의 기준을 ‘N만원 이상 유저’로 설정했습니다.

이상치 제거의 기준을 1) M기준 M1만원 이상, 2) M기준 M2만원 이상, 3) M기준 M3만원 이상으로 설정하고, 이상치의 갯수 및 비율을 확인했습니다.

option1. M이 M1만원 이상 유저수 n1명 (누적비율 0.17%)
option2. M이 M2만원 이상 유저수 n2명 (누적비율 0.09%)
option3. M이 M3만원 이상 유저수 n3명 (누적비율 0.05%)

해당 과정을 통해 최종적으로 이상치의 기준을 “option3”로 설정했습니다.

3-5) RFM

1. RFM Scoring

다음으로 각 R,F,M 항목별로 점수를 구해주었습니다. 점수를 산출하는 방식은 다양합니다. 해

당 분석에서는 작업시간 및 편의성 등의 여러 요건을 고려하여 엑셀을 통해 분석을 진행했습니다. 엑셀을 통한 RFM 산출 과정은 해당 블로그를 참고했습니다.
(출처: 엑셀을 활용한 RFM 고객가치 분석방법 (링크))

R과 M는 “비율(%)”을 기준으로, F는 전체 구매회원 중 약 80%가 1회 구매인 것을 고려하여 “구매횟수”를 기준으로 설정했습니다.

R Score, M Score을 계산하기 위한 비율(%)기준은 다음과 같습니다. 전체를 1~5까지로 구분한 후, 분모를 1~5까지 더한 값으로, 분자를 점수별 내림차순 기준 값(ex. 1일때 5, 2일때 4)으로 설정했습니다. 해당 방식으로 점수별 비율을 계산하면 다음과 같습니다.

RFM 스코어링 및 계산비율

F Score를 계산하기 위한 구매횟수 기준은 다음과 같습니다. 1,2,3,4,5회 이상으로 구분했습니다.

RFM 중 F 계산을 위한 구매 횟수 기준

예를 한 번 들어보겠습니다. 주문 데이터에 10명의 유저가 구매한 이력이 있다고 가정해봅시다.

고객의 주문 데이터 예시

앞서 이야기한 RFM scoring을 적용해보면 다음과 같이 계산됩니다.

  • R Score (비율(%) 기준)
예시 주문 데이터 기반 R 스코어

  • F Score (구매횟수 기준)
예시 주문 데이터 기반 F 스코어

  • M Score (비율(%) 기준)
예시 주문 데이터 기반 M 스코어

2. RFM Seg 매칭

RFM 점수가 산출되었다면, 각 점수별로 유저들을 세분화(User Segmenation)하는 과정이 필요합니다. RFM 분석 시 유저들을 세분화하는 여러가지 이유가 존재합니다.

먼저 유저를 세분화하므로써 각 그룹별 맞춤형 마케팅 전략을 개발하여 고객 만족도와 충성도를 향상시킬 수 있습니다.

또한 이탈 위험 고객들을 파악하고 이들에게 재활성화 캠페인을 진행하므로써 적절한 위험 관리를 할 수 있습니다.

유저 세분화 그룹은 해당 사이트를 참고했습니다. (출처: RFM Segmentation (링크))

최종적으로 도출된 점수별 유저 세분화 그룹 및 각 그룹에 대한 특징은 아래와 같습니다.

RFM 세그멘트 매칭 화면

3-6) Membership

1. 가중치 계산

RFM score를 멤버십 구간 설정에 활용하기 위해 R,F,M 각 요소별 가중치를 계산했습니다. 가중치를 계산하는 이유는 고객의 가치를 보다 정확하게 평가하기 위해서입니다.

RFM의 각 요소는 고객의 충성도 및 구매 가능성을 반영합니다. 그러나 모든 요소가 모든 비즈니스에 동일한 중요도를 나타내지 않습니다.

예를 들어, 패션 커머스의 경우 트렌드가 빠르게 변함에 따라 고객의 최신 패션 트렌드에 대한 관심과 구매 의사를 파악하는 것이 중요하므로 R(최근 구매일자)이 상대적으로 높은
중요도를 갖습니다. 반면 럭셔리 상품을 취급하는 커머스의 경우 고객의 구매 금액이 매우 중요하므로 M(누적 주문액)이 상대적으로 높은 중요도를 갖습니다.

RFM 가중치 계산식

엑셀을 통해 가중치를 구하는 방법으로는 크게 2가지가 있습니다.

첫째, 매출 기여효과의 합계를 통한 가중치 구하기와 둘째, 매출 기여효과와 매출액의 상관관계를 통한 가중치 구하기가 이에 해당합니다.

1. 가중치1: 매출 기여효과의 합계를 통한 가중치를 구하는 방식은 구매 금액이 높을수록 더 높은 점수를 받는 방식으로, 매출액이 높을 경우, 즉 M의 점수가 높을경우 RFM 지수가 높게 나타납니다. 해당 방식은 업종 특성상 구매주기가 길거나, 구매 금액이 미치는 영향도가 큰 업종에서 유의미한 방식입니다.

2. 가중치2: 매출 기여효과와 매출액의 상관관계를 통한 가중치를 구하는 방식은 각 R/F/M Class별 기여효과 수치와 매출액의 상관계수를 구하여 그 값의 비중대로 가중치를 정하는 방식으로, 1번 방식과 달리 M 이외의 R과 F의 요소도 어느 정도 고려된다고 볼 수 있습니다.
해당 방식은 업종 특성상 반복 구매가 자주 일어나거나, 고객의 활동, 구매 스펙트럼이 넓은 업종에서 유의미한 방식입니다.


RFM 가중치 계산 실제 예시 화면

가중치1과 가중치2 기준 RFM 항목별 가중치를 확인한 후, 최종적으로 M(누적 구매액)의 비중이 높은 가중치1을 선택했습니다.

그 후, 가중치를 통해 도출된 최종 스코어를 기준으로 최종 스코어별 비율 및 R,F,M 분포(평균,최대,최소)를 확인했습니다.


최종 스코어별 비율 확인 화면

1차적으로 스코어별 분포를 확인하고, R보다는 F, R/F보다는 M의 중요도를 반영하는 방향으로 새로운 가중치를 생성했습니다.

그 후, 이를 바탕으로 도출된 스코어별 비율 및 R,F,M 분포를 재확인하는 과정을 거쳤습니다.


스코어별 RFM 분포 확인

이러한 과정을 거쳐 최종적으로 RFM의 가중치를 0.1:0.2:0.7으로 확정하였습니다.


최종 RFM 가중치 확정 단계 화면

2. 멤버십 기준 설계

멤버십은 RFM의 score을 기준으로 구간을 설정한 후, M(누적구매액)으로 기준을 변경해주었습니다.

  • RFM score 기준 구간설명
RFM 스코어 기준 구간설명 표
  • M(누적구매액) 기준 구간설명
누적 구매액 기준 구간설명 표

RFM score를 반영한 최종적은 멤버십 기준은 다음과 같습니다.

🪜 멤버십 기준 (*최근 6개월 1회 이상 구매 유저의 누적 구매액 기준)

· 이상치: M4만원 이상 (0.035%)

· VVIP: M3만원 이상 M4만원 미만 (1%)

· VIP: M2만원 이상 M3만원 미만 (7.4%)

· CREW: M1만원 이상 M2만원 미만 (29.3%)

· WOK: M1만원 미만 (62%)

· NEW/CHURN: 미구매

4. 결과

4.1) 멤버십 혜택 설계

매출 공식


매출을 증가시키기 위해서는 크게 두 가지 방법이 존재하는데, 주문수를 올리거나 즉, 주문빈도를 높이거나, 건단가를 높이는 방식이 이에 해당됩니다.

매출을 증가시키기 위해 각 멤버십별 유저들의 주문빈도 및 객단가를 높일 수 있도록 멤버십 설계를 바탕으로 구간별 특징을 파악하고, 멤버십 혜택을 설계했습니다.

먼저 Amplitude를 사용하여 각 구간 평균 주문수, 주문상품수, 객단가 및 건단가를 확인한 후, 이를 바탕으로 멤버십 구간별 특징을 파악했습니다.

앰플리튜드 평균 주문수, 주문상품수, 객단가 및 건단가 확인 대시보드

이를 바탕으로 기존에 진행한 쿠폰 프로모션의 성과를 바탕으로 쿠폰의 효율을 예측한 후,
쿠폰 할인율에 따른 매출 증분율과 마진율을 확인하고 멤버십 구간별 쿠폰 혜택을 설계했습니다.


멤버십 구간별 쿠폰 혜택 설계 화면

4.2) Membership/ RFM Dashboard

태블로(Tableau) 로고


태블로(Tableau)를 통해 멤버십과 RFM 세분화를 바탕으로 대시보드를 구현했습니다.

태블로(Tableau) 멤버십 및 RFM 대시보드 구현 모습

해당 대시보드를 통해 멤버십 관련 정보(1. 멤버십 분포, 2. 월별 멤버십 비율, 3. R(최근 주문일자), 4.F(주문빈도) 5.M(누적주문액)) 및
RFM 관련 정보(6.RFM Segment 분포, 7.월별 RFM 비율)을 확인할 수 있습니다.

좌측 상단의 멤버십 버튼 클릭시 각 멤버십 단계에 해당하는 유저들이 필터링되어 표출됩니다.

이를 통해 멤버십별 분포 및 해당 멤버십에 해당하는 유저들의 RFM 세그먼트를 손쉽게 확인할 수 있습니다.

  • 멤버십 VVIP 클릭
태블로(Tableau) 멤버십 및 RFM 대시보드

또한 좌측 상단의 필터를 통해 각 멤버십 및 RFM 세그먼트별 회원 수 및 매출액을 파악하고 이를 비교함으로써 종합적인 비즈니스 성과를 파악할 수 있습니다.


태블로(Tableau) 멤버십 및 RFM 대시보드 세그먼트별 비교

원본 포스팅 링크

[프로젝트 후기] 멤버십 및 RFM 분석

ANALYSIS_image_thumbnail
CRM

CRM 마케팅을 준비할 때 놓치기 쉬운 3가지

February 16, 2024

마케팅의 새로운 패러다임

근 몇 년간 사람들에게 가장 많은 관심을 받은 마케팅 패러다임은 CRM 마케팅이 아닐까 싶다.

기존의 주 마케팅 패러다임인 퍼포먼스 마케팅이 여러 환경 변화로 인해 큰 제한이 생겨났기 때문이다.

이제는 마케터라면 지겨울 정도로 들어본 ATT, SKAN, 3rd party 쿠키 수집 제한 등이 이에 해당한다.

이 환경 변화의 공통된 특징은 ‘데이터 수집에 제한’이 발생한다는 것이다.

이미 수년간 Data-driven 마케팅을 통해 데이터 리터러시가 상승했고 많은 이들이 데이터의 중요성도 알고 있는 시점이기에, 데이터 수집이 제한된다는 것은 많은 비즈니스가 더 큰 데이터 갈증을 갖도록 했다.

(데이터의 '맛'을 보여주고 끊어버렸다.)


이러한 상황 속에서 1st party data를 활용하는 CRM 마케팅의 관심도가 높아지는 것은 자연스러운 현상이다.

하지만 여러 회사에 컨설팅을 다니면서 이런 대세감에 휘말려 CRM 마케팅을 “안 하면 뒤처질 것 같아서”하는 경우를 많이 봤다. 비싼 CRM 자동화 솔루션을 사놓고 쓰진 못하고 있는 상황도 여럿 목격했다.

우리는 CRM 마케팅을 올바르게 하고 있는지, 혹은 다들 중요하다고 하니 등 떠밀려하진 않았는지 명확한 셀프 리뷰가 필요하다.

본인들의 CRM 마케팅 점검이 필요한 CRM 마케터, 비즈니스 오너가 CRM 마케팅을 실행할 때 놓치기 쉬운 3가지 사항을 짚어보자.

1. 비싼 자동화 솔루션 꼭 써야할까?

CRM Solutions
시장엔 다양한 특장점을 지닌 CRM 솔루션들이 있다. 매우 많이.

많은 회사가 금전적 부담으로 인해 솔루션을 사용할 수 없다고 한다.

하지만 과연 솔루션을 사용하지 않는 게 돈을 아끼는 일일까?

자동화 솔루션이 없을 경우, CRM 마케터는 메시징 채널별로 내부 개발자에게 요청하거나 이 발송만을 위해 별도로 개발한 내부 백오피스를 활용할 것이다.

타겟팅은 데이터 분석가에게 요청하거나, 서투르게나마 마케터가 직접 Query문을 활용하여 추출해서 발송하게 된다.

여기서 한 번의 메시지 발송에 1~2명의 CRM 마케터, 상황에 따라 1명의 개발자, 1명의 데이터 분석가가 메시지 발송 및 분석 업무에 투입된다고 가정했을 때,

각자의 연봉과 투입 시간에 따라 최소 연간 3,000만 원에서 최대 1억 이상까지 ‘메시지 발송 업무’에만 투자하고 있는 것이다.

반면, 자동화 솔루션이 있을 경우 오직 CRM 마케터만 투입해도 되며, 1명의 CRM 마케터가 만들어낼 가치는 무궁무진하다.

메시지가 ‘자동화’ 되어 있기 때문에 설령 CRM 마케터가 퇴사해도 그 사람이 만들어낸 캠페인은 계속해서 돈을 벌어오고 있을 것이기 때문이다. 조직 내 CRM 마케터가 사라져도 과거 마케터가 만들어낸 CRM 캠페인은 계속해서 돈을 벌어온다.

자동화 솔루션을 통해 개인화 메시지 발송, 캠페인 개선을 통해 KPI가 상승할 것까지 고려하면 자동화 솔루션 사용이 과연 금액 부담을 주는 것인지 금액 부담을 덜어 주는 것인지 고려해 볼 필요가 있다.

2. 자동화/개인화의 부재

CRM 자동화 솔루션의 핵심 기능인 개인화
CRM 자동화 솔루션의 핵심 기능인 개인화

CRM 자동화 솔루션을 도입하고도 ‘진짜 자동화’를 구현하지 않고 있는 회사도 많이 있다.

여기서 말하는 ‘진짜 자동화’는 한 번 런치를 해 놓으면, 두 번 다시 건드리지 않아도 의도대로 계속해서 발송되는 캠페인들을 말한다.

우리는 이처럼 완전히 자동화된 캠페인을 ‘Always On’ 캠페인이라 칭한다.

반대로 한 번, 혹은 일시적인 기간만 발송하고 다음에 발송하려면 다시 캠페인을 기획하고 셋팅, 런칭해야 하는 캠페인을 ‘AdHoc’이라 부른다.

많은 회사를 컨설팅하며 Always On이 AdHoc보다 많은 케이스는 10% 남짓이다.

이런 케이스는 단순히 기존 발송 프로세스상에서 개발자에게 발송을 요청하는 과정만 생략된, CRM 자동화 솔루션을 절반도 활용하지 못하는 경우다.

또 다른 문제는 개인화의 부재다. 내부에서 개인화된 메시지와 개인화되지 않은 메시지의 성과를 비교하는 A/B Test를 몇 차례 진행했는데, 평균 30%가량 목표 전환율이 상승했다. 테스트에 따라 2배 이상 상승하는 케이스도 있었다.

단순히 유저의 이름을 호명하는 것부터 유저가 마지막으로 보고 구매하지 않은 제품의 이미지를 보여주는 것, 유저가 구매한 제품을 바탕으로 크로스세일을 위한 연관 제품을 추천하는 것까지.

개인화를 사용하지 않는 것은 CRM 마케터의 강력한 무기 하나를 포기하는 것과 같다.

3. 잘못된 CRM 성과 판단

“CRM 마케팅 성과를 어떻게 판단해야 하나요?”

CRM 마케팅을 컨설팅하며 빈번하게 받던 질문 중 하나였다.

우리가 지금 CRM의 성과를 판단하고 있는 방법이 옳은지 한 번쯤 검토해 볼 필요가 있다.

가장 권장하고 싶은 방법은 가능한 메시지를 수신하지 않는 Control Group을 동시 운영하여, 메시지를 수신한 Treatment Group과의 전환율 비교를 통한 증분(Incremental) 전환으로 확인하는 것이다.

CRM 메시지를 수신하는 유저는 대부분 이미 회원인 유저가 많다. 서비스에 어느 정도 수준의 매력을 느끼고, 일정 수준의 구매 의도를 지닌 사람들일 가능성이 크다.

그러므로 우리가 아무런 마케팅 활동을 하지 않아도 원하는 전환은 발생한다.

여기서 Control Group이 발생시킨 전환은 ‘아무것도 안 해도 발생했을 전환’으로 설정하고,

Treatment Group이 발생시킨 전환은 ‘아무것도 안 해도 발생했을 전환’ + ‘마케팅을 통해 추가로 확보한 전환’으로 설정한다.

여기서 ‘마케팅을 통해 추가로 확보한 전환’이 ‘증분 전환’에 해당한다.

기초적인 형태의 증분(Incremental) 계산 사례

Control Group의 전환 수가 100건, Treatment Group의 전환 수가 300건이라면, 두 전환 수의 차인 200건이 증분 전환 수가 된다.

이를 기존에 ‘아무것도 안 해도 발생했을 전환’으로 나누어 주면 ‘증분율’ 200%가 된다.

증분율에 예상 수신 모수까지 고려하면 앞으로 추가 확보할 전환 수도 시뮬레이션이 가능해질 것이다.

여기에 매출과 메시지 발송 비용, 쿠폰 비용 등을 함께 고려하면 더 비즈니스와 관련 있는 CRM 캠페인 성과 판단이 가능해진다.

유저들이 다소 노이지 하게 느낄 수 있는 CRM 마케팅의 특성상, 증분을 통해 ‘ROI 나오는 곳에 투자하는’ 성과 판단 및 의사결정이 필요하다.

앞으로의 CRM 마케팅

앞으로로의 CRM 마케팅
CRM 마케팅은 광고 메시지 발송 그 이상의 가치를 지닌다.

CRM 마케팅은 비즈니스 Growth를 위한 강력한 도구다.

CRM 마케팅은 단순한 메시지 발송부터 프로덕트 기능적 결함을 CRM으로 보완하거나, 비즈니스 성장을 위한 다양한 테스트를 빠르게 진행하거나, 부족한 매출을 끌어올리는 역할도 수행하기 때문이다.

그러나 이런 CRM 마케팅의 무궁무진한 가능성에 비해, 많은 회사의 CRM 마케터의 역할은 각종 부서의 메시지 발송 대행, 멤버십 관리 등 굉장히 한정적인 경우가 많다.

심한 경우 CRM 마케터가 타 부서에서 발송 요청한 AdHoc CRM 메시지만 발송하면 일과가 끝나는 경우도 봤다.

CRM 마케터의 역할을 단순히 자사 채널을 통해 메시지를 발송하는 '메시지 발사대'로 한정 지을지, 프로덕트 및 비즈니스의 Growth '주포’로써 활용할지에 따라 CRM 마케팅이 조직에 미치는 영향력의 차이는 커질 것이다.

ANALYSIS_image_thumbnail
GROWTH

[Amplitude] DAU, MAU를 Amplitude에서 확인하는 방법

December 29, 2023

DAU 및 MAU란?

  • DAU (Daily Active Users, 일일 활성 사용자): 하루 동안 서비스를 이용한 고유 사용자 수

이 지표는 서비스의 일일 사용량과 참여도를 측정하는 데 유용합니다.

  • MAU (Monthly Active Users, 월간 활성 사용자): 한 달 동안 서비스를 이용한 고유 사용자 수

이 지표는 장기적인 사용자 참여와 서비스의 월간 성장을 파악하는 데 도움이 됩니다.

DAU와 MAU는 서비스의 성공과 성장을 측정하고, 전략적 의사결정을 내리는 데 중요한 역할을 합니다.

DAU와 MAU를 확인해야 하는 이유

1. 사용자 참여도 파악

- DAU와 MAU를 통해 사용자들이 얼마나 자주 서비스를 이용하는지 파악할 수 있습니다.

- DAU의 중요성

  • 높은 DAU는 많은 사용자들이 매일 서비스를 이용하고 있다는 것을 의미합니다.
    • 이는 일(Day) 기반으로 높은 사용자 참여도를 나타내며, 사용자들이 서비스에 꾸준히 관심을 가지고 있음을 나타냅니다.

- MAU의 중요성

  • 높은 MAU는 장기적인 사용자 관심과 충성도를 나타냅니다.
    • 한달동안 서비스를 사용하는 고유 사용자 수가 많다는 것은 사용자들이 일정 기간 동안 서비스에 꾸준히 참여하고 있음을 나타내며,
      이는 장기적인 관점에서 성공적으로 사용자를 유지하고 있음을 나타냅니다.

- 참고) DAU & MAU

  • DAU와 MAU는 상호 보완적인 지표로서 작용할 수 있습니다.
    • 높은 DAU는 단기적인 사용자 참여도를 나타내는 반면, 높은 MAU는 사용자들이 장기간에 걸쳐 서비스를 계속해서 사용하고 있다는 것을 의미합니다.
    • 이 두 지표를 함께 분석함으로써, 서비스의 전반적인 사용자 참여 패턴을 더 정확하게 이해할 수 있습니다.

2. 성장 추세 분석

- DAU와 MAU를 시간에 따라 추적함으로써, 서비스의 성장 추세의 변화를 분석할 수 있습니다.

  1. 시간 경과에 따른 변화 파악
    • 일정 기간 동안 DAU와 MAU를 추적함으로써, 사용자 기반의 성장이나 감소 추세를 파악할 수 있습니다.
    • 연속적인 기간 동안 DAU와 MAU가 증가한다면, 이는 서비스가 점점 더 많은 사용자를 유치하고 유지하고 있음을 나타냅니다.
  2. 시즌별 변동성 이해
    • 특정 시즌이나 이벤트 기간 동안 사용자 참여도가 어떻게 변하는지 관찰할 수 있습니다.
  3. 마케팅 및 프로모션의 영향 평가
    • DAU와 MAU를 통해 새로운 마케팅 캠페인이나 프로모션이 실행된 후에 이 지표들이 어떻게 변하는지를 분석하고, 이러한 활동들의 효과를 평가할 수 있습니다.
  4. 장기적인 성장 전략 수립
    • 장기간에 걸친 데이터를 분석함으로써, 어떤 전략이 효과적이었는지를 이해하고, 향후 성장 전략을 수립할 수 있습니다.

Amplitude에서 DAU 및 MAU를 확인하는 방법

DAU

1. Amplitude에서 New Chart > Segmentation을 클릭합니다.

앰플리튜드 세그멘테이션 차트 만들기

2. 이벤트 모듈에서 Amplitude 자동생성 이벤트인 Start Session를 선택합니다.

앰플리튜드 자동 생성 이벤트 Start Session

"Start Session" Event 정의
A marker indicating the start of a user session.
A session is a period of time that a user has your app in the foreground.
By default, events within 5 minutes of each other are combined into a single session on a mobile app.
On web, events within 30 minutes of each other are combined into a single session.

유저수를 확인하는 것이 목적이므로 Measure 기준을 Uniques로 선택합니다.

앰플리튜드 Measre 기준 Uniques 선택

3. 해당 방식을 통해 Amplitude에서 DAU를 확인할 수 있습니다. 추가로 메트릭 모듈에서 날짜 설정을 통해 원하는 기간을 설정하여 확인할 수 있습니다.

앰플리튜드 DAU 확인

MAU

1. Amplitude에서 New Chart > Segmentation을 클릭합니다.

앰플리튜드 세그멘테이션 차트 만들기

2. 이벤트 모듈에서 Amplitude 자동생성 이벤트인 Start Session를 선택합니다.

앰플리튜드 자동 생성 이벤트 Start Session

3. 우측의 Advanced 버튼을 클릭해 Rolling Window를 클릭해줍니다.

앰플리튜드 Advanced-Rolling Window 버튼 클릭

월 기준 확인을 위해 기준 day를 30일로 설정해줍니다.

앰플리튜드 측정 기준 day 30일 설정

4. 해당 방식을 통해 Amplitude에서 MAU를 확인할 수 있습니다. 추가로 메트릭 모듈에서 날짜 설정을 통해 원하는 기간을 설정하여 확인할 수 있습니다.

앰플리튜드 MAU 확인

원본 포스팅 링크

[Amplitude] DAU, MAU를 Amplitude에서 확인하는 방법