지금 읽는 곳view_item은 어떤 순간에 발생해야 하나목차
STEP 2 중급·실무 › 2-4. 데이터 분석·퍼포먼스 테크 › 과목 81 › 레슨 02
전자상거래(Ecommerce) 3단 퍼널 이벤트 설계: view_item(상품 조회), add_to_cart(장바구니), purchase(구매 완료) 파라미터 매칭
세 이벤트의 items 배열 파라미터가 서로 어긋나면 퍼널 보고서에서 상품이 갈라져 보이는 사고가 납니다.
핵심요약
- 이커머스 퍼널의 핵심 3단계는 view_item(상품조회) → add_to_cart(장바구니) → purchase(구매)다
- 세 이벤트 모두 items 배열에 item_id, item_name을 동일한 값으로 실어야 퍼널이 이어진다
- purchase는 items 외에 transaction_id, value, currency도 필수로 요구한다
- item_id·item_name 표기가 단계마다 다르면 GA4가 서로 다른 상품으로 인식해 퍼널이 끊긴다
- 퍼널 시각화 보고서로 각 단계 이탈률을 확인해 랜딩·장바구니·결제 UX를 점검한다
view_item은 어떤 순간에 발생해야 하나
view_item은 사용자가 상품 상세 페이지를 열람했을 때 발생하는 이벤트입니다. items 배열 안에 item_id, item_name, price, item_category 같은 매개변수를 담아 전송하는데, 이 시점에 전송하는 item_id 값이 이후 add_to_cart·purchase 단계에서도 정확히 같은 값으로 반복되어야 합니다. 페이지 렌더링이 끝난 시점에 한 번만 발생하도록 트리거를 짜야 하며, 새로고침이나 뒤로가기로 같은 페이지를 다시 열 때마다 중복 집계되지 않도록 주의가 필요합니다.
add_to_cart는 view_item과 무엇이 다른가
add_to_cart는 사용자가 실제로 장바구니에 상품을 담는 행동(버튼 클릭)에서 발생해야 하며, 장바구니 페이지를 단순히 열람하는 view_cart와는 구분됩니다. 필수 매개변수 구조는 view_item·purchase와 동일하게 items 배열의 item_id, item_name을 포함합니다. 같은 상품을 여러 번 담으면 매번 이벤트가 기록되므로, 수량 변경 로직과 중복 담기 로직을 구분해서 설계해야 나중에 "장바구니 담기 수"가 실제 행동 수보다 부풀어 보이는 일을 막을 수 있습니다.
purchase는 어떤 매개변수까지 요구하나
purchase 이벤트는 items 배열 안의 item_id, item_name, price, quantity 외에 이벤트 레벨에서 transaction_id(주문번호), value(총 결제금액), currency(통화)를 추가로 요구합니다. 이 매개변수 중 하나라도 누락되면 이벤트가 커스텀 이벤트로 분류되어 전자상거래 보고서에 반영되지 않을 수 있습니다. 특히 transaction_id는 같은 주문이 두 번 집계되는 것을 막아주는 중복 방지 키 역할을 하므로, 결제 완료 페이지가 새로고침돼도 같은 transaction_id가 재전송되지 않도록 서버 로직에서 관리해야 합니다.
세 이벤트의 파라미터가 어긋나면 왜 문제가 되나
GA4는 item_id와 item_name을 기준으로 상품을 하나의 개체로 묶어 퍼널을 구성합니다. view_item 단계에서는 "무선 이어폰 화이트"로 전송했는데 purchase 단계에서는 "무선이어폰-화이트"처럼 표기가 미세하게 다르면, GA4는 이를 서로 다른 상품으로 인식해 퍼널이 끊긴 것처럼 보입니다. 결과적으로 조회는 많은데 구매 전환이 거의 없는 상품으로 잘못 보고되어, 실제로는 정상 판매되는 상품의 마케팅 예산을 줄이는 오판으로 이어질 수 있습니다.
이런 문제를 피하려면 상품 마스터 데이터(상품명, SKU)를 하나의 소스에서 관리하고, 프론트엔드 개발자와 함께 데이터 레이어에 넘기는 값이 항상 그 소스와 일치하도록 검증 규칙을 만들어두는 것이 안전합니다.
퍼널 보고서는 어떻게 읽어야 하나
세 이벤트가 정확히 매칭되면 GA4 탐색 분석의 깔때기 탐색 분석으로 view_item → add_to_cart → purchase 각 단계의 이탈률을 확인할 수 있습니다. 조회 대비 장바구니 담기 비율이 낮다면 상품 상세 페이지의 정보나 가격 노출 방식을 점검할 지점이고, 장바구니 담기 대비 구매 비율이 낮다면 결제 단계의 UX나 배송비·결제수단 노출 방식을 먼저 살펴봐야 합니다.
대량 상품몰에서는 무엇을 추가로 점검해야 하나
상품 수가 수천, 수만 개에 이르는 몰이라면 item_id를 상품관리시스템(PIM)이나 자사몰 관리자의 상품 코드와 동일하게 자동 매핑하는 구조를 만들어야 합니다. 담당자가 상품을 등록·수정할 때마다 데이터 레이어 값을 수기로 관리하면 오탈자나 누락이 누적되므로, 상품 데이터베이스에서 직접 값을 끌어와 페이지 렌더링 시 자동으로 채워지도록 개발 단계에서 설계하는 것이 안전합니다. 신상품 등록 직후에는 반드시 GA4 DebugView로 view_item 이벤트의 매개변수 값이 실제 상품 정보와 일치하는지 표본 점검을 거치는 것이 좋습니다.
카테고리·리스트 페이지 이벤트는 어떻게 연결하나
퍼널을 view_item부터가 아니라 상품 목록 페이지(view_item_list)부터 확장하면, 리스트에서 어떤 상품이 클릭돼 상세페이지로 이어지는지(select_item)까지 포함한 더 넓은 퍼널을 볼 수 있습니다. view_item_list와 select_item도 items 배열 규격을 공유하므로, item_id·item_name을 앞서 정한 매핑 기준과 동일하게 유지하면 리스트 노출부터 구매까지 하나의 흐름으로 이어 볼 수 있습니다. 이 확장 퍼널을 만들어두면 "노출은 많은데 클릭이 적은 상품"과 "클릭은 많은데 구매가 적은 상품"을 구분해서 마케팅 전략을 다르게 세울 수 있습니다.