Перейти к основному содержимому

Переменная

Краткое содержание

Объект с постоянным именем и изменяемым значением, зависящим от действий на сайте. Например, значение может отражать сумму транзакции.

Переменные в триггерах
Используются для настройки фильтров, определяющих запуск тегов. Например, активация триггера Просмотр страницы, если переменная Page URL содержит mts.ru.

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

Управление переменными

  • Создать переменную: Перейти в контейнер, выбрать Переменные, нажать +, настроить и сохранить. Все переменные отображаются в карточке контейнера.
  • Скопировать переменную: Открыть форму редактирования, выбрать ДругоеКопировать, изменить и опубликовать копию.
  • Откатить изменения: В редактировании выбрать ДругоеОткатить изменения, чтобы вернуть переменную к исходному состоянию.

Типы переменных

  • Автоматическое событие: Возвращает данные о действиях пользователя (например, element, elementType, elementText).
  • Константа: Фиксированное значение, используемое повторно для одинаковых тегов.
  • Файл cookie: Извлекает значение cookie по имени, с поддержкой URI-декодирования.
  • Переменная уровня данных: Получает данные из dataLayer через ключ-значение.
  • Элемент DOM: Возвращает текст или атрибуты элемента по CSS-селектору.
  • Видимость элемента: Определяет, отображается ли элемент (True/False).
  • JavaScript: Возвращает значение глобальной переменной или выполняет пользовательский код.
  • Номер версии: Хранит номер опубликованной версии контейнера.

Формат значений переменной
Таблица описывает опции форматирования: изменение регистра, замена null, undefined, true, false, защита от XSS-атак.

Переменная — объект, у которого есть постоянное имя и может меняться значение. Значение меняется в зависимости от действий на сайте. Например, в значении переменной может указываться сумма транзакции.

Заметка

Переменные в триггерах

Применяются для настройки фильтров, которые определяют, когда запускать тег. Например, активация триггера Просмотр страницы, когда переменная Page URL содержит адрес mts.ru.

Переменные в тегах

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

Управление переменными

Создать переменную

  1. Перейдите в контейнер, наведите на Переменные и нажмите +

variableadd

  1. Настройте переменную и сохраните её.

  2. Все переменные контейнера находятся в карточке контейнера. Далее их можно редактировать, публиковать и удалять.

variableedit

  1. Если контейнер установлен, при нажатии на Опубликовать данные о добавленной переменной будут внесены в код контейнера автоматически.

Скопировать переменную

Чтобы дублировать переменную:

  1. В рабочей области кликните на переменную, откроется форма Редактирования.

  2. Выберите ДругоеКопировать

img

Копия переменной сразу появится в форме редактирования — её можно править, сохранять и публиковать.

Откатить изменения переменной

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

Как откатить переменную:

  1. В рабочей области кликните на переменную. Откроется форма Редактирования.

  2. Выберите ДругоеОткатить изменения

img

Переменная мгновенно откатится до изначального состояния в версии.

Типы переменных

Переменная автоматического события

Переменная возвращает только значение, которое соответствует её типу и содержит информацию о действии пользователя, которое её вызвало

Тип переменнойПеременная возвращает
elementобъект элемента. Его можно использовать как объект для собственного кода JavaScript, например {{Element}}.title
elementTypeтип элемента (HTML-тег, например, a, Button, img)
elementAttrзначение атрибута. Для корректной работы переменной укажите название атрибута. Если вы используете эту переменную, заполните поле Атрибут. Атрибут уточняет поведение или свойства переменной.
elementClassesзначение атрибута class элемента
elementIdзначение атрибута id
elementTargetзначение атрибута target (например, _blank)
elementTextзначение текста элемента
elementUrlURL элемента, полученный из атрибута href или action
oldHistoryStateстарый объект состояния истории, управляемый вызовами pushState
newHistoryStateновый объект состояния истории, управляемый вызовами pushState
oldUrlFragmentфрагмент URL, который использовался ранее, из истории браузера (например, #intro)
newUrlFragmentновый фрагмент URL из истории браузера (например, #summary)
historyChangeSourceсобытие, которое изменило историю (например, pushState, replaceState)
historyOldUrlURL, с которого перешли. Актуально, если используется History API
historyNewUrlURL, на который перешли. Актуально, если используется History API

Константа

Константа всегда принимает фиксированное значение, которое вы указываете в поле Значение. Переменная может использоваться повторно, например, для нескольких тегов с одинаковыми значениями.

Чтобы извлечь значение 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-код, который не был предусмотрен разработчиками, и украсть данные пользователей