# Amplitude 이벤트 이름과 표기법

이벤트 이름은 [행위]_[대상] 패턴(click_gnb)으로 짓습니다. snake_case·camelCase·kebab-case의 차이와, Amplitude 사용자 정의 이벤트가 왜 snake_case인지를 GA4 통일·BigQuery export 관점에서 정리.

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

## 목차

- [이름 패턴 — [행위]_[대상]](#pattern)
- [왜 표기법이 필요한가](#why-notation)
- [snake / camel / kebab](#cases)
- [왜 snake_case?](#snake-case)
- [이름의 기술 규칙](#rules)
- [자주 묻는 질문](#faq)

이벤트 이름은 결국 **사람이 짓고, 사람이 입력**합니다. 같은 행동이 사람마다 다른 모양으로 적히면 Amplitude는 모두 ‘다른 이벤트’로 인식하므로, 한 가지 약속을 정해 두지 않으면 차트가 흩어집니다. 이 글은 허들러스의 이벤트 이름 패턴 — `[행위]_[대상]` — 과, 권장 표기법인 **snake_case**를 왜·어떻게 쓰는지를 정리합니다.

## 이름 패턴 — `[행위]_[대상]`

이벤트 이름은 두 조각으로 만듭니다. **앞쪽**에는 사용자의 ‘행위’를 나타내는 동사가, **뒤쪽**에는 그 행위의 ‘대상’이 되는 명사가 들어가고, 두 조각 사이를 언더바(`_`)로 잇습니다.

이벤트 이름 패턴

click_gnb ↑ 행위(동사) · 잇는 글자 · 대상(명사) ↑

| 이벤트 이름 | 행위(앞) | 대상(뒤) | 의미 |
| --- | --- | --- | --- |
| `click_gnb` | click | gnb | 글로벌 내비게이션의 어떤 항목을 클릭함 |
| `click_btn` | click | btn | 일반 버튼·CTA를 클릭함 |
| `click_tab` | click | tab | 탭을 전환함 |
| `view_item` | view | item | 상품 상세 페이지를 봄 |
| `submit_survey` | submit | survey | 설문을 제출함 |
| `play_video` | play | video | 영상 재생을 시작함 |

이 패턴의 장점은 단순합니다 — 이벤트 목록만 봐도 ‘무엇을 한 것’인지 즉시 보이고, **같은 행위끼리**(모든 `click_*`) 또는 **같은 대상끼리**(모든 `*_gnb`) 묶어서 분석할 수 있습니다.

## 왜 ‘표기법’이라는 게 필요한가?

이벤트 이름은 사람이 짓고, 사람이 코드에 입력합니다. 그런데 컴퓨터는 글자를 ‘하나하나 정확히’ 비교합니다.** 사람 눈에는 같아 보이는 두 이름이 Amplitude에는 완전히 다른 이벤트**로 들어옵니다.

‘GNB 클릭’이라는 한 가지 행동을, 한 사이트의 여러 사람이 각자 다른 식으로 적었다고 해 봅시다.

같은 의미 — “GNB 클릭”

clickgnb → 1,284 건 click_gnb → 842 건 clickGnb → 317 건 Click-Gnb → 98 건 → Amplitude: “4개의 다른 이벤트입니다.” GNB 클릭 총합을 보려면 4개를 다 더해야 함.

> **팁**
>
> **표기법(case style)이란** — 사람이 머릿속에서는 ‘띄어쓰기로 분리해서’ 부르는 단어 묶음(예: ‘click gnb’)을, 시스템이 받아들이는 이름(공백 없음·단일 토큰) 하나로 옮길 때 **‘띄어쓰기 자리에 무엇을 넣을지’의 약속**을 말합니다. 약속이 한 가지로 통일되어 있으면, 누가 적든 같은 의미는 같은 이름이 됩니다.

## 대표 표기법 — snake / camel / kebab

같은 두 단어 ‘click gnb’를 각 표기법으로 옮기면 다음과 같이 달라집니다.

| 표기법 | 표현 | 규칙 | 주로 쓰이는 곳 |
| --- | --- | --- | --- |
| **snake_case** (권장) | `click_gnb` | 띄어쓰기 자리에 **언더바(_)**. 글자는 모두 소문자. | Python·SQL·BigQuery·GA4·Amplitude 사용자 정의 |
| camelCase | `clickGnb` | 두 번째 단어부터 **첫 글자만 대문자**. | JavaScript·Java 변수/메서드 |
| kebab-case | `click-gnb` | 띄어쓰기 자리에 **하이픈(-)**. | URL·CSS 클래스명 |
| Title Case | `Click Gnb` | 각 단어 첫 글자만 대문자, 띄어쓰기 유지. | Amplitude 자동 추적 이벤트(`[Amplitude] Page Viewed` 등) |

## 왜 snake_case를 권장하나

Amplitude는 사실 사용자 정의 이벤트 이름에 강한 제약이 없습니다 — Title Case·camelCase 모두 허용됩니다. 그럼에도 본 위키는 **snake_case**를 표준으로 권장합니다. 세 가지 이유 때문입니다.

- **GA4와 통일됩니다.** 광고주가 Amplitude·GA4 둘 다 운영하면 같은 행동을 두 도구에서 같은 이름으로 보내는 게 디버깅·운영에 좋습니다. GA4 표준이 snake_case이니 Amplitude도 맞추는 편이 자연스럽습니다.
- **BigQuery export 시 자연스럽습니다.** Amplitude 데이터를 BigQuery로 export하면 컬럼·필드명이 그대로 들어가는데, BigQuery·SQL의 표준 표기가 snake_case라 추가 변환 없이 잘 맞습니다.
- **가독성이 안정적입니다.** 한국어 사용자는 camelCase의 ‘대소문자 경계’보다 언더바의 시각적 구분이 더 또렷합니다. `clickGnb`는 ‘클릭 GNB’로 빠르게 안 읽히지만 `click_gnb`는 한눈에 분리되어 보입니다.

> **완료**
>
> **요약 규칙.** Amplitude SDK가 자동으로 보내는 이벤트는 `[Amplitude] Page Viewed`처럼 Title Case로 그대로 두시고, **우리가 직접 보내는 사용자 정의 이벤트는 모두 snake_case**로 통일하세요. 두 영역을 섞지 마세요.

## 이름의 기술 규칙

표기법 외에 한 가지 더 — Amplitude·GA4가 잘 처리하는 ‘이름의 기술적 제약’입니다.

| 규칙 | 구체적인 내용 |
| --- | --- |
| 길이 | 이벤트 이름은 ASCII 기준 1024자 이내(실무는 30자 이내가 가독성에 좋음). |
| 허용 문자 | 알파벳·숫자·언더바(`_`). 첫 글자는 알파벳. |
| 비허용 문자 | 공백·하이픈(`-`)·점(`.`)·괄호·한글·이모지. **kebab-case 비권장 이유**. |
| 대소문자 구분 | Amplitude는 대소문자를 구분합니다. `Sign_Up`과 `sign_up`은 다른 이벤트. |
| 예약 접두사 | `[Amplitude]` 접두사가 붙은 이름은 자동 추적용. 사용자 정의 이벤트에는 사용 금지. |
| 한 프로젝트당 이벤트 수 | 요금제별 제한 있음. 일반적으로 1,000개 이내 권장(많을수록 분석가가 드롭다운에서 찾기 어려움). |

## 자주 묻는 질문

### Amplitude 공식 문서는 Title Case로 쓰던데, 왜 snake_case로 통일하나요?

Amplitude 공식 문서가 사용자 정의 이벤트 예시로 `Watched Video`처럼 Title Case를 자주 쓰는 건 사실입니다. 다만 GA4·BigQuery 등 다른 분석 도구와 함께 운영할 때 통일성이 깨지고, BigQuery export 시 추가 변환이 필요해집니다. 본 위키는 광고주가 보통 GA4를 같이 운영하는 한국 시장 상황을 고려해 **snake_case**로 통일합니다. Amplitude만 단독 사용하는 광고주는 Title Case도 무방합니다.

### 한글 이벤트 이름은 안 되나요?

기술적으로는 됩니다. Amplitude는 UTF-8을 받아들입니다. 그러나 차트 드롭다운·이벤트 검색·BigQuery 컬럼명에서 한글이 다른 도구에서 깨지는 경우가 잦고, 개발자가 코드에 적기 부담스럽습니다. **영문 + snake_case**가 표준입니다.

### 이미 운영 중인 사이트가 camelCase로 잡혀 있는데 바꿔야 하나요?

과거 데이터는 이미 그 이름으로 적재되어 있어 바꿀 수 없습니다. 앞으로 추가하는 이벤트는 snake_case로 통일하시고, 차트에서는 두 형태가 같이 보이는 기간을 거쳐 점진적으로 정리하시는 게 안전합니다.

### 추천 이벤트(예: sign_up)는 정해진 이름인가요?

Amplitude는 GA4만큼 강제하지는 않지만, GA4 표준 이름(`sign_up`, `login`, `purchase`, `add_to_cart` 등)을 같이 쓰면 운영·디버깅이 편합니다. 자세한 분류 는 [이벤트의 종류](/wiki/playbook/amplitude-event-taxonomy-checklist/what-is-amplitude-event-types)를 참고하세요.

## 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)
