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

Переменная

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

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

Переменные в триггерах помогают настраивать фильтры для запуска тегов. Например, активировать триггер при просмотре страницы, если переменная 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.

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

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

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

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

  1. Перейдите в контейнер. Откроется рабочая область.

  2. Кликните на Создать... — Переменная

variableadd

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

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

Все переменные​

Все созданные переменные находятся в контейнере — раздел «Переменные». Далее их можно редактировать, останавливать, публиковать и удалять

variableadd

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

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

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

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

img

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

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

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

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

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

img

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

Чтобы откатить изменения, на вкладке «Обзор», «Теги», «Триггеры», «Переменные» или «Ярлыки» нажмите правой кнопкой мыши на строку в таблице. В контекстном меню выберите Откатить изменения.

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