목차
1. 개요
2. 예상되는 바
3. 검증 과정 및 결과
4. 마무리
1. 개요
이전 글에서 GA4에서 제공하는 사용자 식별값의 특징을 알아봤다.
과연 식별값의 존재 여부나 수집 방식에 따라, 실제 전환 이벤트 수집에도 차이가 나는지 확인해보자.

2. 예상되는 바
사용자 식별값이 실제 전환 이벤트 수집에 어떤 영향을 주는지 확인하기 위해, 각 식별값(user_id, user_pseudo_id, device.id 등)에 따라 전환 이벤트를 조회해보려고 한다.
실제 DB에 인입되는 이벤트인 점을 고려했을 때 사용자의 명확한 액션이 수반된 전환이 데이터 고유성과 신뢰도가 높다는 점에서 확인 기준으로 적합하다고 판단했다.
| 식별값 | 설명 | 예상 결과 | 저장 위치 (BigQuery 기준) |
| User ID | 브랜드 서비스 로그인 사용자 식별값 | ❌ 결과 없음 로그인이 없는 페이지 + 수집 미설정 → 존재하지 않을 것 |
user_id |
| Client ID | 웹 브라우저 기반 식별값 (쿠키) | 기본 수집 대상이므로 가장 많이 존재할 것 | user_pseudo_id |
| Device ID | 앱 디바이스 기반 식별값 | ❌ 결과 없음 확인 대상이 웹 데이터 스트림으로 앱 전용 필드 존재 안 함 |
device.id |
| Google Signals ID | 구글 로그인 기반 식별값 (동의 필요) |
❔ ID 확인 불가 → 직접 검증 불가능 |
직접 접근 불가 |
3. 검증 과정 및 결과
🔸 User ID
User ID가 저장되는 user_id 컬럼은 역시 null값으로 확인됐다.

WITH base AS (
SELECT
user_id,
user_pseudo_id,
event_date,
event_timestamp,
event_name,
ep.key,
ep.value.string_value,
ep.value.int_value,
ep.value.float_value,
ep.value.double_value
FROM `analytics_projectname.events_*`, UNNEST (event_params) as ep
)
SELECT DISTINCT(user_id)
FROM base
WHERE event_name = 'conversion_event_name'
🔸 Client ID
Client ID가 저장되는 user_pseudo_id는 총 13개로 확인됐다.

WITH base AS (
SELECT
user_id,
user_pseudo_id,
event_date,
event_timestamp,
event_name,
ep.key,
ep.value.string_value,
ep.value.int_value,
ep.value.float_value,
ep.value.double_value
FROM `analytics_projectname.events_*`, UNNEST (event_params) as ep
)
SELECT COUNT(DISTINCT(user_pseudo_id))
FROM base
WHERE event_name = 'conversion_event_name'
🔸 Device ID
현재 확인 중인 데이터 스트림 유형은 '웹'으로 device_id 필드값이 확인되지 않는다.
- 웹 데이터 스트림
- 웹 데이터는 브라우저 단위로 식별되며, user_pseudo_id(Client ID)가 사용자 식별값으로 상요
- 웹 스키마에 device_id가 포함X
- 앱 데이터 스트림
- 앱 데이터는 기기 단위로 식별되며, device_id가 앱 인스턴스마다 고유하게 생성됨
- 앱 데이터를 BigQuery로 내보낼 때만 device_id가 포함됨
4. 마무리
예상대로 Client ID(user_pseudo_id)는 전환 이벤트에서 안정적으로 수집되고 있었고,
반면 User ID와 Device ID는 웹 데이터 스트림 특성상 수집되지 않음을 확인할 수 있었다.
데이터 분석을 하다 보면 늘 고민하게 되는 것이 바로 ‘사용자를 어떻게 정의할 것인가’라는 기준이다.
이번 실험을 통해 각 식별값의 수집 조건과 존재 여부, 그리고 특징에 따른 분석 가능 범위를 명확히 이해할 수 있었고, 앞으로 분석 목적에 따라 어떤 사용자 식별값을 기준으로 삼아야 할지에 대한 기준도 더 분명해졌다.
다음 글에서는 식별값 존재 여부에 따른 사용자 행동 차이나 특정 이벤트의 이탈 경로 분석도 함께 살펴볼 예정이다.
'Study > GA4' 카테고리의 다른 글
| 세션 소스/매체와 세션 수동 소스/매체 비교하기 (0) | 2025.06.11 |
|---|---|
| [TIL] GA4의 사용자 식별값, 뭐가 다를까? – User ID, Device ID, Client ID, Google Signals (0) | 2025.03.26 |
| [TIL] 빅쿼리에 적재되는 GA4 구조 이해하기 - Firebase? STRUCT? 왜 이렇게 생겼을까? (0) | 2025.03.26 |
| [GA4를 의심하고 BigQuery를 열다] GA4를 진짜 이해하고 싶은 당신에게 - 시리즈를 연재하며 (0) | 2025.03.24 |
| GA4 깊게 이해하기(2/2) (0) | 2024.11.23 |