# Amplitude 전자상거래 이벤트 구현

전자상거래 이벤트 시퀀스(view_item_list → view_item → add_to_cart → begin_checkout → purchase)와 공통 속성 규격, items 배열의 사용법. GA4 표준 이름과 통일하면서 Amplitude의 array·boolean 강점을 활용하는 ‘GA4 호환 + Amplitude 확장’ 패턴을 정리.

- 카테고리: Amplitude 이벤트 택소노미
- 소요 시간: 약 9분
- 난이도: 중간
- 업데이트: 2026.06.01
- 원문: /wiki/playbook/amplitude-event-taxonomy-checklist/how-to-implement-amplitude-ecommerce

## 목차

- [Amplitude의 접근](#approach)
- [전자상거래 이벤트 시퀀스](#events)
- [공통 속성 규격](#properties)
- [items 배열 — 한 단계 더](#items)
- [전체 예시 코드](#example)
- [GA4 표준과의 차이](#ga4-diff)
- [자주 묻는 질문](#faq)

전자상거래 분석은 Amplitude의 강점입니다. 다만 Amplitude는 GA4처럼 ‘14개 표준 이벤트’를 엄격히 강제하지 않습니다 — 자유롭게 이름을 지을 수 있지만, GA4와 통일하기 위해 본 위키는 **GA4 표준 이벤트 이름**과 **속성 규격**을 그대로 따릅니다. 이 글은 그 규격과 Amplitude 측 구현 시 주의점을 정리합니다.

## Amplitude의 접근 — ‘자유롭지만 표준을 따른다’

Amplitude는 사용자 정의 이벤트로 모든 분석이 가능합니다. `purchase`를 `complete_purchase`로 보내도 되고, `order_completed`로 보내도 작동합니다. 그럼에도 본 위키는 **GA4 표준 이름을 따라 통일**합니다.

- 광고주가 보통 GA4와 Amplitude 둘 다 운영합니다.
- 같은 사용자의 같은 구매가 두 도구에서 다른 이름으로 잡히면 디버깅·운영이 어렵습니다.
- GA4 표준은 광범위하게 표준화되어 있어 ‘공통어’ 역할에 적합합니다.

> **완료**
>
> **실무 원칙.** 이벤트 이름·속성 규격은 GA4를 따르고, Amplitude의 강점(이벤트 속성 array· Group Analytics·Identify call)은 추가로 활용. ‘GA4 호환 + Amplitude 확장’의 패턴입니다.

## 전자상거래 이벤트 시퀀스

‘상품 조회 → 장바구니 → 결제 → 구매 완료’의 전형적인 흐름을 다음 이벤트로 추적합니다.

| 단계 | 이벤트 이름 | 발생 시점 |
| --- | --- | --- |
| ① 목록 조회 | `view_item_list` | 상품 목록 페이지 진입 |
| ② 상품 클릭 | `select_item` | 목록에서 한 상품 클릭 |
| ③ 상세 조회 | `view_item` | 상품 상세 페이지 도달 |
| ④ 장바구니 | `add_to_cart` | ‘장바구니 담기’ 클릭 |
| ⑤ 장바구니 조회 | `view_cart` | 장바구니 페이지 진입 |
| ⑥ 결제 시작 | `begin_checkout` | 결제 페이지 진입 |
| ⑦ 결제 정보 입력 | `add_payment_info` | 결제수단 입력 완료 |
| ⑧ 구매 완료 | `purchase` | 결제 성공 페이지 도달 (주요이벤트) |
| ⑨ 환불 | `refund` | 환불 발생 |

> **팁**
>
> **주요이벤트는 `purchase` 하나입니다.** 다른 이벤트는 전부 ‘구매 경로 위의 서브이벤트’로, Funnel Analysis의 중간 단계로 사용됩니다.

## 공통 속성 규격

전자상거래 이벤트는 공통으로 다음 속성을 가집니다. 본 위키는 GA4 표준을 그대로 따릅니다.

| 속성 | 타입 | 의미 |
| --- | --- | --- |
| `currency` | string | 통화 코드 (`"KRW"`, `"USD"`) — 가격 속성이 있으면 필수 |
| `value` | number | 이벤트 전체 금액 (purchase면 총 결제액, add_to_cart면 담은 상품 총액) |
| `transaction_id` | string | 주문 고유 ID (purchase·refund에서만) |
| `tax` | number | 세금 (선택) |
| `shipping` | number | 배송비 (선택) |
| `coupon` | string | 사용된 쿠폰 이름 (선택) |
| `items` | array | 구매·조회된 상품들의 배열 (아래 참조) |

> **주의**
>
> **흔한 실수.** `value`는 ‘이벤트 전체 금액’, `price`는 ‘한 상품의 단가’ 입니다. `value`를 빼고 `price`만 보내면 매출 합계가 안 잡힙니다.

## items 배열 — 한 단계 더

구매·조회된 상품 정보는 `items` array에 객체 형태로 담습니다. 한 이벤트에 여러 상품을 같이 보낼 수 있습니다.

| items 안 속성 | 타입 | 의미 |
| --- | --- | --- |
| `item_id` | string | 상품 고유 코드 — 권장 (분석·dedup의 기준) |
| `item_name` | string | 상품 이름 — 권장 |
| `item_brand` | string | 브랜드 |
| `item_category` | string | 주 카테고리 |
| `item_category2` | string | 하위 카테고리 (선택) |
| `item_variant` | string | 옵션 (색상·사이즈 등) |
| `price` | number | 상품 단가 (할인 후) |
| `quantity` | number | 수량 |
| `discount` | number | 이 상품의 할인액 (선택) |
| `coupon` | string | 이 상품에 적용된 쿠폰 (선택) |

> **완료**
>
> **Amplitude의 강점.** array 형식의 items를 그대로 받아, 차트에서 ‘상품별 분류’를 자동으로 펼쳐 보여 줍니다. GA4의 ‘items 매개변수’와 동일한 분석이 별도 설정 없이 됩니다.

## 전체 예시 코드 — 구매 완료 이벤트

쇼핑몰의 다중 상품 구매

amplitude.track('purchase', {transaction_id: "ORD-20260601-1024", value: 187000, // 총 결제액 currency: "KRW", tax: 17000, shipping: 3000, coupon: "신규가입_10%", items: [{item_id: "SKU-001", item_name: "허들러스 후드 티셔츠", item_brand: "허들러스", item_category: "apparel", item_variant: "black/L", price: 89000, quantity: 1}, {item_id: "SKU-024", item_name: "허들러스 머그컵", item_brand: "허들러스", item_category: "lifestyle", price: 30000, quantity: 3}]});

## GA4 표준과의 차이

| 항목 | GA4 | Amplitude |
| --- | --- | --- |
| 이벤트 이름 강제 | 표준 이름 안 쓰면 자동 보고서 작동 X | 자유 — 본 위키는 GA4 이름을 그대로 따라 통일 |
| items 처리 | ‘items 매개변수’ 별도 계층 | 이벤트 속성에 array로 포함 (별도 계층 없음) |
| 차트에서 상품 분석 | ‘수익 창출’ 보고서 자동 작동 | Event Segmentation에서 ‘Group by item_name’ 식으로 직접 분석 |
| 환불 처리 | `refund` 이벤트로 음수 value | 동일 — `refund` 이벤트 |
| Boolean 값 | string으로 변환 필요 | native boolean 가능 |

## 자주 묻는 질문

### GA4 표준 대신 우리 회사 컨벤션(예: complete_purchase)으로 통일하면 안 되나요?

Amplitude만 단독 사용한다면 무방합니다. 다만 광고주가 GA4도 운영한다면 같은 행동을 두 도구에서 다른 이름으로 보내게 되고, 광고 매체(Google Ads·Meta Ads)와의 전환 매핑도 어긋날 수 있습니다. GA4 표준 이름이 사실상 ‘업계 표준’이 되어 있어 따르는 게 안전합니다.

### view_item_list와 view_item 둘 다 보내야 하나요?

분석 깊이에 따라 다릅니다. ‘목록에서 어떤 상품이 인기인지’를 따로 보고 싶으면 두 이벤트가 필요합니다. ‘상세 페이지 도달’만 추적하면 충분하면 view_item만 보내도 됩니다. 시작은 view_item부터, 분석 요구가 커지면 view_item_list를 추가하는 식으로 점진적 도입을 권장합니다.

### 환불(refund)은 어떻게 처리하나요?

`refund` 이벤트를 발생시키되 `transaction_id`로 원래 구매를 연결하고, `value`에 환불 금액(보통 양수)을 넣습니다. Amplitude 차트에서 ‘구매 수익 − 환불’을 계산해 순매출을 봅니다. 부분 환불이면 환불된 items만 배열에 담습니다.

### items 배열에 몇 개까지 담을 수 있나요?

공식 한도는 따로 명시되어 있지 않지만, 한 이벤트의 payload가 너무 커지면 네트워크 전송에 부담이 됩니다. 일반적인 쇼핑카트(평균 1~10개)는 문제없고, 100개 이상의 대량 주문(B2B)이면 묶음 발송 전략 검토.

### 구독(subscription) 같은 정기 결제는 어떻게 보내나요?

매 결제마다 `purchase` 이벤트를 보내고, 사용자 속성에 `is_subscriber: true`, `subscription_plan: "monthly"` 등을 함께 갱신합니다. 첫 구독 시작 시점에는 별도로 `start_subscription` 같은 이벤트를 추가로 보내면 ‘신규 구독 vs 갱신’ 분석이 깔끔합니다.

## Navigation

- [전체 플레이북 Markdown sitemap](/wiki/playbook/sitemap.md)

### Amplitude 이벤트 택소노미

- [Amplitude 이벤트 택소노미](/wiki/playbook/amplitude-event-taxonomy-checklist)
- [Amplitude의 로그와 이벤트](/wiki/playbook/amplitude-event-taxonomy-checklist/what-is-amplitude-logs-and-events)
- [Amplitude 이벤트의 구조](/wiki/playbook/amplitude-event-taxonomy-checklist/what-is-amplitude-event-structure)
- [이벤트 택소노미의 정의와 CASE STUDY](/wiki/playbook/amplitude-event-taxonomy-checklist/amplitude-event-taxonomy-case-study)
- [Amplitude 이벤트의 종류](/wiki/playbook/amplitude-event-taxonomy-checklist/what-is-amplitude-event-types)
- [Amplitude 이벤트 이름과 표기법](/wiki/playbook/amplitude-event-taxonomy-checklist/how-to-name-amplitude-events)
- [Amplitude 주요이벤트와 서브이벤트](/wiki/playbook/amplitude-event-taxonomy-checklist/amplitude-key-events-vs-sub-events)
- [Amplitude 이벤트 설계의 세분성](/wiki/playbook/amplitude-event-taxonomy-checklist/how-to-decide-amplitude-event-granularity)
- [Amplitude 속성 이름과 표기법](/wiki/playbook/amplitude-event-taxonomy-checklist/how-to-name-amplitude-properties)
- [Amplitude 속성의 타입](/wiki/playbook/amplitude-event-taxonomy-checklist/how-to-choose-amplitude-property-types)
- [Amplitude의 이벤트와 속성 4계층](/wiki/playbook/amplitude-event-taxonomy-checklist/what-is-amplitude-event-and-properties)
- [Amplitude의 사용자 식별 — Device ID · User ID · Amplitude ID](/wiki/playbook/amplitude-event-taxonomy-checklist/what-is-amplitude-identity)
- [Amplitude Identify call — set·setOnce·add·append·unset](/wiki/playbook/amplitude-event-taxonomy-checklist/how-to-use-amplitude-identify-call)
- [Amplitude Group Analytics — 회사·팀 단위 분석](/wiki/playbook/amplitude-event-taxonomy-checklist/what-is-amplitude-group-analytics)
- [Amplitude 전자상거래 이벤트 구현](/wiki/playbook/amplitude-event-taxonomy-checklist/how-to-implement-amplitude-ecommerce) (현재 문서)
