Для получения и настройки данных счетчика иногда необходима ссылка на сам объект счетчика. Так как команды, добавляемые в очередь команд ga()
, выполняются асинхронно и не возвращают значения, а счетчики чаще всего создаются с помощью команды create
, чтобы можно было сослаться на объект счетчика, необходимо дождаться выполнения команды create
. Для этого можно использовать функцию ready callback.
Функция обратного вызова при готовности
Функцию ready callback (обратный вызов при готовности) можно добавить в очередь команд 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
. Два из них – 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
счетчика можно вызвать напрямую через объект счетчика или добавив команду set
в очередь команд ga()
.
Так как для получения ссылки на объект счетчика необходимо использовать функцию обратного вызова при готовности, обновлять данные в счетчике рекомендуется с помощью очереди команд 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 и их названий.
Другой способ задавать и получать значения полей заключается в том, чтобы ссылаться на эти поля по соответствующим названиям параметров Measurement Protocol.
Например, два приведенных ниже выражения 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 нет названия поля, соответствующего параметру Measurement Protocol (например, если в Measurement Protocol добавлена новая функция, которая ещё не реализована в analytics.js).
Дополнительная информация
Теперь вы знаете, как создавать счетчики и обновлять данные в них. Прочитайте о том, как отправлять эту информацию в Google Аналитику.