Пользовательские переменные – веб-отслеживание (ga.js)

Пользовательские переменные — это парные теги имя-значение, которые вы можете вставить в свой код отслеживания, чтобы уточнить отслеживание Google Analytics. С помощью пользовательских переменных вы можете определить дополнительные сегменты, которые будут применяться к вашим посетителям, помимо тех, которые уже предоставлены Analytics. В этом документе описаны пользовательские переменные и способы их настройки.

Обзор

Вы получите максимальную отдачу от пользовательских переменных, если поймете базовую модель взаимодействия с посетителями, используемую в Google Analytics. В этой модели посетитель взаимодействует с вашим контентом в течение определенного периода времени, а взаимодействие с вашим сайтом разбивается на иерархию.

Диаграмма иллюстрирует эту модель для одного посетителя вашего сайта, где каждый блок представляет количество пользовательских сеансов и взаимодействий этого конкретного пользователя.

Каждый уровень в этой модели определяется следующим образом:

  • Посетитель — клиент, посещающий сайт, например браузер или мобильный телефон, которым управляет человек.
  • Сеанс — период времени, в течение которого посетитель активен на сайте.
  • Страница — действие от имени пользователя, которое отправляет GIF-запрос на серверы Analytics. Обычно это характеризуется просмотром страницы, но оно может включать в себя:
    • просмотр страницы
    • событие (например, нажатие кнопки фильма)

Каждый из этих трех уровней взаимодействия определяет конкретную сферу взаимодействия посетителей. Это различие важно для пользовательских переменных, поскольку каждая пользовательская переменная ограничена определенной областью действия. Например, вам может потребоваться узнать количество сеансов, когда посетители удаляли товар из корзины покупок. В этом конкретном случае вы должны определить пользовательскую переменную на уровне сеанса, чтобы весь сеанс этого посетителя был помечен как сеанс, в котором товары были удалены из онлайн-корзин.

Вернуться к началу

Использование пользовательских переменных

Поскольку вы можете настроить множество пользовательских переменных для отслеживания активности пользователей на вашем сайте, чаще всего вы создаете свои собственные утилиты JavaScript для управления ими. Ваш скрипт будет использовать базовый метод создания пользовательской переменной следующим образом:

_setCustomVar(index, name, value, opt_scope)

Этот метод принимает четыре параметра:

  • index — слот для пользовательской переменной. Необходимый. Это число, значение которого может находиться в диапазоне от 1 до 5 включительно. Пользовательскую переменную следует размещать только в одном слоте и не использовать повторно в разных слотах.
  • name — Имя пользовательской переменной. Необходимый. Это строка, которая идентифицирует пользовательскую переменную и отображается в отчете «Пользовательские переменные» верхнего уровня в отчетах Analytics.
  • value — Значение пользовательской переменной. Необходимый. Это строка, связанная с именем. Вы можете связать несколько значений с именем пользовательской переменной. Значение отображается в списке таблиц пользовательского интерфейса для выбранного имени переменной. Обычно для данного имени имеется два или более значений. Например, вы можете определить имя пользовательской переменной gender и указать male и female в качестве двух возможных значений.
  • opt_scope — Область действия пользовательской переменной. Необязательный. Как описано выше, область действия определяет уровень взаимодействия пользователей с вашим сайтом. Это число, возможные значения которого: 1 (уровень посетителя), 2 (уровень сеанса) или 3 (уровень страницы). Если область пользовательской переменной не определена, по умолчанию используется взаимодействие на уровне страницы.

В следующем фрагменте кода показано, как можно установить пользовательскую переменную для отслеживания посещений, когда пользователи удаляли товары из своей корзины. Здесь метод _setCustomVar() вызывается непосредственно перед методом _trackEvent() , чтобы он был доставлен в запросе GIF, отправленном методом _trackEvent() . Он использует имя Items Removed со значением Yes , чтобы определить эту активность пользователей веб-сайта. Кроме того, имело бы смысл также установить пользовательскую переменную по умолчанию для Items Removed и No . Таким образом, вы получите количество посещений, при которых товары были удалены из корзин покупок, а также количество посещений, которые не включали удаление товаров.

Асинхронный фрагмент (рекомендуется)

 _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.
         ]);

В этом примере вы одновременно устанавливаете две пользовательские переменные на уровне страницы для одной страницы. Для любой отдельной страницы вы можете отслеживать до пяти пользовательских переменных, каждая из которых имеет отдельный слот. Это означает, что вы можете назначить три дополнительные пользовательские переменные на этой же странице. Для всех статей на вашем веб-сайте вы можете настроить массив пользовательских переменных на уровне страницы, чтобы отслеживать их по различным разделам и подразделам. Дополнительную информацию о том, как правильно использовать пользовательские переменные на уровне страницы, см. в разделе «Рекомендации по использованию» ниже.

Вернуться к началу

Пользовательские переменные уровня сеанса

Используйте пользовательские переменные уровня сеанса, чтобы различать различные впечатления посетителей в разных сеансах.

Например, если ваш веб-сайт предлагает пользователям возможность входа в систему, вы можете использовать пользовательскую переменную, привязанную к уровню сеанса, для статуса входа пользователя. Таким образом, вы можете сегментировать посещения посетителей, вошедших в систему, и анонимных посетителей.

Асинхронный фрагмент (рекомендуется)

_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.
   ]);

Вернуться к началу

Пользовательские переменные на уровне посетителя

Используйте пользовательские переменные на уровне посетителей, чтобы различать категории посетителей в ходе нескольких сеансов.

Например, если ваши веб-сайты предлагают платным подписчикам премиум-контент, вы можете установить пользовательскую переменную на уровне посещения, чтобы проанализировать, какие пользователи платят участникам, на каком уровне оплаты и какие пользователи используют бесплатный уровень обслуживания для сайта. Скорее всего, вы установите эту пользовательскую переменную как одноразовую функцию, поскольку ее значение будет сохраняться на протяжении всего срока действия файла cookie посетителя.

Асинхронный фрагмент (рекомендуется)

_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 символов.

Вернуться к началу

Продолжительность При совместном использовании слота с другими переменными Разрешено количество
Уровень страницы

Один просмотр страницы, событие или вызов транзакции.

Последняя переменная уровня страницы, вызываемая на странице, применяется к этой странице.

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

Для любой отдельной страницы вы можете одновременно установить до пяти пользовательских переменных.

Уровень сеанса

Текущая сессия посетителя.

Последняя переменная уровня сеанса, вызванная в сеансе, используется для этого сеанса.
Пример : если login=false для слота №1 в начале сеанса и login=true для слота №1 позже, для сеанса устанавливается true для login .

Переопределяет любую ранее установленную переменную уровня страницы, вызванную в том же сеансе .
Пример : если слот №1 сначала используется для category=sports , а затем для login=true для сеанса, category=sports не будет записана для этого сеанса.

Для любого веб-ресурса вы можете создать столько различных пользовательских переменных уровня сеанса, сколько можно определить с ограничением длины пары ключ-значение в 128 символов.

Для любого сеанса пользователя вы можете установить до пяти переменных уровня сеанса.

Уровень посетителя

Текущий сеанс и все будущие сеансы на протяжении всего срока действия файла cookie посетителя.

Последнее значение, установленное для посетителя, применяется к текущему и будущим сеансам.

Для любого веб-ресурса вы можете создать до пяти различных переменных уровня посетителя.

Вернуться к началу

Будьте осторожны при смешивании разных типов переменных

Как правило, не рекомендуется смешивать один и тот же слот пользовательской переменной с разными типами, поскольку это может привести к странным расчетам метрик.

Когда вы используете для своего веб-ресурса несколько пользовательских переменных на уровне страницы, сеанса и посетителя, вам необходимо тщательно определить повторное использование слотов. Если на вашем веб-сайте возникает ситуация, когда пользовательская переменная уровня страницы или сеанса использует один и тот же слот в то же время , когда установлена ​​переменная уровня страницы, будет записана только переменная уровня сеанса (или уровня страницы).

Следующие сценарии иллюстрируют сочетание переменных уровня страницы, сеанса и посетителя, заданных одним пользователем в одном браузере. В каждом примере слот обозначается числом в скобках, а S: указывает область действия переменной.

Случай 1. Последняя переменная уровня сеанса имеет приоритет.

Здесь последняя страница повторно использует пользовательскую переменную уровня сеанса в слоте 1, поэтому она получает приоритет.

Посетите 1 Страница 1
(1) S: уровень страницы
section=opinion
Страница 2
(1) S: уровень сеанса
login=true
Страница 3
(1) S: уровень сеанса
converted=true

Отчет о посещениях будет следующим:

  • # посещений раздела=мнение: 0
  • # посещений для входа в систему=true: 0
  • # посещений для преобразованных=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
  • Не используйте повторяющиеся имена ключей в разных слотах.
  • Вызовите функцию _setCustomVar() , если ее можно установить перед просмотром страницы или запросом GIF-события.
    В некоторых случаях это может быть невозможно, и вам потребуется задать еще один запрос _trackPageview() после установки пользовательской переменной. Обычно это необходимо только в тех ситуациях, когда пользователь запускает пользовательскую переменную на уровне сеанса или посещения, когда невозможно связать этот метод с вызовом отслеживания просмотра страницы, события или электронной торговли.
  • Используйте матрицу слотов для отслеживания большого количества пользовательских переменных.
    Если у вас есть сложные требования к отслеживанию, когда у вас есть смесь переменных уровня страницы и уровня сеанса, которые могут конфликтовать, вам следует построить матрицу слотов, чтобы гарантировать, что переменные уровня сеанса не будут случайно переопределять переменные уровня страницы.
  • Рассмотрите возможность использования отслеживания событий для определенных приложений вместо пользовательских переменных.
    Например, предположим, что у вас есть музыкальный интернет-магазин, и вы хотите отслеживать как сеансы входа в систему, сеансы попыток покупки, так и сеансы, в которых воспроизводились музыкальные образцы. Было бы разумно использовать отслеживание событий для отслеживания количества попыток воспроизведения музыки, а не использовать для этого переменные уровня сеанса. Здесь вы можете использовать параметр 4-го значения вызова отслеживания событий для передачи данных сеанса из ваших собственных файлов cookie.
  • Не используйте переменные уровня сеанса для отслеживания поведения, которое можно отслеживать с помощью переменных уровня страницы.
    Например, предположим, что вы отслеживаете статус входа в систему и статус попыток совершения покупок по сеансам, и на вашем сайте есть страница «Специальная для участников», которую вы также хотите отслеживать. Поскольку пользовательская переменная на уровне страницы будет показывать количество посещений этой конкретной переменной, вам уже будет доступно количество посещений, в ходе которых эта страница была хотя бы один раз.

Вернуться к началу