사용자 속성이란?

사용자 속성은 이름 그대로 사용자에 대한 속성 정보를 수집하는 용도로 사용됩니다. GA4는 기본적으로 아래의 사용자 속성 정보를 제공합니다.

  1. Google의 광고 플랫폼 데이터로부터 추정한 인구통계 데이터, 관심 분야 데이터
  2. 사용자의 브라우저, 기기 정보
  3. IP 주소를 기반으로 한 지역 정보

이러한 자동으로 수집되는 사용자 속성 외에도, GA4 속성당 25개의 맞춤 사용자 속성을 추가하여 활용할 수 있습니다.

참고. 최근에는 사용자 속성이 사용자 측정기준이라는 명칭으로도 불리고 있습니다. 제 강의에서는 사용자 속성으로 부르겠습니다.

사용자 속성에는 어떤 정보를 수집할까?

수집할 사용자 속성을 정의하는 것은 아래와 같이 사용자에게 꼬리표를 붙여주는 행위로 이해할 수 있습니다.
– 서비스에서 사용자에게 붙여줄 수 있는 꼬리표를 정리합니다.
– 분석에 활용할 수 있는 유의미한 꼬리표를 추려내어 사용자 속성으로 수집합니다.

아래는 비즈니스 별로 사용자에게 어떤 꼬리표를 붙여줄 수 있는지에 대한 간단한 예시입니다.

구글 애널리틱스 4 시작하기_사용자 속성 예시

여기서 주의해야할 점은 사용자 속성을 설정할 때 이름, 주민등록번호, 이메일 주소 등의 개인 식별 정보는 해시된 형태로도 포함해서는 안 된다는 점입니다. 개인을 식별할 수 있는 정보는 어떠한 방식으로도 GA4에 수집되어서는 안됩니다.

구글 태그매니저로 사용자 속성 수집하기

이 강의에서는 구글 태그매니저를 사용하여 사용자 속성 정보를 수집하는 방법에 대해서 다룹니다. 간단하게 워드프레스의 사용자 DB에 있는 역할(User Role)이라는 정보를 GA4에 수집하는 것을 예시로 들겠습니다.

참고. 개발 환경, 플랫폼 별로 DB에 저장된 값을 가져오는 방법은 상이하지만 GA4와 태그매니저에 대한 내용은 동일합니다.

구글 애널리틱스 4 시작하기_워드프레스 사용자 역할에 대한 캡처

워드프레스의 사용자 역할 정보(사용자 등급처럼 활용 가능)

1. 사용자 속성 생성하기

먼저, GA4 화면에서 사용자 속성을 생성합니다. 아래와 같이 [구성]-[맞춤 정의] 메뉴에서 [맞춤 측정기준 만들기]를 클릭합니다.

구글 애널리틱스 4 사용자 속성 수집하기_새 맞춤 측정기준 만들기

새 맞춤 측정기준의 범위를 [사용자]로 설정합니다. 입력 값에 대한 설명은 아래와 같습니다.
– 측정기준 이름 : GA4 보고서상에서 사용할 이름
– 사용자 속성 : 데이터를 수집할 매개변수 이름

구글 애널리틱스 4 시작하기_사용자 속성 새 맞춤 측정기준 생성

2. dataLayer에 사용자 속성 값 추가하기

사용자 속성에 수집하는 정보들은 주로 서비스의 DB에 저장되어 있습니다. DB에 저장된 값은 개발을 통해 Google Tag Manager에 전달되어야 하는데, 이때 dataLayer 변수를 활용합니다.

아래 코드는 dataLayer 변수를 활용하는 예시입니다. 임의로 지정한 'userRole'이라는 키에 DB에서 가져온 값을 입력합니다.

참고. dataLayer 코드는 Google Tag Manager 설치 코드보다 상단에 위치해야 pageview와 함께 사용자 속성 정보를 전송할 수 있습니다.

구글 애널리틱스 4 시작하기_사용자 속성정보에 대한 코드 예시

WordPress 사용자 속성 정보 입력 예시

3. 구글 태그매니저 변수 생성

구글 태그 매니저에서 dataLayer에 입력된 값을 가져오기 위해서 [데이터 영역 변수]를 생성합니다. 데이터 영역 변수 이름은 앞서 dataLayer 변수에 추가된 키 값을 입력합니다.

구글 애널리틱스 4 시작하기_UserRole 데이터 영역 변수

4. GA4 태그에 사용자 속성 추가

기존에 생성한 [Google 애널리틱스: GA4 구성] 태그에 아래와 같이 사용자 속성을 추가합니다. 이때 속성 이름은 GA4에서 생성한 맞춤 측정기준의 [사용자 속성]과 동일하게 입력합니다.

참고. {{변수명}} 형태로 값을 입력하면, 최종적으로 GA4에는 변수에 저장된 값이 전송됩니다.

구글 애널리틱스 4 시작하기_구글 태그매니저 사용자 속성 추가

5. GA4 실시간 보고서 확인

작업한 내용을 저장하고 제출하고 나면 아래와 같이 실시간 보고서에서 사용자 속성 정보가 수집되는 것을 확인할 수 있습니다.

구글 애널리틱스 4 사용자 속성 수집하기_실시간 보고서 사용자 속성 확인

다음 강의에서는 GA4에 이벤트 데이터를 수집하는 방법에 대해 알아보겠습니다.

자주 묻는 질문

사용자 속성을 최대치인 25개를 사용하거나, 불필요한 사용자 속성을 제거하고 싶을 경우에는 [맞춤 정의] 메뉴에서 해당 사용자 속성 우측에 있는 [더보기 아이콘]에 있는 [보관]을 클릭합니다.

보관 처리된 사용자 속성은 48시간이 지나면 제거(영구적으로 보관)가 됩니다. 만약, 복원하길 원할 경우에는 동일한 이름의 사용자 속성을 48시간 내에 생성하면 됩니다.

사용자 속성에 수집된 정보는 GA4에서 다양하게 사용할 수 있습니다.

1. 기본 보고서에서 [비교] 기능을 통해 사용자 속성을 기준으로 데이터를 비교할 수 있습니다.
2. 분석 메뉴에서 세그먼트 생성 조건과 보고서의 측정 기준으로 사용자 속성을 사용할 수 있습니다.
3. 사용자 속성을 기준으로 잠재고객 생성이 가능합니다.

위에서 언급한 기능에 대한 내용은 이후 강의에서 자세히 다룰 예정입니다.

Subscribe
Notify of
guest
36 댓글
오래된 순
최신 순 평가 순
Inline Feedbacks
모든 댓글보기
John
Guest
John
3 년 전

개발 지식이 부족하여 잘 이해가 안되는데 혹시 userRole이 의미하는 것이 우리 DB에 칼럼으로 존재해야 하는 건가요? ''userRole'이라는 키에 유저의 역할 정보가 저장됩니다' 라고 적혀있는데 유저의 역할 정보가 무엇인지 모르겠습니다. 즉, <WordPress DataLayer 값 입력 예시>에서 $user_role이 무엇을 나타내는 것인지 모르겠어요!
좋은 글 감사합니다.

John
Guest
John
3 년 전
회신하기  Ratel

감사합니다. 자체 개발을 한 사이트의 경우라면 윗부분(vigbang_add_head_gtm() 함수 자체(안에 포함된 get_currunt_user_id()와 get_userdata()함수까지)를 개발자에게 부탁면 되는 것 맞나요?

마지막 수정 3 년 전 by john
John
Guest
John
3 년 전
회신하기  Ratel

항상 감사합니다.

jameskim
Guest
jameskim
2 년 전

좋은 글 너무 감사합니다 ! GA4를 배울 곳이 없었는데 너무 잘 정리해주셨네요 🙂 질문드리고 싶은 부분은[GA4 태그에 사용자 속성 추가]에서 트리거가 없다는 확인 창이 뜨는데 해당 게시글에는 트리거 관련 말이 없더라구요. 괜찮은건지 궁금하여 댓글 남깁니다.

김장엽
Guest
김장엽
2 년 전

안녕하세요.

새 맞춤 측정기준을 통해 사용자 id를 추가해보고자 하는데,

사용자 속성 에 "user_id" 를 입력하면, "사용자 속성을 'user_id'로 명명할 수 없습니다" 라는 오류 문구가 뜨면서 설정이 되지 않습니다.

혹시 어떤 이유 때문인지 알 수 있을까요??

태그매니저를 통해 사용자 속성으로 user_id로 설정해놓은 상태입니다.

김장엽
Guest
김장엽
2 년 전
회신하기  Ratel

답변 감사드립니다~!!

사용자 속성에서 user_id 입력 자체를 막은거군요, userid는 입력이 가능하던데 변경하여 입력해보겠습니다.

감사합니다 🙂

ANDY
Guest
ANDY
1 년 전

안녕하세요. ga4 세팅보고 테스트 해보고 있는데~ 궁금한 점이 있어서 문의드립니다.
사용자 등급을 수집하고 싶어서 똑같이 셋팅하고 태그 관리자 미리보기에서 data layer 에 등급 찍히는것 까지 확인했는데~ 정작 실시간 보고서에는 수집되지 않아서요~ 혹시 이유를 알수 있을까요~?

ANDY
Guest
ANDY
1 년 전
회신하기  Ratel

다른 이벤트 데이터는 GA4에서 정상 수집이 되는데 사용자 속성만 데이터 없음으로 나와서요~ 미리보기로 태그 관리자에 값이 오는건 확인했는데… 어느 부분이 문제인지 모르겠네요~ 위에 내용 보고 따라 설정 했는데..GA4 DebugView 에서도 사용사 속성이 안나오고, 태그 관리자에선 사용자 등급 값이 넘어오는게 보이는데…태그관리자 에서 GA4 사이 값이 유실 되는건지 설정이 문제인지 알수가 없어서 문의 드립니다.

ooshim
Guest
ooshim
1 년 전

안녕하세요?

좋은 글 정말 감사합니다^^

태그매니저를 이용하지 않고 아래처럼 gtag를 이용했는데 user_role 이 아무데도 보이지 않는데 왜 그럴까요?

gtag('config', 'MEASUREMENT_ID', {user_id: 'user_id', user_role: '일반고객'});

ooshim
Guest
ooshim
1 년 전
회신하기  Ratel

유니버설에서 GA4로 넘어오는게 너무 헷갈리네요ㅠㅠ

답변감사하구요!

주옥같은 강의 너무 감사합니다!!!

omega3
omega3
1 년 전

안녕하세요!

GA4를 처음시작하는 비개발자입니다 ㅠㅠ 
[2. datalayer에 사용자 속성 값 추가하기] 에서 부터 막혔는데요,

카페24 기반의 자사몰을 운영하고 있습니다. 
datalayer 코드를 이미지에 있는 그대로 써서,

구글 태그매니저 설치할때처럼 디자인관리에서 메인레이아웃에 넣으면 되는걸까요? 
그리고, 카페24에서는 DB 또는 사용자 정보를 가져오는 기능을 하는 코드(함수)를 어디서 확인할 수 있나요? 미리 답변 감사드립니다.

마지막 수정 1 년 전 by omega3
omega3
omega3
1 년 전
회신하기  Ratel

안녕하세요. 친절한 답변 감사드립니다.

구글 태그매니저에서 변수유형> 자바스크립트변수, 전역 변수 이름> CAPP_ASYNC_METHODS.member.__sGroupName 를 넣으면 되는 것이 맞을까요?

이렇게 하였더니, GA4에서 사용자속성값에 회원등급이 나오지않고 해당 스크립트가 그대로 보여서, 어디서 틀렸는지 다시 문의드립니다.

감사합니다 ㅠㅠ

dY
dY
1 년 전

먼저 좋은 강의를 제공해 주셔서 감사합니다!

사용자 속성으로 ID와 Role(회원등급)을 수집하도록 했습니다. 'Google 애널리틱스: GA4 구성' 유형으로 태그를 만들었고 트리거는 페이지뷰로 설정했습니다.

해당 태그에 사용자 속성으로 ID와 Role을 설정하였을 때는 undefind로 값이 수집되지 않았습니다. 디버거를 확인해 보니 페이지뷰 발생 시에는 각 dataLayer 변수(id, role)에 값이 안들어오다가 그 뒤에 변수에 값이 들어오는 것이 보였습니다. 제 생각에는 dataLayer.push 시점이 페이지뷰 보다 늦어서 그런 것 같았는데, 그게 맞을까요? 그리고 저만 이런 문제가 있는 것일까요?

그래서 저는 'GA4 구성' 태그의 사용자 속성을 제거하고 별도로 태그를 만들어 Window Loaded로 설정하여 다시 사용자 속성으로 ID, Role을 설정하니 디버거와 GA4에서 정상적으로 수집되는 것을 확인하였습니다. 이렇게 하니 데이터는 정상인데… 문제가 없을까요? 가능하면 'GA4 구성' 태그 하나로 통합하는 것이 깔끔해 보이고 저만 이런 것 같아서 약간 찜찜함에 문의 드립니다.

dY
dY
1 년 전
회신하기  Ratel

아! 감사합니다.
dataLayer.push 위치가 GTM 설치코드 위에서 해야 하는 것이군요. 현재는 GTM 설치코드 아래에 있어서 이 부분을 한번 바꿔보고 태그도 다시 정리해 보겠습니다. 쌓이는 데이터를 보니 시점에서 문제가 있다고 느꼈었는데 역시 원인이 코드 순서였던 것 같네요. 조치 해보고 다시 결과까지 남기도록 하겠습니다. 감사합니다!!

dY
dY
1 년 전

또 다른 문의 드립니다.

사용자 속성은 사용자 단위로 수집되는 정보로 알고 있는데요, 로그인 전/후 상황과 여러 사용자가 동일한 디바이스/브라우저를 사용할 때 어떻게 구분될지 의문이 들어서 문의 드립니다.

dataLayer 변수 >> user_id : {로그인한 ID} or "", user_role : "비회원" or "준회원" or "정회원"

A 사용자가 접속하여 비로그인 상태일 때는 user_id(""), user_role("비회원")으로 수집됩니다.

A 사용자가 로그인을 완료하면 user_id("A_id"), user_role("정회원")으로 수집됩니다.

이러한 경우 해당 디바이스/브라우저로 접속한 사용자의 정보가 로그인 하기전의 비회원 정보로 쌓였다가 다시 A_id 아이디의 정회원으로 업데이트 될 것 같습니다. 맞나요? 실시간 데이터를 지켜보고 있으면 비회원 수가 늘었다가 줄었다가 하는데 이것도 정상인지 모르겠네요.

이 상태에서 A 사용자가 로그아웃을 하게되면 다시 dataLayer.push에서는 user_id(""), user_role("비회원") 이렇게 값을 보내게 될텐데, 이 때는 여전히 동일한 세션이기 때문에 기존의 user_id("A_id"), user_role("정회원") 이 값들이 다시 사라질까요??? 그렇게 될 것 같진 않은데… 좀 확실하지가 않네요… 사라지지 않는다면 왜 그럴까요?

이러한 상황의 연장선에서 A 사용자가 로그인했던 같은 디바이스/브라우저에서 로그아웃 하자마자 다시 완전 다른 id를 가진 B 사용자가 다시 로그인한다면 이때는 세션이 끊기지 않았기 때문에 앞의 A 사용자가 로그인했던 사용자 속성 값들까지 다 바뀌는 것인지도 궁금합니다. 이러한 상황일 때 어떠한 점을 고려해서 해석해야 할까요?

오랜만에 GA를 다시 보고 있는데 헛갈리는 내용이 한둘이 아니네요. 정확히 이해가 되지 않다보니 제 질문에 잘못된 부분이 있을 수도 있을 것 같습니다. 넓은 마음으로 찰떡같은 답변 부탁드리며, 다시 한번 미리 감사드립니다.

dY
dY
1 년 전
회신하기  dY

제가 문의 드린 내용중에 잘못된 내용이 많았네요.

–> 실시간 데이터를 지켜보고 있으면 비회원 수가 늘었다가 줄었다가 하는데 이것도 정상인지 모르겠네요.
>>> 이건 실시간 데이터가 30분 지나면서 빠진 숫자 때문에 그랬던 거네요. 오랜만에 보니 너무나도 초보적인 실수를…
–>이러한 경우 해당 디바이스/브라우저로 접속한 사용자의 정보가 로그인 하기전의 비회원 정보로 쌓였다가 다시 A_id 아이디의 정회원으로 업데이트 될 것 같습니다. 맞나요?
>>> 그리고 업데이트 되는 것도 아니고 새로운 값들이 추가되는 것 같았습니다.

마지막 수정 1 년 전 by dY
dY
dY
1 년 전
회신하기  Ratel

이번 답변에서도 역시 아! 하는 포인트가 있네요 ㅎㅎ

사용자 속성 데이터를 한번만 수집하고, 비로그인시에는 수집하지 않는게 좋겠다는 말씀에 문의드리지는 않았지만 제가 생각하고 있던 다른 문제들도 함께 해결됐습니다. 담당 개발자에게 요청을 적게하려고 항상 데이터를 수집하려던 것이 분석이 어려워지는 원인이 됐었나 보네요.

그리고 추가 질문이 하나 더 있는데요,

UA에서는 맞춤측정기준의 범위가 Hit, 세션, 사용자, 제품이 따로 있어서 ID 같이 변경되지 않으니 사용자로 저장하고, 사용자의 회원등급 같은 경우는 가끔 변경되니 세션 단위로 저장하면 어떨까 했었는데요, GA4에서는 아직 이벤트와 사용자로만 되어 있어서 이부분이 좀 아쉬웠습니다. 혹시 이런 경우 어떻게 설정하는게 도움이 될까요?

오늘도 당연한듯 질문만 드렸네요. 다시 한번 감사드립니다.

dY
dY
1 년 전
회신하기  Ratel

의견주신대로 회원등급은 사용자 범위로 수집하도록 변경했습니다.

감사합니다!!

Ehql
Ehql
7 월 전

안녕하세요:) 궁금한게 많은 초보 마케터입니다.

1) 예시를 user_role 로 들어주신 거고, datalayer 에 들어 있고 키 값과 일치하기만 하면 25개까지 같은 방식으로 가져올 수 있는거죠?

2) 그리고 user_id 를 수집하고 싶다면 지금 강의의 방식 혹은 User ID 수집하기 강의에 있는 내용으로 진행하면 되는 걸까요?(동일한 내용인지)

이우리우
이우리우
4 월 전

안녕하세요. 소중한 콘텐츠 감사합니다.
질문이 있어 댓글을 남깁니다.

4번 과정에서 GA4 구성 태그가 Google 태그로 통합되면서,

사용자 속성이 사라졌는데요. 사용자 속성에 넣었던 속성 이름과 변수를 어디에 추가해야할지 문의드립니다. GA4 구성 태그쪽에 넣어야할 거 같은데 막막하네요 ㅜㅜ

이우리우
이우리우
4 월 전
회신하기  Ratel

안녕하세요. 선생님
알려주신 방법으로 등록에 성공했습니다. 대박입니다.
감사드리며, 앞으로도 많이 배우겠습니다!