Переменная
Краткое содержание
Переменная — объект с постоянным именем и изменяющимся значением, зависящим от действий на сайте. Например, значение может представлять сумму транзакции.
Переменные в триггерах
Используются для настройки фильтров, определяющих условия запуска тега. Пример: активация триггера «Просмотр страницы» при наличии Page URL с адресом mts.ru.
Переменные в тегах
Позволяют получать динамические значения, например, сбор данных о транзакциях через связанные теги отслеживания конверсий.
Управление переменными
-
Создать переме нную:
- Перейти в контейнер и выбрать Создать... — Переменная.
- Настроить и сохранить переменную. Изменения отобразятся в разделе «Обзор».
- Если контейнер установлен, переменная автоматически добавится в код при публикации.
-
Все переменные находятся в разделе «Переменные» контейнера. Можно редактировать, останавливать, публиковать или удалять.
-
Скопировать переменную:
- Открыть форму редактирования переменной.
- Выбрать Другое — Копировать.
-
Откатить изменения:
- Открыть форму редактирования переменной.
- Выбрать Другое — Откатить изменения.
Типы переменных
- Переменная автоматического события возвращает значения, связанные с действиями пользователя (например,
element,elementType,elementAttr). - Константа — фиксированное значение, используемое повторно для одинаковых тегов.
- Собственный файл cookie — извлекает значение cookie, указав его название.
- Переменная уровня данных — получает данные из
dataLayerчерез ключ-значение. - Элемент DOM — возвращает текст или атрибуты элемента по CSS-селектору.
- Видимость элемента — проверяет, отображается ли элемент (
True/False). - Переменная JavaScript — возвращает значение глобальной переменной, заданной в коде страницы.
- Собственный код JavaScript — позволяет запускать пользовательский код для вычисления значения.
- Номер опубликованной версии — хранит номер текущей версии контейнера.
Формат значений переменной
Возможности: изменение регистра, замена null, undefined, true, false, экранирование символов для защиты от XSS-атак.
Переменная — объект, у которого есть постоянное имя и может меняться значение. Значение меняется в зависимости от действий на сайте. Например, в значении переменной может указываться сумма транзакции.
Переменные в триггерах
Применяются для настройки фильтров, которые определяют, когда запускать тег. Например, активация триггера «Просмотр страницы», когда переменная Page URL содержит адрес mts.ru.
Переменные в тегах
Используются для получения динамических значений. Например, собор данных о транзакциях, когда переменная связана с тегом отслеживания конверсий.
Управление переменными
Создать переменную
-
Перейдите в контейнер. Откроется рабочая область.
-
Кликните на Создать... — Переменная

-
Настройте переменную и сохраните её. Подробнее про настройку переменных — ниже. Все изменённые и добавленные объекты появятся в рабочей области — раздел «Обзор».
-
Если контейнер установлен, по клику на Опубликовать переменная добавится в код контейнера автоматически.
Все переменные
Все созданные переменные находятся в контейнере — раздел «Переменные». Далее их можно редактировать, останавливать, публиковать и удалять

Скопировать переменную
Чтобы дублировать переменную:
-
В рабочей области кликните на переменную, откроется форма Редактирования.
-
Выберите Другое — Копировать

Копия переменной сразу появится в форме редактирования — её можно править, сохранять и публиковать.
Откатить изменения переменной
Внесённые изменения в переменную можно отменить. Тогда переменная откатится до состояния, в котором она была на момент создания рабочей области.
-
В рабочей области кликните на перем енную. Откроется форма Редактирования.
-
Выберите Другое — Откатить изменения

Переменная мгновенно откатится до изначального состояния в версии.
Типы переменных
Переменная автоматического события
Переменная возвращает только значение, которое соответствует её типу и содержит информацию о действии пользователя, которое её вызвало
| Тип переменной | Переменная возвращает |
|---|---|
element | объект элемента. Его можно использовать как объект для собственного кода JavaScript, например {{Element}}.title |
elementType | тип элемента (HTML-тег, например, a, Button, img) |
elementAttr | значение атрибута. Для корректной работы переменной укажите название атрибута. Если вы используете эту переменную, заполните поле Атрибут. Атрибут уточняет поведение или свойства переменной. |
elementClasses | значение атрибута class элемента |
elementId | значение атрибута id |
elementTarget | значение атрибута target (например, _blank) |
elementText | значение текста элемента |
elementUrl | URL элемента, полученный из атрибута href или action |
oldHistoryState | старый объект состояния истории, управляемый вызовами pushState |
newHistoryState | новый объект состояния истории, управляемый вызовами pushState |
oldUrlFragment | фрагмент URL, который использовался ранее, из истории браузера (например, #intro) |
newUrlFragment | новый фрагмент URL из истории браузера (например, #summary) |
historyChangeSource | событие, которое изменило историю (например, pushState, replaceState) |
historyOldUrl | URL, с которого перешли. Актуально, если используется History API |
historyNewUrl | URL, на который перешли. Актуально, если используется History API |
Константа
Константа всегда принимает фиксированное значение, которое вы указываете в поле Значение. Переменная может использоваться повторно, например, для нескольких тегов с одинаковыми значениями.
Собственный файл cookie
Чтобы извлечь значение cookie в переменную достаточно только корректно указать название вашего файла cookie. Если в нескольких путях или на разных уровнях одного домена используются файлы cookie с одинаковым названием, выбирается первый из них (тот, который будет идти первым в списке, если вызвать функцию document.cookie со страницы сайта).
Вы также можете включить URI-декодирование файла cookie при необходимости. Когда файл сохраняется на компьютере, некоторые символы могут быть закодированы для безопасности или обеспечения совместимости с URI-форматом.
Переменная уровня данных
Содержит информацию, которая передается с уровня данных в МТС Тег. Когда вы используете уровень данных, происходит передача данных ключ-значение.
Ключ укажите в поле Имя переменной уровня данных. Значение задается при помощи вызова
dataLayer.push():
dataLayer.push({'Data Layer Name': 'value'}).
Data Layer Name — название уровня данных. Если в вашем проекте используется другое название, укажите его в коде.
Точки в ключе интерпретируются как переход на следующий уровень во вложенных структурах. Например, в
dataLayer.push('m.t.s': 'value')
Название ключа будет интерпретировано как
m.t.s {'m.t.s': 'value'}.
Элемент DOM
Переменная возвращает текстовое содержимое любого элемента DOM и значения любого атрибута-элемента DOM. В поле querySelector элемента укажите его CSS-селектор. В поле Название атрибута — имя атрибута.
Если имя атрибута задано, переменной будет присвоено значение из этого атрибута. Если имя атрибута не задано, значение переменной будет содержать текст, который находится в элементе DOM.
Видимость элемента
Позволяет определить был ли виден элемент в интерфейсе в браузере пользователя. Для определения элемента введите его ID или селектор CSS (querySelector, проверяется на видимость). Значение возвращается в формате True (полностью показывается) или False (не показывается на экране).
Переменная JavaScript
Возвращает значение глобальной переменной JavaScript, имя которой вы указали в поле Имя глобальной переменной. Используйте этот тип переменной, если её значение задано в коде страницы
Например, если var NameVar = 10, переменная вернет значение 10.
Собственный код JavaScript
Универсальная переменная для запуска собственного JavaScript. Значение переменной рассчитывается функцией в браузере. Например,
function () {
var date = new date ();
return date.getDate();
}
Номер опубликованной версии
Переменная хранит номер опубликованной версии контейнера, которая сейчас работает на странице. Используйте переменную, чтобы сократить время на проверку номера версии во время тестирования, — не искать его вручную.
Формат значений переменной
| Формат значения | Описание |
|---|---|
| Изменить регистр символов | Возможность изменить регистр возвращаемого значения пользовательской веб-переменной на верхний/нижний |
Преобразовать null в другое значение | Возможность изменить null значения в параметрах переменной на введенное |
Преобразовать undefined в другое значение | Возможность изменить undefined значения в параметрах переменной на введенное |
Преобразовать true в другое значение | Возможность изменить true значения в параметрах переменной на введенное |
Преобразовать false в другое значение | Возможность изменить true значения в параметрах переменной на введенное |
| Экранирование символов для защиты сайта | Защита сайта от XSS-атак. Экранирование символов не позволит злоумышленнику внедрить на страницу JavaScript-код, который не был предусмотрен разработчиками, и украсть данные пользователей |