Настройка дизайна
Виджет может выглядеть как сетка из карточек с объявлениями или как слайдер — горизонтальная лента с возможностью прокрутки. Карточки в слайдере можно листать как с помощью жестов, так и с помощью настраиваемых кнопок для прокрутки.
Вы можете определить набор элементов, из которых будет состоять объявление в рекламной карточке: заголовок, текст, картинка и т. п. Часть элементов является обязательными — это требование законодательства в сфере рекламы и правил Рекламной сети Яндекса. Другие элементы являются дополнительными: используйте их, чтобы органично вписать рекламное объявление на ваш ресурс и повысить конверсионность виджета.
Дизайн виджета настраивается в конструкторе, шаг Дизайн, вкладка Код.
Если у вас нет опыта работы с HTML и CSS, рекомендуем воспользоваться одним из готовых шаблонов на вкладке Общее. При необходимости можно перейти на вкладку Код и добавить стили CSS, используемые на вашем сайте.
- Шаблон виджета
- Обязательные элементы рекламы
- Стили классов CSS
- Дизайн виджета
- Дизайн отдельных элементов рекомендации или объявления
- Дизайн рекламы мобильных приложений
Шаблон виджета
Шаблон определяет, какие элементы рекламы или рекомендации будут отображаться в ячейке виджета. За каждый элемент отвечает отдельный HTML-тег.
Простейший шаблон со всеми элементами для виджета:
<div class="wrapper">
<div class="headline">Заголовок рекомендательного виджета</div>
<ya-units-grid cols="${grid_columns}" rows="${grid_rows}">
<div class="image"><ya-unit-image /></div>
<div class="title"><ya-unit-title /></div>
<div class="desc"><ya-unit-desc /></div>
<div class="domain"><ya-unit-domain /></div>
<div class="meta">
<ya-unit-category class="category"/>
<ya-unit-date class="date"/></div>
<ya-unit-kebab />
</ya-units-grid>
<ya-recommendation-label />
</div>
Вы можете:
- добавить в шаблон собственную верстку;
- поменять местами элементы или вложить элементы в другие HTML-теги;
- удалить элементы, если не хотите, чтобы они отображались в виджете. Например, чтобы скрыть дату публикации, удалите элемент
<ya-unit-date />
.
В шаблоне обязательно должны быть элементы <ya-units-grid />
или <ya-units-slider />
. Удалять эти элементы нельзя, иначе виджет не будет работать корректно. Все элементы вида <ya-unit-... />
должны находиться внутри <ya-units-grid />
или <ya-units-slider />
.
Также учитывайте требования к обязательным элементам рекламы, чтобы реклама соответствовала Правилам участия в Рекламной сети и законодательству о рекламе. Важный момент: набор обязательных элементов в рекламе мобильных приложений и других типах рекламы отличается.
Обязательные элементы рекламы
По правилам Рекламной сети Яндекса эти элементы всегда должны быть в виджете:
Элемент | HTML-тег | Обязательный элемент рекламы | Обязательный элемент рекламы мобильных приложений |
---|---|---|---|
Метка «Реклама» и возрастная метка | <ya-unit-category /> | да | да |
Значок меню | <ya-unit-kebab /> | да | да |
Заголовок рекламы | <ya-unit-title /> | да | нет |
Домен | <ya-unit-domain /> | да | нет |
Цена | <ya-unit-price /> | нет | да |
Название приложения | <ya-unit-app-name /> | нет | да |
Иконка приложения | <ya-unit-app-icon /> | нет | да |
Элемент | HTML-тег | Обязательный элемент рекламы | Обязательный элемент рекламы мобильных приложений |
---|---|---|---|
Метка «Реклама» и возрастная метка | <ya-unit-category /> | да | да |
Значок меню | <ya-unit-kebab /> | да | да |
Заголовок рекламы | <ya-unit-title /> | да | нет |
Домен | <ya-unit-domain /> | да | нет |
Цена | <ya-unit-price /> | нет | да |
Название приложения | <ya-unit-app-name /> | нет | да |
Иконка приложения | <ya-unit-app-icon /> | нет | да |
Стили классов CSS
grid
— сетка;grid-row
— строка сетки;grid-item
— ячейка сетки;ya-units-slider
— слайдер в целом;ya-slider-item
— карточка в слайдере;unit-wrapper
— рекомендация;unit-image
— картинка или видео в рекомендации;recommendation-label
— лейбл виджета.
Вы также можете создавать свои классы и настраивать стили для них.
Дизайн виджета
- HTML
-
<ya-units-grid sizes="(max-width: 1024px) 2x2, (max-width: 600px) 2x1, ${grid_rows}x${grid_columns}">
Соответствие сеток экранам в примере будет следующим:- на экране шириной меньше 600 пикселей отобразится сетка 2 × 1;
- на экране шириной от 601 пикселя до 1024 пикселей — сетка 2 × 2;
- на экране шириной от 1025 пикселей размер сетки будет определяться значениями в полях Размер сетки на вкладке Общее.
- CSS
-
.grid-row { margin-top: 10px; /* вертикальное расстояние между ячейками — 10 пикселей */ } .grid-item { margin-left: 20px; /* горизонтальное расстояние между ячейками — 20 пикселей */ } .grid { border: 1px solid #000; /* рамка вокруг всей сетки: толщина — 1 пиксель, тип линии — сплошная, цвет — черный */ }
- Значение
left
задает прокрутку влево. Кнопка для прокрутки будет расположена перед ячейками в слайдере. - Значение
right
задает прокрутку вправо. Кнопка для прокрутки будет расположена после ячеек слайдера. - HTML
-
<div class="wrapper"> <ya-units-grid cols="${grid_columns}" rows="${grid_rows}"> ... </ya-units-grid> </div>
- CSS
-
.wrapper { background: #fff; /* цвет подложки — белый */ padding: 10px; /* отступы внутри рамки, со всех сторон — 10 пикселей */ margin: 5px; /* отступы снаружи рамки, со всех сторон — 5 пикселей */ border: 2px solid #000; /* рамка: толщина — 1 пиксель, тип линии — сплошная, цвет — черный */ border-radius: 6px; /* скругление углов рамки с 6 пикселей */ }
- HTML
- Исходный вид элемента «Описание рекламного предложения»:
<div class="desc"><ya-unit-desc /></div>
Ограничение отображаемых строк описания предложения до двух:<ya-clamp lines="2" class="desc"><ya-unit-desc /></ya-clamp>
Или<div class="desc"><ya-clamp lines="2"><ya-unit-desc /></ya-clamp></div>
- CSS
-
.headline { font-family: Helvetica, sans-serif; /* шрифт */ font-size: 18px; /* размер шрифта — 18 пикселей */ font-weight: bold; /* толщина букв — жирный */ font-style: italic; /* начертание — курсив */ line-height: 24px; /* межстрочный интервал — 24 пикселя */ letter-spacing: 1px; /* межбуквенный интервал — 1 пиксель*/ text-decoration: underline; /* декорирование текста — подчеркнутый */ text-transform: uppercase; /* регистр — все заглавные */ text-align: right; /* выравнивание — по правому краю */ color: #373e44; /* цвет текста — темно-серый */ background: #fff; /* цвет подложки — белый */ } .category { color: #093; /* цвет текста — зеленый */ font-size: 12px; /* размер шрифта — 12 пикселей */ text-transform: uppercase; /* регистр — все заглавные */ }
- CSS
-
.headline { padding-top: 10px; /* отступ сверху — 10 пикселей */ padding-right: 10px; /* отступ справа — 10 пикселей */ padding-bottom: 10px; /* отступ снизу — 10 пикселей */ padding-left: 10px; /* отступ слева — 10 пикселей */ }
- CSS
-
.headline { border: 1px solid #000; /* рамка: толщина — 1 пиксель, тип линии — сплошная, цвет — черный */ }
- CSS
-
.unit-wrapper { background: #fff; /* цвет подложки — белый */ border: 1px solid #666; /* рамка: толщина — 1 пиксель, тип линии — сплошная, цвет — серый */ padding: 5px; /* отступы внутри ячейки — 5 пикселей */ border-radius: 6px; /* скругление углов с 6 пикселей */ }
- CSS
-
.unit-wrapper.unit-without-image { background: #fff; /* цвет подложки — белый */ border: 1px solid #666; /* рамка: толщина — 1 пиксель, тип линии — сплошная, цвет — серый */ padding: 5px; /* отступы внутри ячейки — 5 пикселей */ border-radius: 6px; /* скругление углов с 6 пикселей */ }
- HTML
-
<ya-recommendation-label text="Рекомендации" />
- CSS
-
.recommendation-label { color: black; /* цвет текста — черный */ text-align: left; /* выравнивание по левому краю */ }
Виджет может выглядеть как сетка заданного размера или как слайдер (горизонтальная лента рекомендаций с возможностью прокрутки). За отрисовку сетки отвечает элемент <ya-units-grid />
, за отрисовку слайдера — <ya-units-slider />
. Использовать оба эти элемента в одном шаблоне нельзя.
Элемент <ya-units-grid>
рисует сетку по параметрам, заданным в полях Размер сетки. Изменять размер можно только с помощью этих же полей.
sizes.
Последними обязательно должны идти переменные ${grid_columns}x${grid_rows}
. Например:grid
, grid-row
, grid-item
. Например:<ya-units-grid>
для данного размера экрана будет настроена сетка 2 × 2, то отобразятся только четыре рекомендации из загруженных десяти. В обратном случае (сетка 5 × 2, а количество рекомендаций 2 × 2) в виджете будет шесть пустых ячеек.<ya-units-slider />
. <div class="block">
<div class="headline">Читайте также</div>
<ya-units-slider>
<div class="unit">
<ya-unit-kebab />
<div class="image">
<ya-unit-image ratio="0.5" />
</div>
<div class="body">
<div class="title">
<ya-unit-title />
</div>
<div class="meta">
<span class="category">
<ya-unit-category />
</span>
<span class="date">
<ya-unit-date />
</span>
</div>
</div>
</div>
</ya-units-slider>
<div class="block-label">
<div class="label">Яндекс рекомендации</div>
</div>
</div>
Оформление слайдера можно настроить в CSS с помощью классов ya-units-slider
(весь контейнер с карточками) и ya-slider-item
(отдельная карточка в слайдере): .ya-units-slider {
width: 95vw;
}
.ya-slider-item:not(:first-child) {
margin-left: 1em;
}
<ya-units-slider>
добавьте элемент <ya-slider-button>
. Направление прокрутки указывается с помощью аттрибута direction
: <ya-slider-button>
есть элемент с классом ya-clickable
, то прокрутка выполняется по клику на этот элемент. Если такого элемента нет, прокрутка выполняется по клику на саму кнопку. <ya-slider-button direction="left">В начало</ya-slider-button>
<ya-units-slider />
будут добавлены классы ya-slider-leftmost
и ya-slider-rightmost
соответственно. wrapper
) и настройте для этого класса нужные параметры в CSS. Чтобы ограничить количество строк, которые будут отображаться в виджете, заключите соответствующий элемент в тег <ya-clamp>
.
Задать цвет подложки или рамку для каждой ячейки можно с помощью класса unit-wrapper
. Например:
<unit-wrapper.unit-without-image>
. Например: Вы можете динамически менять внешний вид объявлений для разных разделов сайта или тем оформления (например, светлой или темной). Для этого добавьте в код вставки параметр darkTheme: true
, например:
<script>
(yaads = window.yaads || []).push({
id: "123456-7",
render: "div",
darkTheme: true
});
</script>
При вызове кода корневому элементу <ya-units-grid>
или <ya-units-slider>
будут добавлены классы ya-theme-dark
или ya-theme-light
:
<ya-units-grid cols="1" rows="1"> <!-- при вызове кода классы добавляются корневому элементу -->
<div class="image">
<ya-unit-image ratio="1" />
</div>
</ya-units-grid>
Внутри одного рекламного блока можно хранить один вариант дизайна в двух цветовых темах. Для этого в настройках CSS на вкладке Код пропишите нужные свойства с использованием этих классов.
.ya-theme-dark {
background-color: black;
}
.ya-theme-light {
background-color: white;
}
Меню в объявлении также изменяется в зависимости от темы. Но мы не рекомендуем использовать media queries
для стилизации темы в рекламных блоках, так как в этом случае меню не адаптируется под тему оформления.
additionalClasses
и nativeAdditionalClasses
: в будущем они перестанут поддерживаться.По умолчанию рекомендации виджета открываются в той же вкладке браузера, а реклама — в новой.
В HTML-шаблоне можно задать открытие всех ссылок в новой вкладке, добавив атрибут target-blank
к тегу <ya-units-grid>
или <ya-units-slider>
. Например:
<ya-units-grid target-blank cols="${grid_columns}" rows="${grid_rows}">
<ya-recommendation-label>
. Если его удалить из шаблона, лейбл не будет отображаться в виджете. В параметре text
вы можете задать свой текст лейбла. Например:recommendation-label
. Например:Дизайн отдельных элементов рекомендации или объявления
- Значок меню в объявлении
-
С помощью значка меню
пользователь может скрыть объявление или пожаловаться на него. Значок меню добавляется в правый верхний угол объявления.
В HTML-шаблоне за значок меню отвечает элемент
<ya-unit-kebab />
. Он должен находиться непосредственно в<ya-units-grid />
или<ya-units-slider />
.Редактирование значка менюЗначок меню по умолчанию белый с полупрозрачной подложкой. Для отрисовки на белом фоне можно поменять цвет значка на черный и убрать подложку: для этого используйте классya-unit-kebab_contrast
.
Задать любой другой цвет значка можно помощью параметра<ya-unit-kebab class="ya-unit-kebab_contrast" />
backgroundColor
:<ya-unit-kebab backgroundColor="#000000"/>
- Категория рекомендации или объявления
-
Чтобы скрыть категорию в рекомендациях, добавьте в элемент
<ya-unit-category />
параметрad-only
. В рекламных ячейках вместо категории отображается метка «Реклама» и скрывать ее нельзя — это обязательный элемент.В элементе
<ya-unit-category />
класс CSS указывайте не для самого элемента, а для оборачивающего тега. Это нужно, чтобы к метке «Реклама» корректно применялись стили, когда категория отсутствует (не прописана в метатегах рекомендаций или добавлен параметрad-only
). - Изображения или видео в рекомендации или объявлении
-
В HTML-шаблоне за изображения или видео отвечает элемент
<ya-unit-image>
. Если по тегу<ya-unit-image>
от рекламодателя пришло несколько картинок, то они отобразятся в объявлении в виде карусели изображений. Если карусели изображений нет, отобразится видео или картинка.Вы можете:- задать соотношение сторон — параметр
ratio
(отношение высоты к ширине); - указать адаптивное соотношение сторон для блоков с нефиксированной высотой — параметр
ratio="adaptive"
. Изображение или видео будет вставлено без ограничений и займет минимум 180 пикселей, но не более 60% от видимой области окна браузера (без прокрутки); - ограничить по высоте адаптивные изображения или видео в пикселях или % от видимой области окна браузера — параметр
max-height
(например,max-height="140"
илиmax-height="40vh"
); - указать путь к изображению-заглушке (будет показано в блоке, если в объявлении изображений нет) — параметр
src
; - полностью вписать картинку или видео в заданную область, без обрезки — атрибут
variant="contain"
(например,<ya-unit-image ratio="0.5625" variant="contain" />
).
- Информация о рекламодателе в объявлении
-
Вы можете добавить в объявления данные рекламодателей:
<ya-unit-logo disabledSubstitution="all" />
— исключается и фавиконка, и картинка. Логотип сразу заменяется на заглушку.<ya-unit-logo disabledSubstitution="favicon" />
— исключается фавиконка: логотип заменяется на картинку, при ее отсутствии — на заглушку.<ya-unit-logo disabledSubstitution="image" />
— исключается картинка: логотип заменяется на фавиконку, при ее отсутствии — на заглушку.
Фавиконка сайтаВы можете добавить фавиконку сайта рекламодателя с помощью элемента
<ya-unit-favicon />
. В этом случае под фавиконкой должен находиться сплошной белый фон (во избежание проблем с полупрозрачными фавиконками на темном и сложном фоне).Фавиконка имеет фиксированный размер, который можно задать в параметре
size
. Допустимые размеры: 32 × 32 и 120 × 120 пикселей. По умолчанию указывается размер 32 × 32.Если фавиконку отрисовать не удалось, можно вместо нее показывать картинку объявления. Для этого укажите атрибут
allowImageFallback
.<ya-unit-favicon size="32" allowImageFallback></ya-unit-favicon>
ЛоготипВы можете добавить логотип рекламодателя, который будет отображаться на объявлениях в виджете, с помощью элемента
<ya-unit-logo />
.Для случаев, когда в объявлении нет логотипа, установите изображение-заглушку в параметре
src
. По умолчанию изображение-заглушка имеет нулевую высоту.<ya-unit-logo src="https://example.com/image/image.png" />
Если в объявлении нет логотипа, он заменяется на другие элементы в таком порядке: фавиконка — картинка — заглушка. Можно изменить этот порядок в параметреdisabledSubstitution
:УточненияВы можете добавить до 8 уточнений с помощью элемента
<ya-unit-callouts />
.Возможно отображение только нескольких первых уточнений — их количество можно ограничить с помощью параметра
limit
.Уточнения могут влиять на конверсию рекламного объявления. Следите за тем, чтобы объявление одинаково корректно выглядело при разном количестве уточнений и их длине.
Если у расположенных рядом объявлений разная длина уточнений, разное количество уточнений или они отсутствуют, такие объявления не должны сильно отличаться по дизайну.
Уточнения не кликабельны.
Быстрые ссылки на сайтБыстрые ссылки добавляются с помощью элемента<ya-unit-sitelinks />
. Объявление может содержать до 8 быстрых ссылок, ограничить их количество можно с помощью параметраlimit
.<ya-unit-sitelinks limit="2" />
При настройке дизайна учитывайте, что максимальная длина быстрой ссылки не превышает 22 символа, а суммарная длина всех быстрых ссылок не превышает 66 символов.
Дизайн быстрых ссылок должен значительно отличаться от других элементов объявления: пользователю должно быть понятно, что это дополнительный путь перехода на сайт рекламодателя. Быстрые ссылки должны быть явно отличимы друг от друга для пользователя.
Физический адресДобавляется с помощью элемента
<ya-unit-address />
. - Кнопка действия в объявлении
-
В объявление можно добавить кнопку действия с помощью элемента
<ya-unit-direct-button />
. Нажатие кнопки переведет пользователя по рекламной ссылке, что может значительно повысить конверсию рекламного объявления.Текст на кнопке задается рекламодателем в Яндекс Директе. Подпись кнопки может быть такой: «Подробнее», «Узнать подробнее», «Перейти», — или той, которую рекламодатель укажет для своего объявления. Вы можете использовать в кнопке домен и фавиконку. Чтобы текст появился при отрисовке объявления, укажите внутри
<ya-unit-direct-button />
специальное значение{BUTTON_CAPTION}
, например:<ya-unit-direct-button><div>{BUTTON_CAPTION}</div></ya-unit-direct-button>
Браузер пользователя отрисует элемент как
<div />
:<div class="ya-unit-direct-button"><div>Получить скидку</div></div>
- Дата публикации в рекомендациях
-
Дата публикации указывается с помощью элемента
<ya-unit-date />
. Вы можете изменить формат даты:<ya-unit-date format="HH:MM dd-mm-yyyy" />
- Динамическое дополнение
-
Вы можете добавить динамическое дополнение с помощью элемента
<ya-unit-line-asset>
. В нем будет показан один из элементов, следуя очередности: цена, быстрые ссылки на сайт, уточнения или рейтинг, если они добавлены. Например, если рекламодатель не добавил цену, но добавил быстрые ссылки и уточнения, то в динамическом дополнении будут показаны только быстрые ссылки, сколько поместится в одну строку.Как это выглядитСтиль отрисовки динамического дополнения предзадан, но вы можете его настроить.
Дизайн рекламы мобильных приложений
Для рекламы мобильных приложений есть свой набор элементов:
- Обязательные элементы
- Название приложенияДобавляется с помощью элемента
<ya-unit-app-name />
.Иконка приложенияЗа иконку приложения отвечает элемент<ya-unit-app-icon />
. Соотношение сторон иконки 1:1. Также можно указать изображение-заглушку для случаев, когда в рекламе нет иконки, например:<ya-unit-app-icon src="https://someurl" />
.Цена (с символом валюты)Добавляется с помощью элемента<ya-unit-price />
. - Дополнительные элементы
- Рейтинг приложенияДобавляется с помощью элемента
<ya-unit-rating />
. В диапазоне от 0 до 5. Выглядит как пять звезд серого цвета, часть которых закрашена желтым. Количество закрашенных звезд соответствует рейтингу приложения. Также отображаются дробные значения (например, рейтинг 3,5 отображается как 3,5 желтых звезды).Чтобы отрисовать рейтинг в короткой форме, можно указать параметр
isShort
:<ya-unit-rating isShort />
— тогда пользователь увидит одну желтую звезду и рядом значение рейтинга в виде числа.Кнопка действия приложенияВыглядит как кнопка с текстом: «Установить», «Скачать» и т.п. Добавляется с помощью элемента<ya-unit-mobile-app-button />
, который в браузере пользователя отрисуется как<div />
с заданным текстом.Количество оценок в рейтинге приложенияДобавляется с помощью элемента<ya-unit-review-count />
. Рекомендуем добавлять вместе с рейтингом приложения.
При отрисовке рекламы мобильных приложений элементам объявления присваивается класс .ya-unit-item-rmp
— используйте его, чтобы настроить дизайн такой рекламы в CSS.