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

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

개요

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

다이어그램은 사이트 단일 방문자의 모델을 보여줍니다. 여기서 각 블록은 특정 사용자의 사용자 세션 및 상호작용 수를 나타냅니다.

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

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

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

맨 위로

맞춤 변수 사용

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

_setCustomVar(index, name, value, opt_scope)

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

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

다음 코드 스니펫은 사용자가 장바구니에서 품목을 삭제한 방문을 추적하는 맞춤 변수를 설정하는 방법을 보여줍니다. 여기에서는 _setCustomVar() 메서드가 _trackEvent() 메서드 바로 전에 호출되어 _trackEvent() 메서드에서 보낸 GIF 요청으로 전달됩니다. 웹사이트 사용자의 활동을 정의하기 위해 Yes라는 값이 포함된 Items Removed라는 이름을 사용합니다. 또한 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.
         ]);

이 예에서는 단일 페이지에 두 개의 페이지 수준 맞춤 변수를 동시에 설정합니다. 모든 단일 페이지에 대해 개별 슬롯과 함께 최대 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를 적용하는 경우 세션이 logintrue으로 설정됩니다.

동일한 세션에서 호출된 이전에 설정된 페이지 수준 변수를 재정의합니다.
: category=sports에 슬롯 1을 먼저 사용한 다음 세션의 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

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

  • page=opinion의 방문 #회: 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
  • conversion=false에 대한 방문 수: 1
  • 섹션=오피니언 방문 수: 1
  • 슬롯에 중복된 키 이름을 사용하지 마세요.
  • 페이지 조회 또는 이벤트 GIF 요청 전에 설정할 수 있는 경우 _setCustomVar() 함수를 호출하세요.
    경우에 따라서는 이 방법이 불가능할 수 있으며, 맞춤 변수를 설정한 또 다른 _trackPageview() 요청을 설정해야 합니다. 이 방법은 일반적으로 사용자가 세션 또는 방문 수준의 맞춤 변수를 트리거하는 경우에 해당 방법을 페이지 조회, 이벤트 또는 전자상거래 추적 호출과 번들로 묶을 수 없는 경우에만 필요합니다.
  • 슬롯 매트릭스를 사용하여 많은 수의 맞춤 변수를 추적합니다.
    추적 요구사항이 복잡하며 페이지 수준 및 세션 수준 변수가 혼합될 수 있는 경우, 세션 매트릭스 변수가 의도치 않게 페이지 수준 변수를 덮어쓰지 않도록 슬롯 매트릭스를 구축해야 합니다.
  • 맞춤 변수 대신 특정 애플리케이션에 이벤트 추적을 사용해 보세요.
    예를 들어 온라인 음악 매장을 운영하면서 로그인 세션, 구매 시도 세션, 음악 샘플이 재생된 세션을 모두 추적하려고 한다고 가정해 보겠습니다. 이를 위해 세션 수준 변수를 사용하는 대신 이벤트 추적을 사용하여 음악을 재생하려는 시도를 추적하는 것이 좋습니다. 여기에서는 이벤트 추적 호출의 네 번째 매개변수 매개변수를 사용하여 자체 쿠키의 세션 데이터를 전달할 수 있습니다.
  • 세션 수준 변수를 사용하여 페이지 수준 변수로 추적할 수 있는 동작을 추적하지 마세요.
    예를 들어 세션별로 로그인 상태와 쇼핑 시도 상태를 추적하고 사이트에서도 추적하려는 '회원' 페이지를 제공하는 경우 페이지 수준 맞춤 변수에는 특정 변수의 방문수가 표시되므로 해당 페이지를 포함하는 방문 횟수가 한 번 이상 있을 것입니다.

맨 위로