구글 애널리틱스에서 세션 유지 시간이 0으로 나오는 문제를 해결하는 방법

왜 세션 유지 시간이 0초로 기록되나요?

구글 애널리틱스는 1페이지만 조회한 방문자의 세션 유지 시간을 수집하지 않습니다. 만약 당신이 어떤 웹사이트를 방문해서 1페이지만 보고 브라우저를 닫거나 다른 웹사이트로 이동했다면 당신의 세션 유지 시간은 0초로 기록됩니다. 이 문제를 해결하기 위해서는 구글 애널리틱스에 상호작용 이벤트를 만들어주어야 합니다.

좀 더 깊게 파헤쳐보자면, 구글 애널리틱스는 마지막 페이지의 세션 유지 시간을 수집하지 않습니다. 만약 5개의 페이지를 조회했다면 1, 2, 3, 4번째 페이지의 세션 유지 시간은 잘 수집되지만 마지막 5번째 페이지의 세션 유지 시간은 0초로 기록됩니다. 마지막 페이지에서는 링크 클릭과 같은 상호 작용이 없었기 때문입니다. 대부분의 사용자가 1페이지만 보고 이탈한다는 것을 감안하면 이 현상을 반드시 막아야 하겠죠.

상호작용 이벤트란 무엇인가요?

상호작용 이벤트란 구글 애널리틱스가 ‘이탈하지 않은 것’으로 간주하는 이벤트를 의미합니다. 어떤 이벤트를 상호작용 이벤트라고 정의하고, 방문자가 상호작용 이벤트를 실행하는 순간 구글 애널리틱스는 1페이지만 조회한 방문자라 하더라도 세션 유지시간을 기록합니다.

상호작용 이벤트를 설정하는 방법

우선 구글 태그매니저가 웹사이트에 설치되어 있어야 합니다. 구글 태그매니저를 통해 웹사이트에 다음 Custom HTML을 추가해줍니다. 이 Custom HTML은 All Page를 바라보고 Triggering 되도록 설정합니다. 이 Custom HTML은 방문자가 웹사이트를 떠나는 순간 beforunload라는 이벤트를 실행합니다.

<script>
  window.addEventListener('beforeunload', function() {
    window.dataLayer.push({
	  event: 'beforeunload'
	});
  });
</script>
이미지 1. 구글 태그매니저 설정

다음으로 구글 애널리틱스 이벤트를 만들어줍니다. 이벤트 카테고리나 액션은 아무렇게나 설정해도 됩니다. Non-Interaction Hit(비 상호작용 조회)를 False로 설정하는 것이 가장 중요합니다. 그리고 Google Analytics Settings 항목을 비우고 Tracking ID를 직접 입력해줍니다. Fields to Set 항목에서 transport, beacon을 입력해주는 것도 잊지 마세요.

이미지 2. 구글 태그매니저 설정

마지막으로 구글 애널리틱스 변수에도 Fields to Set에 transport, beacon을 입력해줍니다. transport, beacon은 외부 링크를 추적할 수 있도록 도와주는 기능입니다.

설정이 모두 끝났다면 배포해줍니다. 이제 방문자가 웹사이트를 이탈할 때마다 beforeunload 이벤트가 실행되면서 구글 애널리틱스에는 engagement, leave_website라는 이벤트가 기록됩니다. 그리고 웹사이트 세션 유지 시간이 0초가 아닌 정확한 시간으로 기록됩니다.

콘텐츠 내용이 마음에 드셨나요?

잠깐만 시간을 내셔서 만족도를 알려주세요!

Rating: 0 (Votes: 0)

아직 콘텐츠를 평가한 사람이 없습니다. 첫번째로 콘텐츠를 평가한 사람이 되어보시겠어요?