Переменная
Краткое содержание
Переменная — это объект с постоянным именем, значение которого изменяется в зависимости от действий пользователя на сайте (например, сумма транзакции).
Переменные в триггерах помогают настраивать фильтры для запуска тегов. Например, активировать триггер при просмотре страницы, если переменная Page URL содержит определенный адрес.
Переменные в тегах используются для получения динамических значений, таких как сбор данных о транзакциях при отслеживании конверсий.
Создать переменную можно, перейдя в контейнер и выбрав опцию создания. После настройки переменная сохраняется и появляется в разделе «Обзор». Если контейнер установлен, публикация добавляет переменную в код автоматически.
Все переменные хранятся в контейнере в разделе «Переменные», где их можно редактировать, останавливать, публиковать или удалять.
Скопировать переменную позволяет дублировать существующую настройку. Копия сразу открывается в форме редактирования для дальнейших изменений и публикации.
Откатить изменения переменной возвращает объект к состоянию на момент создания рабочей области. Это можно сделать через форму редактирования или контекстное меню в таблицах обзора.
Переменная автоматического события возвращает информацию о действии пользователя. Она поддерживает различные типы данных: объект элемента, его тип, атрибуты (class, id, target, text, url), фрагменты URL из истории браузера и источники изменений истории.
Константа принимает фиксированное значение, указанное пользователем, и может многократно использоваться в разных тегах.
Собственный файл cookie извлекает значение cookie по его названию. При наличии нескольких файлов с одинаковым именем выбирается первый. Поддерживается URI-декодирование для корректной работы с закодированными символами.
Переменная уровня данных получает информацию из dataLayer в формате «ключ-значение». Ключ указывается в настройках, а значение передается через вызов dataLayer.push(). Точки в ключе интерпретируются как переход к вложенным структурам.
Элемент DOM возвращает текстовое содержимое или значение атрибута указанного DOM-элемента. CSS-селектор задается в поле querySelector, а имя атрибута — в соответствующем поле. Если атрибут не указан, возвращается текст элемента.
Видимость элемента определяет, отображается ли элемент в браузере пользователя. Результат возвращается в формате True (полностью виден) или False (не виден).
Переменная JavaScript возвращает значение глобальной переменной JavaScript, имя которой задано в настройках.
Собственный код JavaScript позволяет запускать произвольный скрипт для расчета значения переменной в браузере.
Номер опубликованной версии хранит текущий номер версии контей нера, что упрощает тестирование без ручного поиска номера.
Формат значений переменной предоставляет инструменты для обработки данных:
- Изменение регистра символов.
- Преобразование значений
null,undefined,trueиfalseв заданные пользователем значения. - Экранирование символов для защиты от XSS-атак и предотвращения внедрения вредоносного кода.
В таблице типов переменных автоматического события описаны возвращаемые значения для различных свойств элементов и истории браузера.
В таблице формата значений переменной описаны возможности изменения регистра, обработки специальных значений и защиты от 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-код, который не был предусмотрен разработчиками, и украсть данные пользователей |