필드 데이터 가져오기 및 설정

추적기에서 필드 데이터를 가져와 설정하려면 추적기 객체 자체를 참조해야 하는 경우가 있습니다. ga() 명령어 큐에 추가된 명령어는 비동기적으로 실행되고 값을 반환하지 않으며 추적기는 가장 일반적으로 create 명령어를 사용하여 생성되므로 추적기 객체에 대한 참조를 가져오려면 create 명령어가 실행될 때까지 기다려야 합니다. 준비된 콜백을 통해 이 작업을 실행할 수 있습니다.

준비된 콜백

준비된 콜백ga() 명령어 큐에 추가할 수 있는 함수입니다. 이 함수는 analytics.js 라이브러리가 완전히 로드되고 큐에 추가된 모든 이전 명령어가 실행되는 즉시 호출됩니다.

큐에 대한 모든 명령어가 순서대로 실행되므로 create 명령어를 추가한 후 준비된 콜백을 큐에 추가하면 추적기가 생성된 후 준비된 콜백이 실행됩니다. 기본 콜백이 호출될 때 기본 추적기가 생성된 경우 기본 추적기가 콜백의 첫 번째(유일한) 인수로 전달됩니다.

다음 코드는 기본 추적기 객체에 액세스하고 이 객체를 콘솔에 로그하는 방법을 보여줍니다.

ga('create', 'UA-XXXXX-Y', 'auto');

ga(function(tracker) {
  // Logs the tracker created above to the console.
  console.log(tracker);
});

ga 객체 메서드를 통해 추적기 가져오기

기본 추적기를 사용하지 않거나 페이지에 추적기가 두 개 이상 있는 경우 ga 객체 메서드 중 하나를 통해 추적기에 액세스할 수 있습니다.

analytics.js 라이브러리가 완전히 로드되면 ga 객체 자체에 메서드가 추가됩니다. 이 중 두 메서드 getByNamegetAll이 추적기 객체에 액세스하는 데 사용됩니다.

getByName

액세스할 추적기의 이름을 알고 있는 경우 getByName 메서드를 사용하여 액세스할 수 있습니다.

ga('create', 'UA-XXXXX-Y', 'auto', 'myTracker');

ga(function() {
  // Logs the "myTracker" tracker object to the console.
  console.log(ga.getByName('myTracker'));
});

getAll

생성된 모든 추적기의 배열을 가져오려면 getAll 메서드를 사용하세요.

ga('create', 'UA-XXXXX-Y', 'auto', 'tracker1');
ga('create', 'UA-XXXXX-Z', 'auto', 'tracker2');

ga(function() {
  // Logs an array of all tracker objects.
  console.log(ga.getAll());
});

추적기에 저장된 데이터 가져오기

추적기 객체에 관한 참조를 가져온 후에는 get 메서드를 사용하여 추적기에 현재 저장된 모든 필드의 값에 액세스할 수 있습니다.

ga('create', 'UA-XXXXX-Y', 'auto');

ga(function(tracker) {
  // Logs the trackers name.
  // (Note: default trackers are given the name "t0")
  console.log(tracker.get('name'));

  // Logs the client ID for the current user.
  console.log(tracker.get('clientId'));

  // Logs the URL of the referring site (if available).
  console.log(tracker.get('referrer'));
});

데이터 업데이트

추적기 객체는 set 메서드를 사용하여 업데이트할 수 있습니다. 추적기의 set 메서드는 추적기 객체 자체에서 호출하거나 ga() 명령어 큐에 set 명령어를 추가하여 호출할 수 있습니다.

추적기 객체에 대한 참조를 가져오려면 준비된 콜백을 사용해야 하므로 ga() 명령어 큐를 사용하여 추적기를 업데이트하는 것이 좋습니다.

ga() 명령어 큐

set 명령어는 두 매개변수(field와 해당 값)을 전달하거나 필드/값 쌍의 객체를 전달하여 호출할 수 있습니다.

다음 예에서는 기본 추적기에서 page 필드를 '/about'로 설정합니다.

ga('set', 'page', '/about');

이 예에서는 pagetitle 필드를 동시에 설정합니다.

ga('set', {
  page: '/about',
  title: 'About Us'
});

이름이 지정된 추적기 사용

기본 추적기 대신 이름이 지정된 추적기를 사용하는 경우 명령어 문자열에 이름을 전달할 수 있습니다.

다음 호출은 'myTracker'라는 추적기에 page 필드를 설정합니다.

ga('myTracker.set', 'page', '/about');

추적기 객체 자체에서

추적기 객체에 대한 참조가 있는 경우 추적기의 set 메서드를 직접 호출할 수 있습니다.

ga(function(tracker) {
  tracker.set('page', '/about');
});

앰퍼샌드 구문

추적기 필드는 일반적으로 해당 필드 이름을 사용하여 가져오고 설정합니다. analytics.js 필드 및 필드 이름의 전체 목록은 필드 참조를 참고하세요.

필드를 가져오고 설정하는 또 다른 방법은 해당 측정 프로토콜 매개변수 이름 이름으로 필드를 참조하는 것입니다.

예를 들어 다음 두 console.log 표현식은 모두 문서 제목을 콘솔에 로그합니다.

ga(function(tracker) {
  // Gets the title using the analytics.js field name.
  console.log(tracker.get('title'));

  // Gets the title using the measurement protocol
  // parameter name, prefixed with an ampersand.
  console.log(tracker.get('&dt'));
});

일반적으로 앰퍼샌드 구문은 권장되지 않으며 측정 프로토콜 매개변수의 analytics.js 필드 이름이 없는 경우에만 사용해야 합니다(새로운 기능이 analytics.js에 구현되기 전에 측정 프로토콜에 추가된 경우 이러한 일이 종종 발생합니다).

다음 단계

이제 추적기를 만들고 추적기에 저장된 데이터를 업데이트하는 방법을 알아보았으니 다음 단계에서는 처리를 위해 해당 데이터를 Google 애널리틱스로 전송하는 방법을 알아보겠습니다.