[GA4>M 활용] GA4 전자상거래 수익이 0원으로 나올 때 : 수익 누락 9가지 원인과 해결 방법
핵심 요약 (한 줄 답변)
GA4 전자상거래 수익이 0원으로 표시되는 가장 흔한 원인은 currency(통화) 매개변수 누락입니다. 구매 이벤트에는 transaction_id · value · currency 3개가 필수이며, 이벤트 이름은 반드시 purchase, 통화는 ISO 3자리 코드(KRW·USD), 값에는 쉼표를 넣으면 안 됩니다. 그 외 상품 배열 누락, 매개변수 이름 변경, 데이터 지연, 데이터 기준점도 원인이 됩니다.
이 글에서 알 수 있는 것
- 구매 이벤트 필수 매개변수 3가지와 가장 흔한 실수
- 상품(items) 배열에 반드시 넣어야 할 4가지 값
- 매개변수 이름·형식·통화 코드를 바꾸면 안 되는 이유
- 이벤트 이름이 purchase가 아니면 수익이 안 잡히는 이유
- 설정은 맞는데 안 보일 때: 지연·이벤트 미발생·데이터 기준점 점검법
- 원인별 빠른 진단 체크리스트
✳️ 난이도 : 중급~고급 | 소요 시간 : 약 12분 | 권장 : 프로그램 코드가 나오므로 개발자와 함께 보시는 것을 추천합니다.
GA4 전자상거래 수익이 왜 0원으로 표시되나요?
GA4 전자상거래 설정 후 데이터를 수집하다 보면 수익이 0원으로 표시되는 문제가 자주 발생합니다. 원인은 하나가 아니라 여러 가지입니다.
아래 9가지 원인을 순서대로 점검하면 대부분 해결됩니다.
| # | 원인 | 유형 |
| ① | 구매 이벤트의 값·통화 누락 | 코드 |
| ② | 상품 배열의 가격·수량 누락 | 코드 |
| ③ | 잘못된 매개변수 이름 | 코드 |
| ④ | 잘못된 데이터 형식 (쉼표 등) | 코드 |
| ⑤ | 잘못된 통화 값 (기호 사용) | 코드 |
| ⑥ | 잘못된 이벤트 이름 | 코드 |
| ⑦ | 데이터 처리 지연 (24~48시간) | 대기 |
| ⑧ | 구매 이벤트 자체가 미발생 | 확인 |
| ⑨ | 데이터 기준점(구글 신호) | 설정 |
원인 1. 구매 이벤트의 값·통화가 누락됨 (가장 흔함)
구매 이벤트를 추적할 때는 최소한 아래 3가지 매개변수를 반드시 수집해야 합니다.
| 필수 매개변수 | 의미 |
| transaction_id | 거래 ID |
| value | 값(금액) |
| currency | 통화 |
이 3가지 외의 매개변수는 선택 사항입니다.

① 거래ID: transaction_id ② 값: value ③ 통화: currency (통화 코드표 참조)
⚠️ 초보자가 가장 많이 하는 실수 : transaction_id와 value는 수집하면서 currency(통화)는 빠뜨리는 것입니다. 통화가 없으면 GA4는 수익을 계산하지 못합니다.
✅ 참고 : 위 이미지는 dataLayer를 사용한 코드입니다. gtag를 사용하는 경우에도 동일하게 3개 매개변수를 확인하면 됩니다.
원인 2. 상품 수익의 가격·수량·통화가 누락됨
"가장 많이 구매한 제품" 같은 상품 단위 보고서를 보려면, items 배열 안의 모든 제품이 아래 매개변수를 포함해야 합니다.
| 상품 배열 필수 값 | 의미 |
| price | 가격 |
| quantity | 수량 |
| item_id | 상품 ID |
| item_name | 상품명 |

① 상품 ID : item_id
② 가격 : price
③ 수량 : quantity
주의할 점 2가지
- 구글 가이드는 상품ID 또는 상품명 중 상품ID만 보내도 된다고 하지만, 둘 다 보내는 것을 권장합니다.
- quantity(수량)를 빼고 가격·상품ID·상품명만 전송하면, GA4는 항목 수익 지표를 계산할 수 없습니다.
원인 3. 매개변수 이름을 임의로 바꿈
GA4는 전자상거래 추적을 위해 '특정 매개변수 이름'만 인식합니다. 이름을 바꾸면 작동하지 않습니다.

① transaction_id 대신 order_id, id 등 다른 이름으로 지정하고 싶은 생각이 들 수 있습니다. 그러나 이렇게 설정하면 동작하지 않습니다.
| 구분 | 예시 |
| 올바름 | transaction_id |
| 인식 안 됨 | order_id, id, 기타 임의 이름 |
✅ 원칙 : 전자상거래 설정 시에는 구글 공식 문서의 매개변수 이름을 그대로 준수해야 합니다. 가이드에 transaction_id로 되어 있으면 반드시 그대로 사용하세요.
원인 4. 데이터 형식이 잘못됨 (쉼표 주의)
매개변수 이름뿐 아니라 보내는 데이터의 '형식'도 가이드를 따라야 합니다.

① 올바른 데이터 형식입니다. (O)
② 값 매개변수에 쉼표(,)가 포함되어 있습니다. (X)
| 구분 | 예시 |
| 올바름 | value : 25000 |
| 인식 안 됨 | value : "25,000" |
✅ 핵심 : 값에 쉼표가 들어가면 GA4가 숫자로 인식하지 못합니다. 천 단위 구분 기호를 넣지 마세요.
원인 5. 통화 값이 잘못됨 (기호 사용 금지)
통화 데이터를 보낼 때 통화 코드는 ISO 표준을 따라야 합니다. 즉, 반드시 세 글자로 구성되어야 합니다.

올바른 코드는 USD, EUR, KRW 등입니다. (통화 코드표 참조)

① 이렇게 $ 를 전송하면 동작하지 않습니다.
| 구분 | 예시 |
| 올바름 | KRW, USD, EUR |
| 인식 안 됨 | ₩, $, € (통화 기호) |
✳️ 자주 발생하지는 않지만, 간혹 개발자가 통화 매개변수 값으로 통화 기호를 사용하는 경우가 있으니 한 번쯤 확인해 보세요.
원인 6. 이벤트 이름이 purchase가 아님
웹사이트 전자상거래 추적에서 이벤트 이름은 반드시 purchase여야 합니다.
그래야만 GA4가 해당 이벤트를 구매로 인식하고, 구매 수익·상품 수익 같은 측정항목을 계산합니다.

① transaction이 아닌 purchase 로 이름을 지정해야 합니다.
| 구분 | 이벤트 이름 |
| 올바름 | purchase |
| 수익 미표시 | transaction, order 등 |
원인 7. 데이터 처리 지연 (24~48시간)
GA4는 이전 버전에 비해 데이터 처리에 많은 시간이 필요합니다. 일반적으로 데이터 표시까지 약 24~48시간이 걸립니다.
✅ 조치 : 오늘부터 전자상거래 추적을 시작했다면, 익일 이후에 데이터를 확인하시길 권장합니다. 몇 시간 만에 안 보인다고 설정을 의심할 필요는 없습니다.
원인 8. 구매 이벤트가 아예 발생하지 않음
설정한 전자상거래 추적 코드가 활성화되지 않았을 수 있습니다. 실제로 purchase 이벤트가 실행되는지 먼저 확인해야 합니다.
확인 경로: 보고서 → 참여도 → 이벤트

① 이벤트 목록에 purchase 이벤트가 있으면 정상적으로 동작하고 있다는 뜻입니다.
✅ 이벤트가 안 보인다면? 개발자와 함께 전자상거래 추적 코드를 다시 확인해야 합니다. 코드가 실행되지 않고 있을 가능성이 큽니다.
원인 9. 데이터 기준점(구글 신호)으로 숨겨짐
GA4 속성에 구글 신호 데이터가 사용 설정되어 있고 보고서 상단에 경고가 표시된다면, 일부 데이터가 숨겨질 수 있습니다.

① 이 경고가 있으면 일부 데이터가 숨겨질 수 있습니다. 해결 방법은 보고 ID를 변경하는 것입니다.
보고 ID란?
보고 ID는 GA4가 웹사이트·앱 사용자를 계산하는 방식에 영향을 미치는 기능입니다. 쿠키 데이터만 쓸지, 사용자 ID도 쓸지, 구글 신호 데이터도 포함할지를 설정합니다.
보고 ID 변경 방법

이동 경로: 관리 → 속성 → 보고 ID
① [보고 ID] 를 선택합니다.
② [기기 기반] 을 선택합니다. (기본 설정은 "혼합됨")
설정 후 보고서에 더 많은 구매가 표시되기 시작하는지 확인하세요.
✅ 안심 포인트 : 이 기능은 소급 적용되므로 언제든지 변경할 수 있습니다. 숫자가 적은 행이 궁금하면 기기 기반으로 빠르게 전환해 보세요.
수익 누락 빠른 진단 체크리스트
아래 순서대로 점검하면 원인을 빠르게 좁힐 수 있습니다.
| 순서 | 확인항목 | 원인 |
| ① | 참여도 → 이벤트에 purchase가 있는가? | 없으면 → 원인 8 (코드 미실행) |
| ② | 이벤트 이름이 정확히 purchase 인가? | 아니면 → 원인 6 |
| ③ | transaction_id·value·currency 3개가 모두 있는가? | 없으면 → 원인 1 |
| ④ | 매개변수 이름을 임의로 바꾸지 않았는가? | 바꿨으면 → 원인 3 |
| ⑤ | value에 쉼표가 없는가? | 있으면 → 원인 4 |
| ⑥ | currency가 3자리 코드(KRW) 인가? | 기호면 → 원인 5 |
| ⑦ | items 배열에 price·quantity 가 있는가? | 없으면 → 원인 2 |
| ⑧ | 24~48시간 지났는가? | 아니면 → 원인 7 (대기) |
| ⑨ | 보고서 상단에 기준점 경고가 있는가? | 있으면 → 원인 9 (기기 기반 전환) |
자주 묻는 질문 (FAQ)
Q. GA4 전자상거래 수익 데이터가 누락되면 가장 먼저 무엇을 해야 하나요?
A. 전자상거래 스크립트부터 확인하세요. 구글 설정 가이드에 맞게 정확히 되어 있는지 점검하고 수정해야 합니다. 보통 개발자의 도움이 필요하니 함께 가이드를 참고해 수정하시면 됩니다.
Q. 구매 이벤트 필수 매개변수는 무엇인가요?
A. transaction_id(거래ID), value(값), currency(통화) 3가지입니다. 나머지는 선택 사항이지만, 이 3개는 반드시 있어야 수익이 계산됩니다.
Q. value는 보내는데 수익이 0원입니다.
A. currency(통화)가 빠졌을 가능성이 가장 큽니다. 초보자가 가장 많이 하는 실수입니다. 통화 매개변수가 전송되는지 확인하세요.
Q. 통화에 ₩나 $를 써도 되나요?
A. 안 됩니다. ISO 표준 3자리 코드(KRW, USD, EUR)를 사용해야 합니다. 통화 기호를 보내면 인식되지 않습니다.
Q. 매개변수 이름을 우리 시스템에 맞게 바꿔도 되나요?
A. 안 됩니다. GA4는 특정 매개변수 이름만 인식합니다. transaction_id를 order_id로 바꾸면 동작하지 않습니다.
Q. 상품별 수익이 안 보입니다.
A. items 배열에 quantity(수량)가 빠졌을 가능성이 큽니다. 수량 없이 가격·상품ID·상품명만 보내면 항목 수익을 계산할 수 없습니다.
Q. 코드는 다 맞는데도 수익이 안 보여요.
A. ① 24~48시간 지났는지, ② 참여도 → 이벤트에 purchase가 실제로 찍히는지, ③ 데이터 기준점 경고가 있는지 순서대로 확인하세요.
요약 (한 장 정리)
- 필수 3종 : transaction_id + value + currency(가장 많이 빠뜨림)
- 상품 배열 4종 : price + quantity + item_id + item_name
- 이름 변경 금지 : order_id·id X → 반드시 transaction_id
- 형식 주의 : value에 쉼표 금지 (25,000 X → 25000 O)
- 통화 : ISO 3자리 코드(KRW) O / 기호(₩, $) X
- 이벤트 이름 : 반드시 purchase (transaction·order X)
- 설정이 맞는데 안 보이면 : 지연(24~48h) → 이벤트 발생 확인 → 보고 ID를 기기 기반으로 전환
작성 : 디애널리틱스(The Analytics) · 구글애널리틱스를 활용하여 기업의 마케팅 성과를 향상시키는 방법을 연구합니다.