제목
user Id 수집 관련하여 문의가 있습니다.
작성자
이재철
작성일
2023-03-02 09:28
조회
812
답변완료
안녕하세요.

전자상거래 부분 GTM 개발 진행 중에 문의할 부분이 있어 글 남깁니다.

 

User ID 수집관련 문의입니다.

사용자가 비 로그인 상태로 해당 페이지 접속 시, userId가 존재하지 않습니다.

그렇다면  window.dataLayer.push에 userId 처리를 하지않고,  Google Tag Manager 설치코드를 주입합니다.

(참고 글 : https://dachata.com/google-analytics-4/post/ga4-collect-userid/)

 

이후, 해당 페이지에서 팝업창을 통해 사용자가 로그인 한 경우 해당 페이지(부모 페이지) 에

window.dataLayer에 해시처리된 userId 데이터를 push 처리를 하면  로그인 이후 user Id가 정상적으로 수집이 되는지 문의드립니다. 

->기존 window.dataLayer에 push 처리를 하면되는지, 아님 기존 데이터 초기화 후 push 처리가 필요한지 궁금합니다.

** 팝업창으로 로그인 한 경우 부모 페이지는 새로고침 없이 유지됩니다.

 

답변 부탁드립니다.

감사합니다.

 

 

 

 

 

 
전체 1

  • 2023-03-03 00:27

    안녕하세요, 이재철님!
    GA4의 GTM 셋팅은 [GA4 구성 태그]로 인해 난이도가 높은데요.. 🙂

    일반적으로 로그인이 되어있는 상태라면 페이지가 로드되는 시점에 GTM 설치 코드 상단에 로그인 정보들을 입력하고,
    이후 페이지에서 발생하는 모든 이벤트에 User ID를 포함시켜 전송해야 하는데요. ( GA4 구성 태그를 활용 )

    말씀하신 경우처럼 팝업을 통해 로그인이 되고, 화면이 새로고침이 되지 않는 상황이라면!
    로그인 완료 시점에 dataLayer에 이벤트 정보와 함께 user_id를 push 해주셔야 합니다.

    예를 들어 아래와 같이 말이죠!
    window.dataLayer.push({
    'event': 'login',
    'user_id': '{{해시된 로그인 ID}}'
    });

    이렇게 event 값을 넣어 dataLayer에 push를 하면 GTM에서는 [맞춤 이벤트]라는 트리거로 태그를 발동시킬 수 있습니다.
    이때 연결할 태그로는 기존의 GA4 구성 태그를 지정합니다. 그 이유는 user_id를 설정하기 위해서는 구성 태그를 재호출하여 재설정을 해주기 위함입니다.

    다만, GA4 구성 태그에 로드 시 페이지뷰를 자동 전송해주는 설정이 체크되어 있으면, 로그인 완료 시점에 무의미한 page_view가 전송되겠죠?
    이를 방지하기 위해서는 해당 설정을 해제시키고, page_view 이벤트를 별도의 [페이지뷰 트리거]와 연결시켜 구성 태그 로드와 무관하게 데이터를 전송하게 해야합니다.

    그 다음에 user_id 셋팅과 같이 구성 태그의 설정이 업데이트되어야 하는 시점마다 구성 태그를 호출시켜주기만 하면 됩니다.
    해당 케이스에서는 페이지뷰 시점과 로그인 완료 시점에 호출이 되면 되겠네요 🙂

    아무래도 여러 기능들을 사용해서 구현해야하는 내용이다 보니, 일부 생략된 내용들이 있는데요.
    궁금하신 내용들은 추가로 댓글 달아주시면 답변드리겠습니다 🙂