Popular

Recommend

recomm_thumbnail
CRM

나에게 가장 적합한 CRM 솔루션은 무엇일까?

February 3, 2025

CRM 자동화 솔루션, 뭐가 이렇게 많아?

지난 수 년간 CRM 마케팅이 디지털 마케팅의 주요 패러다임으로 자리 잡으면서,  해외의 CRM 자동화 솔루션들이 한국 시장에 진출했다. 또, 국내의 여러 CRM 자동화 솔루션들이 등장하여 적극적인 마케팅 활동을 펼치고 있다.

CRM 자동화 솔루션은 마테크 시장에서 점점 포화 상태에 이르고 있으며, 그만큼 솔루션을 구매해야 하는 마케터나 의사결정권자들의 결정도 어려워지고 있다.

이번 글에서는 CRM 솔루션들을 비교해보고, 우리 회사에 가장 적합한 CRM 솔루션을 찾기 위한 고려사항들을 이야기하려 한다.

[참고]
이 글은 아래의 CRM 자동화 솔루션들을 대상으로 합니다.
- 브레이즈 (Braze)
- 원시그널 (OneSignal)
- 인사이더 (Insider)
- 아이쿠아 (AIQUA)

CRM 자동화 솔루션을 선택할 때 고려해야 할 점

1. 서비스 특성

첫 번째 고려사항은 내가 일하고 있는 자사 서비스의 특성이다.

비슷해보이는 CRM 툴들 사이에서도 다른 특성들이 있으며, 각 특성들이 우리 서비스의 특성과 얼마나 어울리는지 살펴봐야 한다.

판매하는 프로덕트의 관여도, 타겟 유저의 특성, 상품의 수량, 수익 모델, 매출을 내는 유저의 비중, 재구매율을 비롯한 주요 지표들이 서비스 특성에 포함될 수 있다.

예시1) 고관여 vs 저관여

고관여 제품은 유저 설득에 시간이 오래 걸리고, 설득을 위해 보내야 하는 메시지도 많다.

반면 저관여 제품을 유저 설득에 시간이 상대적으로 적게 소요되지만, 그 짧은 시간안에 설득해내야 한다는 다른 유형의 챌린지가 있다.


고관여 제품

• 정보성 메시지

가격이 비싼 만큼 유저들은 자신의 결정이 가질 리스크를 낮추려 한다. 정보성 메시지를 통해 이런 리스크를 낮추는 것 만으로도 구매전환율을 높일 수 있다.

• 높은 수준의 개인화

높은 수준의 개인화를 통해 본인이 고려하고 있는 제품을 반복적으로 노출시켜야 한다. 소셜프루프, 가격 변동 정보 등을 활용하여 유저로 하여금 "구매하는 것이 올바른 선택인 것 같은 느낌"을 주어야 한다.


• 긴 고객 여정에 적합한 단계별 메시지

구매에 오랜 시간이 걸리는 만큼, CRM으로 터치할 시간도 많이 주어진다. 다양한 채널과 메시지를 활용하여 유저에게 단계별 메시지를 발송하여 전환율을 높일 수 있다.

검색한 항공편 가격 정보를 알려줘서, "싸게 살 타이밍"을 같이 찾아준다.
검색한 항공편 가격 정보를 알려줘서, "싸게 살 타이밍"을 같이 찾아준다.

저관여 제품

• 꾸준한 쿠폰 플레이, 할인 등 프로모션

값이 저렴한 저관여 제품일수록 유저들이 오히려 가격에 더 민감하게 반응한다. 가전은 비싸도 좋은 걸 사서 오래쓰고자 하지만, 물이나 휴지는 그렇지 않다. 가격 경쟁력을 갖추기 위한 쿠폰 플레이와 할인을 꾸준히 진행해야 한다.

•프로모션 참여 유도: 게이미피케이션

"꾸준한 프로모션"을 진행하다보니, 프로모션을 진행해도 유저들의 참여율이 낮아질 때가 있다. 이 경우 게이미피케이션이나 프로모션의 한정성을 강조하여 프로모션의 참여율을 높여야 한다.

• 크로스세일

저관여 제품은 상대적으로 크로스세일이 용이하다. 마트 계산대에 껌이나 캔디 같은 제품이 놓여 있는 이유이기도 하다. 짧은 구매여정 속에서도 크로스세일을 유도하여 구매당 단가를 높일 수 있다.

undefined
지속적인 프로모션 예시
undefined
게이미피케이션 예시

예시2) 상품의 수, 고객의 수

상품이 많을 수록, 고객의 수가 많을 수록 할 수 있는 CRM 시나리오의 종류도 다양해지는 편이다.

상품이 많다면 여러 상품별 구매 데이터를 활용한 AI 상품추천(Recommendation), 크로스세일이 더욱 힘을 받는다. 상품이 많으니 카테고리, 브랜드 등의 부가적인 데이터도 활용하기 용이하며, 데이터가 많으니 기능의 성능도 올라간다.

고객이 많다면 유저 세그멘테이션(User Segmentation)이나 유저 클러스터링(User Clustering)을 적극적으로 활용할 수 있다. 유저가 많은만큼 유저 집단별 특성을 명확하게 확인할 수 있다.

반대의 경우엔 위와 같은 부가 기능들의 중요도가 상대적으로 떨어진다.

상품 추천 로직을 만들었는데, 추천하는 상품이 다 똑같은 상품들일 수 있고, 유저 세그멘테이션을 진행했는데 세그먼트 당 유저 모수가 몇 명 되지 않을 수도 있다.

상품의 수, 고객의 수가 많지 않다면 위와 같은 마케팅 전략들의 영향력이 줄어든다. 그리고 쿠폰, 혜택 등의 프로모션이 CRM 성과에 기여하는 비중이 커진다.

CRM 자동화 솔루션들이 프로모션을 짜주지는 않으니, 상대적으로 가벼운 솔루션을 찾는 것이 가성비를 높이는  것도 방법일 수 있다.

예시3) BM

BM에 따라서도 취할 수 있는 전략이 달라진다.

여러 브랜드의 제품을 파는 이커머스 플랫폼의 경우, 플랫폼보다 내가 판매하는 '브랜드'의 충성도에 의해 서비스를 이용할 가능성이 크다.

극단적인 예시가 플랫폼과 나이키의 관계다. 대부분의 플랫폼에서 나이키 제품은 판매량 최상위권을 차지한다. 유저는 나이키를 살 건데, 여러 쇼핑몰을 찾아다니며 나이키를 제일 싸게 파는 곳을 찾을 뿐인 것이다.

(그래서 이런 브랜드들은 분석에서 제외하고 보기도 한다.)

이런 브랜드의 충성도를 활용하여, 메시지에 유저가 관심을 보인 브랜드를 개인화한다면 전환율을 높일 수 있다.

찜한 브랜드의 할인 소식 위주로 Push를 보내는 29cm 사례
찜한 브랜드의 할인 소식 위주로 Push를 보내는 29cm 사례

F&B의 경우 재구매가 용이하다. 가격이 저렴하기도하고, 업종 자체가 '먹는 것'이기 때문이다. 그러나  유저에겐 선택지가 너무 많다. 보편적인 재구매주기를 찾고, 재구매주기를 단축시키기 위한 메시지가 유효할 수 있다. 또, 주문 프로세스에서의 크로스세일 유도를 통해 판매액을 높일 수도 있다.

교육, 여행처럼 오랜 기간 지속되는 서비스를 제공하는 경우, 구매 이후의 유저 경험이 더욱 중요하다.

사실 이런 서비스는 고객이 니즈가 없으면 판매를 유도하기 어렵다. 유저는 영어를 배울 각오를 하고, 휴가를 내고 해외 여행을 갈 계획을 세워야지만 구매한다.

그래서 구매이후 이용/경험을 돕는 지속적인 메시지를 통해 유저에게 긍정적 구매 경험을 심어주어야 한다. 긍정적 경험을 통해 재구매 전환율을 높이는 것이다.

이젠 밈이 되어버린 듀오링고의 학습 유도 메시지
이젠 밈이 되어버린 듀오링고의 학습 유도 메시지

2. CRM 솔루션별 강점 파악

주요 CRM 솔루션들의 특징 요약
주요 CRM 솔루션들의 특징 요약

내가 처한 환경을 고려했으니, 이젠 각 솔루션별 특징을 확인해볼 차례다.

CRM 자동화 솔루션들은 CRM 메시지 자동화뿐만 아니라 성과를 높일 수 있는 다양한 기능들을 제공하고 있으며, 이런 기능들이 각 솔루션들에게 차이점을 준다.

브레이즈 (Braze)

Braze의 경우 강력한 개인화 기능을 가지고 있다. Liquid, Connected Content와 같은 높은 수준의 개인화를 사용할 수 있는 기능들이 있다. 그 밖에도 Canvas내 다양한 종류의 스텝들을 통해 유저와의 관계를 구축할 수 있으며, 범용적인 마테크 연동성, 다양한 AI 기능들도 장점으로 꼽을 수 있다.

기능들이 다양하고 파워풀한만큼, 실행할 수 있는 시나리오가 가장 많은 솔루션이 아닐까 싶다.

원시그널 (OneSignal)

OneSignal의 강점은 '가성비'라고 볼 수 있다. 기본 SDK설치에 10분이 채 걸리지 않는 가벼운 설치에 가격도 상대적으로 저렴한 편이며, 초심자가 사용하기에 난이도도 상대적으로 쉬운 편이다.

설치와 비용, 활용이 가볍다고 해서 기능이 부족한 것은 아니다. 개인화를 위한 Liquid를 제공하며, Braze의 Connected Content 기능과 유사한 Custom Data 기능도 있다.

CRM 마케팅이 익숙치 않거나, 서비스 특성상 진행할 수 있는 CRM 시나리오가 명확한 경우 적합하다.

인사이더 (Insider)

Insider는 웹 환경에서의 '높은 자유도''상품추천'이 강점이다. 앱 내 웹뷰 영역도 포함이다.

웹 환경에서 다양한 배너, 소셜프루프, 게이미피케이션, 인브라우저 메시지 등을 사용할 수 있다. 템플릿도 굉장히 다양해서 노코드로 여러 CRM 시나리오를 구현할 수 있다.

자사 서비스에 웹 영역의 중요도가 높고, 커스터마이징의 자유도를 원한다면 좋은 선택지가 될 수 있다.

아이쿠아 (AIQUA)

AIQUA는 AI에 강점이 있다. AI를 개발한 애피어(Appier)는 자신들을 'AI 회사'라고 칭할 정도로 AI에 많은 투자를 하고 자신이 있다. AI를 활용한 카피라이팅, 상품추천, 이탈/구매 예측, 타겟팅뿐만 아니라, CRM 시나리오 제작까지 가능하다.

CRM 솔루션의 기본적인 기능들과 더불어, AI를 활용해 CRM 마케팅 효율을 강화하고 싶은 경우 적합하다.

3. 그 밖에 참고하면 좋을 사항들

그 밖에도 아래의 사항들을 함께 참고해보면 좋다.

• 타 솔루션과의 연동성

Product Analytics, MMP 등 다양한 마테크 솔루션과의 CRM 솔루션을 연계 활용하고자 한다면, 내가 사용하는 마테크 솔루션들과의 연동이 지원되는지 살펴보면 좋다.

다양한 Technology Partners를 보유한 Braze
다양한 Technology Partners를 보유한 Braze

• 고객지원 / 기술지원

처음부터 마테크 솔루션들의 기능을 100% 활용하기는 매우 어려운 일이다.

내가 원하는 수준의 고객지원 / 기술지원을 받을 수 있는지 체크해보아야 한다.

* 보통 마테크는 고객지원과 기술지원이 따로 구성되어 있다.
 

• 컨설팅, 대행 등의 도움을 받을 수 있는지

CRM 시나리오를 구현하고, 마케팅 목표를 달성하기엔 마테크 솔루션들의 지원 만으로는 부족할 수 있다. 솔루션 사용을 돕지만, 비즈니스 성장을 위한 마케팅을 지원하진 못하기 때문이다.

어떠한 형태든 마케팅에 어려움을 겪고 있다면, 비즈니스를 성공시키는 마케팅을 위한 컨설팅 / 대행 서비스를 통해 도움을 받는 것이 좋다.

마티니(Martinee)에서는 이 글에서 언급된 모든 솔루션들의 컨설팅 / 대행 서비스를 제공한다.

가성비를 결정하는 것은 파일럿

다들 알다시피 가성비는 가격대비 '성능'의 비율을 의미한다.

가격은 솔루션 가격을 의미할 것이고, '성능'은 무엇을 기준으로 판단해야할까?

앞서 설명한 솔루션별 기능과 장점들도 성능에 포함되지만, 솔루션을 사용하는 사용자의 영향이 더 크다고 본다.

결국 성능을 결정하는 가장 큰 요인은 파일럿인 것이다.

브런치 글 이미지 8

많은 회사들과의 미팅, 컨설팅을 통해 솔루션 없이도 높은 수준의 CRM을 실행하는 곳도 발견한 반면, 그냥 CRM 솔루션으로 무분별한 메시지만 발송하는, 소위 '앱푸시 발사대'로만 사용하는 경우도 많이 보았다.

자신의 도메인에 적합한 솔루션을 선택하고, CRM 마케팅을 꾸준히 개선시키고 학습하는 마케터가 CRM 마케팅 솔루션의 가성비를 결정하는 키를 쥐고 있다.

recomm_thumbnail
CRM

Braze, 100% 활용하고 있을까?

November 13, 2024

CRM 마케팅이 중요해지면서 많은 기업들이 Braze를 도입하고 있다.

대부분 앱 푸시 발송과 개인화 마케팅을 위해 Braze를 사용하지만, 다양한 기능을 활용해 마케팅을 고도화하는 경우는 많지 않다.

아직 Braze 관련 학습 자료나 강의가 부족해 공식 문서에만 의존해야 하다 보니, 많은 마케터들이 Braze의 기능을 제대로 활용하지 못하고 있다.

이 글에서는 Braze를 제대로 활용하고 있는지 점검하고, 놓치고 있는 유용한 기능들을 소개하려 한다.


브레이즈 기본 기능만 사용하고 있는 건 아닐까?

아래 Braze 용어 중 내가 사용한 적이 있거나, 사용하지 않았더라도 들어본 용어가 있는지 확인해 보자.

(Braze 이용자라면 누구나 사용하는, 꼭 알아야 하는 기능은 빼두었다.)

  • Frequency Capping
  • Segment Extension
  • Spacer
  • Connected Content
  • Query Builder

3개 이상 사용해 봤다면 Braze를 잘 활용하고 있는 셈이다.

하나도 사용해 보지 않았더라도 걱정하지 말자. 지금부터 각 기능의 활용법을 자세히 설명할 예정이다.


브레이즈 100% 활용하기

1. Frequency Cappping

Frequency Cappping이란 사용자가 받는 메시지 수를 제한해 피로감을 줄여주는 기능이다.

설정 예시
  • 하루 최대 3개까지만 앱 푸시 발송
  • 3일 동안 웹훅 최대 10개로 제한

위와 같이 채널별로 기간과 수신 횟수를 설정할 수 있고, Campaign이나 Canvas에 Tag를 추가하면 특정 캠페인에만 제한을 걸 수도 있다.

예를 들어 이벤트 태그가 있는 캠페인은 하루 1개만 발송하는 식이다.

"푸시가 너무 많이 와요", "인앱메시지가 자주 떠서 불편해요" 같은 VOC를 자주 받는다면 Frequency Capping을 적극 활용해보자. 사용자 경험도 개선하고 고객 만족도도 높일 수 있다.


2. Sement Extension

Braze에서 자주 쓰는 필터로 'X Custom Event Property In Y Days'와 'X Purchase Property In Y Days'가 있다. 실시간으로 반영된다는 장점이 있지만, 몇 가지 제한사항이 있다.

  • 최대 30일까지만 조회 가능
  • Data Point 차감
  • 담당 CSM에게 필터 오픈을 요청해야 함

반면 Segment Extension은 아래와 같은 장점이 있다.

  • 최대 2년(730일)까지 조회 가능
  • Data Point 차감 없음
  • 별도 요청 없이 바로 사용

예를 들어 일반 필터로는 '지난 30일간 패딩 구매자'만 찾을 수 있지만, Extension으로는 '지난 1년간 패딩 구매자' 세그먼트를 만들 수 있다.

단, Extension은 실시간 업데이트가 아닌 정해진 주기로 업데이트된다. 기존에는 매일 오전 12시마다 업데이트 되었는데, 최근 Weekly, Monthly 옵션이 추가됐다.


3. Spacer 활용하기

Webhook으로 카카오톡, 문자 메시지를 보내는 것 뿐만 아니라 빈 웹훅인 Spacer를 발송하여 A/B Test를 진행하거나, 성과를 측정하는 것도 가능하다.

Spacer 활용 사례
  • A/B 테스트 정확도 높이기
    • Canvas의 Control Variant는 Step을 추가할 수 없다는 한계가 있다. 이런 경우 일반 Variant에 Spacer를 넣어 대조군으로 활용하면 더 정확한 테스트가 가능하다.

  • Attribute 변화 측정하기
    • Braze는 기본적으로 Event의 Conversion만 측정 가능하다. 하지만 Spacer를 활용하면 Attribute 변화도 측정할 수 있다.
      • 수신동의 전환율
      • 브랜드 위시리스트 추가율
    • 세팅 방법
      • Attribute 값이 A로 변할 때 실행되는 Action Based 캠페인 생성
      • 메시지 대신 Spacer 설정
      • Target을 실 메시지 캠페인 수신자로 지정
    • 이렇게 하면 Attribute가 변경될 때마다 Spacer가 발송되어 성과 측정이 가능하다.

또한 잘못 설정된 Conversion 지표를 보완할 때도 유용하다.


4. Connected Content

Connected Content는 API를 통해 외부 데이터를 실시간으로 가져와 메시지에 활용하는 기능이다.

활용 가능한 데이터:

  • Braze에 저장하지 않은 내부 데이터
  • 보안상 민감한 정보
  • 날씨, 환율 등 실시간 변동 데이터

이러한 데이터는 Braze에 저장되지 않아 보안성이 높고, 실시간 데이터로 더 정확한 개인화가 가능하다.

API Response 값을 메시지에 바로 사용하거나, Liquid 구문으로 메시지 발송 조건으로 활용할 수도 있다.

API 개발이 필요하지만, 활용하면 한층 더 다양한 개인화 메시지를 만들 수 있다.

Connected Content 사용 사례

1. Open API 활용 : 누구나 이용할 수 있는 Open API를 활용하여 다양한 캠페인을 진행할 수 있다.

  • 날씨 API
    • Braze에서 유저의 위치 정보를 수집하는 경우, 위•경도 정보로 유저가 위치한 곳의 날씨를 파악할 수 있다. 날씨는 물론 현재 온도, 체감 온도, 습도, 기압 등 다양한 기상 정보 확인이 가능하다.
    • 글로벌 알람 앱 A사에서는 이러한 날씨 API를 활용하여 유저의 현재 날씨에 따라 메시지를 달리한 캠페인을 진행하였다.
  • 공휴일 API
    • 새해 첫날, 크리스마스와 같이 날짜가 고정되어 있는 공휴일은 Liquid를 통해 확인이 가능하지만 설, 추석 연휴처럼 매년 달라지는 공휴일은 매번 별도로 설정을 해주어야 한다.
    • 공공데이터포털의 공휴일 API를 활용하면 공휴일 여부를 파악할 수 있으며, 이에 따라 메시지를 다르게 보내거나 미발송 처리를 할 수 있다.

2. 내부 API 활용 : 기개발된 API가 있다면 해당 API를 활용하여 다양한 캠페인 운영이 가능하다.

  • 상품 재고 API
    • 상품별 실시간 재고를 확인할 수 있는 API를 통해 상품 재고에 따른 메시지를 발송할 수 있다.
    • 패션 커머스 W사에서는 구매 버튼 클릭 후 구매하지 않은 상품의 재고가 10개 미만으로 하락했을 때 품절 임박 메시지를 발송하였다.
  • 상품 가격 API
    • 상품별 현재 가격을 확인할 수 있는 API를 통해 특정 시점의 가격과 현재 가격을 비교할 수 있다.
    • 패션 커머스 F사에서 장바구니/위시리스트 추가한 시점의 가격보다 현재 가격이 하락한 경우, 가격 인하 메시지를 발송하는 캠페인을 진행하였다.
  • 쿠폰 정보 API
    • 유저별 보유 쿠폰 정보를 확인할 수 있는 API를 통해 쿠폰 사용 유도 메시지를 발송할 수 있다.
    • 패션 커머스 W사에서 유저가 사용하지 않은 쿠폰의 만료일이 1일 남은 경우, 쿠폰 만료 D-1 안내하는 자동화 캠페인을 운영하였다.


5. Query Builder

Query Builder는 SQL Query를 사용해 데이터를 출력하는 기능이다.

Campaign Analytics와 Engagement Report를 통해 캠페인 발송 수와 전환 수는 확인할 수 있지만, 유저가 어떤 상품을 구매했는지, 혹은 다른 이벤트가 발생했는지는 알 수 없다.

유저 행동을 더 자세히 분석하고 싶다면 쿼리빌더를 활용해보자. SQL에 익숙하다면 직접 쿼리를 작성할 수 있고, 그렇지 않다면 Query Template이나, AI Query Builder를 통해 쿼리를 생성하여 사용하면 된다.

Query Builder를 통해 N Day Retention과 같은 데이터도 확인할 수 있다.

N Day Retention 활용 사례 보러가기

어트리뷰트 데이터 테이블은 지원하지 않지만, 캠페인, 캔버스, 이벤트, 세션 정보 같은 유용한 데이터는 쉽게 추출할 수 있다. 다양한 분석을 원한다면 Query Builder를 적극 활용하자.

(단, Query Builder는 매월 사용할 수 있는 크레딧이 있으니, 쿼리 실행 시 크레딧이 줄어드는 점을 주의해야 한다!)


앞서 언급한 기능 외에도 Braze를 더 깊이 활용할 수 있는 방법은 많다.

실무로 바빠서 Braze를 자세히 살펴볼 시간이 없더라도, 틈틈이 다양한 기능을 활용해 보다 효율적이고 정교한 CRM 마케팅을 진행하길 바란다.

또한 기존 기능에 새로운 요소가 추가되거나 새로운 기능이 출시되니, 매월 업데이트되는 Braze Release Note를 확인하는 것을 추천한다.


*글의 원문은 최영아님의 브런치스토리 에서도 읽어보실 수 있습니다.

recomm_thumbnail
FULL FUNNEL

차트 강조? 조건부 서식 활용하기

September 23, 2024

Looker studio-조건부서식
Looker studio-조건부서식

엑셀과 스프레드시트를 어느정도 다루시던 분들은 조건부 서식에 어느정도 익숙하실 겁니다.

조건부 서식은 데이터를 보다 효과적으로 표현하고 분석하는 강력한 기능입니다. 이는 특정 조건에 따라 셀의 모양(글자 색상, 셀 색상)을 자동으로 변경하여 중요한 정보를 시각적으로 돋보이게 만드는 기능입니다.

구글스프레드시트 - 조건부서식
구글스프레드시트 - 조건부서식

위의 이미지 예시를 보면 더 쉽게 이해할 수 있습니다. 왼쪽은 아무런 설정을 하지 않은 차트라면 오른쪽은 숫자의 백분위수를 기준으로 색상을 표현하였습니다. 오른쪽의 표가 일자별 노출수의 차이를 훨씬 쉽게 이해할 수 있습니다.

조건부 서식의 가장 큰 특징은 데이터에 기반한 동적인 시각화입니다. 사용자가 정의한 규칙에 따라 데이터가 변경될 때마다 서식도 자동으로 업데이트됩니다. 이는 단순히 정적인 색상이나 서식을 적용하는 것과는 다르게, 항상 최신 데이터를 반영한 시각적 표현을 제공합니다.

루커스튜디오와 같이 실시간으로 변하는 데이터 시각화 솔루션에서는 필수적으로 활용하면 좋을 기능입니다.

조건부 서식 특징

  1. 데이터에 기반한 시각적 강조
  2. 사용자 정의 규칙 적용 가능
  3. 동적으로 업데이트되는 서식
  4. 다양한 서식 옵션 (색상, 아이콘, 데이터 막대 등)

조건부 서식 장점

  1. 데이터 가독성 향상
  2. 중요 정보의 빠른 식별
  3. 데이터 트렌드 및 패턴 파악 용이
  4. 보고서 및 대시보드의 시각적 매력 증대

활용 방법

  1. 임계값 기반 하이라이팅
  2. 범주형 데이터 구분
  3. KPI 달성도 표시

루커스튜디오의 조건부 서식

루커스튜디오에도 이러한 조건부 서식이 있으며 다른 엑셀과 Tableau와 같은 BI와 유사한 기능을 사용할 수 있습니다.

기본적으로 'Tablea' 차트와 'Score' 차트에서 활용가능합니다.

규칙 만들기

Looker studio - 조건부서식 - 규칙만들기
Looker studio - 조건부서식 - 규칙만들기
  1. 색상 유형

단색과 색상스케일에 따라 구분할 수 있습니다. KPI 달성이나 임계값 달성에 대한 강조를 원한다면 단색 유형이 유용합니다. 반면에 데이터의 양이 많고 데이터간 상대적 차이가 중요하다면 색상 스케일이 유용합니다.

  1. 서식 규칙
  • Number 기준 대소 구분, Boolean 기준 참 거짓 구분, Text 기준 포함 구분 이외 정규식 등 다양한 조건을 선택할 수 있습니다.
Looker studio - 조건부서식 - 서식규칙
Looker studio - 조건부서식 - 서식규칙

규칙별로 하나의 조건만 가능하며 조건 형식은 셀 또는 전체 행에 적용할 수 있습니다.

  1. 색상 및 스타일
  • 단색 : 조건에 맞는 경우 글자색과 셀 색상을 모두 따로 설정 가능합니다.
  • 색상 스케일 : 최대 5개의 지점을 선택하여 정수/백분율에 따라 색상 스케일을 선택할 수 있습니다.
Looker studio - 조건부서식 - 색상 및 스타일
Looker studio - 조건부서식 - 색상 및 스타일

활용 예시

Looker studio - 조건부서식 - 활용 예시 : KPI 대시보드
Looker studio - 조건부서식 - 활용 예시 : KPI 대시보드

  • 여러 Text에 따른 조건 서식을 활용한 고객 세그먼테이션 : RFM 대시보드
Looker studio - 조건부서식 - 활용 예시 : RFM 대시보드
Looker studio - 조건부서식 - 활용 예시 : RFM 대시보드

  • 데이터 차이에 대한 값을 직관적으로 확인가능한 Raw Data : CRM 대시보드
Looker studio - 조건부서식 - 활용 예시 : CRM 대시보드
Looker studio - 조건부서식 - 활용 예시 : CRM 대시보드

Recent

EVENT

[종료] 브레이즈 개인화 마스터 클래스 어드밴스 모집!

August 14, 2024

Braze Personalization Master Class Advanced 메인 썸네일
Braze Personalization Master Class Advanced 소개 이미지

[Martinee X Braze]

Braze Personalization Master Class Advanced는 Braze 도입을 고민하고 계시거나 도입 후 잘 활용하고 싶으신 고객사를 대상으로 Braze 개인화 기능인 Personalization 활용 노하우를 공유하는 교육 세미나입니다.

브레이즈 개인화 기능, 여러분도 잘 활용할 수 있습니다.

“Braze 도입은 했는데.. 어디서부터 어떻게 해야 하지?”
“Braze 개인화, 더 깊고 세부적으로 사용하려면 개발이 필요하지는 않을까?”

Braze 개인화 기능, 여러분도 개발없이 전문가처럼 매우 세부적으로 활용할 수 있습니다.

이번 세션에서는 Braze 개인화 단계 중 Liquid와 Connected Contents를 활용하여 심화 켐페인 실습을 진행하여 충분히 실무에 활용할 수 있도록 하였으며,

성공적인 CRM 캠페인을 위한 다양한 CRM 캠페인 사례들을 함께 확인해봅니다.

마티니와 함께한 고객사

마티니와 함께한 고객사 로고 모음 이미지_버거킹, 오늘의집, 무신사, KFC, 쏘카, 알라미, 발란, 칼하트, LG전자, 넷마블, 크래프톤, 머스트잇, 동원F&B, 이랜드폴더, 네오위즈, IBK기업은행, 밀리의서재

마티니는 버거킹, 오늘의집, 무신사, KFC, 쏘카, 알라미(딜라이트룸), 발란, 칼하트, LG전자, 넷마블, 크래프톤, 머스트잇, 동원F&B, 이랜드폴더, 네오위즈, IBK기업은행, 밀리의서재 이외에도 다양한 고객사와 여정을 함께하고 있습니다.

실무에 바로 적용할 수 있는 활용 노하우, 마티니와 함께한 고객사들이 만족하는 이유입니다.

참여했던 고객사들의 생생한 후기

Braze Personalization Master Class Advanced 참여 고객사 후기

지난 브레이즈 부트캠프에 참여해주신 분들의 생생한 후기를 확인해보세요.

“ 실제 사용 사례에 대해 많이 들을 수 있어서 좋았고 브레이즈 시현 과정을 볼 수 있어서 좋았습니다. “
“ 라이브 데모를 통해 어떻게 활용하는지 상세하게 알 수 있었습니다. “
“CRM 고도화에 Braze가 어떻게 기여할 수 있을지에 대한 궁금증을 해소할 수 있었습니다. “
“Braze 개인화를 위한 Liquid의 개념과 구조 설명이 있어서 이해하기 좋았습니다. “

이런 분이 오시면 좋아요

Braze Personalization Master Class Advanced 추천 대상
  • Braze 도입 후 개인화 기능을 활용해보고 싶으신 분
  • 개발없이 Braze 개인화 기능을 전문적으로 활용하고 싶으신 분
  • Braze 개인화 기능으로 캠페인 기획부터 성과 분석까지 해보고 싶으신 분
  • 유저 개개인에게 최적화된 개인화 메시지를 발송하고 싶으신 분

브레이즈를 잘 활용하면?

이런 것들이 가능해요

Braze Personalization Master Class Advanced 브레이즈 활용이점
  • 고객 특성에 따른 개인화 메시지를 구성하고 최적의 시점에 발송할 수 있습니다.
  • 웹과 앱에서의 고객 여정 경우의 수를 확인하고 그에 따른 맞춤 캠페인 기획이 가능합니다.
  • 유저의 이탈 시점과 경로를 확인하여 재방문 시킬 수 있는 캠페인 기획이 가능합니다.
  • 다양한 API를 활용하여 트리거 기반으로 알림 및 메시지 자동화를 구축할 수 있습니다.

세션 커리큘럼

Braze Personalization Master Class Advanced 연사자 소개 및 커리큘럼

Braze Personalization Master Class | 이건희 연사, Martinee CRM Team Lead

  • Personalization Master Advanced
    • Liquid, Connected Content를 활용한 심화된 캠페인 사례를 배웁니다.
    • 개인화가 적용된 다양한 캠페인 사례를 확인합니다.

추후 진행예정

11월

Braze Automation Master Class

  • Automation Planning Deep Dive
    • 캠페인/캔버스 기획에서 중요한 포인트들을 점검합니다.
    • 목적별로 다양한 캠페인 기획 사례를 살펴봅니다.

Braze Data Analytics Master Class

  • Data Analytics / Utilization
    • CRM 캠페인의 다양한 분석 방법을 확인합니다.
    • Braze의 데이터 활용을 극대화하는 방법들을 살펴봅니다.

When

2024년 8월 26일 월요일 오후 7시 - 9시‍

Where

서초구 서초대로 38길 12 마제스타시티 타워2, 12층 마티니 오피스

  • 서초역 4번 출구 도보 5분 소요

네이버 지도로 확인하기

Braze Personalization Master Class Advanced 참여자 혜택 및 안내사항

참여자 혜택

📢 혜택 1. Martinee CRM 커뮤니티 초대

📢 혜택 2. 마티니 CRM POC 추첨 무료 1회 제공

안내사항

  • 참가 인원이 한정되어 있어 별도 참석 확정 연락을 드릴 예정입니다.
  • 실습이 포함된 교육으로 개인 노트북 지참이 필요합니다.
  • 주차권 제공 가능하며 리셉션 데스크로 문의 부탁드립니다.
  • 신청시 기입한 이메일이 회사 이메일이 아닐 경우 선정이 불가할 수 있습니다.
  • 참석자분들에게 간단한 음식이 제공될 예정입니다.
  • CRM POC의 경우 추첨을 통해 선정되신 분께 별도로 안내드릴 예정입니다.

Contact

mkt@martinee.io

CRM 캠페인의 성과와 비즈니스 개선을 마티니와 함께 이뤄보세요!

지난 브레이즈 개인화 마스터 클래스 보러가기!

EVENT

[종료] Martinee 2024 Recap 행사

August 6, 2024

2024 Maritnee Recap!

Maritnee 2024 Recap 행사 개요 이미지

행사명 : Maritnee 2024 Recap 행사

장소: 서울 서초구 서초대로38길 12 마제스타시티 타워2 12F

일시: 2024년 8월 20일 화요일 오후 3시

대상:

  • 마케팅 인사이트를 얻고 싶으신 분
  • 마티니만의 CRM & 그로스 마케팅 성공 사례가 궁금하신 분
  • MGS 2024에서의 Martinee & AB180 & Snowflake 세션을 다시 듣고 싶으신 분

CRM과 그로스 마케팅 인사이트를 놓치지 마세요

Martinee 2024 Recap 스피커 소개 1
Martinee 2024 Recap 스피커 소개 2

MGS 2024에서 진행했던 마티니 & AB180 & Snowflake의 세션을 한 번에 확인해보세요.

CRM과 그로스 마케팅을 바탕으로 마티니가 직접 경험하고 이끌었던 실제 성공 사례, AB180의 마케터를 위한 SKAN 활용법과 Snowflake의 마케팅 데이터 클라우드로 비즈니스 성장을 가속화하는 방법을 공유합니다.

  • ‘CRM 마케팅에서의 고민과 문제들을 정리하고 마티니가 찾아낸 인사이트와 해결방안’
  • ‘Amplitude를 가지고 BKR과 마티니가 만드는 데이터 혁신의 비밀’
  • ‘iOS 마케터를 위한 SKAN 100%  활용하기’
  • ‘'감'이 아닌 '데이터'로 : Snowflake로 데이터 기반 인사이트 발견하기’

MGS 2024 현장에서 공유해드린 마케팅 인사이트와 성공 사례에 대해 확인할 수 있는 기회를 놓치지 마세요!

타임 테이블

Martinee 2024 Recap 타임라인

15:00 - 15:15 Martinee Marketing Intelligence 2024 | 이선규 Martinee CEO

15:15 - 15:45 버거킹도 Amplitude를 쓴다고? 어떻게 쓰는데? | 이재철 Martinee Growth Team Lead

15:45 - 16:15 "우리 잘하고 있는건가?": CRM 마케터들이 궁금해하는 고민과 해결방안 | 이건희 Martinee CRM Team Lead

16:15 - 16:25 Break Time

16:25 - 16:55 iOS 마케터를 위한 SKAN 100%  활용하기 | 한예선 Airbridge & AB180 Business Development Manager

16:55 - 17:25 감'이 아닌 '데이터'로 : Snowflake로 데이터 기반 인사이트 발견하기 | 이수현 Snowflake Tech Evangelist

17:25 - 18:00 Networking & QnA

안내사항

Martinee 2024 Recap 안내사항

- 자리가 한정되어 있어 별도로 선정 안내를 드릴 예정입니다.

- 주차권 제공 가능하며 리셉션 데스크 문의바랍니다.

- 참석자분들에게 간단한 음식이 제공됩니다.

EVENT

Martinee | MGS 2024

August 2, 2024

Martinee x MGS 2024

MGS 2024 개막 현장
MGS 2024 행사장 전경

7월 31일, 코엑스 그랜드볼룸 & 아셈볼룸에서 AB180이 주최한 국내 최대 마케팅 컨퍼런스 MGS 2024가 개최되었습니다.

23년에 이어 마티니가 참여한 MGS 2024에서는 CRM 마케팅에서의 고민과 마티니가 경험하며 체득한 해결방안과 인사이트와 더불어 버거킹의 Amplitude 도입부터 세부적인 단계별 과정을 소개드리고 쏘카와 함께 Braze를 활용한 크로스 셀링 전략과 초개인화 CRM 마케팅 성공 사례를 3개의 발표 세션을 통해 공유하는 자리였습니다.

MGS 2024에서 진행했던 마티니 세션들을 살펴볼까요?

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

"우리 잘하고 있는건가?": CRM 마케터들이 궁금해하는 고민과 해결방안 세션 연사자 마티니 CRM 이건희 팀장
"우리 잘하고 있는건가?": CRM 마케터들이 궁금해하는 고민과 해결방안 세션 연사자 마티니 CRM 이건희 팀장 2

마티니 CRM팀은 KFC, 이랜드 폴더, 콘텐츠웨이브, 뮤직카우, 레브잇, 발란, 딜라이트룸 알라미, 오늘의집, 버거킹 등 무수히 많은 국내 유명 기업과 함께 협업하며 Braze를 200% 활용하고 CRM 인사이트를 확장시켜 왔는데요.

지금까지 수많은 CRM 캠페인을 실행하고 경험하고 겪었던 CRM 마케팅에서의 고민들과 그에 따른 마티니만의 해결방안을 CRM팀 리더 건희님이 발표 세션에서 공유해드렸습니다.

개인화

개인화로 어떤 걸 할 수 있어요?

➡️ 개인화의 3단계 Level과 함께 마티니가 실제 적용해본 CRM 사례를 바탕으로 개인화로 가능한 부분을 설명해드렸습니다.

분석

CRM 성과 어떻게 분석하는 것이 좋을까요?

➡️ 증분 분석과 PA 솔루션 활용으로 오로지 마케팅 활동이 만들어준 ‘진짜’ 성과를 찾는 방법을 알려드렸습니다.

연계활용

PA나 MMP랑 연계하면 뭘 할 수 있나요?

➡️ 각 솔루션의 역할과 CRM 솔루션과의 연동 케이스들을 기반으로 PA 및 MMP 솔루션과 연동 활용 시 가능한 점들을 설명드렸습니다.

테스트

모수가 너무 적은데 의미 있을까요?

➡️ 모수 크기 계산과 카이 제곱 검정식을 바탕으로 적절한 모수와 전환율을 확인하는 방법을 공유해드렸습니다.

도입

Braze 도입, 어느 정도 걸려요?

➡️ 도입 시작부터 첫 캠페인 런칭 기준 도입기간과 컨설팅 유무에 따른 비교을 통해 소요 기간을 알려드렸습니다.

기술적 구현

개발 지원을 못 받아서 못 하는게 많아요.

➡️ 개발 의존도를 낮춰주는 Braze의 3가지 강력한 주요 기능을 소개해드리며 개발 지원없이 가능한 CRM을 사례를 통해 설명해드렸습니다.

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

버거킹도 Amplitude를 쓴다고? 어떻게 쓰는데? 새션 연사자 마티니 그로스 이재철 팀장
버거킹도 Amplitude를 쓴다고? 어떻게 쓰는데? 세션 Amplitude 최동훈 한국영업총괄(좌)과 BKR 이형일 이사(중앙), 그리고 마티니 그로스 이재철 팀장(우)
버거킹도 Amplitude를 쓴다고? 어떻게 쓰는데? 새션 모습

마티니는 버거킹의 Amplitude 도입부터 사용, 그리고 Braze 연계 활용까지 함께 하였는데요.

온오프라인이 모두 중요한 버거킹의 경우 디지털 플랫폼 활용도가 높기에 Amplitude 도입을 5단계의 체계적인 절차를 바탕으로 진행하였고 그에 따른 각 단계별 키 포인트들을 공유해드렸습니다.

1. Planning

2. Taxonomy
3. Development
4. QA & Stabilization

5. Go-Live

활용 단계에서는 구매 횟수별 고객 특성과 구매 시간대별 고객 특성 2가지로 나누어 쿠폰 사용 패턴을 분석한 과정과 AARRR 지표 설계에 따른 세부 기준, 유저 코호트와 같은 지표 분석 과정, 가설 도출부터 A/B 테스트 설계까지 버거킹과 함께한 상세한 내용들을 설명해드렸습니다.

‍고객 행동 중 구매 시간대에 따라 고객의 특징이 다르게 나타난다는 점을 확인할 수 있었고 얼마나 차이가 있는지 Amplitudfe 코호트 차트 기능을 활용하여 분석하였습니다.

분석한 내용을 바탕으로 Braze에서 약 48개의 코호트 그룹을 나누어 최적 시간대와 메시지 테스트를 진행하여 결과적으로 성과를 개선시킬 수 있었습니다.

쏘카 CRM 마케터가 일하는 방법: Braze로 개발자 없이 캠페인 고도화하기

쏘카 CRM 마케터가 일하는 방법: Braze로 개발자 없이 캠페인 고도화하기 세션 모더레이터 AB180 김다원님(좌)과 연사자 마티니 CRM 이건희 팀장(중앙) 그리고 쏘카 김선민 매니저(우)
쏘카 CRM 마케터가 일하는 방법: Braze로 개발자 없이 캠페인 고도화하기 세션 청중과 세션 모습
쏘카 CRM 마케터가 일하는 방법: Braze로 개발자 없이 캠페인 고도화하기 세션 모습
쏘카 CRM 마케터가 일하는 방법: Braze로 개발자 없이 캠페인 고도화하기 세션 연사자 마티니 CRM 이건희 팀장과 쏘카 김선민 매니저

쏘카는 기존 카셰어링에서 작년부터 숙박 서비스까지 비즈니스를 확장시키며 마티니와 함께 Braze를 잘 활용하여 체계적인 캠페인 관리 시스템을 구축해왔습니다.

해당 세션에서는 우천 시 서비스 이용이 활발해지지 않는 서비스 특성을 고려한 쏘카만의 캠페인 사례와 숙박 서비스로 범위를 확장하며 각 타겟의 반응을 확인하며 메시지 발송 대비 전환률을 상승시킨 전략들을 확인할 수 있었습니다.

CRM 마케팅에서 개발 지원없이 섬세한 캠페인 전략을 구사하기가 어려울 수 있는데요. 쏘카가 마티니와 함께 개발자 도움 없이 Braze Connected Content 기능을 활용하여 초개인화 메시지를 구현했던 과정도 상세하게 설명해드렸습니다. 기술 구현이 필요한 항목을 점검하고 오픈데이터와 Braze Liquid 및 Connected Content 기능을 활용한 케이스를 공유하며 어떻게 크로스셀링 전략을 성공적으로 이끌었는지 공유해드린 시간이었습니다.

놓치면 후회하는 마티니와 쏘카의 CRM 협업 사례, 8월 13일 Recap 행사에서 확인하실 수 있습니다.

마티니 부스에서는?

MGS 2024 마티니 부스 현장 모습
MGS 2024 마티니 부스 경품 추첨하는 모습

이번 MGS 2024에서는 마티니가 부스를 운영하여 풀스택 마케팅 도입 컨설팅 서비스에 대해 상담 서비스를 제공해드리고 보다 자세하게 설명드릴 수 있도록 하였습니다.

캡슐 뽑기를 통해서 마티니 스티커와 에코백 굿즈를 나눠드렸습니다.

퍼포먼스부터 그로스와 CRM까지 마티니와 함께, 한 번에

마티니는 세 가지 분야의 전문가들이 모여 유기적으로 협업하며 다양한 문제를 해결하고 있습니다.

버거킹과 쏘카 사례에서 보여드린 것처럼 데이터·프로덕트 분석, KPI 대시보드 설계와 제작, 데이터 파이프라인 활용, CRM 택소노미(Taxonomy) 및 프로모션 설계, MMP 설치와 점검, 퍼포먼스 마케팅 미디어 믹스까지, 각 분야의 전문가들이 모여있는 마티니와 함께 비즈니스 성공을 실현해보세요.

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> 최종 대시보드

마지막으로 확정된 기획안을 토대로 태블로를 통해 최종 대시보드를 구현하면 대시보드 제작과정이 마무리됩니다.

퍼포먼스 광고성과 대시보드 구현 예시

FULL FUNNEL

Basic KPI 대시보드 | 루커스튜디오 템플릿

July 19, 2024

루커스튜디오 Basic KPI 대시보드 메인 이미지
BASIC KPI 대시보드 | 루커스튜디오 템플릿

BASIC KPI 대시보드 | 루커스튜디오 템플릿
BASIC KPI 대시보드 | 루커스튜디오 템플릿

KPI 대시보드 템플릿을 활용하여 비즈니스 주요 지표를 확인하며 데이터 기반 의사결정에 활용할 수 있습니다. 매출, 이익, 구매수 등 특히 지역별 구매 관점의 분석을 통해 실행 가능한 인사이트를 제공합니다.

KPI 대시보드 템플릿

💡루커스튜디오 URL

대시보드 데모 보기

사용 방법

1. 스프레드시트 사본 만들기

스프레드 시트 사본 만들기
BASIC KPI 대시보드 | 루커스튜디오 템플릿

2. 루커스튜디오 사본 만들기 클릭

루커스튜디오 대시보드 사본 만들기
BASIC KPI 대시보드 | 루커스튜디오 템플릿

  • 새 데이터 소스의 경우 기존에 만든 스프레드시트가 대시보드에 사용되지 않았다면 리스트에 뜨지 않습니다. 그냥 아무 데이터나 선택하고 보고서 복사를 진행합니다.

보고서 복사 화면
BASIC KPI 대시보드 | 루커스튜디오 템플릿

3. 리소스 → 추가된 데이터 소스 관리 클릭

추가된 데이터 소스 관리 화면
BASIC KPI 대시보드 | 루커스튜디오 템플릿

4. 작업 → 수정 클릭

작업 → 수정 클릭 화면
BASIC KPI 대시보드 | 루커스튜디오 템플릿

5. 루커스튜디오와 스프레드시트 연동 승인 진행

  • 스프레드 시트 소유 계정과 루커스튜디오 소유 계정이 일치해야 합니다.
루커스튜디오와 스프레드시트 연동 화면
BASIC KPI 대시보드 | 루커스튜디오 템플릿

6. 앞서 사본을 만들었던 파일 찾아서 연결

  • 소유한 문서함 → 스프레드시트(Sample KPI Superstore) → 워크시트(Order) → 다시연결
스프레드 시트 연결 화면
BASIC KPI 대시보드 | 루커스튜디오 템플릿

7. 데이터 새로고침하면 데이터 확인이 됩니다.

  • 이후 스프레드시트의 복사본의 형식에 맞춰서 가지고 계신 KPI 수치를 업데이트 하면 해당 대시보드에서 변경된 데이터로 활용 가능합니다.
데이터 새로고침 확인 화면
BASIC KPI 대시보드 | 루커스튜디오 템플릿

활용 방법

  • 지난달 대비 이번달 매출액은?
  • 매출 대비 순이익은?
  • 구매수와 상품총 구매수의 트렌드 차이는?
  • 연도별 월별 매출 트렌드의 차이는?
  • 지역별 매출액의 차이는?

원본 포스팅 링크

Basic KPI 대시보드 | 루커스튜디오 템플릿

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 현황 및 정보 확인
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 를 호출해서 적재를 하는 것이 좋습니다.

이번 편은 마케팅 데이터 수집 자동화에 대해서 알아보았고 다음 편에서는 인사이트 도출을 위한 데이터 전처리 방법에 대해서 알아보겠습니다!

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 데이터 활용 현실: 기회와 간과된 문제점

FULL FUNNEL

구글서치콘솔 대시보드 | 루커스튜디오 템플릿

July 15, 2024

루커스튜디오 구글서치콘솔 대시보드 템플릿 메인 이미지
구글서치콘솔 대시보드 | 루커스튜디오 템플릿

SEO 분석의 핵심 채널은 구글과 네이버 입니다. 그 중 구글에서는 사이트로 들어오는 유저의 검색 키워드를 분석 할 수 있게 도와주는 구글서치콘솔(GSC)을 제공하고 있습니다. 이를 통해 어떤 키워드가 더 노출과 클릭이 잘 되고 있는지 어떤 키워드가 문제인지를 확인할 수 있습니다.

다만 구글서치콘솔의 기본 목적은 구글이 도메인의 정보를 수집해가는 사이트맵 관리용으로 출발하다 보니 키워드별 깊이있는 통계 분석을 하기는 어렵습니다.

이로 인해 구글서치콘솔의 다소 부족한 통계를 보완하여 더 효과적인 구글 SEO 분석에 도움을 주기 위해 대시보드를 구성하였습니다. 총 4개의 영역으로 구성되어 있으며 각 대시보드의 활용 방식은 아래와 같습니다. SEO 관리를 위해 분석하면 좋을 지표와 방식들에 집중해서 같이 살펴보시면 좋을 것 같습니다.

구글서치콘솔 대시보드 | 루커스튜디오 템플릿
구글서치콘솔 대시보드 | 루커스튜디오 템플릿

Overview

💡 구글서치콘솔 주표 지표 Overview

  • 노출, 클릭, CTR, 평균 순위와 같은 주요 키워드 지표를 확인할 수 있습니다.
  • 각 지표별 상위 5개 키워드를 바로 확인할 수 있습니다.
  • 서비스 노출 키워드 총 수(Unique Keywords)를 알 수 있습니다.
  • 키워드에 따른 웹사이트 페이지(Landing Page) 수를 알 수 있습니다.
  • 서비스의 성격에 따라 집중해야할 Device가 달라질 수 있습니다. Device 별 키워드(쿼리) 수를 알 수 있습니다.
  • 노출, 클릭 등 주요 지표의 시계열 성과를 알 수 있습니다.

루커스튜디오 구글서치콘솔 Overview 대시보드
구글서치콘솔 대시보드 | Overview 대시보드

Page analysis

💡 SEO의 2가지 핵심 분석 축은 키워드와 페이지 입니다. 하나의 페이지에 다양한 키워드가 노출 될 수 있으며, 반대로 하나의 키워드에 여러 페이지가 노출 될 수 있습니다.

  • 키워드와 페이지의 관계를 확인할 수 있습니다.
  • 페이지 기준의 키워드 별 주요 지표의 변화를 확인할 수 있습니다.
  • 페이지별 노출되는 키워드(쿼리)수를 확인할 수 있습니다.

루커스튜디오 구글서치콘솔 페이지 분석 대시보드
구글서치콘솔 대시보드 | Page analysis

Keyword analysis

💡 SEO는 특히나 롱테일 키워드와 노출 순위 관리가 중요합니다. Top Ranking 구간을 두어서 구간 별 키워드 관리를 할 수 있습니다.

  • 노출 순위에 따른 키워드 그룹을 통해 주요 지표를 확인할 수 있습니다.
  • 키워드별 CRT, 평균 노출 순위의 버블차트를 통해 관리 키워드와 우수 키워드를 한 번에 확인할 수 있습니다.
  • 키워드(쿼리)별 세부 지표와 트렌드를 확인할 수 있습니다.

루커스튜디오 구글서치콘솔 키워드 분석 대시보드
구글서치콘솔 대시보드 | Keywords analysis

KPI Trend

💡 SEO는 단기간 지표 변화 확인이 어려운 영역입니다. 긴 시간 간격(보통 주, 월 단위)을 두고 지표의 변화를 관찰하면서 관리합니다.

  • 노출, 클릭, CTR 주요 지표의 주차별 트렌드를 확인할 수 있습니다.

대시보드 보기

대시보드 데모 보기

원본 포스팅 링크

구글서치콘솔 대시보드 | 루커스튜디오 템플릿