이벤트 트래킹
이벤트 트래킹은 사용자의 클릭·스크롤·양식 제출·구매 같은 행동을 이벤트 단위로 기록하는 일입니다.
event_name과 필요한 속성을 일관되게 설계하면 행동 흐름을 분석할 수 있습니다. 모든 클릭을 무작정 모으기보다 제품 판단에 필요한 행동부터 정의합니다.
가구 쇼핑몰의 구매 여정을 설계한다면
높이 조절 책상을 파는 온라인 가구점 ‘모노데스크’가 있다고 해봅시다. 팀이 알고 싶은 것은 “광고를 누른 사람이 책상을 봤는가?”뿐 아니라 어느 단계에서 구매를 멈췄는가입니다. 책상 한 개의 상품 ID를 DESK-120, 가격을 279,000원으로 정했다면 다음처럼 설계할 수 있습니다.
| 고객의 실제 행동 | GA4 이벤트 | 함께 보내면 좋은 정보 | 이 기록으로 알 수 있는 것 |
|---|---|---|---|
| 책상 상세 페이지를 봄 | view_item | 상품 ID·상품명 | 어떤 상품을 살펴봤는가 |
| 책상을 장바구니에 담음 | add_to_cart | 상품 ID·수량·가격 | 관심이 장바구니까지 이어졌는가 |
| 결제 절차에 들어감 | begin_checkout | 장바구니 상품·총액·통화 | 결제 시작 전에 떠났는가 |
| 결제가 완료되고 주문이 생성됨 | purchase | 주문 ID·총액·통화·상품 | 어떤 주문이 실제로 완료됐는가 |
예를 들어 주문 ORD-1001에서 책상 한 개를 구매했다면 purchase에 transaction_id: "ORD-1001", value: 279000, currency: "KRW", items 안의 item_id: "DESK-120", price: 279000, quantity: 1을 담습니다. 배송비나 할인액이 있다면 총액과 상품 가격의 기준을 먼저 정하고 일관되게 기록해야 합니다. 여기서 purchase는 결제 버튼을 누른 순간이 아니라 주문 완료가 확인된 순간에 보냅니다.
gtag('event', 'purchase', {
transaction_id: 'ORD-1001',
value: 279000,
currency: 'KRW',
items: [{
item_id: 'DESK-120',
item_name: '모노데스크 120',
price: 279000,
quantity: 1
}]
});
이 코드는 한 상품을 한 번 주문한 경우의 Google 태그 예시입니다. 실제 사이트에서는 주문이 확정된 곳에서 실행하고, 같은 주문 ID가 재전송됐을 때 보고서가 어떻게 처리되는지 시험해야 합니다.
한 주에 장바구니 담기 이벤트 30건, 결제 시작 이벤트 12건, 서로 다른 완료 주문 ID 8개가 있었다면 장바구니에서 결제 시작까지의 흐름을 먼저 살펴볼 이유가 생깁니다. 다만 한 사람이 여러 번 담을 수 있고 주문 ID는 사람 수가 아니므로 30명 중 8명 구매로 읽으면 안 됩니다. 정확한 이탈률을 계산하려면 같은 고객의 행동을 연결하고 중복·직접 구매 경로를 구분해야 합니다.
모든 행동을 이벤트로 만들 필요는 없습니다
분석 목표가 정해져 있지 않으면 수백 개의 클릭 이벤트가 쌓여도 의사결정에 도움이 되지 않습니다. 제품 설명을 읽었는지, 가격표를 봤는지, 신청이 완료됐는지처럼 고객 여정의 중요한 행동을 고릅니다. 이름과 속성의 규칙을 정하면 여러 팀이 같은 뜻으로 데이터를 읽을 수 있습니다.
이벤트를 시험할 때는 화면에서 한 번 행동하고 분석 도구에도 한 번 기록되는지 확인합니다. 버튼을 여러 번 누른 경우, 페이지를 새로고침한 경우, 모바일과 데스크톱의 동작이 다른 경우를 검토합니다. 구매가 아닌 버튼 클릭을 구매로 잘못 기록하면 광고 시스템이 그 클릭을 늘리는 데 예산을 쓸 수 있습니다.
출시 전 확인할 테스트 케이스
구매 완료 이벤트를 시험한다면 기대 결과를 먼저 적습니다. 아래는 한 주문이 한 구매로 기록되도록 설계한 기준의 예시입니다.
| 시험 상황 | 기대하는 구매 완료 기록 |
|---|---|
| 정상 결제 후 주문 생성 | 해당 주문에 1건 |
| 결제 취소·실패 | 0건 |
| 완료 화면 새로고침 | 추가 기록 0건 |
| 결제 버튼 중복 클릭 | 주문이 하나라면 구매도 1건 |
| 모바일에서 외부 결제창 복귀 | 실제 주문 완료 뒤 1건 |
분석 화면에 값이 보이더라도 이름과 속성이 계획한 의미와 다른지 확인해야 이후 여러 캠페인의 성과를 같은 기준으로 읽을 수 있습니다.
개발 환경에서 정상이어도 실제 사이트에서는 동의·광고 차단·모바일 결제 흐름 때문에 기록이 달라질 수 있습니다. 운영 화면에서도 완료 이벤트를 시험합니다.
