구글애널리틱스4(GA4) 전자상거래 설정 후 데이터를 수집하다 보면 전자상거래 수익 누락으로 인해 많은 분들이 질문을 주시고 있습니다.
왜 전자상거래 수익이 0원으로 표시가 될까요? 여러가지 원인이 있습니다.
오늘은 이 부분에 대해 집중적으로 살펴볼까 합니다.
가능하다면 개발자와 함께 이 글을 보시는 것을 추천드립니다.
(이유는 프로그램 코드가 나오기 때문에 이해가 잘 안가실 수 있기 때문입니다)
1. 전자상거래 수익 누락 원인과 해결책
(1) 구매 이벤트의 누락된 값 및 통화
구매 이벤트를 추적할 때 최소한 아래의 매개변수 값을 수집해야 합니다.
- – 거래ID (transaction_id)
- – 값 (value)
- – 통화 (currency)
위에서 언급한 매개변수 외에 다른 매개변수는 선택 사항입니다.
GA4 초보자가 흔히 범하는 실수는 거래ID(transaction_id) 와 값(value) 데이터를 수집하지만 통화(currency) 데이터는 포함하지 않는 것입니다.
따라서, 전자상거래 코드 상에서 위의 3가지 매개변수 값을 전송하는지 확인해 보셔야 합니다.

① 거래ID : transaction_id
② 값 : value
③ 통화 : currency (통화 코드표 참조)
위 이미지는 dataLayer를 사용한 전자상거래 코드 입니다.
gtag를 사용한 전자상거래 코드 역시 3개의 매개변수를 확인하시면 됩니다.
(2) 상품 수익에 대한 가격, 수량 및 통화 누락
분석 보고서에서 제품 데이터 (예: 가장 많이 구매한 제품)를 보려면 항목 배열도 확인해 보셔야 합니다.
해당 배열 내에서 모든 제품은 다음 매개변수를 포함해야 합니다.
- – 가격 (price)
- – 수량 (quantity)
- – 상품ID (item_id)
- – 상품명 (item_name)
구글 가이드에서는 상품ID 또는 상품명 중 상품ID만 GA4로 보내도 된다고 나와 있지만 둘 다 보내는 것을 추천드립니다.
예를 들어 가격, 상품ID, 상품명만 전송하는 경우 (수량은 제외) GA4에서는 항목 수익 지표를 계산할 수 없습니다.

① 상품 ID : item_id
② 가격 : price
③ 수량 : quantity
배열에 값을 정확하게 넣어주셔야 합니다
(3) 잘못된 매개변수 이름
무료 강의에서도 설명 드렸지만 전자상거래 설정 시 구글에서 제공하는 공식 문서의 기준을 준수해야 합니다.
임의로 매개변수 명을 바꾸시면 안됩니다.
가이드에 transaction_id 매개변수를 전송해야 한다고 되어 있으면 반드시 그렇게 진행하셔야 합니다.

① 매개변수 이름을 transaction_id 가 아닌 order_id 또는 id (또는 다른 이름)로 지정하고 싶은 생각이 드실것입니다.
그러나 그림과 같이 설정하면 동작하지 않습니다.
GA4는 전자상거래 데이터 추적을 위해 특정 매개변수 이름만 인식하도록 되어 있습니다.
따라서 보고서에서 전자상거래 수익 데이터를 보려면 가이드에 나오는 대로 설정하셔야 합니다.
(4) 잘못된 형식
또한 보내는 데이터 형식도 가이드 대로 진행하셔야 합니다.

① 올바른 데이터 형식 입니다. (O)
② 값 매개변수 값에 쉼표(,)가 포함되어 있습니다. (X)
그림에서 두 번째 그림과 같이 값 형식에 쉼표(,)가 들어가 있으면 GA4가 인식을 못하게 됩니다.
(5) 잘못된 통화 값
GA4 설정에서 이 문제를 거의 볼 수 없지만 그래도 한 번쯤 이야기 가치는 있다고 생각됩니다.
통화 데이터를 보낼 때 통화 코드는 ISO 표준을 따라야 합니다. (즉, 세글자로 구성되어야 합니다. 통화 코드표 참조)

올바른 코드는 USD, EUR, KRW 등 입니다.
그러나 가끔 통화 매개변수 의 값으로 통화기호(예: $, ₩)를 사용하는 개발자를 보았습니다.

① 이렇게 “$” 를 전송하게 되면 동작하지 않습니다.
(6) 잘못된 이벤트 이름
웹사이트에서 전자상거래 추적의 경우 이벤트 이름을 “purchase” 로 하셔야 합니다.
그래야만 GA4에서 해당 이벤트가 발생했을 때 구매임을 인식하고 구매 수익 또는 상품 수익과 같은 측정항목을 계산합니다.
구매 이벤트의 이름이 transaction, order 등이라면 GA4에서 수익이 표시되지 않을 수 있습니다.

① “transaction” 이 아닌 “purchase” 로 이름을 지정하셔야 합니다.
(7) 지연
GA4는 데이터를 처리하는 데 많은 시간이 필요합니다. (이전 버전에 비해)
일반적으로 데이터가 표시되는 데 약 24~48시간이 걸리고 있습니다.
만약, 오늘 부터 전자상거래 추적을 시작했다면 좀 더 기다리셨다가 익일 데이터를 확인하시는 것을 추천드립니다.
(8) 구매 이벤트가 발생하지 않습니다.
확인해야 할 또 다른 사항 : 실제로 purchase 이벤트가 실행되는 확인하셔야 합니다.
설정한 전자상거래 추적코드가 활성화 되지 않았을 수 있습니다.
가장 먼저 확인해야 할 것은 이벤트 보고서로 이동하는 것입니다. ([참여도] > [이벤트])

① 이벤트 목록에서 “purchase” 이벤트가 있으면 정상적으로 동작하고 있다는 뜻입니다.
만약, 이벤트가 표시되지 않으면 개발자와 함께 전자상거래 추적코드를 다시 한번 확인하셔야 합니다.
(9) 데이터 기준점
GA4 속성에 구글신호데이터가 사용 설정되어 있고 보고서 상단에 아래와 같은 경고가 표시되는 경우 :

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

[관리] > [속성] > [보고ID]로 이동하여 변경할 수 있습니다.
① [보고ID]를 선택합니다.
② [기기 기반]을 선택합니다. (기본 설정은 “혼합됨”으로 설정되어 있습니다)
설정이 완료되면 보고서에 더 많은 구매 표시가 되기 시작하는지 확인해야 합니다.
해당 기능은 소급 적용 되기 때문에 언제든지 변경할 수 있습니다.
결론적으로, 숫자가 적은 행이 궁금하면 “기기 기반” ID로 빠르게 전환하시면 됩니다.
지금까지 여러가지 전자상거래 수익이 0원으로 표시되는 원인에 대해 알아봤습니다.
이 외에도 원인에 대해 알고 계시면 댓글로 생각을 공유해 주시면 좋을 듯 싶습니다.
FAQ.
먼저, 전자상거래 스크립트를 확인하셔야 합니다.
구글에서 제공하는 설정 가이드에 맞게 전자상거래 설정이 정확히 되어 있는지 확인하고 수정해야 합니다.
보통 개발자의 도움이 필요하니 개발자와 함께 가이드를 참고하여 수정하시면 됩니다.