가설
상품 상세/상품력 부족
- 특정 상품 카테고리에서 view_item → add_to_cart 전환율이 유독 낮은가?
낮은 카테고리
- 상품 상세 정보 부족
- 상품 매력 부족
- 가격 대비 가치 부족
- 경쟁 상품 대비 약함
1. 상품 카테고리 정보 추출
- item_category 확인
-- 1단계: 상품 카테고리 정보 확인
-- 목표:
-- 어떤 카테고리들이 존재하는지 먼저 확인
SELECT
-- 이벤트명
event_name,
-- 상품명
item.item_name,
-- 상품 카테고리
item.item_category,
-- 가격
item.price
FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`,
-- items 배열 펼치기
UNNEST(items) AS item
WHERE event_name IN ('view_item', 'add_to_cart')
LIMIT 100;
| 행 | event_name | item_name | item_category | price |
| 1 | view_item | Google Mini Kick Ball | 2 | |
| 2 | view_item | YouTube Iconic Play Pin | 8 | |
| 3 | view_item | Google Pen Neon Coral | 2 | |
| 4 | view_item | Google Mini Kick Ball | 2 | |
| 5 | view_item | Google Leather Strap Hat Blue | 17 | |
| 6 | view_item | Google Mini Kick Ball | 2 | |
| 7 | view_item | Android Iconic Hat White | 16 | |
| 8 | view_item | YouTube Twill Sandwich Cap Black | 13 | |
| 9 | view_item | Google Leather Strap Hat Black | 17 | |
| 10 | view_item | YouTube Leather Strap Hat Black | 17 | |
2. 세션 기준 퍼널 구조화
- 세션별 item_category 기준 viewed / add_to_cart 여부 생성
-- 2단계: 세션 기준 퍼널 구조화 (Item Category)
-- 목표:
-- "각 세션에서 어떤 상품 카테고리를 보고,
-- 장바구니까지 갔는지 확인"
WITH funnel AS (
SELECT
-- 사용자 고유 식별자
user_pseudo_id,
-- 세션 고유 ID 생성
-- user_pseudo_id + ga_session_id
CONCAT(
user_pseudo_id,
'-',
CAST((
-- event_params 배열 안에서 ga_session_id 추출
SELECT value.int_value
FROM UNNEST(event_params)
WHERE key = 'ga_session_id'
) AS STRING)
) AS session_id,
-- 상품 카테고리
-- NULL 방지를 위해 값 없으면 '(not set)' 처리
COALESCE(item.item_category, '(not set)') AS item_category,
-- 해당 세션에서 해당 카테고리 상품 조회 여부
-- 한 번이라도 view_item 있으면 1
MAX(CASE WHEN event_name = 'view_item' THEN 1 ELSE 0 END) AS viewed,
-- 해당 세션에서 해당 카테고리 상품 장바구니 여부
-- 한 번이라도 add_to_cart 있으면 1
MAX(CASE WHEN event_name = 'add_to_cart' THEN 1 ELSE 0 END) AS added_to_cart
-- GA4 원본 이벤트 로그
FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`,
-- items 배열 펼치기
UNNEST(items) AS item
-- 상품 조회 / 장바구니 이벤트만 사용
WHERE event_name IN ('view_item', 'add_to_cart')
-- 세션 + 카테고리 기준 요약
GROUP BY
user_pseudo_id,
session_id,
item_category
)
-- 중간 결과 확인
SELECT *
FROM funnel
LIMIT 100;
| 행 | user_pseudo_id | session_id | item_category | viewed | added_to_cart |
| 1 | 11728928.31 | 11728928.3102991835-8901578253 | 1 | 0 | |
| 2 | 19665280.53 | 19665280.5325386306-1719126724 | 1 | 0 | |
| 3 | 26311660.3 | 26311660.3005086097-346901164 | 1 | 0 | |
| 4 | 48865305.82 | 48865305.8198447356-5114378159 | 1 | 0 | |
| 5 | 5134655.279 | 5134655.2786099951-8685273347 | Kid's-Infant/ | 1 | 0 |
| 6 | 55245546.49 | 55245546.4858418112-4569195379 | Backpacks/ | 1 | 0 |
| 7 | 7490018063 | 7490018062.5520925467-6601706250 | Home/Campus Collection/ | 1 | 0 |
| 8 | 9115309.32 | 9115309.3201575284-5957380897 | Men's / Unisex | 1 | 0 |
| 9 | 66832424.4 | 66832424.3990414019-9871456101 | Home/Stationery/Stickers/ | 1 | 0 |
| 10 | 1159522.028 | 1159522.0280721318-4095772158 | Lifestyle/Drinkware/ | 1 | 0 |
3. 카테고리별 전환 성과 비교
- item_category별 장바구니 전환율 계산
-- 3단계: Item Category별
-- view_item → add_to_cart 전환율 계산
-- 목표:
-- "어떤 상품 카테고리가 장바구니 전환율이 특히 낮은가?"
WITH funnel AS (
SELECT
-- 사용자 고유 식별자
user_pseudo_id,
-- 세션 고유 ID
CONCAT(
user_pseudo_id,
'-',
CAST((
SELECT value.int_value
FROM UNNEST(event_params)
WHERE key = 'ga_session_id'
) AS STRING)
) AS session_id,
-- 상품 카테고리
COALESCE(item.item_category, '(not set)') AS item_category,
-- 상품 조회 여부
MAX(CASE WHEN event_name = 'view_item' THEN 1 ELSE 0 END) AS viewed,
-- 장바구니 여부
MAX(CASE WHEN event_name = 'add_to_cart' THEN 1 ELSE 0 END) AS added_to_cart
FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`,
UNNEST(items) AS item
WHERE event_name IN ('view_item', 'add_to_cart')
GROUP BY
user_pseudo_id,
session_id,
item_category
)
SELECT
-- 상품 카테고리
item_category,
-- 상품 조회 세션 수
COUNTIF(viewed = 1) AS view_sessions,
-- 장바구니 세션 수
COUNTIF(added_to_cart = 1) AS cart_sessions,
-- 장바구니 전환율(%)
ROUND(
SAFE_DIVIDE(
COUNTIF(added_to_cart = 1),
COUNTIF(viewed = 1)
) * 100,
2
) AS add_to_cart_rate
FROM funnel
-- 상품 조회가 있었던 세션만 분석
WHERE viewed = 1
-- 카테고리별 집계
GROUP BY item_category
-- 표본 수 너무 작은 카테고리 제외
HAVING view_sessions >= 100
-- 전환율 낮은 순 정렬
ORDER BY add_to_cart_rate ASC;
| 행 | item_category | view_sessions | cart_sessions | add_to_cart_rate |
| 1 | Accessories/ | 106 | 2 | 1.89 |
| 2 | Backpacks/ | 468 | 19 | 4.06 |
| 3 | Water Bottles/ | 161 | 15 | 9.32 |
| 4 | Men's T-Shirts | 372 | 47 | 12.63 |
| 5 | Home/Shop by Brand/Google Cloud/ | 221 | 28 | 12.67 |
| 6 | Mugs & Tumblers/ | 242 | 31 | 12.81 |
| 7 | Bags | 2688 | 356 | 13.24 |
| 8 | Home/Shop by Brand/YouTube/ | 4754 | 744 | 15.65 |
| 9 | Men's T-Shirts/ | 1810 | 291 | 16.08 |
| 10 | Lifestyle/Bags/ | 4796 | 843 | 17.58 |
| 11 | 4986 | 909 | 18.23 | |
| 12 | Eco-Friendly | 2189 | 404 | 18.46 |
| 13 | Kids | 1212 | 227 | 18.73 |
| 14 | Home/Apparel/ | 6548 | 1252 | 19.12 |
| 15 | Home/New/ | 5335 | 1030 | 19.31 |
| 16 | New | 1499 | 296 | 19.75 |
| 17 | Home/Eco-Friendly/ | 3725 | 740 | 19.87 |
| 18 | Android | 414 | 86 | 20.77 |
| 19 | Apparel | 3191 | 673 | 21.09 |
| 20 | Lifestyle/ | 2755 | 585 | 21.23 |
| 21 | Lifestyle | 2005 | 429 | 21.4 |
| 22 | Small Goods | 3068 | 666 | 21.71 |
| 23 | Home/Shop by Brand/Android/ | 874 | 198 | 22.65 |
| 24 | Home/Shop by Brand/ | 798 | 181 | 22.68 |
| 25 | Notebooks | 746 | 172 | 23.06 |
| 26 | Men's / Unisex | 7700 | 1779 | 23.1 |
| 27 | Home/Shop by Brand/Google/ | 3234 | 748 | 23.13 |
| 28 | Lifestyle/Small Goods/ | 3951 | 923 | 23.36 |
| 29 | 2578 | 606 | 23.51 | |
| 30 | Home/Apparel/Kids/ | 2966 | 731 | 24.65 |
| 31 | Home/Apparel/Men's / Unisex/ | 13672 | 3379 | 24.71 |
| 32 | Women's | 3470 | 867 | 24.99 |
| 33 | Home/Apparel/Women's/ | 4778 | 1200 | 25.12 |
| 34 | Home/Stationery/ | 2237 | 603 | 26.96 |
| 35 | Stationery | 1110 | 307 | 27.66 |
| 36 | Shop by Brand | 436 | 121 | 27.75 |
| 37 | Lifestyle/Drinkware/ | 5382 | 1518 | 28.21 |
| 38 | Sale | 7887 | 2283 | 28.95 |
| 39 | Home/Sale/ | 9763 | 2839 | 29.08 |
| 40 | Home/Campus Collection/ | 3142 | 916 | 29.15 |
| 41 | Home/Apparel/Socks/ | 1018 | 310 | 30.45 |
| 42 | Home/Stationery/Notebooks/ | 2010 | 612 | 30.45 |
| 43 | Campus Collection | 1529 | 467 | 30.54 |
| 44 | Drinkware | 3361 | 1037 | 30.85 |
| 45 | Home/Shop by Brand/#IamRemarkable/ | 102 | 32 | 31.37 |
| 46 | Home/Stationery/Stickers/ | 1583 | 514 | 32.47 |
| 47 | Writing | 413 | 149 | 36.08 |
| 48 | Home/Apparel/Hats/ | 6226 | 2529 | 40.62 |
| 49 | Home/Stationery/Writing/ | 976 | 399 | 40.88 |
전체 결과
표본 수(view_sessions)가 충분한 카테고리 우선
Accessories/ : 106
- 너무 적음 (참고용)
Home/Apparel/Men's / Unisex/ : 13,672
- 매우 중요
극단값보다 표본 크고 전환율 차이 큰 카테고리 중심 해석
결과1
낮은 전환율 그룹 (상품력 약한 후보)
Bags / T-Shirts / YouTube Brand 계열
- Bags → 13.24%
- Men's T-Shirts → 12~16%
- YouTube Brand → 15.65%
해석
A. 비교 구매 강함
- 의류/가방은 디자인 비교
- 가격 민감도
B. 상세 정보 중요
- 사이즈
- 소재
- 디자인
C. 충동구매 낮음
결론
Apparel / Bags 계열은 고관여 + 비교 + 상세 설득 필요
결과2
높은 전환율 그룹 (상품력 강한 후보)
Sale / Stationery / Hats / Writing
- Sale → 28~29%
- Stationery → 27~40%
- Hats → 40.62%
- Writing → 36~40%
해석
A. 저관여(쉽게 담음)
B. 가격 부담 낮음
C. 할인/프로모션 효과 큼
특히 Sale → 28~29%으로 가격 민감도 강력
“가격/프로모션이 장바구니 전환에 매우 강한 영향”
통합 결론
Price Band: 비쌀수록 낮음
Sale: 할인일수록 높음
따라서 가격 경쟁력 가설 매우 강함
상품력 측면
Bags / Apparel 낮음
단순 가격뿐 아니라 상품 상세 설득 구조 필요
- 후기
- 사이즈 가이드
- 착용 이미지
- 비교 포인트
현재 가장 유력한 view_item → add_to_cart 병목
1순위 : 가격 경쟁력
2순위 : Apparel/Bags 상세 설득력
3순위 : 채널 기대치
액션
Apparel / Bags 개선
A.상세페이지 강화
- 소재
- 사이즈
- 후기
- 이미지
B.가격 할인 / 번들
C.베스트셀러/리뷰 강조
Sale / Stationery : 강점 상품군
→ 광고 예산 확대 가능
카테고리별 퍼널 분석 결과 Apparel / Bags 계열은 장바구니 전환율이 상대적으로 낮고 Sale / Stationery 계열은 높게 나타나 가격 경쟁력뿐 아니라 고관여 상품군에서의 상세 설득 구조가 주요 개선 포인트임을 확인했음
마케팅 전략
A.Sale 상품 랜딩
B.저관여 상품 첫 진입
C.리마케팅으로 Apparel 재공략
view_item → add_to_cart 문제 핵심 결론
“광고/검색 유입 → 상품 조회 → 고가/고관여 상품군에서 설득 실패”
장바구니 전환 저하는 단순 UX보다 가격 경쟁력과 Apparel/Bags 중심 고관여 상품군의 설득 구조 부족에서 발생할 가능성이 높음
