전자상거래 리포트 100% 이해하기
전자상거래 이벤트를 잘 보내 두면, GA4가 그것을 가지고 두 갈래의 리포트를 만들어 줍니다 — ① GA4가 미리 만들어 둔 표준 전자상거래 리포트(‘수익 창출’ 카테고리), ② 우리가 자유롭게 조합하는 맞춤 리포트(탐색). 이 글은 두 갈래를 각각 어떻게 다루는지, 그리고 ‘어느 측정기준·측정항목이 어떤 매개변수에서 채워지는지’의 전체 사전까지 정리합니다. 일상 모니터링은 표준 리포트로 끝내고, 표준 리포트로 답이 안 나오는 ‘교차 질문’이 생기면 탐색으로 — 이 큰 그림을 가지고 가시면 됩니다.
① GA4 전자상거래 표준 리포트 정복하기
표준 리포트는 우리가 손대지 않아도 GA4가 미리 만들어 놓은 ‘기성품’ 리포트입니다. 좌측 메뉴 보고서 → 수익 창출 카테고리 아래에 모여 있고, 그중 가장 핵심은 ‘전자상거래 구매’ 리포트입니다.
이 한 화면이 표준 리포트의 거의 전부라고 봐도 됩니다 — 시간 경과 차트 + 표의 조합. 표의 왼쪽 첫 열은 ‘측정기준(Dimension)’이고, 그 옆 숫자 열들은 ‘측정항목(Metric)’입니다. 측정기준 = 데이터를 ‘쪼개서 보는 축’(예: 상품 이름·카테고리·브랜드), 측정항목 = ‘재는 숫자’(예: 조회·장바구니·구매·매출).
표의 첫 열을 클릭하면 측정기준 드롭다운이 펼쳐집니다. 같은 데이터를 ‘이름’ 단위로 볼 수도, ‘상품 ID’ 단위로 볼 수도, ‘카테고리 1~5단계’ 단위로 볼 수도 있습니다.
‘항목 이름’ 측정기준 — 가장 기본
드롭다운의 가장 위에 있고, 표 첫 열의 기본값입니다. GA4 화면상 ‘항목 이름’으로 보이지만 실제로는 items 배열 안의 item_name 매개변수 값을 그대로 가져옵니다.
‘항목 이름’이 깨끗하게 한 줄로 나오려면 — 같은 상품에 대해 view_item·add_to_cart·purchase 어디서나 완전히 같은 item_name 문자열이 들어와야 합니다. 띄어쓰기 한 칸·맞춤법 한 글자라도 다르면 GA4는 다른 상품으로 인식해 두 줄로 흩어집니다.
items 배열 안 각 상품 객체의 item_name이 GA4 ‘항목 이름’ 측정기준에 그대로 채워집니다. view_item·add_to_cart·purchase에서 같은 문자열로 일치시키는 것이 가장 중요.‘항목 ID’ 측정기준 — 옵션이 많거나 이름이 자주 바뀔 때
의류처럼 같은 이름의 상품이라도 색상·사이즈마다 SKU가 다른 사이트라면, item_id를 SKU로 두고 ‘항목 ID’ 측정기준으로 보는 편이 정확합니다. ‘항목 이름’으로는 같은 줄로 묶이지만, ‘항목 ID’로 보면 색상·사이즈별 SKU 단위로 풀려 나옵니다.
item_id는 ‘변하지 않는 SKU·상품 코드’로 두는 것이 안전합니다. 시즌마다 item_name이 바뀌어도 item_id가 고정되어 있으면 ‘항목 ID’ 측정기준으로 같은 상품의 시즌 간 추이를 한 줄로 묶어 볼 수 있습니다.흔히 쓰는 방법은 상품 페이지의 메타 태그(예: <meta property="product:product_id" content="223">)에서 product_id를 가져와 그대로 item_id로 보내는 것입니다. 그러면 GA4 ‘항목 ID’ 측정기준에 ‘142·330·226·223’ 같은 ID 값으로 나열되어, SKU·상품 코드 단위 분석이 가능해집니다.
product_id를 그대로 item_id로 보내 두면 — 시즌마다 item_name이 바뀌어도 같은 상품의 추이를 한 줄로 묶어 볼 수 있습니다.‘항목 카테고리’ 측정기준 — 1~5단계 계층
‘의류 ▷ 남성 ▷ 여름 ▷ 셔츠 ▷ 티셔츠’ 같은 다단계 카테고리를 GA4에 전달하려면, items 배열 안 각 상품 객체에 item_category·item_category2·item_category3·item_category4·item_category5를 차례로 추가합니다. 1단계만 보낼지, 5단계까지 보낼지는 사이트의 카테고리 깊이에 따라 자유롭게.
‘항목 대안(item_variant)’ — 색상·사이즈 옵션
같은 상품이라도 색상·사이즈처럼 ‘옵션’ 단위로 분석하려면 item_variant를 보냅니다. GA4에서 ‘항목 대안’ 측정기준으로 ‘XS·S·M·L 중 가장 인기 있는 사이즈는?’, ‘블랙·그레이·네이비 중 어느 색이 가장 잘 팔리나?’ 같은 분석이 가능합니다.
‘상품 브랜드(item_brand)’ — 여러 브랜드를 함께 파는 유통사용
한 사이트에서 여러 브랜드 상품을 함께 판매하는 유통사(편집숍·종합몰)라면 item_brand를 보내어 ‘상품 브랜드’ 측정기준으로 ‘어느 브랜드가 가장 많이 팔리나’를 분석할 수 있습니다.
item_brand를 보내면 GA4에서 브랜드별 조회·장바구니·구매·수익을 비교할 수 있습니다. 자사 브랜드만 파는 사이트라면 굳이 보내지 않아도 됩니다.이렇게 item_brand·item_category·item_variant를 함께 보내면, 한 GA4 표에서 측정기준만 바꿔 다양한 각도로 매출을 분석할 수 있습니다.
| 항목 이름 | 조회된 상품 | 장바구니에 추가 | 구매한 상품 | 상품 수익 |
|---|---|---|---|---|
| Super G Timbuk2 Recycled Backpack | 3,062 | 224 | 38 | $4,100.00 |
| Google Campus Bike | 1,642 | 125 | 18 | $836.00 |
| Chrome Dino Recycled Backpack | 1,062 | 61 | 7 | $330.60 |
| Google Yosemite Windbreaker | 879 | 233 | 37 | $1,915.20 |
| Google Black Eco Zip Hoodie | 832 | 94 | 17 | $979.80 |
| For Everyone Google Tee | 789 | 82 | 13 | $520.00 |
② 표준 리포트별 측정기준·측정항목 목록
GA4 수익 창출 카테고리의 세 가지 핵심 표준 리포트 — 구매·프로모션·주문/쿠폰 — 별로 어떤 측정기준·측정항목이 들어가는지 정리합니다. ‘이 측정기준이 어디서 채워지는지’는 표준 리포트뿐만 아니라 다음 절의 탐색에서도 그대로 적용됩니다.
2-1. 전자상거래 구매 리포트
| 측정기준 | 채워지는 방식 |
|---|---|
| 상품 브랜드 | 전자상거래 이벤트의 상품 수준 item_brand 매개변수에서 |
| 항목 카테고리 | 상품 수준 item_category에서 (예: 의류/남성/여름/셔츠/티셔츠에서 ‘의류’) |
| 상품 카테고리 2 | 상품 수준 item_category2에서 (예: ‘남성’) |
| 상품 카테고리 3 | 상품 수준 item_category3에서 (예: ‘여름’) |
| 상품 카테고리 4 | 상품 수준 item_category4에서 (예: ‘셔츠’) |
| 상품 카테고리 5 | 상품 수준 item_category5에서 (예: ‘티셔츠’) |
| 항목 ID | 상품 수준 item_id에서 (예: SKU_12345) |
| 항목 이름 | 상품 수준 item_name에서 |
| 측정항목 | 채워지는 방식 |
|---|---|
| 상품 수익 | 상품에서만 발생한 총수익(세금·배송비 제외). items 배열의 price × quantity 합. |
| 장바구니에 추가된 상품 수 | add_to_cart 이벤트의 items 배열에서 |
| 구매한 상품 수 | purchase 이벤트의 items 배열에서 |
| 조회한 상품 수 | view_item 이벤트의 items 배열에서 |
2-2. 전자상거래 프로모션 리포트
| 측정기준 | 채워지는 방식 |
|---|---|
| 상품 프로모션 광고 소재 이름 | 상품 수준 creative_name 매개변수를 view_promotion·select_promotion 이벤트와 함께 전송 |
| 상품 프로모션 ID | 상품 수준 promotion_id를 동일 이벤트와 함께 전송 |
| 상품 프로모션 이름 | 상품 수준 promotion_name을 동일 이벤트와 함께 전송 |
| 측정항목 | 채워지는 방식 |
|---|---|
| 상품 프로모션 클릭률 | 프로모션을 선택한 사용자 수 ÷ 동일 프로모션을 조회한 사용자 수 |
| 상품 수익 | items 배열의 price × quantity |
| 장바구니에 추가된 상품 수 | add_to_cart 이벤트의 items 배열에서 |
| 결제된 상품 수 | begin_checkout 이벤트의 items 배열에서 |
| 프로모션에서 클릭된 상품 수 | select_promotion 이벤트의 items 배열에서 |
| 구매한 상품 수 | purchase 이벤트의 items 배열에서 |
| 프로모션에서 조회된 상품 수 | view_promotion 이벤트의 items 배열에서 |
2-3. 전자상거래 주문/쿠폰 리포트
| 측정기준 | 채워지는 방식 |
|---|---|
| 주문 쿠폰 | (이벤트 수준) coupon 매개변수를 온라인 판매 이벤트와 함께 전송 |
| 거래 ID | (이벤트 수준) transaction_id 매개변수를 온라인 판매 이벤트와 함께 전송 |
| 측정항목 | 채워지는 방식 |
|---|---|
| 전자상거래 구매 수량 | 이벤트 수준에서 quantity 매개변수를 전송하여 채움 |
| 전자상거래 구매 건수 | purchase 이벤트 발생 횟수 |
| 구매 수익 | purchase·in_app_purchase·app_store_subscription_renew·app_store_subscription_convert 이벤트의 합계 − refund |
③ GA4 전자상거래 맞춤 리포트 정복하기
표준 리포트는 ‘이미 정해진 측정기준·측정항목 조합’이라 자유롭게 바꿀 수 없습니다 — 일상 모니터링용으로는 충분하지만, ‘교차 분석’이 필요한 순간이 옵니다. 예: ‘서울에서 들어온 유료 트래픽 사용자 중 가장 많이 산 카테고리는?’, ‘여름 프로모션 클릭한 사용자만의 평균 객단가는?’. 이런 질문에 답하려면 우리가 직접 행·열·세그먼트를 조합해 표를 그려야 하고, 그 도구가 GA4의 탐색(Explore)입니다.
자유 형식 화면에 들어가면 세 패널이 보입니다 — 좌측의 변수 패널, 중앙의 설정 패널, 우측의 결과 영역. 변수 패널에서 측정기준·측정항목을 ‘선반에 꺼내 놓고’, 설정 패널에서 행·열·세그먼트에 끌어다 끼우면 결과 영역에 표가 그려집니다.
+로 새 항목을 꺼내 두고 → 중앙 ‘설정’ 패널의 행/열/값에 드래그해 끼우면 → 오른쪽 결과 영역에 표가 그려집니다. 이 한 줄이 탐색의 전부.‘측정기준’ 옆 + 버튼을 누르면 측정기준 선택 모달이 펼쳐집니다. 카테고리별로 정리되어 있어 ‘이벤트·인구통계·사용자·기여’ 등 묶음에서 골라 추가하거나, 검색창에 ‘item_name’·‘브랜드’ 같은 키워드로 바로 찾을 수도 있습니다. 전자상거래 관련 측정기준은 대부분 ‘이벤트’ 카테고리 아래에 모여 있습니다.
‘측정항목’ 옆 + 버튼도 같은 방식 — 모달이 펼쳐지면 카테고리(이벤트·사용자·기여·기타…)에서 골라 변수 패널에 추가합니다. 전자상거래 관련 측정항목은 ‘이벤트’ 카테고리 아래 모여 있고, 일부(‘구매자당 거래 수’ 등)는 ‘사용자’ 카테고리에 있습니다.
④ 맞춤 리포트 — 전자상거래 관련 측정기준 전체 목록
탐색 변수 패널에서 골라 쓸 수 있는 전자상거래 관련 측정기준입니다. ‘수준’ 컬럼이 이벤트면 이벤트 수준 매개변수, 아이템이면 items 배열 안에 들어가야 합니다(이벤트 수준 vs 아이템 수준의 자리 차이는 ‘전자상거래 이벤트를 이해하기 위한 프로그래밍 지식’에서 자세히).
| GA4 표시 이름 | 필수 여부 | 수준 | 매개변수 / items Key | 예시 값 |
|---|---|---|---|---|
| 거래 ID | 필수 | 이벤트 | transaction_id | 20240111112345678 |
| 배송등급 | 필요 시 | 이벤트 | shipping_tier | 일반 배송, 특송, 항공 배송 등 |
| 주문 쿠폰 | 필요 시 | 이벤트 | coupon | 신규회원 15% 쿠폰 (3만원 이상) |
| 통화 | 필수 | 이벤트 | currency | KRW, USD |
| 항목 이름 | 필수 | 아이템 | item_name | 허들러스 청바지 |
| 항목 ID | 필수 | 아이템 | item_id | SKU_12345 or 1234 |
| 항목 카테고리 | 필요 시 | 아이템 | item_category | 의류 |
| 상품 카테고리 2 | 필요 시 | 아이템 | item_category2 | 남성 |
| 상품 카테고리 3 | 필요 시 | 아이템 | item_category3 | 여름 |
| 상품 카테고리 4 | 필요 시 | 아이템 | item_category4 | 셔츠 |
| 상품 카테고리 5 | 필요 시 | 아이템 | item_category5 | 티셔츠 |
| 상품 쿠폰 | 필요 시 | 아이템 | coupon (아이템 수준) | 신규회원 15% 쿠폰 |
| 항목 대안 | 필요 시 | 아이템 | item_variant | XS·S·M·L / 빨간색·파란색·녹색·검은색 |
| 항목 연계 | 거의 X | 아이템 | affiliation | 허들러스 (제휴사·공급업체) |
| 상품 프로모션 ID | 거의 X | 이벤트 / 아이템 | promotion_id | PROMO_12345 or 1234 |
| 상품 프로모션 이름 | 필요 시 | 이벤트 / 아이템 | promotion_name | 여름 프로모션 |
| 상품 프로모션 광고 소재 이름 | 필요 시 | 이벤트 / 아이템 | creative_name | 여름 할인 혜택 |
| 상품 프로모션 광고 소재 슬롯 | 거의 X | 이벤트 / 아이템 | creative_slot | featured_app_1 |
| 상품 목록 이름 | 필요 시 | 이벤트 / 아이템 | item_list_name | 관련 상품, BEST, New Arrival |
| 상품 목록 ID | 거의 X | 이벤트 / 아이템 | item_list_id | LIST_1234 or 1234 |
| 상품 목록 위치 | 필요 시 | 아이템 | index | 1, 2, 3, 4 |
| 상품 브랜드 | 필요 시 | 아이템 | item_brand | 허들러스 |
| 상품 위치 ID | 거의 X | 아이템 | location_id | ChIJIQBpAG2ahYAR_6128GcTUEo (Google Place ID) |
| 현지 상품 가격 | 거의 X | 아이템 | price + currency 연결 | ₩49,900 |
⑤ 맞춤 리포트 — 전자상거래 관련 측정항목 전체 목록
측정기준이 ‘쪼개는 축’이라면, 측정항목은 ‘재는 숫자’입니다. 변수 패널의 ‘측정항목’ +에서 추가합니다. 이벤트 수준 측정항목(거래 건수·구매 수익 등)은 ‘이벤트 자체의 카운트와 합계’로 채워지고, 아이템 수준 측정항목(조회된 상품 수·상품 수익 등)은 ‘items 배열 안 상품 개수와 합계’로 채워집니다 — 같은 view_item 이벤트에서도 두 수준이 다르게 잡힙니다.
| GA4 표시 이름 | 필수 여부 | 수준 | 매개변수 / items Key | 예시 값 |
|---|---|---|---|---|
| 장바구니에 추가 | 필수 | 이벤트 | add_to_cart 이벤트 발생 횟수 | 1, 2, 3, 4, 5 |
| 결제 | 필수 | 이벤트 | begin_checkout 이벤트 발생 횟수 | 1, 2, 3, 4, 5 |
| 전자상거래 상품 수량 | 필수 | 이벤트 | quantity 매개변수의 합 (예: 티셔츠 1+2 = 3) | 1, 2, 3 |
| 총 구매 수익 | 필수 | 이벤트 | purchase·in_app_purchase·구독 갱신·전환 이벤트의 value 합 | 35,000 |
| 상품 목록 클릭 이벤트 | 필요 시 | 이벤트 | select_item 이벤트 발생 횟수 | 1, 2, 3 |
| 상품 목록 조회 이벤트 | 필요 시 | 이벤트 | view_item_list 이벤트 발생 횟수 | 1, 2, 3 |
| 상품 조회 이벤트 | 필요 시 | 이벤트 | view_item 이벤트 발생 횟수 | 1, 2, 3 |
| 프로모션 클릭수 | 필요 시 | 이벤트 | select_promotion 이벤트 발생 횟수 | 1, 2, 3 |
| 프로모션 조회수 | 필요 시 | 이벤트 | view_promotion 이벤트 발생 횟수 | 1, 2, 3 |
| 구매 수익 | 필수 | 이벤트 | (purchase·구독 등의 value 합) − (refund의 value) | 35,000 |
| 구매 | 필수 | 이벤트 | purchase 이벤트 발생 횟수 (웹+앱) | 1, 2, 3 |
| 수량 | 거의 X | 이벤트 | 이벤트 수준 quantity (없으면 1로 자동) | 1, 2, 3 |
| 환불 금액 | 필수 | 이벤트 | refund·app_store_refund의 value 합 | 35,000 |
| 환불 | 필수 | 이벤트 | refund 이벤트 발생 횟수 | 1, 2, 3 |
| 배송비 | 필요 시 | 이벤트 | purchase의 shipping 매개변수 값 | 2,000 |
| 세액 | 거의 X | 이벤트 | purchase의 tax 매개변수 값 | 200 |
| 거래 | 필수 | 이벤트 | purchase 이벤트 발생 횟수 (웹 전용) | 1, 2, 3 |
| 구매자당 거래 수 | 필수 | 이벤트 | purchase 횟수 ÷ 유저 수 | 1.2, 1.3 |
| 총 항목 수익 | 필수 | 아이템 | purchase 이벤트의 sum(price × quantity) | 35,000 |
| 상품 할인 금액 | 필요 시 | 아이템 | 아이템 수준 discount × quantity | 3,000 |
| 상품 프로모션 클릭률 | 필요 시 | 아이템 | select_promotion 수 ÷ view_promotion 수 | 3.50% |
| 상품 수량 | 필수 | 아이템 | 아이템 수준 quantity 합 | 1, 2, 3 |
| 상품 환불 금액 | 필요 시 | 아이템 | refund의 value 합 (아이템 기준) | 35,000 |
| 상품 수익 | 필수 | 아이템 | (price × quantity) − 환불 | 33,000 |
| 장바구니에 추가된 상품 수 | 필수 | 아이템 | add_to_cart 이벤트 수 | 1, 2, 3 |
| 결제된 상품 수 | 필수 | 아이템 | begin_checkout 이벤트 수 | 1, 2, 3 |
| 목록에서 클릭된 상품 수 | 필요 시 | 아이템 | select_item 이벤트 수 | 1, 2, 3 |
| 프로모션에서 클릭된 상품 수 | 필요 시 | 아이템 | select_promotion 이벤트 수 | 1, 2, 3 |
| 구매한 상품 수 | 필수 | 아이템 | purchase 이벤트 수 | 1, 2, 3 |
| 조회된 상품 수 | 필요 시 | 아이템 | view_item 이벤트 수 | 1, 2, 3 |
| 목록에서 조회된 상품 수 | 필요 시 | 아이템 | view_item_list 이벤트 수 | 1, 2, 3 |
| 프로모션에서 조회된 상품 수 | 필요 시 | 아이템 | view_promotion 이벤트 수 | 1, 2, 3 |
자주 묻는 질문
표준 리포트로 충분한데 굳이 탐색을 써야 하나요?
‘일상 모니터링’은 표준 리포트로 충분합니다. 탐색이 빛나는 순간은 ‘교차 분석’이 필요할 때입니다 — 예: ‘서울에서 들어온 유료 트래픽 사용자가 가장 많이 산 카테고리’, ‘여름 프로모션을 클릭한 사용자만의 평균 객단가’. 표준 리포트로 답이 안 나오는 질문이 생기면 그때 탐색으로.
‘구매 수익’과 ‘총 구매 수익’과 ‘상품 수익’ — 셋이 다른가요?
- 총 구매 수익 =
purchase·구독 등의value합 (환불 빼지 않음). - 구매 수익 = 총 구매 수익 −
refund의value(실현된 매출). - 상품 수익 = items의
price × quantity− 환불 (상품 단위 매출, 세금·배송비 제외).
일반적으로 ‘우리가 정말 번 돈’은 구매 수익이 가장 가깝습니다.
‘거래’와 ‘구매’가 둘 다 있는데 뭐가 다른가요?
거래는 purchase 이벤트의 ‘웹 전용’ 횟수, 구매는 ‘웹 + 앱’ 합계입니다. 앱이 있는 광고주는 두 측정항목이 다른 값으로 잡힙니다. 앱이 없는 사이트는 거의 같은 값으로 보입니다.
‘조회된 상품 수’ vs ‘상품 조회 이벤트’ — 둘 다 view_item 관련인데 뭐가 다른가요?
조회된 상품 수는 ‘items 배열 안 상품 개수’ 기준(아이템 수준), 상품 조회 이벤트는 ‘view_item 이벤트 발생 횟수’ 기준(이벤트 수준)입니다. 한 번의 view_item에 items가 1개씩만 있으면 두 값이 같지만, 묶음 상품처럼 한 페이지에서 여러 상품이 함께 노출되는 경우 ‘조회된 상품 수’가 더 큽니다.
맞춤 측정기준 등록은 안 해도 표준 측정기준은 다 보이나요?
네 — 위 표의 전자상거래 표준 측정기준·측정항목은 사전 정의되어 있어 등록 없이 바로 사용할 수 있습니다. ‘이름’을 새로 만든 매개변수(예: shop_floor, store_grade 같은 사내 매개변수)만 ‘맞춤 측정기준 등록’이 필요합니다.
측정기준에 ‘이벤트 / 아이템’ 둘 다 표시된 항목(예: 프로모션)은 어디에 보내나요?
이벤트 수준으로도, items 배열 안 아이템 수준으로도 모두 받습니다. 분석 목적에 따라 고릅니다 — 프로모션 전체를 ‘이벤트 1건’ 단위로 보고 싶다면 이벤트 수준, 프로모션 안에 들어 있는 ‘각 상품별 프로모션 효과’를 보고 싶다면 아이템 수준. 일반적으로는 둘 다 보내 두는 게 분석 자유도가 큽니다.
왜 item_id를 ‘변하지 않는 SKU·상품 코드’로 두라는 건가요?
item_name은 시즌·마케팅 이슈로 자주 바뀝니다(‘여름 한정 청바지’ → ‘청바지 베이직’ 등). 이름이 바뀌면 GA4 리포트에서 두 줄로 분리되어 ‘같은 상품의 시즌 간 매출 추이’를 보기 어렵습니다. item_id를 변하지 않는 SKU로 두면 ‘항목 ID’ 측정기준으로는 한 상품으로 묶어 볼 수 있습니다.
탐색 표를 다른 멤버와 공유할 수 있나요?
네 — 자유 형식 화면 우상단의 공유 아이콘으로 같은 GA4 속성 권한이 있는 멤버에게 ‘읽기 전용 공유’를 할 수 있습니다. 또한 결과 표를 CSV로 내보내거나, Looker Studio에 연결해 정기 보고서로 만들어 둘 수도 있습니다.
