본문 바로가기
그로스해킹/GTM, GA4 API

User ID, 사용자를 식별하는 가장 확실한 방법

by 코듀킹 2024. 1. 27.

user_id, user_pseudo_id, 기기 ID, 보고 ID, Client ID, App Instance ID 등등 사용자를 식별하는 기준이 너무나 많죠. 각각의 ID는 어떤 원리로 수집되는 것이며, 진짜 사용자를 구분할 수 있는 가장 확실한 수단은 무엇일까요? 

 

목차

1. GA4의 보고 ID

2-1. user_id

2-2. user_pseudo_id

 

GA4의 보고 ID

GA4의 보고 IDuser_id, 기기 ID, Google Signals, 모델링을 조합한 ID입니다. GA4에서 여러 기기와 플랫폼에서 사용자를 측정하는 방법입니다. 혼합된 보고 ID를 사용하면, 사용자수를 구분할 때 위 4가지를 조합해서 진짜 사용자수가 몇 명인지를 식별해 냅니다. 혼합된 보고 ID설정은 GA4에서 [관리 > 데이터표시 > 보고 ID]에서 설정할 수 있습니다. 

 

GA4-보고ID

 

GA4는 기기를 Client ID(웹) 그리고 App Instance ID(앱)로 구분합니다. 웹의 경우 브라우저 인스턴스를 식별하기 위해 쿠키에 심어둔 식별자, 앱의 경우 앱을 설치할 때마다 생성하는 식별자를 기준으로 합니다. 빅쿼리에서는 user_pseudo_id 필드에 해당합니다.

 

예를 들어, 한명의 사용자가 desktop에서 시크릿모드와 크롬으로 사이트를 방문했고, 모바일에서는 사파리로 접속을 했고, 태블릿으로도 사파리로 접속을 했다면, 브라우저 쿠키는 4개이고, 앱 인스턴스는 2개로 총 6명이 됩니다.

 

Google Signals는 구글 로그인 계정 정보를 활용한 데이터입니다. 이 정보는 빅쿼리에서는 확인이 불가능합니다. 또한 구글 문서에의하면 2월 12일 부로 구글 신호 데이터가 보고 ID에서 삭제된다고 합니다. (구글 신호 데이터에 대한 더 상세한 글)

GA4-Google_signals-공지

 

 

user_id와 user_pseudo_id

 

GA4와 빅쿼리를 연결시키면, 사용자를 식별해 주는 ID로 user_id와 user_pseudo_id가 있는 걸 볼 수 있습니다. 각각의 id는 무엇을 의미할까요?

 

1) user_id

빅쿼리에서 user_id는 서비스 내부에서 활용하고 있는 USER-ID를 나타냅니다. 즉, 네이버에서 로그인을 했다면, 네이버 아이디가 바로 USER-ID가 되는 것이죠. USER-ID를 수집하는 방법은 이 문서를 참고하시면 됩니다.

 

그렇다면 이 ID를 GA4로 전송하면 손쉽게 개인을 식별할 수 있을까요? 그렇지 않습니다. 사용자 아이디는 개인 식별 정보에 해당합니다. 구글이 규정하는 개인 식별 정보에는 이메일 주소, 우편 번호, 전화번호, 정확한 위치, 이름, 사용자 ID 등이 있습니다. 개인 식별정보는 민감한 정보이므로 반드시 암호화를 해야 합니다. 

 

2) user_pseudo_id

[개발자도구 > Application > Cookies > ga_] 경로를 통해 ga_를 확인하면 아래와 같은 값이 뜹니다.

 

ga_-필드-의미

 

  • 1번 필드의 GA1은 접두어로 쿠키의 포맷을 나타냅니다.
  • 2번 필드의 .1.는 도메인 레벨을 가리킵니다.
  • 3,4번 필드 부분이 Client ID 부분입니다.

즉, _ga 쿠키는 GA에서 개인을 구분하는 Cliend ID 정보를 담고 있습니다. 쿠키는 디바이스에 따라 다른 정보를 담고 있습니다. 

 

3번 필드는 사용자를 식별하는데 가장 큰 핵심이 되는 필드입니다. 랜덤 유니크 값이 들어가기 때문에 같은 사이트에서는 중복이 될 수 없습니다. 4번 필드는 해당 사용자에 대해 쿠키가 처음으로 세팅된 타임스탬프를 의미합니다.  3번 필드와 4번 필드를 하나로 합쳐진 게 user_pseudo_id이다. 

 

퍼스트 파티 쿠키는 세션에 따라 독립적인 클라이언트 ID가 저장됩니다. 즉, 브라우저나 사용자 기기가 달라질 경우 세션이 독립적으로 발생한다.

 

  • 앱의 경우 : 앱을 설치할 때마다 생기는 고유의 인스턴스 ID
  • 웹의 경우 : 퍼스트파트 쿠키 기반의 ID

 

앱은 재설치 혹은 기기 변경에 따라 user_pseudo_id가 바뀌고, 웹은 기기는 물론이고 브라우저, 쿠키 삭제에 따라 바뀝니다. 바뀔 때마다 GA 및 Firebase는 신규 유저로 인식하고 first_open과 first_visit 이벤트를 수집합니다. 즉, 실제 신규로 유입된 유저 수보다 훨씬 부풀려지는 문제가 발생하죠.

 

이 문제를 해결하기 위해 사용할 수 있는 방법

1) 웹뷰 데이터들을 모두 제거한다. 앱을 사용하던 유저가 웹뷰 화면에 진입하면, 그 순간 user_pseudo_id가 생성되고 그와 함께 first_visit 이벤트도 함께 찍히기 때문이다.

2) 이벤트가 수집된 후 로그인을 하면, 그때부터 user_id가 찍히기 시작한다. 해당 user_id는 서버 db와 대조했을 때 기존 유저로 판별되면 집계에서 제거한다.(거의 4배로 줄어듦.)

 

 

결론

점점 개인정보의 보안이 중요해지면서, 구글과 애플에서 사용자를 식별할 수 있는 방법들은 제한하고 있는 추세입니다. 이대로 가면 사용자를 식별할 수 있는 방법은 자사 서비스의 user_id를 수집하는 방법밖에 남지 않을 것 같아요. 가장 확실한 방법은 어쨌든 user_id를 수집하는 것이니, user_id를 잘 수집하는 것에 대해 고민을 해야 할 것입니다.

댓글