맞춤 변수 - 웹 추적 (ga.js)

맞춤 변수는 Google 애널리틱스 추적을 세분화하기 위해 추적 코드에 삽입할 수 있는 이름-값 쌍 태그입니다. 맞춤 변수를 사용하면 애널리틱스에서 이미 제공한 세그먼트 이외의 방문자에게 적용할 세그먼트를 추가로 정의할 수 있습니다. 이 문서에서는 맞춤 변수 및 맞춤 변수를 설정하는 방법을 설명합니다.

개요

Google 애널리틱스에서 사용되는 기본 방문자 상호작용 모델을 이해하고 있으면 맞춤 변수를 최대한 활용할 수 있습니다. 이 모델에서는 방문자가 일정 기간 동안 콘텐츠와 상호작용하며, 사이트에서의 참여는 계층 구조로 나뉩니다.

이 다이어그램은 사이트 방문자 1명을 대상으로 하는 모델을 보여줍니다. 각 블록은 해당 사용자의 사용자 세션 및 상호작용 수를 나타냅니다.

이 모델의 각 수준은 다음과 같이 정의됩니다.

  • 방문자 - 사이트를 방문하는 클라이언트입니다(예: 사용자가 작동하는 브라우저 또는 휴대전화).
  • 세션—방문자가 사이트에서 활동하는 기간입니다.
  • 페이지—사용자를 대신하여 애널리틱스 서버로 GIF 요청을 보내는 활동입니다. 일반적으로 페이지 조회로 나타나지만 다음을 포함할 수도 있습니다.
    • 페이지 조회
    • 이벤트 (예: 영화 버튼 클릭)

이러한 세 가지 상호작용 수준은 각각 방문자 참여의 특정 범위를 정의합니다. 이러한 구분은 맞춤 변수에 중요합니다. 각 맞춤 변수는 특정 범위로 제한되기 때문입니다. 예를 들어 방문자가 장바구니에서 항목을 삭제한 세션 수를 알고 싶을 수 있습니다. 이 경우에는 맞춤 변수를 세션 수준으로 정의하여 해당 방문자의 전체 세션이 온라인 장바구니에서 삭제된 세션으로 신고되도록 합니다.

맨 위로

맞춤 변수 사용

다양한 맞춤 변수를 설정하여 사이트의 사용자 활동을 추적할 수 있으므로 대부분의 경우 자체 자바스크립트 유틸리티를 만들어 이를 관리합니다. 스크립트에서 다음과 같이 맞춤 변수를 만드는 기본 방법을 사용합니다.

_setCustomVar(index, name, value, opt_scope)

이 메서드에는 다음 네 가지 매개변수가 허용됩니다.

  • index: 맞춤 변수의 슬롯입니다. 필수사항. 그 값의 범위는 1~5(양 끝값 포함)입니다. 맞춤 변수는 하나의 슬롯에만 배치해야 하며 여러 슬롯에서 재사용하면 안 됩니다.
  • 이름: 맞춤 변수의 이름입니다. 필수사항. 맞춤 변수를 식별하는 문자열로, 애널리틱스 보고서의 최상위 맞춤 변수 보고서에 표시됩니다.
  • : 맞춤 변수의 값입니다. 필수사항. 이름과 쌍을 이루는 문자열입니다. 여러 값을 커스텀 변수 이름과 페어링할 수 있습니다. 선택된 변수 이름의 UI 표 목록에 값이 표시됩니다. 일반적으로 지정된 이름에는 두 개 이상의 값이 있습니다. 예를 들어 맞춤 변수 이름 gender를 정의하고 가능한 두 개의 값으로 malefemale를 제공할 수 있습니다.
  • opt_scope: 맞춤 변수의 범위입니다. 선택사항. 위에서 설명한 대로 범위는 사이트의 사용자 참여 수준을 정의합니다. 가능한 값이 1 (방문자 수준), 2 (세션 수준) 또는 3 (페이지 수준)인 숫자입니다. 정의되지 않은 상태로 두면 맞춤 변수 범위가 기본적으로 페이지 수준 상호작용으로 설정됩니다.

다음 코드 스니펫은 사용자가 장바구니에서 항목을 삭제한 방문을 추적하기 위해 맞춤 변수를 설정하는 방법을 보여줍니다. 여기서 _setCustomVar() 메서드는 _trackEvent() 메서드 바로 전에 호출되므로 _trackEvent() 메서드에서 보낸 GIF 요청으로 전달됩니다. 웹사이트 사용자의 활동을 정의하기 위해 Items Removed라는 이름과 값을 Yes로 사용합니다. 또한 Items RemovedNo에 대한 기본 맞춤 변수도 설정하는 것이 좋습니다. 이렇게 하면 장바구니에서 상품이 삭제된 방문수와 상품 삭제를 포함하지 않은 방문수가 생성됩니다.

비동기 스니펫 (권장)

 _gaq.push(['_setCustomVar',
      1,                   // This custom var is set to slot #1.  Required parameter.
      'Items Removed',     // The name acts as a kind of category for the user activity.  Required parameter.
      'Yes',               // This value of the custom variable.  Required parameter.
      2                    // Sets the scope to session-level.  Optional parameter.
   ]);
 _gaq.push(['_trackEvent',
      'Shopping', // category of activity
      'Item Removal', // Action
   ]);

맞춤 변수를 설정한 후에는 _deleteCustomVar(index) 메서드를 사용하여 맞춤 변수를 삭제할 수 있습니다.

맨 위로

사용 사례

맞춤 변수는 웹사이트 모델과 비즈니스 요구사항에 따라 다양한 방법으로 구현할 수 있습니다. 이 예에서는 다양한 사용 사례를 살펴봅니다. 각 사용 사례는 서로 다른 범위를 나타냅니다.

페이지 수준 맞춤 변수

페이지 수준 맞춤 변수를 사용하여 사용자의 페이지 수준 활동 모음을 정의합니다.

예를 들어 방문자가 다양한 기사를 보는 온라인 신문의 웹사이트를 관리한다고 가정해 보겠습니다. 가장 인기 있는 특정 기사를 쉽게 확인할 수 있지만 이제 맞춤 변수를 사용하여 신문의 어떤 섹션이 인기 있는지 확인할 수도 있습니다. 이는 각 기사의 페이지 수준에서 맞춤 변수를 설정하면 됩니다. 해당 기사의 섹션은 맞춤 변수로 설정됩니다. 예를 들어 라이프 및 스타일, 오피니언, 비즈니스 같은 섹션이 있을 수 있습니다. 모든 기사를 섹션별로 추적하는 맞춤 변수를 설정할 수 있습니다.

비동기 스니펫 (권장)

_gaq.push(['_setCustomVar',
      1,                   // This custom var is set to slot #1.  Required parameter.
      'Section',           // The top-level name for your online content categories.  Required parameter.
      'Life & Style',  // Sets the value of "Section" to "Life & Style" for this particular aricle.  Required parameter.
      3                    // Sets the scope to page-level.  Optional parameter.
   ]);

이 예를 계속 진행하여 특정 기사의 섹션뿐 아니라 하위 섹션에도 태그를 지정한다고 가정해 보겠습니다. 예를 들어 신문의 라이프/스타일 섹션에는 식음료, 패션, 스포츠 등 여러 하위 섹션이 있을 수 있습니다. 따라서 특정 기사에 대해 섹션과 하위 섹션을 모두 추적할 수 있습니다. 하위 섹션별로 모든 기사를 추적하도록 맞춤 변수를 추가로 설정할 수도 있습니다.

비동기 스니펫 (권장)

_gaq.push(['_setCustomVar',
          2,                   // This custom var is set to slot #2.  Required parameter.
          'Sub-Section',       // The 2nd-level name for your online content categories.  Required parameter.
          'Fashion',           // Sets the value of "Sub-section" to "Fashion" for this particular article.  Required parameter.
          3                    // Sets the scope to page-level.  Optional parameter.
         ]);

이 예에서는 한 페이지에 동시에 2개의 페이지 수준 맞춤 변수를 설정합니다. 페이지 하나에 별도의 슬롯이 있는 최대 5개의 맞춤 변수를 추적할 수 있습니다. 즉, 동일한 페이지에서 3개의 맞춤 변수를 추가로 할당할 수 있습니다. 웹사이트의 모든 기사에 대해 다양한 페이지 수준 맞춤 변수 배열을 설정하여 다양한 섹션 및 하위 섹션을 기준으로 기사를 추적할 수 있습니다. 페이지 수준 맞춤 변수를 올바르게 사용하는 방법을 자세히 알아보려면 아래의 사용 가이드라인을 참고하세요.

맨 위로

세션 수준 맞춤 변수

세션 수준의 맞춤 변수를 사용하여 세션별로 다양한 방문자 환경을 구별합니다.

예를 들어 웹사이트에서 사용자에게 로그인 기능을 제공한다면 세션 수준으로 범위가 지정된 맞춤 변수를 사용자 로그인 상태에 사용할 수 있습니다. 이러한 방식으로 로그인한 회원의 방문과 익명 방문자의 방문을 분류할 수 있습니다.

비동기 스니펫 (권장)

_gaq.push(['_setCustomVar',
      1,             // This custom var is set to slot #1.  Required parameter.
      'User Type',   // The name of the custom variable.  Required parameter.
      'Member',      // Sets the value of "User Type" to "Member" or "Visitor" depending on status.  Required parameter.
       2             // Sets the scope to session-level.  Optional parameter.
   ]);

사용자 유형과 특정 세션의 구매 시도가 발생했는지를 모두 추적하려고 한다고 가정해 보겠습니다. 모든 페이지에서 사용자에게 로그인 기능을 제공한다고 가정하면 사용자 유형 맞춤 변수에 슬롯 1을 예약하고 구매 시도에 다른 슬롯을 사용하는 것이 좋습니다.

비동기 스니펫 (권장)

_gaq.push(['_setCustomVar',
      2,                   // This custom var is set to slot #2.  Required parameter.
      'Shopping Attempts', // The name of the custom variable.  Required parameter.
      'Yes',               // The value of the custom variable.  Required parameter.
                           //  (you might set this value by default to No)
      2                    // Sets the scope to session-level.  Optional parameter.
   ]);

맨 위로

방문자 수준 맞춤 변수

방문자 수준 맞춤 변수를 사용하여 여러 세션에서 방문자의 카테고리를 구분합니다.

예를 들어 웹사이트에서 유료 구독자에게 프리미엄 콘텐츠를 제공하는 경우 방문 수준 맞춤 변수를 설정하여 어떤 사용자가 유료 회원인지, 어떤 결제 수준이 어느 단계에 있는지, 어떤 사용자가 사이트에서 무료 서비스를 사용 중인지 분석할 수 있습니다. 값이 방문자 쿠키의 수명 기간 내내 유지되므로 이 맞춤 변수를 일회성 함수로 설정할 가능성이 높습니다.

비동기 스니펫 (권장)

_gaq.push(['_setCustomVar',
      1,                // This custom var is set to slot #1.  Required parameter.
      'Member Type',    // The name of the custom variable.  Required parameter.
      'Premium',        // The value of the custom variable.  Required parameter.
                        //  (possible values might be Free, Bronze, Gold, and Platinum)
      1                 // Sets the scope to visitor-level.  Optional parameter.
 ]); 

사용 가이드라인

이 섹션에서는 여러 유형의 맞춤 변수 간의 차이점과 이를 올바르게 사용하는 방법을 설명합니다.

맞춤 변수의 유형

아래 표는 다양한 변수 유형의 주요 특성을 정의합니다. 여러 변수에서 동일한 슬롯을 사용하는 경우 몇 가지 제한사항이 있습니다.

맞춤 변수 이름과 값을 합한 총 길이는 128자를 초과할 수 없습니다.

맨 위로

  시간 슬롯을 다른 변수와 공유할 때 허용되는 번호
페이지 수준

단일 페이지 조회, 이벤트 또는 거래 호출

페이지에서 호출되는 마지막 페이지 수준 변수가 페이지에 적용됩니다.

모든 웹 속성 (페이지 모음)에 대해 다수의 고유한 페이지 수준 변수를 설정할 수 있으며 슬롯을 재사용할 수 있습니다. 특정 세션의 조회수에 따라서만 제한됩니다.

한 페이지에 최대 5개의 맞춤 변수를 동시에 설정할 수 있습니다.

세션 수준

방문자의 현재 세션입니다.

세션에서 마지막으로 호출되는 세션 수준 변수가 세션에 사용됩니다.
: 세션 시작 시 1번 슬롯에 login=false가 있고 나중에 슬롯 1번에 login=true인 경우 login에 대해 세션은 true로 설정됩니다.

동일한 세션에서 호출된 이전에 설정된 페이지 수준 변수를 오버라이드합니다.
: 슬롯 1이 category=sports에 처음 사용된 후 세션의 login=true에 사용되면 해당 세션에서 category=sports가 기록되지 않습니다.

모든 웹 속성에 대해 128자(영문 기준) 키-값 쌍 제한으로 정의할 수 있는 만큼 고유한 세션 수준 맞춤 변수를 만들 수 있습니다.

특정 사용자 세션에 대해 최대 5개의 세션 수준 변수를 설정할 수 있습니다.

방문자 수준

방문자 쿠키의 유효기간 동안 현재 세션과 미래의 모든 세션입니다.

방문자에 대해 설정된 마지막 값은 현재 및 미래의 세션에 적용되는 값입니다.

모든 웹 속성에 대해 최대 5개의 고유한 방문자 수준 변수를 만들 수 있습니다.

맨 위로

여러 변수 유형을 혼합할 때 주의

이상한 측정항목 계산이 발생할 수 있으므로 일반적으로 동일한 맞춤 변수 슬롯을 서로 다른 유형과 혼합하는 것은 권장하지 않습니다.

웹 속성에 페이지, 세션, 방문자 수준의 맞춤 변수를 여러 개 사용하는 경우 슬롯 재사용 여부를 신중하게 결정해야 합니다. 웹사이트에서 페이지 또는 세션 수준의 맞춤 변수가 동시에 동일한 슬롯을 사용하는 상황이 발생하면 페이지 수준 변수가 설정됩니다. 이 경우 세션 수준 (또는 페이지 수준) 변수만 기록됩니다.

다음 시나리오는 동일한 브라우저에서 단일 사용자가 설정한 페이지, 세션, 방문자 수준 변수의 조합을 보여줍니다. 각 예에서 슬롯은 괄호 안의 번호로 표시되며 S:는 변수의 범위를 나타냅니다.

사례 1 - 최종 세션 수준 변수가 우선순위를 갖는 경우

여기서 마지막 페이지는 슬롯 1의 세션 수준 맞춤 변수를 재사용하므로 우선 순위를 받습니다.

방문 1 1페이지
(1) S:페이지 수준
section=opinion
2페이지
(1) S: 세션 수준
login=true
3페이지
(1) S: 세션 수준
converted=true

방문에 대한 보고서는 다음과 같습니다.

  • 섹션=오피니언에 대한 방문 횟수: 0
  • login=true인 방문 #회: 0
  • conversion=true인 방문수: 1회

사례 2 - 초기 방문자 수준 변수의 우선순위가 우선

여기서 슬롯 1은 방문 1에서 방문자 수준 맞춤 변수로 처음 사용되었으며 방문 3에서는 페이지 수준 맞춤 변수가 사용되었습니다. 이 순서대로 방문자 수준 변수는 페이지 수준 변수를 덮어쓰지 않습니다.

방문 1 1페이지
(1) S:방문자 수준
gender=male
방문 2 1페이지
(2) S:세션 수준
converted=false
방문 3 1페이지
(1) S:페이지 수준
section=opinion

방문에 대한 보고서는 다음과 같습니다.

  • 성별=남성에 대한 방문수: 2
  • 전환됨=false에 대한 방문 수: 1
  • 섹션=오피니언에 대한 방문 횟수: 1회
  • 슬롯 간에 중복된 키 이름을 사용하지 마세요.
  • 페이지 조회 또는 이벤트 GIF 요청 전에 설정할 수 있는 경우 _setCustomVar() 함수를 호출합니다.
    경우에 따라 이 작업이 불가능할 수도 있으며, 맞춤 변수를 설정한 후에 다른 _trackPageview() 요청을 설정해야 합니다. 이 방법은 일반적으로 사용자가 세션 또는 방문 수준 맞춤 변수를 트리거하고 이 메서드를 페이지 조회, 이벤트 또는 전자상거래 추적 호출과 함께 묶을 수 없는 경우에만 필요합니다.
  • 슬롯 매트릭스를 사용해 다수의 맞춤 변수를 추적합니다.
    페이지 수준 변수와 세션 수준 변수가 혼합되어 있어 추적 요구사항이 복잡하다면 세션 수준 변수가 의도치 않게 페이지 수준 변수를 재정의하지 않도록 슬롯 매트릭스를 만들어야 합니다.
  • 특정 애플리케이션에서는 맞춤 변수가 아닌 이벤트 추적을 사용해 보세요.
    예를 들어 온라인 음악 매장이 있고 로그인 세션, 구매 시도 세션, 음악 샘플이 재생된 세션을 모두 추적하려고 한다고 가정해 보겠습니다. 이를 위해서는 세션 수준 변수를 사용하는 것보다 이벤트 추적을 사용하여 음악 재생 시도 횟수를 추적하는 것이 더 좋습니다. 여기에서는 이벤트 추적 호출의 4번째 값 매개변수를 사용하여 자체 쿠키에서 세션 데이터를 전달할 수 있습니다.
  • 페이지 수준 변수로 추적할 수 있는 행동을 추적하는 데는 세션 수준 변수를 사용하지 마세요.
    예를 들어 세션별로 로그인 상태와 쇼핑 시도 상태를 추적하고 있고, 사이트에서 추적하려는 '회원 특별' 페이지를 제공한다고 가정해 보겠습니다. 페이지 수준 맞춤 변수는 특정 변수의 방문수를 표시하므로 해당 페이지를 한 번 이상 포함한 방문수는 이미 확인할 수 있습니다.

맨 위로