Поиск
Удалить поисковый запрос
Закрыть поиск
Приложения Google
Главное меню

Переменные

Переменные – это пары "ключ-значение", которые принимают заданное значение во время выполнения кода. Например, в случае встроенной переменной "URL" значением будет адрес текущей страницы.

Переменные используются в триггерах и тегах. В триггерах они применяются для настройки фильтров, которые определяют, когда следует запускать этот триггер (например, запускать триггер "Просмотр страницы", когда переменная "URL" принимает значение example.com/index.html). В тегах переменные используются для получения динамических значений (например, для передачи информации о транзакциях и товарах в тег отслеживания конверсий).

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

Примечание. Встроенными называются готовые переменные, используемые в Диспетчере тегов Google. Они заменили собой переменные, которые раньше нужно было задавать при создании контейнера. Работа с ними ничем не отличается от работы с любыми другими переменными. Мы предлагаем широкий спектр встроенных переменных, которые используются чаще всего, например "URL страницы", "URL перехода", "Идентификатор клика", "Случайное число" и "Событие". Подробнее о встроенных переменных...

Пример для веб-сайта

Предположим, вы хотите активировать тег ремаркетинга в КМС, когда покупатель потратит на вашем сайте более 3000 рублей. Для этого нужно создать триггер "Просмотр страницы" со следующим условием:

Сумма транзакции больше чем 3000 руб.

Поскольку готовая переменная "Сумма транзакции" не предоставляется, ее необходимо создать самостоятельно. Укажите, где Диспетчер тегов Google должен искать значение суммы транзакции (например, в переменной JavaScript transactionAmt на странице подтверждения покупки).

Когда значение суммы транзакции будет получено, триггер проверит, превышает ли оно 3000 рублей.

Кроме того, это значение также можно передавать в тег отслеживания конверсий (например, тег DoubleClick Floodlight) для создания отчетов по доходам от транзакций.

Типы переменных для веб-сайтов

Основной файл cookie. Устанавливается значение основного файла cookie с именем того домена, в котором находится пользователь. Если в нескольких путях или на разных уровнях одного домена используются файлы cookie с одинаковым названием, выбирается первое значение, как если бы вы вызвали свойство document.cookie со страницы и выбрали самый первый результат.

Встроенные переменные. Набор стандартных неизменяемых переменных, которые вы можете включить в Диспетчере тегов Google. Подробнее...

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

Номер версии контейнера. Эта переменная возвращает номер версии контейнера (просматриваемой или уже опубликованной).

Собственный код JavaScript. Используется значение, возвращенное анонимной функцией JavaScript. Например, вы можете создать переменную lowerUrl на основе стандартной переменной {{url}}:

function () {
  return {{url}}.toLowerCase();
}

Переменная уровня данных. Принимает значение value при выполнении следующего кода на вашем веб-сайте: dataLayer.push({'Data Layer Name': 'value'}).

В Диспетчере тегов Google можно указать, как должны интерпретироваться точки (.) в названии переменной уровня данных:

  • Версия 1. Разрешить точки в названиях ключей. Например, в случае dataLayer.push('a.b.c': 'value') название ключа будет интерпретировано как a.b.c (т. е. {'a.b.c': 'value'}).
  • Версия 2. Интерпретировать значения с точками как иерархические значения. Например, dataLayer.push({'a.b.c': 'value'}) будет интерпретировано как три иерархических уровня: {a: {b: {c: 'value'}}}. Этот вариант позволяет распознавать иерархические значения. Передав название переменной a.b, вы получите объект {c: 'value'} (в соответствии со стандартными правилами JavaScript). Кроме того, перемещение иерархических значений позволяет редактировать их напрямую. Так, в результате выполнения кода
    dataLayer.push({'a.b.c': 'value'});
    dataLayer.push({'a.b.d': 4});

    вы получите следующий объект dataLayer: {a: {b: {c: 'value', d: 4}}}.

Режим отладки. Если контейнер просматривается в режиме отладки, переменная принимает значение true.

Элемент DOM. Задается значение идентификатора элемента из модели DOM. Модель DOM (Document Object Model – объектная модель документа) содержит все HTML-элементы страницы. Если искомое значение не было задано на уровне данных (см. "Переменная уровня данных" ниже), возможно, его можно извлечь из модели DOM страницы. Используйте этот тип переменной, если нужное значение можно найти в модели DOM по значению атрибута id соответствующего элемента.

Если задано необязательное имя атрибута, переменная примет значение, полученное из этого атрибута (например, data-food="пироги"). В противном случае значением переменной будет текст, содержащийся в элементе DOM.

Источник ссылки HTTP. В качестве значения указывается источник ссылки HTTP, то есть адрес предыдущей страницы. Например, если пользователь перешел в каталог товаров с главной страницы сайта, будет указан URL главной страницы.  Экземпляр этой переменной генерируется Диспетчером тегов Google автоматически, однако вы можете создавать собственные экземпляры, используя разные фрагменты URL перехода.

Переменная JavaScript. В качестве значения задается указанная вами глобальная переменная. Если нужное значение недоступно на уровне данных (см. "Переменная уровня данных") и в модели DOM (см. "Элемент DOM"), возможно, его можно получить из переменной JavaScript. Используйте этот тип переменной, если нужное значение содержится в исходном коде страницы в виде переменной JavaScript.

Таблица поиска. Значение задается в соответствии с инструкциями в таблице поиска. Она содержит два столбца (в этом примере таблица не заполнена):

Когда значение [выбранной переменной] равно

Использовать для [этой переменной] значение

   

Таблица поиска позволяет создать переменную, значение которой зависит от значения другой переменной. Это может быть полезно, если конфигурация сайта позволяет привязать определенное значение (например, идентификатор отслеживания конверсий) к URL или другому элементу страницы. В приведенном примере создается переменная "Идентификатор конверсии". Для URL "/thanks/buy1.html" устанавливается значение 12345, а для URL "/thanks/buy2.html" – значение 34567. Таблица поиска может содержать неограниченное число строк и учитывает регистр символов.

Когда значение {{url}} равно

Использовать для {{Идентификатор конверсии}} значение

http://example.com/thanks/buy1.html

12345

http://example.com/thanks/buy2.html

34567

http://example.com/thanks/buy3.html

56789

Случайное число. Генерирует случайное целое число в диапазоне от 0 до 2147483647.

Встроенные переменные. Значения автоматически подставляются Диспетчером тегов Google, когда на странице происходят определенные события (например, клик по ссылке или другому элементу навигации, отправка формы и т. д.). Подробнее...

URL. В качестве значения задается текущий адрес (полный URL или определенные его компоненты). Диспетчер тегов Google автоматически создает три экземпляра этой переменной: полный URL, имя хоста и путь. При желании вы можете создавать дополнительные экземпляры, используя протокол, имя хоста, порт, путь, запрос и фрагмент URL. Выходное значение для переменных такого типа – URL страницы, на которой находится пользователь (извлекается из document.location). Однако при желании вы можете указать другой источник значения URL.

Типы переменных для мобильных приложений

 

Включено отслеживание рекламы. Для Android возвращает значение true, если включено отслеживание объявлений, и значение false, если пользователь отключил рекламу на основе интересов. Подробнее читайте в Центре разработчиков Android. SDK более ранней версии, чем версия 4, всегда возвращает false. Для iOS версии 6 и выше используется значение свойства advertisingTrackingEnabled. В остальных случаях используется значение true. Контейнеры для мобильных приложений уже включают встроенную переменную этого типа, так что вам не нужно ее создавать.

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

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

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

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

Идентификатор контейнера. Предоставляет общедоступный идентификатор контейнера (например, GTM-ABC42). Контейнеры для мобильных приложений уже включают встроенную переменную этого типа, так что вам не нужно ее создавать.

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

Идентификатор устройства. Для Android используется значение идентификатора устройства, для устаревших приложений iOS – '' (пустая строка). Эта переменная недоступна в контейнерах Firebase (iOS). Контейнеры для мобильных приложений уже включают встроенную переменную этого типа, так что вам не нужно ее создавать.

Название устройства. Название устройства, на котором в данный момент работает приложение (например, "Samsung Android" или "Android SDK для x86"). Контейнеры для мобильных приложений уже включают встроенную переменную этого типа, так что вам не нужно ее создавать.

Имя события. В качестве значения используется величина eventNameXYZ при выполнении в приложении следующего кода:

Android
FirebaseAnalytics.getInstance(mContext).logEvent("eventNameXYZ", null);

iOS
[FIRAnalytics logEventWithName:@"eventNameXYZ" parameters:parameters];

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

Параметр события. Значение параметра события Firebase Analytics, соответствующее ключу.

Свойство пользователя Firebase. Значение свойства пользователя Firebase Analytics, соответствующее ключу.

Вызов функции. Используется значение, возвращенное предварительно заданной функцией. Подробнее читайте в документации к SDK (Android или iOS).

Рекламный идентификатор. Для Android используется значение рекламного идентификатора. Подробнее читайте в Центре разработчиков Android. SDK более ранней версии, чем версия 4, всегда возвращает '' (пустую строку). Для iOS версии 6 и выше используется значение рекламного идентификатора (IDFA), в остальных случаях – '' (пустая строка).

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

Таблица поиска. Значение задается в соответствии с инструкциями в таблице поиска. Она содержит два столбца (в этом примере таблица не заполнена):

Когда значение [выбранной переменной] равно

Использовать для [этой переменной] значение

   

Таблица поиска позволяет создать переменную, значение которой зависит от значения другой переменной. Это может быть полезно, если конфигурация приложения позволяет привязать определенное значение (например, идентификатор отслеживания конверсий) к URL или другому элементу этого приложения. В приведенном примере создается переменная "Идентификатор конверсии". Для кода версии приложения 1.0 используется значение 12345; а для 1.1 – 34567. Таблица поиска может содержать неограниченное число строк и учитывает регистр символов.

Если {{Код версии приложения}} равен

Использовать для {{Идентификатор конверсии}} значение

1.0

12345

1.1

34567

1.2

56789

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

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

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

Разрешение экрана. Разрешение экрана устройства, на котором выполняется приложение, в формате "ширина x высота", например "1024 x 768". Контейнеры для мобильных приложений уже включают встроенную переменную этого типа, так что вам не нужно ее создавать.

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

Версия операционной системы. Версия операционной системы, в которой установлено приложение.

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

Случайное число. В качестве значения присваивается случайное число в диапазоне от 0 до 2147483647.

Разрешение экрана. В качестве значения используется разрешение экрана устройства, на котором выполняется приложение, в формате "ширина x высота", например "1024 x 768". Контейнеры для мобильных приложений уже включают готовую переменную этого типа, так что вам не нужно ее создавать.

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

Устаревшие коллекции значений

Коллекция значений (только для устаревших контейнеров). Переменная этого типа содержит набор пар "ключ-значение" в формате JSON. Используйте ее, чтобы задать значения конфигурации для своего приложения. Например, для гоночной игры можно определить следующую переменную "Коллекция значений":


{
  "max-fuel": 200,
  "starting-fuel": 100,
  "fuel-burn-rate": 20
}

Мобильное приложение может извлечь значение из переменной, предоставив ключ. Рассмотрим следующий пример:


public class MainActivity {

  // Добавление идентификатора контейнера.
  private static final String CONTAINER_ID = "XXX-YYY"; 
  
  // Пары "ключ-значение" конфигурации контейнера;
  // используются для получения значений.
  private static final String MAX_FUEL_KEY = "max-fuel";
  private static final String INIT_FUEL_KEY = "init-fuel";
  private static final String FUEL_BURN_KEY = "fuel-burn-rate";

  // Остальной код onCreate.
  }
}

/*
* Метод, используемый для обновления значений конфигурации игры
* с помощью контейнера Диспетчера тегов Google.
*/
public void updateConfigurationFromContainer(Container container) {

  // Получение ссылки на контейнер.
  Container container = mFutureContainer.get();

  // Обновление настроек игры с помощью ключей к значениям конфигурации.
  maxFuel = mContainer.getDoubleValue(MAX_FUEL_KEY);
  startingFuel = mContainer.getDoubleValue(INIT_FUEL_KEY);
  burnRate = mContainer.getDoubleValue(FUEL_BURN_KEY);
}

С переменной этого типа связаны триггеры. Для значений конфигурации, которые относятся ко всем версиям приложения, используйте вариант "Всегда" (условие по умолчанию). Подробнее об использовании переменной "Коллекция значений" читайте в документации для разработчиков (Android или iOS). 

 

Была ли эта статья полезна?
Как можно улучшить эту статью?