# Amplitude 속성 이름과 표기법

속성 이름은 두 단계로 정해집니다 — ① 형태(4가지) ② 모든 이름에 공통으로 적용되는 표기 규칙. 그리고 사이트 전체의 일관성. snake_case·복합명사 붙여쓰기·Boolean 접두사(is_/has_)·도메인 표준어 등 실무 사례까지.

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

## 목차

- [① 4가지 형태](#forms)
- [② 공통 표기 규칙](#notation)
- [③ 사이트 전체 일관성](#consistency)
- [자주 묻는 질문](#faq)

속성 이름은 두 단계로 정해집니다 — ① 어떤 **형태**로 지을지(4가지 중 하나), ② 모든 이름에 공통으로 적용되는 **표기 규칙**. 그리고 한 사이트 안에서는 같은 의미가 같은 이름이 되도록 **일관성**을 지킵니다. 이 세 축으로 정리합니다.

## ① 어떤 형태로 이름을 짓는가 — 4가지 중 하나

속성 이름은 형태로 다음 4가지로 갈립니다. 한 속성은 정확히 하나의 형태에 속합니다.

### 1. 표준 권장 속성 — 이름 변경 불가

GA4와 통일하기 위해 표준 권장 이벤트(`purchase`, `add_to_cart` 등)가 사용하는 속성들은 **이름을 그대로 따라야** 합니다.

| 이벤트 | 표준 속성 |
| --- | --- |
| `purchase` | `transaction_id` · `value` · `currency` · `items` · (선택: `coupon`, `shipping`, `tax`) |
| `add_to_cart` · `view_item` · `view_cart` | `currency` · `value` · `items` |
| `begin_checkout` | `currency` · `value` · `items` |
| `sign_up` · `login` | `method` |
| `search` | `search_term` |
| `items` 배열 안 | `item_id` · `item_name` · `item_brand` · `item_category` · `price` · `quantity` |

> **팁**
>
> **흔한 함정 —** `value`는 이벤트 전체 금액, `price`는 상품 단가입니다. 혼용 금지. `revenue` 같은 이름은 GA4·Amplitude 모두 비표준이라 권장하지 않습니다.

### 2. [대상]_[기술자] 패턴 — 가장 흔한 자유 명명

우리가 직접 짓는 속성의 기본 패턴은 **`[대상]_[기술자]`** — ‘어떤 대상’에 대한 ‘어떤 정보’인가입니다. 한 객체에 대한 여러 정보를 같은 prefix로 묶으면, 속성만 봐도 ‘무엇에 관한 정보군’인지가 한눈에 잡힙니다.

| 이벤트 이름 | 기본 속성 | 값 예시 |
| --- | --- | --- |
| `click_btn` | `btn_name` | `"회원가입"` · `"자세히 보기"` |
| `click_gnb` | `gnb_name` | `"핫딜"` · `"신상품"` |
| `click_tab` | `tab_name` | `"리뷰"` · `"문의"` |
| `play_video` | `video_name` | `"intro"` · `"product_demo"` |

**자주 쓰는 기술자(suffix) —** 텍스트 식별 `_name`, 고유 ID `_id`, 분류 `_type`·`_category`, 위치·순서 `_position`·`_index`. 한 사이트 안에서는 같은 의미에 같은 기술자를 통일해서 씁니다.

### 3. 단독 이름 — 도메인 표준어

단어 하나로 의미가 자명한 경우엔 prefix를 붙이지 않고 **단독 이름**으로 씁니다.

| 속성 | 무엇 | 출처 |
| --- | --- | --- |
| `price` | 상품 단가 | 표준 (`items` 배열 안) |
| `quantity` | 상품 수량 | 표준 |
| `value` | 이벤트 전체 금액 | 표준 |
| `currency` | 통화(`"KRW"`·`"USD"`) | 표준 |
| `coupon` | 사용된 쿠폰 이름 | 표준 |
| `credit` | 학점·수강 점수 | 교육 도메인 |
| `point` | 포인트 사용 금액 | 적립금 도메인 |

### 4. Boolean 접두사 — `is_` / `has_`

참/거짓 정보는 이름에 의미가 보이도록 접두사 두 가지를 약속합니다.

| 접두사 | 의미 | 예시 |
| --- | --- | --- |
| `is_` | 상태·구성·속성 | `is_login` · `is_premium` · `is_first_purchase` |
| `has_` | 소유·포함 | `has_coupon` · `has_pending_order` · `has_subscription` |

> **팁**
>
> **값 표기는 한 가지로 통일.** Amplitude는 Boolean 타입을 네이티브로 지원하지만, 차트·BigQuery 호환을 위해 사이트 안에서 한 가지로 통일하세요(예: `true`/`false` 또는 `"Y"`/`"N"` 중 하나).

## ② 모든 속성에 공통으로 적용되는 표기 규칙

위 4가지 형태와 무관하게 모든 속성 이름은 다음 규칙을 따릅니다.

### 글자 — snake_case

영문 소문자·숫자·언더바(`_`)만 쓰고, 모두 소문자입니다. snake_case의 이유와 다른 표기법 비교는 [이벤트 이름과 표기법](/wiki/playbook/amplitude-event-taxonomy-checklist/how-to-name-amplitude-events) 글에서 다루었습니다.

### 복합명사 — 붙여 쓰기

속성 이름에서 `_`는 **‘대상 ↔ 기술자’ 경계 한 자리만**입니다. 그래서 대상이나 기술자가 복합명사일 때 그 안에 또 `_`를 두지 않습니다.

| ✓ 권장 | ✗ 피함 | 이유 |
| --- | --- | --- |
| `icecream_name` | `ice_cream_name` | 대상이 어디까지인지 헷갈림 (ice + cream + name vs ice_cream + name) |
| `giftcard_id` | `gift_card_id` | 동일 |
| `creditcard_type` | `credit_card_type` | 동일 |

### Amplitude 기술 한도

| 규칙 | 내용 |
| --- | --- |
| 시작 문자 | 문자로 시작(숫자·언더바·기호 금지). |
| 허용 문자 | 영문 소문자·숫자·언더바(`_`)만. |
| 길이 | 속성 이름은 1024자 이내(실무는 30자 이내 권장). |
| 한 이벤트당 속성 수 | ~ 2,000개까지 가능하나 평균 5~10개가 자연스러움. |
| 예약 접두사 | `$`로 시작하는 이름은 Amplitude 내장용. 사용 금지. |

## ③ 사이트 전체의 일관성

형태와 표기 규칙을 따랐어도, **같은 의미가 두 이름으로 흩어지면** 데이터가 무너집니다. 한 사이트 안에서는 한 의미를 한 이름으로 고정하는 게 가장 중요한 약속입니다.

- **같은 의미는 같은 이름.** ‘버튼 이름’은 늘 `btn_name`으로 — `button_label`이나 `btnText`로 섞어 쓰지 않습니다.
- **기술자(suffix)는 사이트 표준어로.** 위치는 항상 `_position`, 분류는 항상 `_category`, 고유 ID는 항상 `_id`.
- **표준 속성 이름은 그대로.** `price`를 `item_price`로, `value`를 `revenue`로 바꾸지 않습니다.
- **Boolean 값 표기도 한 가지로.** `true`/`false`·`"Y"`/`"N"`·`1`/`0` 중 한 가지를 사이트 전반에서 통일합니다.

### 사례 — 한 결제 이벤트의 속성 모음

교육 플랫폼의 강좌 결제 (Amplitude track API)

amplitude.track('purchase', {// ① 표준 속성 transaction_id: "ORD-20260514-018", value: 89000, // 이벤트 전체 금액 currency: "KRW", coupon: "신규가입_10%", // ③ 단독 이름 (도메인 표준어) point: 5000, discount: 9000, // ② [대상]_[기술자] 패턴 payment_type: "kakao_pay", // items 배열 items: [{course_id: "C-PSY-101", course_name: "긍정심리학 입문", course_category: "심리", course_type: "online", price: 89000, // 표준 quantity: 1, // 표준 credit: 2 // 도메인}]});

네 가지 형태(① 표준 / ② 짝짓기 / ③ 단독 / ④ Boolean)가 자연스럽게 공존하면서, 속성 이름만 봐도 ‘무엇에 관한 정보’인지가 한눈에 잡힙니다.

## 자주 묻는 질문

### click_btn에 btn_name 말고 button_text처럼 다르게 지어도 되나요?

기술적으로는 됩니다 — Amplitude는 속성 이름을 자유롭게 정하게 허용합니다. 다만 한 사이트 안에서 같은 정보(버튼의 텍스트)를 `btn_name`과 `button_text`로 섞어 쓰면 분석이 흩어집니다. ‘대상은 이벤트의 대상 부분을 그대로 따른다’는 우리 규약을 따라 `btn_name`으로 통일합니다.

### 왜 복합명사는 붙여 쓰나요? ice_cream_name이 더 읽기 좋아 보이는데요.

속성 이름에서 `_`의 역할이 ‘대상 ↔ 기술자’ 경계라서입니다. 단어 안에도 `_`가 들어가면 사람도 기계도 “이 이름의 ‘대상’ 부분이 어디까지인가?”를 매번 추측해야 합니다. `icecream_name`은 명확히 ‘대상=icecream, 기술자=name’.

### Amplitude에 맞춤 측정기준 등록 같은 단계가 있나요?

**없습니다.** GA4와 다르게 Amplitude는 SDK로 보낸 속성을 자동으로 차트 드롭다운에 노출합니다(약간의 지연 후). 별도 등록 없이 바로 ‘쪼개서 보기’가 가능한 점이 장점입니다.

### is_ / has_ 어느 쪽인지 헷갈릴 때는?

“그 사용자가 무엇인가”(상태)이면 `is_`, “그 사용자가 무엇을 가지고 있는가”(소유)면 `has_`. VIP 회원인가? → `is_vip`. 쿠폰 보유 중인가? → `has_coupon`. 마케팅 동의했나? → `is_marketing_consent`. 진행 중인 주문이 있나? → `has_pending_order`.

### $ 접두사로 시작하는 이름은 왜 금지인가요?

Amplitude가 내부적으로 사용하는 예약 접두사입니다. 예: `$insert_id`, `$set`, `$setOnce` 등. 사용자가 같은 접두사로 속성을 만들면 SDK가 거부하거나 의도와 다르게 처리될 수 있습니다.

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