Как превратить каталог интернет-магазина в готовые баннеры для контекстной, таргетированной рекламы и SMM

Кейс Muehle Россия и агентства по контекстной рекламе Adgasm.io. Рассказываем, как создать тысячи баннеров под каждый продукт интернет-магазина с помощью бесплатных сервисов, минимальных знаний Photoshop и одного дизайнера.

Шаг 1. Парсим данные о товарах

Установим расширение Data Scraper для браузера Google Chrome. Data Scraper позволяет собирать текстовую информацию, изображения, адреса страниц и другие данные с сайтов и скачивать их в Excel или CSV.

Мы хотим спарсить каталог наборов для бритья Muehle — для этого перейдем в раздел «Наборы для бритья» сайта muehle-shaving.ru и активируем расширение. В появившемся окне выберем New Recipe, чтобы перейти к инструменту Recipe Creator, с помощью которого мы извлечем нужные данные о товарах. Теперь по шагам разберем настройки парсинга.

Определяем тип страниц для парсинга: активируем расширение Data Scraper → New Recipe → 1 Start → выбираем тип сканируемой страницы​

1 Start: на первом шаге нужно выбрать тип страницы. Выберите List Page, если парсите данные из каталога товаров, или Detail Page при работе с карточкой товара. Мы находимся в каталоге наборов для бритья, где много товаров, размещенных на нескольких страницах, поэтому остановимся на варианте List Page.

На скриншоте примеры List Page и Detail Page​

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

Пример контейнера с данными — кратким описанием товара​

В расширении нажмем кнопку Find. Наведем курсор на область с данными о первом товаре, а когда в оранжевую область попадет название, цена и фото товара, зажмем клавишу Shift. В меню Recipe Creator появятся элементы HTML, описывающие выбранную вами область.

Кликните в расширении на название класса: если на странице аналогичные области выделяются в зеленую рамку, значит, элемент определен верно. Подтверждаем выбор кнопкой Confirm. Если на этом шаге у вас возникнут сложности, посмотрите подробный видеоурок.

Находим область данных: на шаге 2 Rows нажимаем Find → наводим курсор на нужную область страницы → зажимаем Shift для добавления элементов​

3 Cols: этот шаг похож на предыдущий — сначала мы нашли контейнер с данными, а теперь найдем элементы HTML, которые содержат следующие данные:

  • название товара — Product;

  • цена товара — Price;
  • изображение — Image.

Для этого дадим название столбцам (Product, Price, Image), выберем тип извлекаемых данных и снова через кнопку Find найдем нужные данные. Удобнее всего выбрать родительский элемент через кнопку Select Parent, а затем, прокликивая стрелки в разделе Choose A Sibling Element, найти нужный элемент.

Создаем столбцы с данными о товарах: на шаге 3 Cols нажимаем Find → наводим курсор на данные о товарах → зажимаем Shift для добавления элементов​

4 Nav: Чтобы Data Scraper смог спарсить данные о товарах, расположенных на следующих страницах каталога, нужно показать системе кнопки пагинации, то есть кнопки переключения на вторую и последующие страницы. Если в пагинации помимо номеров страниц есть кнопки переключения «Вперед» и «Назад», то достаточно через кнопку Find найти кнопку «Вперед» и указать ее.

В нашем случае в пагинации нет таких кнопок, для переключения нужно использовать кнопки с номерами страниц. Поэтому, чтобы спарсить товары на всех страницах пагинации, указываем в поле Element Selector такое выражение для идентификации всех страниц пагинации: «b-pagination_list span + a».

Чтобы проверить, верно ли вы указали элементы пагинации, выполните команду Test Navigation. Если при клике на кнопку происходит перемещение по страницам, значит, элемент указан верно.

​Определяем элементы пагинации по страницам каталога: на шаге 4 Nav нажимаем Find → наводим курсор на кнопки пагинации → зажимаем Shift для добавления элемента → при необходимости редактируем элемент

5 Actions и 6 JS — необязательные шаги, пропустим их. Actions – автоматически прощелкивает элементы на странице или прокручивает страницу вниз прежде, чем извлечь из неё данные. JS – выполняет различные действия с помощью Javascript, например, очищает данные от ненужных элементов.

7 Save: дадим название проекту, сохраним его и выполним парсинг первой страницы.

​Сохраняем проект парсинга: на шаге 7 Save в поле Recipe name указываем название проекта → Save → Run Recipe

Чтобы собрать данные следующих страниц в каталоге, кликнем Next Page на вкладке Pagination и нажмем Start Pagination. Выгрузим собранные данные: Download, затем «as .XLSX». Обратите внимание на количество страниц, указанное по умолчанию в меню Scrape 10 pages before stopping. Если у вас больше 10 страниц, скорректируйте значение.

Парсим данные со всех страниц каталога: Next Page → Start Pagination → Download → as .XLSX​

Вы также можете спарсить сайт с помощью инструмента Import.io. О нем мы рассказали в прошлой статье.

Шаг 2. Загружаем изображения товаров

Скачаем макрос «Загрузка изображений из интернета по ссылкам в одну папку», автор Игорь Вахненко.

При открытии файла включим макросы. Удалим таблицу в файле и вставим данные из Data Scraper. Пронумеруем строки: добавим столбец со значениями «001», «002» и так далее. Затем кликнем правой кнопкой мыши по кнопке «Запуск» и выберем в меню «Назначить макрос». Чтобы отредактировать макрос, нажмем «Правка».

В коде макроса нужно указать свои значения в следующих строках:

  • Const НазваниеПапкиДляФайлов$ = "Фотографии"

    Оставим без изменения: папка, в которую будут скачаны фотографии, будет называться «Фотографии».

  • Const НомерСтолбцаСГиперссылками = 6

    Укажем 4 вместо 6: адреса изображений в нашем случае расположены в столбце 4.

  • Const НомерСтолбцаСИменамиФайлов = 4

    Укажем 1 вместо 4, чтобы фотографии были названы по значениям из столбца с нумерацией. Вы можете выбрать любой столбец, но помните, что для некоторых операционных систем существуют ограничения на использование определенных символов в названии файлов.

Сохраним изменения в коде и запустим макрос с помощью кнопки «Запуск». Дождемся завершения скачивания и перейдем в папку с фотографиями.

Выгрузка изображений в одну папку: открываем файл с макросом → включаем макросы → удаляем таблицу в файле и вставляем таблицу из Data Scraper → Запуск → назначить макрос → редактируем код → сохраняем изменения → запускаем макрос​

Чтобы Photoshop смог подставить загруженные изображения в баннеры, нужно указать пути к фотографиям. В папке выделим все изображения через сочетание клавиш Ctrl+A, далее зажмем Shift и щелкнем правой кнопкой мыши. В меню выберем пункт «Копировать как путь». Для Mac: клик правой кнопкой мыши, затем зажимаем Alt и выбираем «Скопировать путь до». Возвращаемся в файл Excel и нажимаем Ctrl+V, чтобы вставить пути.

Чтобы соотнести названия товаров с путями изображений, выполним сортировку от А до Я в столбце с путями. После вставим пути изображений в столбец Image.

Добавляем в таблицу с данными пути изображений: выделяем все изображения в папке через Ctrl+A → зажимаем Shift и выбираем «Копировать как путь» → вставляем пути в файл через Ctrl+V → сортируем столбец с путями​

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

Вот что у нас получилось:

Шаг 3. Готовим набор данных

В статье «Создание изображений, управляемых данными» справки Adobe Photoshop идет речь о функции Data-driven graphics. Она позволит создать баннеры на основе данных из нашей таблицы — «Набора данных» в терминологии Photoshop. Значения из столбцов Product, Price, Image будут подставляться в шаблон баннера, это позволит создать креатив под каждый товар.

Для Photoshop нужен набор данных в формате CSV. Нажмем в Excel «Файл», далее «Сохранить как», выберем тип файла CSV UTF-8 (разделитель — запятая). Файл в CSV мы будем загружать в Photoshop.

Шаг 4. Создаем шаблон баннера

Есть два способа создать шаблон:

  • купить готовый шаблон баннера на специализированном сайте — например, Envato Elements;
  • заказать изготовление баннеров у дизайнера.

Если баннер будет готовить дизайнер, предоставьте ему техническое задание. Ориентируйтесь на требования площадки, для которой готовите креативы — «Яндекс.Директ», Google Ads, Facebook и так далее. Вот какие требования мы попросили учесть дизайнера для контекстной рекламы.

Технические требования

  1. Размер файла. Для «Яндекс.Директа» максимальный размер файла — 120 КБ, для Google Ads — 150 КБ. Рекомендуем при создании ориентироваться на размер 120 КБ, чтобы он подходил двум площадкам.
  2. Формат файла. Шаблон баннера должен быть в формате .psd.
  3. Разрешение баннера. В таблице приведены требования к разрешению баннеров в пикселях. Рекомендуем создавать креативы с разрешениями: 240 х 400, 300 х 250, 300 х 600, 336 х 280, 729 х 90 — обычно они получают наибольший охват.
В таблице рекомендации по использованию баннеров разных размеров​

Требования к контенту

  1. Баннер должен содержать информацию о рекламодателе: название магазина или организации, логотип, домен.

  2. На баннере должна быть контрастная рамка по контуру размером 1 px.

Требования к концепции

  1. В PSD-шаблоне баннера на отдельных слоях должны находиться элементы, в которые будут подставляться данные. В нашем случае это:
  • название товара — Product;
  • цена товара — Price;
  • изображение — Image.

Для удобства рекомендуем называть слои так же, как и столбцы в наборе данных. Если столбец с ценой товара в наборе данных называется Price, то и слой с ценой в Photoshop должен называться Price.

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

3. Текстовые блоки, логотип и другие элементы на баннере не должны наезжать на изображение товара.

4. В шаблоне можно разместить следующую информацию о товаре:

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

Вот шаблон, который изготовил дизайнер под наборы бритв по ТЗ:

Шаг 5. Генерим баннеры по набору данных

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

Проверяем шаблон баннера: 1. соответствуют ли названия переменных столбцам из набора данных; 2. является ли каждая переменная отдельным слоем.

Переходим на вкладку «Изображение» и выбираем команду «Переменные», а затем «Определить». В меню «Слой» для слоя Price выбираем команду «Замена текста» и указываем название столбца из набора данных — Price.

Аналогичным образом поступаем со слоем Product, а для слоя Image выбираем «Замена пикселей» со способом «Подогнать». Далее нажимаем «Вперед», затем «Импорт» и выбираем файл CSV c кодировкой Unicode (UTF-8). Дважды нажимаем кнопку «ОК».

​Создаем набор переменных: Изображение → Переменные → Определить → указываем переменную для каждого слоя → импортируем CSV-файл

Чтобы оценить результат, перейдем снова на вкладку «Изображение» и выберем «Применить набор данных». Активируем чекбокс «Просмотр» и оценим результат.

Применяем набор данных: Изображение → Применить набор данных → Чекбокс «Просмотр»

Сначала сохраняем все баннеры в .psd. Перейдем на вкладку «Файл» — «Экспортировать» — «Наборы данных как файлы». Далее выбираем, в какую папку сохранить psd-файлы. Затем снова переходим на вкладку «Файл» и выбираем команду «Сценарии» — «Обработчик изображений».

В пункте «Выбрать изображения для обработки» выбираем папку с psd-файлами, а в «Выбрать место для сохранения обработанных изображений» выбираем, в какую папку сохранить готовые баннеры. Тип файла — JPEG.

​Сохраняем баннеры в JPEG: Файл → Экспортировать → Наборы данных как файлы → выбираем папку для сохранения →  Файл → Сценарии → Обработчик изображений → выбираем папку с psd-файлами и папку для JPEG → Выполнить

Результат — тысячи готовых баннеров:

Авторы: Ната Нефедьева, Мариам Оганесян

Больше хаков и нюансов контекстной рекламы — в Telegram-канале Заметки Adgasm.io

0
95 комментариев
Написать комментарий...
Александр Мазур

Вот это полезная статья, Спасибо!

Ответить
Развернуть ветку
Мариам Оганесян

Спасибо 🙏

Ответить
Развернуть ветку
Егор Старков

Используйте фигму и плагин Google Sheets Sync. Это то же самое, но избавит от кучи файлов, + картинки не нужно будет сохранять локально и делать все по кругу при изменении каталога. 

в добавок, к такой связке можно настроить один баннер так, что все (или большинство) его ресайзов можно будет получить от исходного. 

Ответить
Развернуть ветку
indievision

Тоже об этом подумал. Слишком много манипуляций в Ps.
Еще и русифицированный, организм прям отторгает )))

Ответить
Развернуть ветку
Vladislav Berezhnoy

В закладки!

Ответить
Развернуть ветку
Георгий Донадин

Однозначно! 

Ответить
Развернуть ветку
Aleksey Paschenko

ГОДНОТИЩА!

Ответить
Развернуть ветку
Igor Zozulya

Ато! 👍

Ответить
Развернуть ветку
Алексей Галкин

Давно такого не было:) спасибо за подробный обзор процесса, отличный контент. Тысячи дизайнеров теперь вздохнут спокойно, сделают заказ на 2 дня за 15 минут и пойдут прогуляться по парку.

Ответить
Развернуть ветку
Максим Лепихов

Сколько времени занимает генерация 1000 баннеров таким способом? Замеряли? 

Когда-то тоже делал через PS, были сложности, когда несколько товаров надо разместить на баннере, когда товары разных размеров и т.п. У вас проблем с этим на возникало? 

В итоге мы сейчас разработали и выкатили в паблик подобный онлайн сервис для массовой генерации баннеров, пока в бете.

Ответить
Развернуть ветку
Adgasm.io
Автор

Максим, спасибо за вопрос!
Время настройки парсинга обычно фиксированное и не занимает больше 20 минут. Платная версия Data Scraper позволяет еще и скачивать фото, но мы пока пользуемся макросом и сервисом https://prozavr.ru/. Здесь все тоже происходит быстро. 

Работа в PS не отнимает время, если дизайнер проработал все слои баннера (например, задано правильное выравнивание текстов) и сделал выборки на основе фотографий товаров, которые мы предоставляем. На гифках по MUEHLE видно, что товары примерно одной конфигурации, поэтому проблем не было. Шаблоны делались под категории товаров: бритвы, помазки и др. и под модификации товаров. 

О вашем сервисе мы читали на vc. Очень интересно, но еще не тестировали.

Ответить
Развернуть ветку
Илья Кириенко

Вы до сих пор в бете?

Ответить
Развернуть ветку
Ware Wow

Недавно тут писали что фотошоп говно и никто им не пользуется, и что неужели кто-то еще высылает psd, "да ладно, серьезно что ли?" и куча лайков была

Ответить
Развернуть ветку
Вот Так

Путаете. Для макетов сайтов/приложений — Фигма/Скетч. Для всего остального — Фотошоп. 

Ответить
Развернуть ветку
4 комментария
Вебик Хороший

Про скетч не скажу, но фирма умеет тоже самое делать, но с помощью плагина. 

Ответить
Развернуть ветку
Anton Chernykh

оффтоп: немножко офуел от цен на кусок стали...

Ответить
Развернуть ветку
Gleb Antoshkin

Я бы не сказал, что это просто кусок стали. Я сам пользуюсь Т-образной бритвой (не буду рекламировать модель, но она, конечно, дешевле, чем представленные в статье). Раздражения, как после джилета, вообще нет. Абсолютно идеальное бритье. Теперь не понимаю, как я пользовался обычными кассетными станками. Кроме того, самая популярная Т-образная бритва - это Muehle R89 за 4000 рублей. Учитывая экономию на лезвиях, бритье получится дешевле, чем джилетом.

Ответить
Развернуть ветку
7 комментариев
Андрей Епаркин

Интересное решение. Спасибо, что поделились

Ответить
Развернуть ветку
Boris Sokolov

статья крутая, спасибо. Теперь поясните кто-нибудь - зачем мне 1000 баннеров? их кто-то сейчас использует?

Ответить
Развернуть ветку
Максим Лепихов

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

А 1000 баннеров например для динамического ремаркетинга, да или просто протестить топ лучших баннеров из этой 1000. И затем использовать в рекламе только эти лучшие. Вариантов много.

Ответить
Развернуть ветку
3 комментария
Adgasm.io
Автор

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

Мы считаем, что линейку креативов можно расширить, используя данных о продажах, т.е. делать баннеры под хиты продаж. Например, выделить топ-100 продаваемых товаров и сделать под них баннеры. Также можно промотировать хорошие офферы, товары со скидками и тд. 

Механика, которую мы показали, позволит сделать это быстро и не ограничиваться каким-то одним товаром.
Кроме того, мы можем управлять контентом баннера. Например, показывать старую и новую цену, размер экономии и скидки тд. В динамических форматах рекламы мы этим не управляем. Это то, что касается креативов. 

 Если говорить о эффективности рекламных форматов, то это решение может подойти тем, у кого плохо работают смарт-баннеры с условием "Интересовались похожими товарами". Тогда можно работать с классическими РСЯ-кампаниями и использовать графические форматы.
Это только про контекст. Также механика может быть полезна в таргетированной рекламе и SMM, где частота постинга и обновления креативов выше.

Ответить
Развернуть ветку
Алексей Попков

Отлично!

Ответить
Развернуть ветку
Анатолий Гиль

Однозначно - в избранное!

Ответить
Развернуть ветку
Илья

Молодцы! 

Ответить
Развернуть ветку
Александра Мясникова

Ппц, я представляю потом как директолог все эти 1000 баннеров выкладывает (вручную загружает каждый на Яндекс) и на каждый баннер свою ссылку на товар вручную ставит с метками... Потом идет и вешается )
А вообще есть же динамическая генерация  - смарт-баннеры в Яндексе например, они конечно бывают кривые косые, и не очень красивые, зато делается всё за 2 минуты. Главное иметь фид с сайта. 

Ответить
Развернуть ветку
Юрий Виль

Куда +100 поставить к карме? Дай Бог тебе здоровья! Очень полезная информация

Ответить
Развернуть ветку
Илона Шабанова

Круто и предметно!!!

Ответить
Развернуть ветку
Олег

Спасибо.

Ответить
Развернуть ветку
Ильдарио Котэ

Давно таких статей не было, куда лучше чем "мне 14 лет, папа из майл,  это не статья от скайенга, просто так их опубликовал"

Ответить
Развернуть ветку
Кондрат Кондратенко

Вопрос. А чем плагины для cms не угодили? Они то же самое делают при правильной настройке даже в динамике. Появился новый товар — хоп! Он сразу уже есть в РК. Кончился товар — хоп! Объявление отключено. И тд.

Ответить
Развернуть ветку
Maximka Eronin

Фига вы Америку открыли, на дворе двадцать двадцать, а они только дошли до приемов ещё 2005 года. Норм 💪

Ответить
Развернуть ветку
Steve Evets

Ок. 
Поделись с нами, недалекими, чем-нибудь из своих высочайших технологий, будь добр

Ответить
Развернуть ветку
6 комментариев
Раися Вперде

огонь

Ответить
Развернуть ветку
Олег

Огонь не зачем тушить, он сам потухнет. Рано или поздно. Ну, разве что в крайних случаях — при пожаре.

Ответить
Развернуть ветку
2 комментария
Evgeny Viner

Здорово. Просто здорово! Спасибо большое!

Ответить
Развернуть ветку
Олег

Пожалуйста, рад быть полезным.

Ответить
Развернуть ветку
Dmitry Ilyin

шикарный лайфхак!! Ребята, это super!
пошел делать "тысячи баннеров.." и экономить на услугах агентства ;)

Ответить
Развернуть ветку
Dmitry Ovod-Marchuk

Извините, а как применять такое количество видео-баннеров? Делать тысячи рекламных кампаний?

Ответить
Развернуть ветку
4 комментария
Alexander Varnavskiy

Полезно, добавил в закладки. 

Ответить
Развернуть ветку
Peter Kostjukov

Лайк! Тема!

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Alexey Gavrilov

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

Ответить
Развернуть ветку
Дмитрий Михайлин

Огонь, спасибо!

Ответить
Развернуть ветку
Sergey Mikhalev

ооо фотошоп) свело олдскулы

Ответить
Развернуть ветку
Александр Елсуков

Я этот парсер давню юзаю, но не вдавался в такие подробности, что им можно настолько эффективно пользоваться! Полезная статья! Спасибо!

Ответить
Развернуть ветку
Владимир Миронов

Бомбическая статейка🔥

Ответить
Развернуть ветку
Dmitry Ovod-Marchuk

Если бы был простой способ генерить тысячи видео-креативов — как бы вы их использовали?

Ответить
Развернуть ветку
1 комментарий
Женя Бомбар

Кто то решил проблему с макросом?

Ответить
Развернуть ветку
Adgasm.io
Автор

Поясните, пожалуйста, какая проблема с макросом? 

Ответить
Развернуть ветку
3 комментария
Yulian Hrab

а в какой рекламе крутить баннера?

Ответить
Развернуть ветку
Мурад Валитов

Например, РСЯ- рекламная сеть яндекса,
КМС- контекстно-медийная сеть гугла

Ответить
Развернуть ветку
1 комментарий
Астемир Беков

Круто!!!

Ответить
Развернуть ветку
Roman Marchenko

Ващеее!

Ответить
Развернуть ветку
Отображаемое имя

Супер решение! В закладки!

Ответить
Развернуть ветку
Vyacheslav Barinov

Вы сделали мою жизнь немного проще!

Ответить
Развернуть ветку
Blast Beat

Очень полезно, спасибо!

Ответить
Развернуть ветку
putin huylo

Значительно проще, конечно, запустить на бекенде скрипт с виртуальным браузером и скринилкой.

Ответить
Развернуть ветку
Олег

Как это сделать?

Ответить
Развернуть ветку
1 комментарий
Михаил Беляев

Какой результат это принесло для рекламной кампании?

Ответить
Развернуть ветку
Олег

Реклама.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Олег

Сервис мануал, как понимать?

Ответить
Развернуть ветку
1 комментарий
Кирилл Беккер

Это божественная статья особенно тем, кто по фиду работать не умеет

Ответить
Развернуть ветку
Иван Ярославцев

А как потом загрузить эту тысячу банеров?

Ответить
Развернуть ветку
Геннадий Дырин

а зачем нужна эта тысяча банеров ? 
и не легче ли с сайта выгрузить в ексель все товары ? 
Если это для КМС - то там банера по фиду делаются автоматом .... ничего не понятно вообщем.

Ответить
Развернуть ветку
92 комментария
Раскрывать всегда