본문 바로가기

광고효과측정/구글 애널리틱스 GA

이벤트, 가상 페이지뷰, 소셜 활동, 에러 추적 2

이벤트, 가상 페이지뷰, 소셜 활동, 에러 추적 2

 

 

#이벤트 보고서 채우기

이벤트 구현에 대해 더 논의하기 앞서 인기 이벤트(Top Events) 보고서를 보자. 이 보고서는 이벤트 카테고리(Event Category)를 기본 측정기준으로 표시하며 두 번째 측정기준으로 이벤트 액션(Event Action)을 추가했다.

 

★ 순 이벤트수

순 이벤트 수는 해당 이벤트가 최소 1회 이상 발생한 세션의 수를 의미한다. 가령 방문자가 한 세션에서 동영상 데모 이벤트를 두 번 완료했다면 총 이벤트 수는 2만큼 증가하지만, 순 이벤트 수는 1만 증가한다. (이것은 특정 페이지를 최소 1회 이상 조회한 세션수를 나타내는 순 페이지뷰 수 측정항목과 유사하다)

 

 

어떤 이벤트가 발생한 페이지를 조회하려면 다음 그림처럼 두 번째 측정기준으로 페이지(page)를 적용하고 필요에 따라 기본 측정기준 값에 필터를 걸면 된다.

GA는 이벤트를 기술할 수 있는 여러 측정기준을 제공한다.

  • 이벤트 카테고리 (필수)
  • 이벤트 액션 (필수)
  • 이벤트 라벨 

이벤트 데이터는 GA에 어떻게 기록할까? PDF 링크를 예로 시작해 보자. 웹사이트상에 카탈로그 링크를 추가했다고 하자.

 

<a href="/catalog.pdf"> Download our Catalog</a>

 

앞에서 업근했던 DOM 리스너 중 onclick을 사용해 웹 방문자가 그 링크를 클릭했을 때 추가코드가 실행되게 할 수 있다.

 

<a onclick="ga( 'sand' , 'event' , 'pdf' , 'click' , '/catalog.pdf' );" href="/catalog.pdf"> Download our Catalog</a>

 

  • pdf - 이벤트 카테고리
  • clcick - 이벤트 액션
  • /catalog.pdf - 이벤트 라벨

이벤트를 게시할 때 상당한 유연성을 갖게 된다. 사실상 모든 경우에 이벤트 카테고리와 액션, 라벨을 문자 그대로 취급할 필요는 없다. 그 대신 이 세가지 이벤트 매개변수( 이벤트 인수)를 다음과 같이 고려해도 전혀 문제가 없다.

  • 이벤트 카테고리 : 이벤트에 대한 일반적인 기술자(descriptor)
  • 이벤트 액션 : 이벤트에 대한 좀 더 자세한 기술자
  • 이벤트 라벨 : 이벤트에 대한 가장 자세한 기술자

이벤트 라벨은 선택사항이므로 PDF 이름을 이벤트 액션으로 기록하고 라벨 인수를 생략할 수도 있다.

 

 

DOM 리스너를 이용해 이벤트를 생성하는 또 다른 예로, 아래와 같이 이미지(또는 다른 시각적인 HTML 요소) 위에 마우스를 올리는 행동을 기록하기 위해 onmouseover를 사용할 수 있다.

 

<img src="/group-photo.jpg" onmouseover="ga( 'send' , 'event' , 'photo' , 'hover' , this.src );" />

 

방금 웹사이트의 연락처 양식(contact form)에 제안(suggestion)필드를 추가했으며 그 필드 채우기가 완료되었을 때 GA가 기록하기를 원한다고 가정해 보자. 어떻게 이 이벤트를 추적하는지 이해하기 위해 다음과 같은 코드 블록으로 나누어 생각해 보자.

 

  • textarea는 양식에서 넓고 여러 줄 입력이 가능한 필드를 제공할 수 있는 HTML 요소다.
  • onblur는 DOM리스너로 페이지 요소가 커스를 잃을 때(즉, 사용자가 페이지의 다른 곳을 클릭하거나 탭을 눌러 다른 필드로 이동할 때) 실행된다.
  • if(this.value.length > 0)은 부가적으로 그 필드에 입력된 텍스트 길이가 0보다 큰지(즉, 그 필드가 비어있지 않은지)를 검사하는 자바스크립트 로직이다. textarea에서 onblur가 발생할 때마다 이벤트를 전송하지 않고 방문자가 제안사항을 입력했을 때만 전송하기를 원하기 때문이다.

<textarea name="suggestion" cols="60" rows="10" onblur="if(this.value.length > 0) {ga('send' , 'event', 'form' , 'completed' , 'suggestion'); }" />

 

이 매우 특수한 유형의 이벤트 추적을 정기적으로 설정해야 할까? 그렇지는 않겠지만, 앞 예제는 중요한 점을 설명한다. 그것은 바로 웹 페이지 상의 어떤 사용자 상호작용도 GA 이벤트로 생성할 수 있으며 그 이벤트가 기록되는지 아닌지 확인하기 위해 사용자 단의 로직을 구현할 수 있다는 것이다.

 

 

 

#사용자 상호작용을 모두 추적하지 말라.

지금까지 설명한 내용에서 사용자와 웹 페이지 사이에 있을 수 있는 모든 상호작용을 추적해야 한다는 의미가 담긴 말은 전혀 없다.

이미지 위에 마우스를 올리는 것에 대한 데이터가 디자인이나 개발, 콘텐츠 기획에 유용하다면 (예를 들어, 많은 사용자가 결제 화면에서 상품 배송 옵션 옆에 있는 물음표 도움말 아이콘 위에 마우스를 올린다면 그 섹션을 좀 더 직관적으로 이해하기 쉽게 바꿔야 함) 그 사용자 상호작용을 이벤트로 추적하는 것이 타당하다. 그렇지만 모든 페이지에 있는 모든 커서의 움직임을 추적하는 것은 바람직하지 않다. 그렇게 하면 속성당 GA 히트 수 한도를 순식간에 채우게되고 잡동사니가 만들어져 중요한 데이터가 잘 보이지 않을 수 있다. 중요한 것을 측정해야 한다.

한 페이지에 대한 사용자 상호작용 추이를 시각적으로 겹쳐보기 위해 GA의 인페이지 애널리틱스 보고서를 참조할 수도 있지만, 이 보고서를 로딩하는 과정에서 문제가 발생하는 경우가 있다. (현재 GA에서 인페이지 애널리틱스 보고서는 삭제되었으며 인페이지 분석은 페이지 애널리틱스 크롬 확장 프로그램을 이용해여 계속할 수 있다) 페이지 상의 상호작용을 보여주는 다른 방법으로 CrazyEgg나 HotJar와 같은 타사 히트맵 도구를 사용할 수도 있다.

 

 

 

 

#일관성은 매우 중요하다.

이미 알겠지만, 기본 추적 스니펫이나 GTM을 통해 구현한 페이지뷰 추적과 이벤트 추적 사이에는 다음과 같은 두 가지 근본적인 차이가 있다.

  • 이벤트 실행 조건을 더 구체적으로 기술해야 한다.
  • 이벤트 추적의 경우, 둘 이상의 측정기준을 지정한 값으로 채워야 한다. GA가 그 환경으로부터 측정기준 값을 자동으로 끌어오지 않는다.

이제 어떤 방식으로든 이벤트 값을 채울 수 있는 능력을 갖췄다. 그러나 능력키 커질수록 그 책임도 커지는 법이다. 이벤트 보고가 의미있고 유용하려면 이벤트 카테고리와 액션, 라벨값에 대해 일관성 있는 기준을 채택해야 한다. 더 구체적으로 말하면, 측정항목을 불필요하게 조각내지 않도록 신경 써야 한다.

 

  • 1행과 3행의 play와 played같이 동일한 것을 지징할 때 두개의 서로 다른 값을 사용해서는 안된다.
  • 1행과 5행처럼 대문자와 소문자를 섞어 쓰면 안된다.
  • 2행과 4행처럼 동일한 값을 서로 다른 측정기준 항목에 바꿔쓰면 안된다.

이 보고서의 다섯 줄은 단 2줄로 나왔어야 하지만, 이를 되돌려 합칠 방법은 없다. 처음 GA에 이벤트 데이터를 생성할 때부터 불필요한 데이터 분할이 생기지 않도록 해야 한다. 이벤트를 명명하는 방식에 있어 정답은 없다. 어떤 명명 규칙이든 자신과 조직에서 가장 합리적으로 받아들일 수 있는 것을 선택하면 되고, 무엇보다도 그 규칙을 고수하는 것이 중요하다.