Динамические переменные
Динамические переменные позволяют подставлять значения данных в HTML5-креативы в момент воспроизведения. Вместо того чтобы создавать отдельные креативы под каждый вариант, вы определяете переменные, значения которых подставляются динамически в зависимости от контекста экрана, кампании или объявления.
Как работают переменные
Переменная — это именованное типизированное значение. Плеер вычисляет его для того контекста, в котором показывается объявление, и передаёт креативу; креатив читает значение по ключу и сам решает, что с ним делать.
Например, переменная store_name может выводить разный текст на разных экранах — так один креатив обслуживает несколько локаций.
Свойства переменной
У каждой переменной есть следующие свойства:
- Ключ
-
Уникальный идентификатор, по которому к переменной обращаются в коде HTML5-креатива (например,
store_name,price). - Название
-
Понятная человеку подпись, отображаемая в интерфейсе.
- Тип
-
Тип данных значения переменной:
-
Строка — текстовые значения
-
Целое число — целые числа
-
Число — десятичные числа
-
Библиотека переменных и привязка значений
Это два разных действия, и чаще всего переменная «не работает» именно потому, что их спутали.
Завести переменную — значит добавить её в библиотеку организации: ключ, название, тип и перечень сущностей, к которым её вообще разрешено привязывать. Делается один раз, на странице Переменные. Сама запись в библиотеке не хранит никакого значения — это заготовка, а не настройка.
Привязать переменную — значит взять готовую запись из библиотеки и задать значение на одной конкретной сущности: на этой кампании, на этом экране, на этом плеере. Именно это делает кнопка рядом с таблицей переменных сущности: она предлагает то, что уже есть в библиотеке, и спрашивает значение.
Отсюда следует всё, что обычно удивляет:
-
Значение принадлежит одной сущности. Изменив значение
store_nameна одном экране, вы меняете только этот экран, хотя запись в библиотеке у всех экранов общая. -
Одну и ту же переменную можно привязать сразу ко многим сущностям, и у каждой будет своё значение. Ради этого всё и устроено.
-
Убрать переменную у сущности — значит отвязать её. Значение на этой сущности исчезает, запись в библиотеке остаётся, у остальных сущностей их значения сохраняются.
-
Если кнопка рядом с таблицей неактивна, то либо в библиотеке нет ни одной переменной, которую разрешено привязывать к сущностям такого типа, либо ваша роль не позволяет редактировать эту сущность. В первом случае переменную надо сначала завести.
Повторная привязка той же переменной к той же сущности не добавляет вторую строку, а заменяет значение. Об этом написано в диалоге до сохранения.
Создание переменной
-
Перейдите в Настройки > Переменные.
-
Нажмите Создать переменную.
-
Введите ключ, название и выберите тип.
-
Укажите, к каким типам сущностей можно прикреплять эту переменную.
-
Нажмите Сохранить.
Типы сущностей
Область действия переменной может ограничиваться разными типами сущностей:
-
Медиаконтент — значение привязано к самому файлу креатива
-
Критерий — значение сопоставляется через критерии таргетинга
-
Экран — значение задано для конкретного экрана
-
Плеер — значение привязано к устройству, которому принадлежат фреймы
-
Фрейм — значение действует для фрейма внутри плеера
-
Плейлист — значение действует в контексте плейлиста
-
Кампания — значение действует для всех объявлений кампании
-
Объявление — значение действует для конкретного объявления
Если одна переменная имеет значения на нескольких уровнях, плеер разрешает их по приоритету. Приоритет от низшего к высшему:
-
Медиаконтент (файл)
-
Критерий
-
Экран
-
Плеер
-
Фрейм
-
Плейлист
-
Кампания
-
Объявление
Значение на более приоритетном уровне всегда перекрывает менее приоритетное. Например, значение на уровне объявления имеет приоритет над значением кампании, которое, в свою очередь, перекрывает значение экрана.
| Плеер — самостоятельный уровень, а не другое название для Экрана. Он стоит между экраном и фреймом: если значение задано и на экране, и на плеере, победит значение плеера. Используйте этот уровень, когда переменная описывает устройство, а не поверхность показа. |
Привязка значений к сущностям
Когда переменная заведена в библиотеке, ей можно задавать значения на конкретных сущностях:
-
Откройте сущность (например, экран или кампанию).
-
Перейдите на вкладку или в блок Переменные.
-
Нажмите кнопку рядом с таблицей — Задать переменную на экране и плеере, Добавить переменную на кампании, — выберите переменную и введите значение.
-
Чтобы изменить значение позже, нажмите Изменить в её строке и отредактируйте прямо в таблице.
-
Чтобы убрать переменную, нажмите Удалить в её строке и подтвердите.
Привязка, изменение значения и отвязка срабатывают сразу, как только вы их подтвердили. Отдельной кнопки сохранения у таблицы переменных нет, и отменить действие можно только обратным действием.
Значение проверяется на соответствие типу: переменная типа Целое число не примет 12abc.
Рядом с названием в таблице показан ключ переменной. Именно по ключу к ней обращается креатив, и он не всегда совпадает с названием.
На кампании
В редакторе кампании блок Переменные находится между настройками показа и списком экранов. Он появляется после того, как кампания хотя бы раз сохранена: пока кампании нет, привязывать значения не к чему.
| Привязка переменной, изменение значения и отвязка срабатывают сразу, независимо от кнопки Сохранить формы кампании. Уход с формы без сохранения, как и отмена, их не откатит. |
Значение на уровне кампании действует для всех её объявлений. Объявление, у которого задано собственное значение той же переменной, перекрывает его.
На экране
Откройте экран и перейдите на вкладку Переменные.
Переменные — это не метаданные экрана, и ради этой разницы вкладка и существует. Метаданные — фиксированный набор полей, общий для всех экранов: они есть у каждого экрана независимо от того, заполнены или нет. Переменные заводит сама организация, и чтобы добавить новую, менять продукт не нужно. Всё, чего не покрывает схема метаданных, живёт здесь.
Наблюдатель видит таблицу, но не может её менять; архивный экран доступен только для чтения, как и все остальные его вкладки.
На плеере
Откройте плеер и перейдите на вкладку Переменные.
Привязывайте переменную здесь, когда значение описывает устройство, а не поверхность показа: адрес подключённой к нему камеры, код объекта, идентификатор, по которому креатив обращается к чему-то локальному.
Значение на уровне плеера перекрывает значение той же переменной на уровне экрана и, в свою очередь, перекрывается значением на уровне фрейма. Полный порядок приведён выше, в разделе Типы сущностей.
Само по себе заданное здесь значение ничего на экране не меняет. Оно начинает работать только тогда, когда креатив запрашивает этот ключ — см. Чтение переменной из креатива.
Использование переменных в HTML5-креативах
Плеер передаёт в страницу все переменные, действующие для текущего объявления, в виде набора «ключ — значение», а креатив сам берёт нужную. Код и то, на что креатив может рассчитывать, — в разделе Чтение переменной из креатива.