User ID 수집하기

User ID는 사이트에 로그인한 사용자의 회원 정보를 식별 값으로 사용하기 때문에, 사이트에서는 로그인한 사용자의 회원 코드, 회원 번호와 같은 식별값을 구글 애널리틱스에 전송해야합니다.

기존의 쿠키 식별자를 사용하는 방식은 한 사용자가 여러 기기를 통해 방문했을 때 이를 한 명의 사용자를 식별하지 못하는 문제가 있습니다.

참고. 구글 애널리틱스 4의 식별자에 대한 내용은 이전 강의를 참고하세요.

구글 애널리틱스 4 시작하기_userid 수집하기 기존 비식별 문제

쿠키 식별자는 기기 별로 다른 식별자를 전송하기 때문에 GA4가 여러 명으로 식별합니다.

User ID를 수집하게 된다면 이 문제를 개선하여 보다 정확한 사용자 수를 측정할 수 있습니다. 하지만, 사용자가 로그인을 하여 User ID를 수집한 경우에만 한 명으로 식별할 수 있다는 제약사항도 존재합니다.

구글 애널리틱스 설정

User ID를 식별자로 사용하기 위해서는 [관리] – [기본 보고서 ID] 메뉴에서 [사용자 ID 및 기기 기준(동시 적용)]을 기준으로 사용합니다.

구글 애널리틱스 4 시작하기_userid 수집하기 ga4 userid 사용 설정

dataLayer에 User ID 추가하기

User ID는 서비스의 데이터베이스에 저장되어 있는 정보로 GA는 이를 자동으로 가져갈 수 없습니다. 따라서, User ID를 GA4에 전송하기 위해서는 이를 위한 코드를 사이트에 추가하는 개발 작업이 필요합니다.

참고. 이번 강의에서는 구글 태그매니저를 활용하여 GA4에 User ID를 수집하는 방법에 대해 다룹니다. gtag.js를 활용하는 방법은 해당 링크를 확인하세요.

구글 태그매니저에서 User ID를 GA4로 전송하기 위해서는 먼저, 사이트에서 구글 태그매니저에 User ID를 전달해야합니다. 이렇게 값을 전달하기 위한 용도로 dataLayer 변수를 활용할 수 있습니다.

dataLayer는 구글 태그매니저가 사이트에 설치될 때 함께 생성되는 변수로 구글 태그매니저는 이 변수를 계속 지켜보며, 이 변수에 값이 들어오면 이를 가져가거나 값이 들어오는 것을 트리거로 활용하여 특정 이벤트를 전송할 수 있습니다. 한마디로 dataLayer는 사이트와 구글 태그매니저가 정보를 주고받기 위한 매개체로 이해하면 됩니다.

Warning 움짤

아래는 dataLayer에 User ID를 추가하는 내용의 코드입니다. 기존에 추가한 Google Tag Manager 설치 코드보다 상단에 dataLayer 변수를 생성하고 그 안에 userId를 추가합니다.

주의. 사용자가 로그인을 하지 않아 값이 없을 경우에는 dataLayer에 User ID를 추가하면 안됩니다.

Copy to Clipboard

그렇다면 dataLayer에 입력한 userId를 구글 태그매니저에서는 어떻게 가져올 수 있을까요?

구글 태그매니저에 접속하여 아래와 같이 [데이터 영역 변수] 유형 변수를 생성하고, dataLayer에 추가한 키 값(=userId)을 데이터 영역 변수 이름으로 사용합니다.

구글 애널리틱스 4 시작하기_userid 수집하기 userId 데이터 영역변수 생성

이제 dataLayer에 userId가 입력될 때마다 변수에 개발을 통해 전달한 사용자 식별값이 저장됩니다.

이 변수를 활용하기 위해 구글 태그매니저 설치 때 생성한 [Google 애널리틱스: GA4 구성] 태그 안에 아래와 같이 필드를 추가합니다. 이때 필드 이름은 반드시 "user_id"로 입력하고 값에는 앞서 생성한 변수를 {{ }}로 감싸서 입력합니다.

구글 애널리틱스 4 시작하기_userid 수집하기 userid 설정할 필드 추가

변경 사항을 저장하고 [제출]을 통해 사이트에 반영합니다.

User ID 수집여부 확인

GA4 실시간 보고서에서 User ID가 수집되는 것을 확인할 수 있습니다.

비교 만들기에서 [사용자 ID로 로그인함]이라는 측정기준을 사용하여 보고서에 반영하면 아래와 같이 User ID가 수집된 사용자의 트래픽을 구분해서 확인할 수 있습니다.

구글 애널리틱스 4 User ID 수집하기_User ID 사용자 확인용 비교 만들기

다음 강의에서는 전자상거래 데이터를 수집하는 방법에 대해 알아보겠습니다.

자주 묻는 질문

이 경우에는 구글 애널리틱스의 정책에 위반되어 계정이 해지되거나 데이터에 손실이 발생할 수 있습니다. 관련된 자세한 규정은 링크에서 확인이 가능합니다.

로그인을 1회라도 진행한 사용자에 한해서 User ID를 비로그인 상태에서도 수집할 수 있습니다.

특정 사용자가 로그인을 할 경우, User ID를 브라우저의 쿠키나 localstorage라는 저장소에 저장합니다. 사용자가 다음 방문 시 로그인을 하지 않은 상태더라도 브라우저에 저장된 User ID 값을 가져와서 GA4에 전송할 수 있습니다.

이 방식을 활용하면 기존보다 User ID의 수집율을 향상시킬 수 있습니다.

guest
8 댓글
오래된 순
최신 순 평가 순
Inline Feedbacks
모든 댓글보기
쥬르댕
gtag('config', 'MEASUREMENT_ID', {
  'user_id': 'USER_ID'

}); -> 이 코드를 활용하면 태그매니저를 활용하지 않아도 GA4 보고서에서 확인이 가능한 것일까요?
(태그매니저 활용이 익숙하지 않아 개발에서 스크립트를 통해 한번에 적용할 수 있는 방법은 없는지 궁금합니다.)

마지막 수정 1 년 전 by 쥬르댕
쥬르댕

넵! 답변 감사합니다~!

하하하

안녕하세요! GA userID를 구축하는 상황에서 이렇게 단비같은 게시글을 보게 되어 너무 기쁩니다. 유용한 게시글 올려주셔서 감사합니다!!

위에 datalayer 변수 추가 스크립트에서 로그인할 때만 user ID를 넣어야 한다고 하는데, 이와 관련된 추가적인 조건문이나 스크립트가 있을까요?

어떤 게시글에서는 if문을 쓰라고 하기도 하고, 어떤 영상에서는 event : "userIdSet"과 같은 코드를 datalayer.push 안에 삽입하라고 하기도 하는데 어떤게 정확한지 확실치 않아서요.

본문에서는 if문이나 event를 별도로 명시하지 않으셨는데, 그래도 상관없는 것인지 궁금합니다!

감사합니다~

하하하

오 자세한 답변 감사합니다!! 많은 도움이 되었습니다!!ㅎㅎㅎ

이정호

안녕하세요 쥬르댕님, 좋은 자료 감사드려요!!

그런데 자주 묻는 질문에 있는 '1회라도 로그인을 진행한 사용자를 비로그인 상태에서도 추적할 수 있다' 라고 하셨는데, 올리신 코드대로 하면 자동으로 그 기록이 쿠키나 클라이언트 ID에 저장되는건가요? 아니면 추가적인 코드가 필요할까요??

마지막 수정 4 월 전 by 이정호