GA4를 통해서 우리의 웹사이트 내 사용자들을 추적하는 데 중요한 지표중 하나가 바로 사용자의 이탈을 추적하는 것입니다.
물론 ga4상에서는 이런 것을 추적하게 해주기 위해서 user_engagement라는 이벤트가 존재해서 사용자의 체류시간을 측정해줍니다.
그러나 오늘 제가 자체적으로 사용자의 이탈을 추적하고자 하는데에는 몇가지 이유가 있습니다.
1. 사용자 참여 시간을 이탈페이지에 대해서는 추적하지 못합니다.
2. 웹서비스에서 사용자를 추적하면 이탈 위치를 추적해야 할 경우가 종종 있습니다.
예를 들어 우리 서비스를 사용한 사람이 최대 얼마나 스크롤하고 이탈했는지, 어느 위치에서 이탈했는지 등에 대한 정보들을 정확하게 알기 위해서는 자체적으로 사용자 이탈을 추적하는 이벤트를 이용할 필요가 있습니다.
3. 탐색보고서에서는 user_engagement 이벤트를 확인할 수 없습니다.
탐색보고서를 보시면 세그먼트나 측정항목, 측정 기준등에 user_engagement가 존재하지 않습니다.
따라서 저희는 사용자 개별적으로 얼마나 서비스에 체류했는지 확인해 볼 수 없습니다.
위와 같은 이유들로 저희는 자체적으로 사용자의 이탈을 추적할 필요가 있습니다.
이제부터 사용자 이탈을 추적하는 방법에 대해 알려 드리도록 하겠습니다!!
1. 맞춤 html설정
먼저 태그로 이동해서 새로 만들기를 선택한 후 맞춤 html를 선택해주세요.
그 후에 아래와 같이 html코드를 넣어주세요.
그리고 트리거는 페이지뷰로 설정해주셔야 해야합니다. 그 이유는 처음 페이지가 실행된 후 해당 코드를 삽입해주기 위해서 입니다.
페이지 뷰가 실행되면 해당 코드가 삽입되고 페이지가 load되면 시간 세기를 시작합니다. 그후 unload 즉 페이지가 종료되면 체류시간을 게산하고 사용자 이탈 이벤트를 발생시킵니다.
여기서 사용자 이탈 이벤트를 내보내는 부분은
window.addEventListener('unload', function(event) {
gtag('event', 'exit', {
'user_participation_time': elapsedTime
});
});
이 부분입니다.
좀더 해설하면 unload는 사용자가 페이지를 나갈때 발생되는 이벤트입니다. 따라서 해당 이벤트를 심고 unload가 발생할때 ga4로 이벤트 신호를 보내면 우리는 사용자 이탈을 추적할 수 있게 됩니다.
추가적으로 여기에 user_participation_time같은 매개변수를 추가한다면 사용자 체류시간까지 추적이 가능해 지겠죠?!
2. 트리거 설정
다음으로는 트리거를 설정해 줄거에요
아까 만들었던 맞춤이벤트를 넣어 준 후 gtag 안에 설정해 줬던 이벤트 이름을 넣어주세요
3. 변수 설정
변수탭에서 새로만들기를 클릭해 준 후 데이터 영역 변수를 클릭해주세요.
데이터 영역 변수는 dataLayer에 있는 값들을 의미합니다.
여기서 데이터 영역 변수 이름은 아래 우리가 gtag에서 설정한 변수이름을 사용해주시면 됩니다.
'user_participation_time': elapsedTime
위 사진을 보면 eventModel.user_participation_time으로 세팅해놨는데 그 이후는 뒤에 설명해드릴게요.
이제 위와 같이 변수 세팅을 완료했다면 다음단계로 넘어가겠습니다.
4. 태그 설정
이제 태그로 돌아와서 ga4에서 수집될 이벤트를 만들어 주겠습니다.
아래 사진처럼 셋팅해주시고 매개변수는 아까 바로위에서 저희가 만들었던 매개변수를 넣어주세요
이 매개변수에는 사용자의 참여 시간정보가 들어갈 예정입니다.
트리거는 2번에서 설정했던 트리거를 사용해 줄게요
자 이제 완성되었습니다.
미리보기를 클릭하고 페이지를 열었다가 닫으면!
exit라는 이벤트가 발생한 것을 볼 수 있습니다.
그러나 아래 처럼 tag fired가 되지 않는다면! data Layer를 살펴보셔야 합니다.
저의 경우는 처음에 3번에 데이터 영역 변수 이름을 user_paticipation_time으로 설정했는데 수집이 안되더라고요
그래서 data layer를 살펴보았더니 eventModel: {user_paritipation_time : 5,918}으로 되있더라고요.
따라서 user_participation_time => eventModel.user_participation_time으로 변경해 주시면 잘 수집이 될거에요.
ga4에서 확인해보면 아래처럼 잘 수집된것을 볼 수 있습니다. 3번 수집된 이유는 제가 여러번 실험해봐서 그런거니 걱정 마세요.
이제 사용자의 개별 참여시간 정보를 탐색을 통해서도 볼 수 있고, 사용자 이탈 이벤트를 이탈 페이지에서도 볼 수 있으며 이탈을 수집하는 방법에 대해서도 알게 되었습니다.
이를 잘 활용해서 더 많은 정보를 얻으시길 바랍니다!
'GA4' 카테고리의 다른 글
GA4 : 사용자 체류시간 정확도 탐구 (User_engagement VS exit) (0) | 2023.07.08 |
---|---|
GA4: BigQuery 연동하기 (0) | 2023.07.06 |
GA4: 유입경로 탐색 보고서 (0) | 2023.07.01 |
GA4 : 삽입된 유튜브 시청 추적하기 (0) | 2023.06.29 |
GA4: 탐색 보고서 만들기(2) (0) | 2023.06.28 |