대조표를 어떻게 세워야 논의가 되나

숫자 두 개를 놓고 다투면 결론이 나지 않습니다. 세 열로 된 표를 먼저 만듭니다. 날짜, 어드민 결제완료 금액, GA4 구매 매출입니다. 여기에 필요하면 매체 전환 매출을 네 번째 열로 붙입니다.

표를 만들 때 결정할 것이 기간 기준입니다. 어드민은 주문일이나 결제일 기준으로 집계하고 GA4는 이벤트가 발생한 시점 기준으로 집계하므로, 자정 근처 주문과 결제 승인이 늦게 떨어진 주문이 다른 날짜로 갈립니다. 그리고 시점 차이가 있습니다. 실시간 보고서는 최근 약 30분 내 활동을 즉시에 가깝게 보여주지만, 표준 보고서는 처리 지연이 있어 당일 데이터가 완전히 반영되기까지 24~48시간이 걸릴 수 있습니다. 전환 지연 때문에 최근 며칠 데이터가 계속 채워지는 문제도 겹치므로, 실무 가이드는 리포팅 버퍼를 정해 일정 일수 이내 데이터로는 최종 판단을 하지 않도록 권하며 최소 48시간 지난 데이터로 보라는 권고가 통용됩니다. 이 두 가지만 정리해도 격차의 상당 부분이 설명되는 경우가 있습니다.

첫째 지점, 이벤트가 전자상거래 보고서 안에 들어와 있나

금액이 적게 잡히는 게 아니라 아예 비어 있다면 여기부터 봅니다. GA4 고객센터는 필수 매개변수가 누락되면 이벤트가 커스텀 이벤트로 처리돼 전자상거래 보고서에 표시되지 않는다고 설명합니다. 이벤트는 수집되고 있는데 매출 리포트에는 없는 상태가 만들어집니다.

구체적으로 확인할 값은 정해져 있습니다. 구글 개발자 문서의 이벤트 레퍼런스는 purchase의 필수 매개변수를 currency, value, transaction_id, items로 규정하고, value를 설정하는 경우 매출 지표가 정확히 계산되려면 currency가 필수라고 명시합니다. currency는 3자리 ISO 4217 코드라 KRW 형태여야 하고, value에 통화 기호나 쉼표가 섞이면 숫자로 읽히지 않습니다. items 배열 쪽은 문서마다 필수 범위 표기가 달라, 이벤트 레퍼런스는 item_id 또는 item_name 중 하나를 필수로 보고 고객센터 문서는 item_id·item_name·price·quantity를 필수로 안내합니다. 대조 목적이라면 네 값을 모두 채워두는 편이 뒤탈이 없습니다.

둘째 지점, 같은 주문을 몇 건으로 세고 있나

GA4 매출이 어드민보다 크다면 대개 이쪽입니다. 확인은 금액이 아니라 건수로 합니다. 어드민 주문 건수와 GA4 구매 이벤트 수를 같은 기간으로 놓고, 차이가 나는 날의 거래 ID를 뽑아 같은 값이 두 번 이상 있는지 봅니다. 전자상거래 구현 가이드는 transaction_id를 구매와 환불에 필수로 규정하므로, 이 값이 비어 있거나 매번 새로 생성되는 구조라면 중복 여부를 판별할 방법 자체가 없습니다.

집계 방식도 함께 봅니다. 주요 이벤트 카운팅 방법은 세션당 한 번과 이벤트당 한 번 두 가지이고, 세션당 한 번은 한 세션에서 같은 이벤트가 여러 번 발생해도 전환 1건으로만 집계합니다. 그래서 전환수는 정상인데 매출액만 부풀어 보이는 조합이 나올 수 있습니다. 전환수와 매출은 서로 다른 규칙으로 집계된다는 점을 대조표에 각주로 적어두면 다음 사람이 같은 자리에서 헤매지 않습니다.

셋째 지점, 두 숫자가 같은 범위를 담고 있나

태그가 완전히 정상인데도 금액이 갈리는 가장 흔한 이유입니다. 확인할 항목은 네 가지입니다.

배송비와 세금입니다. 전자상거래 구현 가이드에서 tax, shipping, coupon은 권장 항목으로 분류되며, 이 값을 value에 포함할지 별도 매개변수로만 보낼지는 구현하는 쪽이 정합니다. 어드민 매출이 배송비를 포함하는데 태그는 상품 금액만 보낸다면 격차는 매일 일정한 비율로 나타납니다. 쿠폰과 즉시 할인입니다. 할인 전 금액을 보내는지 결제 금액을 보내는지에 따라 갈립니다. 환불입니다. 전자상거래 이벤트에는 refund가 정의돼 있는데, 이 이벤트를 심지 않았다면 GA4 매출은 환불을 반영하지 않는 총액으로 남습니다. 부분 취소와 교환이 잦은 카테고리라면 이 한 가지로 월 단위 격차가 설명되기도 합니다. 통화 표기입니다. 값과 통화가 짝을 이뤄야 매출 지표가 계산됩니다.

격차가 매일 비슷한 비율이면 범위 차이, 특정일에만 튀면 중복이나 누락 쪽이라는 신호로 읽으면 원인 탐색이 빨라집니다.

넷째 지점, 리포트 처리 과정이 값을 가리고 있나

수집은 정상인데 화면에서 달라 보이는 경우가 있습니다. 보고서와 탐색 분석 제목 옆 아이콘이 데이터 품질을 나타내는데, 녹색 방패는 샘플링 없음, 노란색과 빨간색은 샘플링 적용, 주황색 방패는 개인정보 보호를 위한 임계값 처리 적용을 뜻합니다. 하루 500개를 넘는 고유값을 가진 측정기준은 별도 항목으로 묶여 표시될 수 있어, 상품 단위로 쪼개 볼 때 합계가 맞지 않는 원인이 됩니다.

임계값 처리는 구글 시그널스를 사용하는 속성에서 사용자 수가 적을 때 일부 값이 자동으로 숨겨지는 동작입니다. 보고 ID 설정을 기기 기반으로 바꾸면 시그널스 데이터를 배제해 이 문제를 우회할 수 있지만, 기기 간 중복 제거 정확도는 낮아지므로 맞바꾸는 선택입니다. 조회 기간도 봅니다. 이벤트 데이터 보관 기간은 2개월 또는 14개월 중 하나만 고를 수 있고 14개월이 최댓값이며, 이 설정은 표준 보고서에는 영향이 없고 탐색 분석에만 영향을 줍니다. 표준 보고서와 탐색 분석의 값이 다르게 나오는 상황이라면 이 차이를 먼저 확인합니다.

다섯째 지점, 두 사람이 같은 화면을 보고 있나

마지막은 사람 쪽입니다. GA4 속성 수준 역할은 관리자, 편집자, 마케팅 담당자, 분석가, 뷰어 다섯 단계로 나뉩니다. 여기에 더해 사용자 관리 화면에서 특정 사용자에게 비용 측정항목 없음이나 수익 측정항목 없음 제한을 걸 수 있어, 계정 접근은 있지만 매출 데이터는 가려진 상태가 만들어집니다. 대행사와 내부 담당자가 서로 다른 숫자를 말하고 있다면 이 설정을 먼저 확인하는 편이 빠릅니다.

보고서 종류도 맞춥니다. 트래픽 획득 보고서는 세션 기준으로 집계되며 session_start가 발생한 시점의 유입 경로를 보여주고, 사용자 획득 보고서는 사용자를 처음 데려온 경로를 기준으로 합니다. 매체별 매출을 비교하는 자리라면 어느 보고서를 열었는지가 숫자를 바꿉니다.