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

denchik

Client
Регистрация
26.05.2017
Сообщения
50
Благодарностей
100
Баллы
33
Не перестаю удивляться насколько же 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 / PPC
Номер конкурса статей
Двенадцатый конкурс статей

Вложения

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

Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.

DenisK

Client
Регистрация
28.06.2016
Сообщения
591
Благодарностей
288
Баллы
63

k1nop

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

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