Получение и настройка данных счетчика

Для получения и настройки данных счетчика иногда необходима ссылка на сам объект счетчика. Так как команды, добавляемые в очередь команд ga(), выполняются асинхронно и не возвращают значения, а счетчики чаще всего создаются с помощью команды create, для получения такой ссылки необходимо дождаться выполнения команды create. Для этого можно использовать функцию ready callback.

Функция ready callback

Функцию ready callback можно добавить в очередь команд ga(). Она будет вызвана сразу после окончания загрузки библиотеки analytics.js и выполнения всех предыдущих операций в очереди.

Так как все они выполняются по порядку, добавьте ready callback в очередь после команды create, и эта функция будет обрабатываться после создания счетчика. Если в момент вызова ready callback счетчик по умолчанию уже создан, он будет передан как ее первый и единственный аргумент.

Получить объект счетчика по умолчанию и записать его в консоли можно с помощью следующего кода:

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. Для доступа к объектам счетчика используются два из них: getByName и getAll.

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().

Так как для получения ссылки на объект счетчика необходимо использовать функцию ready callback, рекомендуется обновлять его с помощью очереди команд ga().

Использование очереди команд ga()

Команду set можно вызвать двумя способами: путем передачи двух параметров (поля и его значения) или с помощью отправки объекта с полями и значениями.

В примере ниже показано, как установить для поля page значение '/about' в счетчике по умолчанию:

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

В этом примере поля page и title установлены одновременно:

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

Использование счетчика с именем

Если вместо счетчика по умолчанию вы используете вариант с именем, его название можно передать в строке команды.

Ниже показано, как установить значение поля page в счетчике myTracker:

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 Analytics.