[GA4>M 활용] GA4 구성 시 피해야 할 실수 5가지 (1부) : 통화 누락부터 중복 이벤트까지
핵심 요약 (한 줄 답변)
GA4를 설정할 때 가장 흔한 실수 10가지 중, 이 글(1부)에서는 처음 5가지를 원인과 해결책까지 정리합니다. ① 전자상거래 통화(currency) 누락 - currency는 필수이며 ISO 코드(KRW·USD·EUR)로, 통화 기호(₩·$)는 넣으면 안 됩니다. ② 유니버설 애널리틱스(UA) 레거시 이벤트 수집 - analytics.js 이벤트가 무분별하게 들어와 데이터가 지저분해집니다. ③ 모든 방문자에게 debug_mode=true 전송 - DebugView가 남의 기기로 가득 차 디버깅이 어려워집니다. ④ [이벤트 만들기]로 인한 중복 이벤트 - 이미 있는 이벤트를 또 등록해 두 번 집계됩니다. ⑤ 이벤트 액션·라벨 하드코딩 - 값을 동적으로 구성해야 매번 새 이벤트를 만들지 않습니다.
이 글에서 알 수 있는 것
- GA4 구성 시 가장 흔한 실수 5가지(1부)와 증상·해결
- 전자상거래 통화(currency) 매개변수를 올바르게 보내는 법
- DebugView를 깨끗하게 유지하는 디버깅 방법
- 초보자가 자주 겪는 '중복 이벤트' 발생 원인과 예방
- UA식 이벤트 액션·라벨을 GA4에서 동적으로 구성하는 법
✳️ 난이도 : 중급 | 소요 시간 : 약 7분 | 대상 : GA4를 직접 설정하며 데이터 오류의 원인을 찾는 마케터·데이터 분석가·개발자·쇼핑몰 운영자
"GA4 데이터가 이상한데, 어디부터 봐야 할까?"
많은 분들이 GA4를 설정하다가 생긴 문제를 어디서부터 확인해야 할지 막막해합니다. GA4는 설정 항목이 많고 문서가 방대해, 작은 실수가 데이터 전체를 왜곡하기 쉽습니다.
그래서 GA4 구성 시 가장 자주 일어나는 실수 10가지를 골라 원인과 해결책을 정리했습니다. 이 글은 1부로 앞의 5가지를, 다음 글(2부)에서 나머지 5가지를 다룹니다.
한눈에 보는 GA4 실수 5가지 (1부)
먼저 5가지 실수와 증상·해결을 표로 요약했습니다. 내 상황에 해당하는 항목부터 확인하세요.
| # | 실수 | 증상 | 해결 |
| 1 | 전자상거래 통화(currency) 누락 | 수익 보고서 일부 데이터 미표시 | currency를 ISO 코드로 항상 전송 |
| 2 | UA 레거시 이벤트 수집 | 이벤트가 지저분하게 유입 | 웹 스트림의 UA 수집 설정 끄기 |
| 3 | 모든 방문자에 debug_mode 전송 | DebugView가 남의 기기로 가득 참 | GTM 대신 크롬 확장 프로그램 사용 |
| 4 | [이벤트 만들기]로 중복 발생 | 같은 이벤트가 2번 집계 | 매개변수만 등록, 이벤트 재생성 금지 |
| 5 | 이벤트 액션·라벨 하드코딩 | 값마다 새 이벤트를 계속 생성 | 액션·라벨을 동적 변수로 구성 |
실수 1. 전자상거래 통화(currency) 누락
쇼핑몰에서 GA4 전자상거래 데이터를 수집하려면 통화(currency) 매개변수를 반드시 함께 보내야 합니다. 구글 문서에 "모든 구매에 통화가 필요하다"고 명시되어 있진 않지만, 실제로는 필수입니다.
구매 데이터에는 최소한 아래 필수 값이 들어가야 합니다.
'ecommerce': {
transaction_id: "T12345", // 필수
value: "59.89", // 필수
currency: "KRW", // 필수 (ISO 코드)
tax: "4.90",
shipping: "5.99",
'items': [{
'item_name': 'Scented T-Shirt', // 필수
'item_id': '67890', // 필수
'price': '33.75',
'quantity': '1'
}]
}
⚠️ 주의 - 통화 값 규칙 쇼핑몰이 단일 통화만 쓰더라도 구매마다 currency를 보내야 합니다. 값은 ISO 표준 코드를 사용합니다. (한국 원화 KRW, 미국 달러 USD, 유로 EUR) 통화 기호(₩·$ 등)는 넣지 마세요. GA4는 기호를 이해하지 못하고 하나의 문자로만 인식합니다.
currency가 빠지면 수익 창출 보고서의 일부 데이터가 표시되지 않습니다. GTM 또는 소스코드의 GA4 태그에 반드시 통화 매개변수를 포함하세요.
실수 2. 유니버설 애널리틱스(UA) 레거시 이벤트 수집
웹 데이터 스트림 설정에는 예전 analytics.js(UA 추적 코드) 이벤트를 GA4로 가져오는 기능이 있습니다. 이 기능이 켜져 있으면 데이터가 지저분해집니다.
- 이 기능은 UA가 analytics.js와 함께 설치되어 있고 해당 설정에서 GTM을 사용하지 않는 경우에 동작합니다.
- 활성화되면 GA4는 analytics.js로 추적되던 모든 이벤트를 수집하려 시도합니다. 이때 모든 이벤트 이름이 이벤트 액션 값을 가져오고, 카테고리·라벨은 event_category·event_label 매개변수로 전송됩니다.
⚠️ 주의 : GA4의 이벤트 수정 기능으로 정리할 수 있지만, 속성당 규칙은 최대 50개로 제한됩니다. 레거시 이벤트가 많으면 감당하기 어려우니, 필요 없다면 이 수집 설정을 꺼두는 것이 좋습니다.
실수 3. 모든 방문자에게 debug_mode 전송
GA4의 DebugView는 수신 데이터의 문제를 세부적으로 해결할 수 있는 훌륭한 기능입니다. 데이터를 디버깅하는 방법은 세 가지입니다.
- GA4 디버거 크롬 확장 프로그램 활성화
- 디버깅 페이지에서 GTM 미리보기 모드 활성화
- 이벤트와 함께 debug_mode 매개변수 전송 활성화
실수는 바로 세 번째 방법과 관련 있습니다.

GTM의 구성 설정(또는 공유 이벤트 설정) 에 debug_mode=true가 포함되어 있으면, 모든 웹사이트 방문자가 debug_mode를 전송하게 됩니다.

이렇게 되면 DebugView가 남의 기기로 가득 차, 정작 자신의 기기를 찾기 어려워 디버깅이 힘들어집니다.
✅ 해결 : GTM에서 debug_mode=true를 상시 사용하지 말고, 크롬 확장 프로그램으로 필요할 때만 디버깅하세요.
실수 4. [이벤트 만들기] 기능으로 인한 중복 이벤트
GA4 초보자에게 가장 흔한 실수입니다. 맞춤 매개변수를 맞춤 측정기준으로 쓰려면 '매개변수'만 등록하면 되는데, '이벤트'까지 다시 등록해야 한다고 오해하면서 문제가 생깁니다.

GTM 또는 gtag로 이벤트 전송을 시작한 뒤, [GA4] → [구성] → [이벤트] → [이벤트 만들기] 로 가서 똑같은 이벤트를 또 만들면 데이터 중복이 발생합니다.

✅ 예시 : 이미 add_to_cart 이벤트가 수집되고 있는데 [이벤트 만들기]로 add_to_cart를 또 등록하면, add_to_cart가 2번 실행됩니다. 이벤트 전송은 GTM/gtag에서 하고, [이벤트 만들기]로 동일 이벤트를 중복 생성하지 마세요.
실수 5. 이벤트 카테고리·액션·라벨 하드코딩
이건 엄밀히 '실수'는 아니지만, 권장하지 않는 설정 방식입니다. 예전 UA에서는 이벤트를 보낼 때 카테고리·액션·라벨·값을 채워야 했는데, 이를 GA4에서 고정값으로 그대로 옮기면 비효율적입니다.
고정값(하드코딩)으로 구성하면, 값이 바뀔 때마다 새 이벤트를 계속 만들어야 합니다. 대신 액션·라벨을 동적 변수로 구성하는 것을 권장합니다.
| 항목 | 하드 코딩(비권장) | 동적 구성(권장) |
| 이벤트 이름 | 리드생성 | 리드생성 |
| 이벤트 액션 | 뉴스레터 (고정) | [eventAction name] (동적) |
| 이벤트 라벨 | /pages/newsletter (고정) | [page path] (동적) |
✅ 핵심 : 액션·라벨을 동적으로 구성하면, 값이 바뀔 때마다 새 이벤트를 만들 필요 없이 자동으로 액션·라벨이 채워집니다.
결론 : 작은 설정 하나가 데이터 전체를 좌우한다 (2부 예고)
GA4의 흔한 실수는 대부분 '작은 설정 누락'에서 시작됩니다.
"통화 하나, debug_mode 하나, 중복 이벤트 하나가 보고서 전체를 흔든다."
특히 통화(currency) 누락과 중복 이벤트는 실무에서 가장 자주 발생하니 먼저 점검하세요. 이 글에서 다룬 5가지 외에 나머지 5가지 실수는 2부에서 이어서 정리하겠습니다.
자주 묻는 질문 (FAQ)
Q. GA4 전자상거래에서 통화(currency)를 꼭 보내야 하나요?
A. 네, 필수입니다. 단일 통화만 쓰더라도 구매마다 currency를 ISO 코드(KRW·USD·EUR) 로 보내야 합니다. 누락되면 수익 창출 보고서의 일부 데이터가 표시되지 않습니다. 통화 기호(₩·$)는 넣으면 안 됩니다.
Q. debug_mode를 GTM에 넣으면 왜 문제가 되나요?
A. GTM 구성 설정에 debug_mode=true를 넣으면 모든 방문자가 debug_mode를 전송해, DebugView가 남의 기기로 가득 찹니다. 자신의 기기를 찾기 어려워지므로, 크롬 확장 프로그램으로 필요할 때만 디버깅하세요.
Q. GA4에서 이벤트가 두 번씩 집계돼요. 왜 그런가요?
A. 이미 수집 중인 이벤트를 [이벤트 만들기]로 다시 등록했을 가능성이 큽니다. 맞춤 측정기준을 쓰려면 '매개변수'만 등록하면 되고, 이벤트 자체를 재생성하면 중복됩니다.
Q. UA 이벤트 수집 설정은 꺼야 하나요?
A. GTM으로 GA4를 운영한다면 대부분 필요 없습니다. 레거시 analytics.js 이벤트가 지저분하게 유입되고, 이벤트 수정 규칙도 속성당 50개로 제한되므로 필요 없다면 끄는 것이 좋습니다.
Q. 이벤트 액션·라벨은 어떻게 설정하는 게 좋나요?
A. 고정값으로 하드코딩하면 값마다 새 이벤트를 만들어야 합니다. 동적 변수([page path] 등)로 구성하면 값이 바뀌어도 자동으로 채워져 효율적입니다.
요약 (한 장 정리)
- 실수 1 : 통화(currency) 누락 → ISO 코드 필수, 기호 금지
- 실수 2 : UA 레거시 이벤트 수집 → 필요 없으면 끄기(규칙 50개 제한)
- 실수 3 : 모든 방문자에 debug_mode 전송 → 크롬 확장으로 대체
- 실수 4 : [이벤트 만들기] 중복 → 매개변수만 등록, 이벤트 재생성 금지
- 실수 5 : 액션·라벨 하드코딩 → 동적 변수로 구성
- 다음 편(2부) : 나머지 5가지 실수 이어서
작성 : 디애널리틱스(The Analytics) · 구글애널리틱스를 활용하여 기업의 마케팅 성과를 향상시키는 방법을 연구합니다.
'GA4>M 활용' 카테고리의 다른 글
| [GA4>M 활용] GA4 구성 시 피해야 할 실수 5가지 (2부) : 맞춤 측정기준부터 내부 트래픽까지 (0) | 2026.08.04 |
|---|---|
| [GA4>M 활용] GA4 추천 이벤트란? 4가지 이벤트 유형과 전체 목록 완벽 정리 (0) | 2026.08.04 |
| [GA4>M 활용] GA4로 디지털 마케팅 전략 최적화하는 방법 : 5W1H로 답하는 5가지 핵심 질문 (1) | 2026.08.03 |
| [GA4>M 활용] GA4 전자상거래 데이터 누락·오류 원인 7가지와 해결 방법 (수익이 안 잡힐 때) (0) | 2026.08.03 |
| [GA4>M 활용] GA4 사용자 획득 vs 트래픽 획득 보고서, 무엇이 다를까? (첫 클릭 vs 마지막 클릭 완벽 정리) (0) | 2026.08.03 |