왜 두 숫자는 원래도 완전히 같을 수 없나

GA4는 브라우저·앱에서 발생하는 클라이언트 사이드 이벤트를 집계하는 반면, 어드민 결제 데이터는 서버에 실제로 기록된 주문을 기준으로 합니다. 광고 차단 프로그램, 쿠키 동의 거부, 네트워크 오류로 태그가 전송되지 못하는 경우가 항상 일정 비율 존재하기 때문에 두 수치 사이에는 자연스러운 격차가 있습니다. 다만 이 격차가 20% 이상으로 크게 벌어진다면 우연이 아니라 구조적인 누수 지점이 있다는 신호로 봐야 합니다.

가장 먼저 확인할 것은 무엇인가

GA4 DebugView와 GTM 미리보기 모드를 동시에 켜고, 실제로 테스트 결제를 완료하는 순간 purchase 이벤트가 정확한 매개변수(transaction_id, value, currency, items)와 함께 발화하는지 확인하는 것이 첫 단계입니다. 이벤트 자체가 아예 발화하지 않는다면 태그 트리거 조건 문제이고, 발화는 하는데 보고서에 반영이 안 된다면 필수 매개변수 누락으로 커스텀 이벤트 취급되고 있을 가능성을 봐야 합니다.

transaction_id 중복은 어떻게 확인하나

결제 완료 페이지가 새로고침되거나 뒤로가기 후 다시 진입할 때 같은 transaction_id로 purchase 이벤트가 중복 전송되면, 반대로 GA4 전환 수가 실제 주문 수보다 많아지는 문제가 생깁니다. 이 경우는 격차가 벌어지는 방향이 다르므로, 먼저 어느 방향으로 격차가 나는지(GA4가 더 많은지 적은지)부터 확인해야 원인 조사 방향을 좁힐 수 있습니다. 서버 로직에서 결제 완료 페이지 재진입 시 이벤트를 다시 쏘지 않도록 세션 플래그를 두는 방식으로 방지할 수 있습니다.

기기·브라우저별로 나눠 봐야 하는 이유

격차의 원인이 특정 구간에 집중된 경우가 많습니다. 예를 들어 iOS 사파리에서 쿠키 정책이나 광고 차단 확장 프로그램 비율이 높다면 모바일 웹 결제에서 유독 격차가 크게 나타날 수 있고, 특정 결제수단(간편결제 팝업 등)이 새 창이나 웹뷰로 열리는 구조라면 그 결제수단만 태그가 누락될 수 있습니다. 전체 평균 격차만 보지 말고 기기·브라우저·결제수단별로 쪼개서 비교하면 문제 구간을 훨씬 빠르게 좁힐 수 있습니다.

원인을 못 찾았을 때는 어떻게 해야 하나

클라이언트 사이드 태그만으로는 광고 차단이나 네트워크 문제를 완전히 피하기 어렵습니다. 격차의 상당 부분이 이런 구조적 손실로 설명된다면, 서버사이드 GTM이나 서버에서 직접 전환 데이터를 전송하는 방식으로 전환하는 것이 다음 단계의 대안이 될 수 있습니다. 다만 이 전환은 별도의 설계와 검증이 필요한 작업이므로, 먼저 어느 정도 비율이 구조적 손실이고 어느 정도가 설정 오류인지부터 구분하는 것이 우선입니다.

필수 매개변수 누락은 어떻게 확인하나

purchase 이벤트가 발화는 하지만 GA4 전자상거래 보고서에는 반영되지 않는 경우, transaction_id, value, currency, items 중 하나가 비어 있거나 형식이 맞지 않을 가능성이 큽니다. GA4 DebugView에서 해당 이벤트를 클릭해 전송된 매개변수 전체를 펼쳐보면, 어떤 값이 비어 있는지 바로 확인할 수 있습니다. 특히 items 배열 안의 item_id나 price가 숫자가 아닌 문자열로 잘못 전송되는 경우도 흔한 원인 중 하나이므로 값의 형식까지 함께 점검해야 합니다.

결과를 팀에 공유할 때 정리하는 방법

누수 원인을 찾았다면, 격차의 몇 퍼센트가 어떤 원인(광고 차단, 필수 매개변수 누락, 특정 결제수단 문제)으로 설명되는지 표로 정리해 개발팀과 공유하는 것이 좋습니다. "GA4와 어드민 수치가 다르다"는 두루뭉술한 보고보다, "간편결제 팝업 구간에서만 8%포인트의 손실이 발생하고 있다"처럼 구체적으로 좁혀서 전달해야 실제 수정 작업으로 이어질 확률이 높아집니다.

정기 점검 루틴을 만들어야 하는 이유

격차 문제는 한 번 해결했다고 끝나지 않습니다. 결제 모듈 업데이트, 신규 결제수단 추가, 사이트 리뉴얼처럼 프론트엔드·백엔드에 변화가 생길 때마다 태그가 다시 깨질 수 있습니다. 월 단위로 GA4 전환 수와 어드민 매출 수치를 비교하는 루틴을 정례화해두면, 격차가 갑자기 커지는 시점을 빠르게 포착해 원인이 최근 어떤 배포와 맞물려 있는지 좁혀서 조사할 수 있습니다.

개발팀과 협업할 때 전달해야 할 최소 정보

문제를 발견해 개발팀에 수정을 요청할 때는 재현 가능한 조건(어떤 브라우저·결제수단·페이지 경로에서 발생하는지)과 GA4 DebugView 스크린샷을 함께 첨부하는 것이 좋습니다. "결제가 가끔 안 잡혀요"라는 모호한 요청보다, 구체적인 재현 조건이 있어야 개발팀이 원인을 빠르게 찾아 수정할 수 있습니다.