Динамические переменные

Динамические переменные позволяют подставлять значения данных в HTML5-креативы в момент воспроизведения. Вместо того чтобы создавать отдельные креативы под каждый вариант, вы определяете переменные, значения которых подставляются динамически в зависимости от контекста экрана, кампании или объявления.

Как работают переменные

Переменная — это именованное типизированное значение. Плеер вычисляет его для того контекста, в котором показывается объявление, и передаёт креативу; креатив читает значение по ключу и сам решает, что с ним делать.

Например, переменная store_name может выводить разный текст на разных экранах — так один креатив обслуживает несколько локаций.

variables list

Свойства переменной

У каждой переменной есть следующие свойства:

Ключ

Уникальный идентификатор, по которому к переменной обращаются в коде HTML5-креатива (например, store_name, price).

Название

Понятная человеку подпись, отображаемая в интерфейсе.

Тип

Тип данных значения переменной:

  • Строка — текстовые значения

  • Целое число — целые числа

  • Число — десятичные числа

Библиотека переменных и привязка значений

Это два разных действия, и чаще всего переменная «не работает» именно потому, что их спутали.

Завести переменную — значит добавить её в библиотеку организации: ключ, название, тип и перечень сущностей, к которым её вообще разрешено привязывать. Делается один раз, на странице Переменные. Сама запись в библиотеке не хранит никакого значения — это заготовка, а не настройка.

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

Отсюда следует всё, что обычно удивляет:

  • Значение принадлежит одной сущности. Изменив значение store_name на одном экране, вы меняете только этот экран, хотя запись в библиотеке у всех экранов общая.

  • Одну и ту же переменную можно привязать сразу ко многим сущностям, и у каждой будет своё значение. Ради этого всё и устроено.

  • Убрать переменную у сущности — значит отвязать её. Значение на этой сущности исчезает, запись в библиотеке остаётся, у остальных сущностей их значения сохраняются.

  • Если кнопка рядом с таблицей неактивна, то либо в библиотеке нет ни одной переменной, которую разрешено привязывать к сущностям такого типа, либо ваша роль не позволяет редактировать эту сущность. В первом случае переменную надо сначала завести.

Повторная привязка той же переменной к той же сущности не добавляет вторую строку, а заменяет значение. Об этом написано в диалоге до сохранения.

Создание переменной

  1. Перейдите в Настройки > Переменные.

  2. Нажмите Создать переменную.

  3. Введите ключ, название и выберите тип.

  4. Укажите, к каким типам сущностей можно прикреплять эту переменную.

  5. Нажмите Сохранить.

Типы сущностей

Область действия переменной может ограничиваться разными типами сущностей:

  • Медиаконтент — значение привязано к самому файлу креатива

  • Критерий — значение сопоставляется через критерии таргетинга

  • Экран — значение задано для конкретного экрана

  • Плеер — значение привязано к устройству, которому принадлежат фреймы

  • Фрейм — значение действует для фрейма внутри плеера

  • Плейлист — значение действует в контексте плейлиста

  • Кампания — значение действует для всех объявлений кампании

  • Объявление — значение действует для конкретного объявления

Если одна переменная имеет значения на нескольких уровнях, плеер разрешает их по приоритету. Приоритет от низшего к высшему:

  1. Медиаконтент (файл)

  2. Критерий

  3. Экран

  4. Плеер

  5. Фрейм

  6. Плейлист

  7. Кампания

  8. Объявление

Значение на более приоритетном уровне всегда перекрывает менее приоритетное. Например, значение на уровне объявления имеет приоритет над значением кампании, которое, в свою очередь, перекрывает значение экрана.

Плеер — самостоятельный уровень, а не другое название для Экрана. Он стоит между экраном и фреймом: если значение задано и на экране, и на плеере, победит значение плеера. Используйте этот уровень, когда переменная описывает устройство, а не поверхность показа.

Привязка значений к сущностям

Когда переменная заведена в библиотеке, ей можно задавать значения на конкретных сущностях:

  1. Откройте сущность (например, экран или кампанию).

  2. Перейдите на вкладку или в блок Переменные.

  3. Нажмите кнопку рядом с таблицей — Задать переменную на экране и плеере, Добавить переменную на кампании, — выберите переменную и введите значение.

  4. Чтобы изменить значение позже, нажмите Изменить в её строке и отредактируйте прямо в таблице.

  5. Чтобы убрать переменную, нажмите Удалить в её строке и подтвердите.

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

Значение проверяется на соответствие типу: переменная типа Целое число не примет 12abc.

Рядом с названием в таблице показан ключ переменной. Именно по ключу к ней обращается креатив, и он не всегда совпадает с названием.

На кампании

В редакторе кампании блок Переменные находится между настройками показа и списком экранов. Он появляется после того, как кампания хотя бы раз сохранена: пока кампании нет, привязывать значения не к чему.

Привязка переменной, изменение значения и отвязка срабатывают сразу, независимо от кнопки Сохранить формы кампании. Уход с формы без сохранения, как и отмена, их не откатит.

Значение на уровне кампании действует для всех её объявлений. Объявление, у которого задано собственное значение той же переменной, перекрывает его.

На экране

Откройте экран и перейдите на вкладку Переменные.

Переменные — это не метаданные экрана, и ради этой разницы вкладка и существует. Метаданные — фиксированный набор полей, общий для всех экранов: они есть у каждого экрана независимо от того, заполнены или нет. Переменные заводит сама организация, и чтобы добавить новую, менять продукт не нужно. Всё, чего не покрывает схема метаданных, живёт здесь.

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

На плеере

Откройте плеер и перейдите на вкладку Переменные.

Привязывайте переменную здесь, когда значение описывает устройство, а не поверхность показа: адрес подключённой к нему камеры, код объекта, идентификатор, по которому креатив обращается к чему-то локальному.

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

Само по себе заданное здесь значение ничего на экране не меняет. Оно начинает работать только тогда, когда креатив запрашивает этот ключ — см. Чтение переменной из креатива.

Использование переменных в HTML5-креативах

Плеер передаёт в страницу все переменные, действующие для текущего объявления, в виде набора «ключ — значение», а креатив сам берёт нужную. Код и то, на что креатив может рассчитывать, — в разделе Чтение переменной из креатива.