GA4 전자상거래 측정은 결제 완료 화면에 이벤트 하나를 붙이는 일로 끝나지 않는다. 실제 주문번호와 purchase 이벤트가 일치하고, 금액·통화·상품 수량이 같은 기준으로 전송되며, 취소·부분환불도 같은 거래에 연결돼야 한다. 이 글은 2026년 9월 28일 Google 공식 문서를 확인해 소상공인이 개발자에게 전달할 측정 사전과 주문 장부 대조 절차를 직접 만들 수 있도록 정리했다.
핵심 요약: 보고서 매출보다 주문번호 일치를 먼저 본다
첫 검수 기준은 ‘GA4 매출이 커 보이는가’가 아니라 ‘장부 주문 1건이 고유 거래 1건과 대응하는가’다. 측정 사전의 열을 주문 상태, 이벤트명, transaction_id, value, currency, item_id, quantity, 발생 시점, 환불 방식으로 둔다. 결제 시도나 주문서 작성은 purchase로 세지 않고 결제 승인 뒤 완료 신호만 보낸다. 이벤트 수보다 주문 1건의 정확한 연결이 우선이다.
주문 여정에 필요한 이벤트만 연결한다
상품 목록, 상세, 장바구니, 결제 시작, 구매는 각각 view_item_list, view_item, add_to_cart, begin_checkout, purchase로 구분한다. 모든 이벤트를 한꺼번에 구현할 필요는 없다. 질문이 ‘실제 주문과 온라인 매출이 맞는가’라면 purchase와 refund부터 안정화하고, 이탈 분석이 필요할 때 앞단을 추가한다. add_to_basket 같은 임의 이름은 권장 전자상거래 이벤트로 처리되지 않을 수 있으므로 공식 이름과 철자를 쓴다.
purchase 금액과 상품 배열의 계산 기준을 고정한다
purchase에는 고유 transaction_id, 주문 합계 value, KRW 같은 currency, item_id 또는 item_name을 담은 items 배열을 연결한다. value는 가격×수량에서 상품 할인을 뺀 합계로 두고 세금·배송비는 별도 관리하는 식으로 규칙을 정한다. 18,000원 상품 2개에 할인 4,000원이면 상품 기준 value는 32,000원이다. 장부가 배송비 포함 총결제액이라면 비교 범위를 대조표에 명시한다.
transaction_id는 주문마다 유일하고 개인정보 없이 만든다
같은 사용자의 동일 transaction_id가 반복되면 웹 데이터 스트림에서 구매 중복이 제거된다. 완료 페이지 새로고침으로 purchase가 다시 실행돼도 주문번호는 같아야 한다. 모든 주문에 TEST-001 같은 고정값을 보내면 실제 구매까지 과소 집계되고, 빈 문자열은 빈 ID 이벤트가 함께 중복 제거될 수 있다. 고객 이름·이메일·전화번호 대신 비식별 주문키를 동적으로 전달한다.
전체환불과 부분환불을 같은 거래에 연결한다
취소·환불은 기존 주문과 같은 transaction_id로 refund를 보낸다. 전체환불은 거래 금액을, 부분환불은 item_id와 quantity를 포함해 환불 상품과 수량을 남긴다. 머그 2개 중 1개만 환불됐다면 원구매를 지우거나 음수 purchase를 만들지 않고 refund 수량 1로 연결한다. PG 관리자 환불이 GA4에 자동 반영된다고 가정하지 말고 쇼핑몰·태그·서버 연동 여부를 확인한다.
DebugView에서 이벤트와 상품 항목을 함께 확인한다
모바일·PC에서 테스트 주문을 만들고 DebugView에서 transaction_id, value, currency와 items 탭을 본다. 필수 매개변수가 빠지면 이벤트는 보여도 전자상거래 보고서가 채워지지 않을 수 있다. Google 태그와 태그 관리자를 같은 페이지에 함께 설치하면 이중 집계가 생길 수 있으므로 한 방식을 사용한다. 테스트 결제는 즉시 취소하고 내부 주문임을 장부에 표시한다.
20건 표본으로 수집률과 금액 차이를 계산한다
정상 주문 20건을 GA4 거래 ID와 대조한다. 고유 ID와 금액이 모두 맞는 주문이 18건이면 완전 일치율은 18÷20×100=90%다. 장부 상품매출이 1,250,000원이고 GA4 value 합계가 1,310,000원이면 차이율은 60,000÷1,250,000×100=4.8%다. 이는 내부 진단값이다. 누락·중복·배송비·시간대·환불을 한 항목씩 확인하고 여러 태그를 동시에 바꾸지 않는다.
60분 대조표와 공개 중단 조건
첫 10분은 주문 상태와 이벤트 정의를 적고, 다음 10분은 금액·통화·상품 배열 계산식을 고정한다. 이어 10분은 주문키의 유일성과 개인정보 제외를 확인하고, 15분은 DebugView에서 구매·전체환불·부분환불을 시험한다. 마지막 15분은 20건 표본의 완전 일치율과 금액 차이율을 계산한다. 고정 또는 빈 거래 ID, 결제 전 purchase, 고객정보 포함, 통화 누락, 상품 수량 불일치, 태그 이중 설치, 부분환불 연결 실패, 표본 불일치 원인 미확인 중 하나라도 있으면 운영 반영을 중단한다. 작성·검수는 윈윈 비즈니스 인사이트 편집부가 맡았으며 측정 정확도·매출·검색순위·애드센스 승인을 보장하지 않는다.
