Товарный фид для Яндекс Директ с помощью Zennoposter

denchik

Client
Регистрация
26.05.2017
Сообщения
45
Благодарностей
72
Баллы
18
Не перестаю удивляться насколько же ZennoPoster универсальная софтина с неограниченным спектром применения. Очень часто ZP незаменимый помощник, когда работаешь с заказчиком и нужна помощь программистов. Обычно от написание задачи, до того момента как найдут программистов и они все как надо сделают, могут уходить месяцы. А значит у тебя вроде и заказчик есть, но ты только тратишь время на коммуникацию. В этих случаях ZennoPoster позволяет за 1-2 дня сделать пусть и костыльную, но все таки реализацию нужного функционала, показать, что это действительно работает и тогда весь процесс работы продвигается быстрее. Получается все в плюсе.

И сейчас хочу с вами поделиться одной из таких ситуаций, которая часто возникает у специалиста по контекстной рекламе в Яндекс Директ - формирование фидов данных для некоторых типов кампаний.

Что такое фид данных подробнее читаем в справке.

Этот фид необходим для создания таких типов кампаний как Смарт баннеры и Динамические объявления, в которых источник данных товарный фид (также есть такой тип, когда источник данных - это просканированный сайт роботом)

Вот так должен выглядеть файл

XML:
<?xml version="1.0" encoding="utf-8"?>
        <!DOCTYPE yml_catalog SYSTEM "shops.dtd">
        <yml_catalog date="2019-12-15 04:10">
        <shop>
            <name>pitbikeland.ru</name>
            <company>PitbikeLand</company>
            <url>https://pitbikeland.ru/</url>
        <currencies>
            <currency id="RUR" rate="1" />
        </currencies>
        <categories>
            <category id="1">Квадроциклы</category>
            <category id="2">Питбайки</category>
            <category id="3">Мотоциклы</category>
        </categories>
        <delivery-options>
                   <option cost="300" days="1" />
            </delivery-options>
        <offers>
    <offer id="00000013844" available="true">
                   <url>https://pitbikeland.ru/catalog/tekhnika/kvadrotsikly/7558/</url>
                   <price>75691</price>
                   <currencyId>RUR</currencyId>
                   <categoryId>1</categoryId>
                <picture>https://pitbikeland.ru/upload/resize_cache/iblock/cfc/800_800_140cd750bba9870f18aada2478b24840a/cfc52235038205deeb45fb33a33b7b97.jpeg</picture>
                <pickup>true</pickup>
                <delivery>true</delivery>
                   <name>Квадроцикл Avantis hunter NEW H8 Lux  черный</name>
                <description></description>
            </offer>
        </offers>
</shop>
</yml_catalog>
В общем, задача сводится к 3 этапам:

1) Спарсить данные о товарах, такие как цена, наличие, категория, название, описание и артикул.
2) Создать перечень категорий с идентификаторми и присвоить каждому товару вместо названия категории свой идентификатор.
3) Заполнить xml файл собранными данными в нужном формате.

Этап №1

Здесь сложностей возникнуть не должно. Универсального решения нет, но тем и хорош ZennoPoste, что позволяет подстроиться под любые условия. Напишем простенький парсер. Соберем все ссылки, удалим все кроме товаров. Для каждого случая парсер будет уникальный, но сложностей ни у кого возникнуть не должно, тем более в конкурсных работах эта тема раскрывалась неоднократно.

46626



Этап 2

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

1) При парсинге для каждого товара нужно спарсить категорию.
2) Копируем данные на новый лист в Excel.
3) Удаляем дубли в категориях (Данные - Удалить дубликаты). Получили все уникальные категории.
4) Сортируем их по алфавиту. Протягиванием заполняем каждой категории порядковый номер (1,2,3 и т. п. или любая другая последовательноть, главное, чтобы id не повторялись).
5) Через функцию ВПР связываем заполненные id и категорию у каждого товара (То есть функция ВПР ищет категорию у товара на листе где у нас заполненные id для каждой категории и заполняет в соответстующее поле).

Этап 3

Теперь все данные получены, можем сформировать фид. Стандартную информацию заполняем один раз вручную, а offers будем генерировать из собранных данных. После заполнения сохраняем текстовый файл с разрешением .xml и можем добавлять в аккаунт Яндекс директ и создавать рекламные кампании.

Фид успешно прошел валидацию

46627



Немного статистики по кампаниям, сделанным с помощью этого фида.

46628
46629



Итоги

Чтобы подготовить такой фид, загрузить его в аккаунт и настроить кампании мне понадобился 1 день. После чего заказчику была продемонстрирована эффективность такого канала и он достаточно быстро заказал у программистов разработку модуля, который будет создавать фид товаров автоматически, регулярно обновлять его. Если же в данной нише такой канал был бы неэффективен, то все равно были бы сэкономлены деньги на проф. разработку функционала.

Также выкладываю шаблон, который собирает данные и готовит фид.

P. S. шаблон готовился на коленке, так как задача максимально быстро запустить рекламу, а уже потом разбираться, есть ли смысл заморачиваться. Теоретически можно было бы посидеть 5-7 дней и специально для заказчика написать шаблон который будет и автоматически обновлять данные и отправлять их на сервер, чтобы Яндекс Директ мог регулярно их подгружать.
 
Категория
SEO

Вложения

k1nop

Client
Регистрация
13.05.2014
Сообщения
9
Благодарностей
6
Баллы
3
Спасибо за шаблон. Он имеет узкое назначение, но для новичков хорош.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)