지금까지 유니버설 애널리틱스와 구글 애널리틱스 4의 이벤트 데이터 모델을 자세히 살펴 본 이유는 결국 이커머스 데이터를 수집하고 분석하기 위한 기초 지식이었다고 해도 과언이 아닙니다.
구글 애널리틱스의 버전과 무관하게 이커머스 데이터도 이벤트를 기반으로 수집되기 때문에 그러한 이벤트의 개념을 정확하게 이해해야 정확한 분석이 가능하기 때문입니다.
그런데 계속 명심해야 하는 주의 사항은
새로운 버전이 라이브되었기 때문에 이제는 더 발전할 가능성이 없는 유니버설 애널리틱스와 달리
구글 애널리틱스 4의 이커머스 수집 기능은 계속 개발 중인 것으로 보이고 구글 태그 매니저와 연동 기능도 다소 의아하거나 기대에 미치지 못하는 부분을 발견하실 수 있다는 점입니다.
쉽게 말해, 구글 애널리틱스의 이커머스 수집을 위해 어떤 버전의 구글 애널리틱스를 사용하시던
JS API를 사용하시던 GTM dataLayer를 사용하시던 이를 정확하게 구현하는 책임은 전적으로 여러분에게 있습니다.
저희가 짐작하기에는 구글 애널리틱스 개발팀도 클릭 한번으로 모든 데이터를 손쉽게 수집해서 완벽하게 분석할 수 있기를 원하겠지만
불행히도 전자 상거래 환경은 획일화되지 않았기 때문에 불가능한 희망입니다.
그래서 이번 포스팅에서는 여러분께서 운영하시는 전자 상거래 환경에서 유니버설 애널리틱스와 구글 애널리틱스 4를 이용하여 이커머스 데이터를 정확히 수집하기 위해 반드시 숙지해야 하는 중요한 문제들을 다루겠습니다.
여러 번 반복하여 말씀드리듯이 구글 애널리틱스는 구 버전인 유니버설 애널리틱스와 신 버전인 구글 애널리틱스 4를 당분간 함께 사용하라고 공식적으로 권고하고 있습니다.
설령 위와 같은 공식적인 권고가 없다 해도 수년간의 소중한 데이터는 구 버전인 유니버설 애널리틱스에 쌓여있고 신 버전인 구글 애널리틱스 4는 이 데이터를 소급하여 적용해 주지 않습니다.
그래서 두 버전의 비교는 선택이나 취향이 아닌 필수입니다. 이를 통해서, 구글 애널리틱스의 이커머스를 좀 더 역사적인 관점에서 살펴봐야 하는 이유는 충분히 이해하셨을 것 같습니다.
이제 처음에는 안개 속을 헤매야 해서 더디고 지루하지만 목적지에 도착할 즈음에는 맑고 청명한 하늘이 기다리는 여행을 시작해 볼까요?
1. 유니버설 애널리틱스! 그리고 구글 애널리틱스 4!
구글 애널리틱스 4의 이커머스 관련 기능을 명쾌하게 이해하는 노력의 시작은 구 버전인 유니버설 애널리틱스가 제공하는 향상된 전자상거래(=Enhanced Ecommerce)를 살펴보는 것에서 시작해야 합니다.
구글 애널리틱스 4 전자상거래 보고서의 설정 방법, UI와 같은 구성이 유니버설 애널리틱스의 향상된 전자 상거래와 많이 다르게 보여서 당황스러우시다면
사실은 유니버설 애널리틱스가 제공하는 향상된 전자 상거래의 데이터 모델과 구성을 충분히 이해하지 못한 것이 아닌지 진지하게 검토해야 할 증거일 수 있습니다. 구 버전과 신 버전의 다른 점보다 같은 점이 더 많기 때문입니다.
두 버전의 다양한 이벤트/속성 명칭을 나란히 놓고 살펴볼까요?
2. 이커머스 액션 비교하기
구글 애널리틱스를 활용해서 수집할 수 있는 이벤트 유형은 아래와 같습니다.
유니버설 애널리틱스와 구글 애널리틱스 4가 개별적으로 제시하는 각각의 이벤트 명칭은 일반적인 쇼핑몰에서 발생하는 구매 전환 과정과 대응합니다.
구글 애널리틱스 4가 일반적인 쇼핑몰에서 발생하는 구매 전환 과정을 좀 더 충실히 재현했다고 평가할 수 있습니다.
구글 애널리틱스가 제시하는 API 모델은 아래의 표에서 구체적으로 살펴보실 수 있습니다. 예를 들어 GA4 이벤트명은 여러분이 JS API 혹은 구글 태그 매니저를 통해서 입력해야 하는 이벤트 명칭에 해당합니다.
이 표에서 유니버설 애널리틱스의 향상된 전자상거래 태그에 대응하는 구글 애널리틱스 4의 이벤트 명칭도 확인할 수 있습니다.
GA4 이벤트명 | UA 이벤트명 | 설명 |
---|---|---|
view_promotion | promoView | 프로모션 정보 열람 행위. |
select_promotion | promoClick | 프로모션 정보 클릭 행위. |
view_item_list | impressions | 제품 카탈로그 목록 열람 행위. |
select_item | click | 카탈로그에서 특정 제품 클릭 행위. |
view_item | detail | 제품 상세 페이지 열람 행위. |
add_to_cart | add | 장바구니 담기 행위. |
add_to_wishlist | 없음 | 찜하기 행위. |
view_cart | 없음 | 장바구니 목록 열람 행위. |
remove_from_cart | remove | 장바구니 삭제 행위. |
begin_checkout | checkout | 결제 과정 시작 행위. |
add_shipping_info | checkout_option | 배송 정보 입력 행위. |
add_payment_info | checkout_option | 지불 정보 입력 행위. |
purchase | purchase | 결제 완료 행위. |
refund | refund | 구매한 제품 환불 행위. |
특히 노란색으로 강조한 구글 애널리틱스 4의 결제 과정인 begin_checkout, add_shipping_info, add_payment_info는 유니버설 애널리틱스의 중요한 차이점입니다.
유니버설 애널리틱스와 다르게 구글 애널리틱스 4는 더 이상 checkout step 옵션을 허용하지 않고 사전 정의된 가장 일반적인 check out 과정을 제공하기 때문입니다.
더하여, 유니버설 애널리틱스에서는 분석 가치가 있어도 명시적으로 제공하지 않았던 이커머스 이벤트인 view_cart와 add_to_wishlist가 구글 애널리틱스 4에서 명시적으로 추가되어 관련 지표를 살펴보는 작업이 한결 수월해 졌습니다.
유니버설 애널리틱스에서는 view_cart와 add_to_wishlist 이벤트를 추적하고 분석할 수 없는 것이 아니고 구글 애널리틱스 4에서 좀 더 그 절차가 간단해졌다고 이해하시는 것이 더 정확합니다.
3. 제품 정보 속성 비교하기
구글 애널리틱스 4의 제품 정보 속성을 유니버설 애널리틱스와 비교하면 두 버전 간의 차이점은 다소 어중간합니다.
구글 애널리틱스 4에서 제품 카탈로그가 노출된 지점을 정확하게 명시하는 item_list_name, item_list_id 속성을 추가했고 item_category1~5 속성을 추가하여 계층적인 제품 카테고리 정보를 유니버설 애널리틱스에서보다 더 편리하게 혹은 명시적으로 적재할 수 있습니다.
GA4 속성명 | UA 속성명 | 설명 |
---|---|---|
item_id | id | 진열 상품의 고유 아이디. |
item_name | name | 진열 상품의 명칭. |
item_list_name | list | 진열 카탈로그의 명칭. |
item_list_id | 없음 | 진열 카탈로그의 고유 아이디. |
index | position | 카탈로그에서 상품 진열 순서 번호(숫자형). |
item_brand | brand | 상품의 브랜드. |
item_category | category | 상품 1단계 카테고리. |
item_category2 | category | 상품 2단계 카테고리. |
item_category3 | category | 상품 3단계 카테고리. |
item_category4 | category | 상품 4단계 카테고리. |
item_category5 | category | 상품 4단계 카테고리. |
item_variant | variant | 상품 옵션 명칭. |
affiliation | 없음 | 판매촉진 제휴사 코드/명칭. |
discount | 없음 | 적용된 할인액(숫자형). |
coupon | coupon | 적용된 쿠폰 코드/명칭. |
price | price | 상품 정상 판매가(숫자형). |
currency | 없음 | 상품 판매가의 통화기호. |
quantity | quantity | 제품 구매 수량(숫자형). |
유니버설 애널리틱스와 마찬가지로 구글 애널리틱스 4에서도 item_id 혹은 item_name 중에 하나는 반드시 명시되어야 합니다.
구글 애널리틱스 4가 제시하는 제품 속성 정보를 모두 채우는 노력은 개발자와 분석자 모두에게 의외로 상당히 부담스러운 도전 과제일 수 있습니다.
하지만 속성을 가능한 많이 채워 넣을수록 구글 애널리틱스 4에서 살펴볼 수 있는 분석 보고서가 풍부해 진다는 점과 여러분의 쇼핑몰에서 발생하는 이벤트를 더 쉽고 다양하게 살펴볼수록
재무 성과는 급증할 가능성이 높기 때문에 쇼핑몰의 낡은 Transaction Engine을 개선하는 작업을 수 년간 망설이며 미루셨다면 이번에 근본적으로 개선하는 계기로 삼으실 수도 있습니다.
4. 프로모션 정보 속성 비교하기
구글 애널리틱스 4에서도 판촉 배너의 성과를 측정할 수 있는 데이터를 수집할 수 있습니다. 안타깝게도 저희는 실무적으로 큰 필요성을 발견할 수 없었던 기능입니다.
다양한 기간 범위와 대상 품목으로 복수의 판촉 행사가 진행되는 상당한 규모의 종합몰이나 오픈 마켓에서는 활용가치가 있을 것으로 예상합니다.
저희가 아직까지 발견하지 못했던 필요를 아시는 분들을 위해서 표를 정리했습니다.
GA4 속성명 | UA 속성명 | 설명 |
---|---|---|
promotion_id | id | 판촉 배너 ID. |
promotion_name | name | 판촉 배너 명칭. |
creative_name | creative | 크리에이티브 명칭. |
creative_slot | position | 크리에이티브 개재 위치. |
location_id | 없음 | 판촉 배너의 개재 위치. |
유니버설 애널리틱스와 마찬가지로 구글 애널리틱스 4에서도 promotion_id 혹은 promotion_name 중에 하나는 반드시 명시되어야 합니다.
5. 여러가지 정보 속성 비교하기
전송되는 액션의 종류에 따라서 함께 전송되어야 하는 속성들의 필수성은 판이하게 달라집니다.
그런데 이전 포스팅에서 살펴보셨듯이
구글 애널리틱스 4에서는 온라인 마케팅 기획자나 마케팅 팀이 개발자에 의존하지 않아도 매우 다양한 이벤트를 수집할 수 있게 개선하면서 역설적으로 구글 애널리틱스 4의 이벤트 모델은 유니버설 애널리틱스보다 훨씬 복잡해 졌습니다.
GA4 속성명 | UA 속성명 | 설명 |
---|---|---|
transaction_id | id | 주문 고유 번호. purchase와 refund 이벤트에서 필수. |
affiliation | affiliation | 제휴 상점 코드/명칭. |
value | revenue | 이벤트의 재무적 가치. |
currency | currencyCode | 재무 가치의 통화 기호. purchase 이벤트에서 필수. |
tax | tax | 총 결제 금액에 포함된 세액. |
shipping | shipping | 배송비. 저희는 총 매출액과 구분합니다. |
items | productsimpressionspromotions | 특정 이벤트와 연관된 상품 정보 |
shipping_tier | option | 배송 정보. |
payment_type | option | 지불 정보. |
coupon | coupon | 특정 이벤트와 연관된 쿠폰 정보. |
promotion_id | 없음 | 특정 이벤트와 연관된 판촉 배너 ID. |
promotion_name | 없음 | 특정 이벤트와 연관된 판촉 배너 명칭. |
creative_name | 없음 | 특정 이벤트와 연관된 크리에이티브 ID. |
creative_slot | 없음 | 특정 이벤트와 연관된 크리에이티브 개재 위치. |
location_id | 없음 | 페이지의 배너 개재 위치 |
item_list_name | 없음 | 특정 이벤트와 연관된 제품 카탈로그 명칭. |
item_list_id | 없음 | 특정 이벤트와 연관된 제품 카탈로그 ID. |
그래서 결과적으로는 유니버설 애널리틱스에서는 온라인 마케팅 기획자나 마케팅 팀에서 코딩 지식이 없다면 아무리 살펴봐도 이해할 수 없었기 때문에 개발팀만 살펴봐야 했던 기술 정보를
구글 애널리틱스 4에서는 온라인 마케팅 기획자나 마케팅 팀에서 살펴보면 이해할 수 있는 상황으로 변했을 뿐이라고 이해하시는 것이 더 현실적일 것 같습니다.
구글 애널리틱스 4 개발팀에서는 개발팀과 마케팅팀은 혹은 기획팀의 호흡이 이전보다 덜 중요해 지기를 기대하면서 구글 애널리틱스 4의 데이터 모델을 개선한 것 같습니다.
하지만 문법적으로 동일한 snippet code로 유니버설 애널리틱스와 구글 애널리틱스 4의 데이터를 비교해 보면 구글 애널리틱스 4의 수치가 다소 불안정 혹은 부정확해 보입니다.
테스트 상품이 구글 애널리틱스의 각 버전에 전송한 상품 가격은 ₩456,700입니다.
위의 표를 보시면 이 상품을 3개 구매한 이벤트 전송 결과가 위 쪽의 유니버설 애널리틱스는 정확히 ₩1,370,100인데 구글 애널리틱스 4는 ₩1,371,151로 표시하는 상황을 보실 수 있습니다.
구글 애널리틱스 4가 보고하는 차액인 ₩1,051은 어디서 왜 왔는지 저희도 아직은 잘 모르겠습니다.
이와 같은 여러 가지 현실적인 제약 때문에 구글 애널리틱스 4 개발팀의 의도대로 개선된 세상을 언제 경험할 수 있을지는 저희는 도저히 모르겠습니다.
6. 지금까지
구글 애널리틱스 4를 기준으로 유니버설 애널리틱스와 구글 애널리틱스 4의 다양한 이벤트/속성 명칭을 살펴봤습니다.
이미 말씀드렸듯이 구글 애널리틱스 4가 제시하는 방식이 다소 낯설고 어색하게 느껴지신다면 유니버설 애널리틱스의 구조를 명확하게 이해하지 못했을 가능성을 의심해 보셔야 합니다.
위에서 제시해 드린 표를 천천히 살펴보시면 구글 애널리틱스 4에서 변한 것은 주로 명칭일 뿐이라는 점을 쉽게 공감하실 것 같습니다.
최소한 이커머스 데이터 추적 관점에서 구글 애널리틱스 4는 오히려 유니버설 애널리틱스의 다소 산만했던 구조와 명칭이 좀 더 직관적으로 정리되었을 뿐입니다.
다음 포스팅에서는 본격적으로 유니버설 애널리틱스와 구글 애널리틱스 4의 이커머스 데이터를 동시에 혹은 하나만 전송하기 위해 구현해야 하는 여러가지 사항을 살펴보겠습니다.